我有2个NodeJS应用程序,他们交换一些数据。数据通过AES加密。 目前AES KEY在客户端和服务器的JavaScript代码中进行了硬编码。在哪里存储有关数据?
问题是:什么是最佳实践?我在哪里存储客户端/服务器的密钥?这两款应用都是100%的控制台应用。 (没有用户/浏览器交互)。
更新:我用术语客户端/服务器。因为 - 对我和关于应用程序。逻辑它的服务器/客户端关系。但是,但应用程序。实际上是在两个独立的AWS服务器实例上运行的。我甚至可以在两个实例之间进行IP限制。因此,任何人都不能访问其他AWS RDP帐户以及通过两个实例通过端口进行通信的实例...
它们通过Web套接字连接交换数据,有时它们还访问运行在第三例......多数民众赞成在所有......这是足够安全的钥匙硬编码或我应该把它们放在哪里?
公钥和私钥。为客户提供公钥。在只有管理员可以访问私钥的服务器上。然后,你们都成了。如果您知道目标操作系统,您可以尝试在密钥存储区中进行设置。 – Tschallacka
如果存在任何rootkit风险(总是存在),请尽量多做,以防止它首先发生。然后,您可以添加密码并在启动时使用readline读取它。确保所有敏感信息仅在用户可读的情况下才能读取,如果无法防止将其存储在文件中。保持它们不在应用程序目录中。 –