我有2個NodeJS應用程序,他們交換一些數據。數據通過AES加密。 目前AES KEY在客戶端和服務器的JavaScript代碼中進行了硬編碼。在哪裏存儲有關數據?
問題是:什麼是最佳實踐?我在哪裏存儲客戶端/服務器的密鑰?這兩款應用都是100%的控制檯應用。 (沒有用戶/瀏覽器交互)。
更新:我用術語客戶端/服務器。因爲 - 對我和關於應用程序。邏輯它的服務器/客戶端關係。但是,但應用程序。實際上是在兩個獨立的AWS服務器實例上運行的。我甚至可以在兩個實例之間進行IP限制。因此,任何人都不能訪問其他AWS RDP帳戶以及通過兩個實例通過端口進行通信的實例...
它們通過Web套接字連接交換數據,有時它們還訪問運行在第三例......多數民衆贊成在所有......這是足夠安全的鑰匙硬編碼或我應該把它們放在哪裏?
公鑰和私鑰。爲客戶提供公鑰。在只有管理員可以訪問私鑰的服務器上。然後,你們都成了。如果您知道目標操作系統,您可以嘗試在密鑰存儲區中進行設置。 – Tschallacka
如果存在任何rootkit風險(總是存在),請儘量多做,以防止它首先發生。然後,您可以添加密碼並在啓動時使用readline讀取它。確保所有敏感信息僅在用戶可讀的情況下才能讀取,如果無法防止將其存儲在文件中。保持它們不在應用程序目錄中。 –