如何保护站点范围的密钥

时间:2015-07-18 10:36:14

标签: php security cryptography passwords dynamic-websites

  1. 想象一个非常标准的网站,用户通过电子邮件/密码对进行身份验证。对于密码,它已经使用随机盐进行混淆,但其余数据保持未加密状态。

  2. 我们再向前迈出一步,用密码键加密敏感数据,显然,应该知道应用程序能够为其运作描述数据。

  3. 我们不希望在源代码中使用它,因此它会保存在一个文件中,并在需要时由应用程序读取。

  4. 我们已经保护了该文件,以便只有执行该应用的用户才能阅读该文件

  5. (在下面的一些讨论后出现了这一点)我们已经考虑购买硬件HSM并发现不可能(例如我们在虚拟机上运行服务器)

  6. 通过这种方式,我们可以相对保护免受完整的数据库窃取,对吧?但是,如果有人访问具有读取权限的操作系统用户,则可能会知道密钥。

    问题是:保持此类密钥安全的最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

购买硬件安全模块并将密钥保存在其中。密钥将无法读取。

Yubi价格合理。如果我没记错的话可以500美元。

虽然我们在这里,但您的数据库服务器应位于与您的网络服务器不同的网络区域中的其他框中。