我需要部署包含非常敏感数据的服务器。 更准确地说,这个(linux)服务器将被部署在一个充满天线的天线上,我需要防止数据泄漏,即使是不信任的面包车运营商最终也会直接访问硬盘。
实际(上一个)配置基于加密的FS,并且在服务器驻留在某处的某个服务器机房之前工作正常,即使这会强制有人信任在重启时输入密钥。
但是此解决方案不适用于这种新的方案,在这种情况下,服务器将经常重新启动,并且不会被有权访问数据的人跟踪。 我们的一些新服务器配备了TPM module,因此问题解决了,但提供的大多数服务器都不包含此安全功能。
如何在加密时存储这些敏感数据,而无需用户干预以便在启动时解密并且不在硬盘上保存纯密码?
我们正在考虑一些基于混淆代码机检查的密钥生成器,与某些许可验证软件的工作方式相同,但我不知道从哪里开始。
答案 0 :(得分:4)
您需要一个http://en.wikipedia.org/wiki/Hardware_Security_Module服务器,如银行中用于存储私人信用卡付款信息(如引脚)。它们具有物理安全性,因此如果您未经授权打开服务器的情况,它将删除密钥。
TPM不是问题的真正解决方案,因为服务器可以拆卸和被盗。如果在启动时不需要密码,它将使用私人信息,在内部对其进行解密。有一些硬件嗅探解决方案可以从工作服务器获取此信息,例如http://www.asset-intertech.com/products_interposers.htm(用于CPU的jtag调试器)或此http://www.zdnet.com/blog/security/cryogenically-frozen-ram-bypasses-all-disk-encryption-methods/900(冻结的dimm内存在断电后保存数据)。
我不是硬件安全领域的专家,所以我只推荐几个网络链接,例如http://en.wikipedia.org/wiki/Tamper_resistance& http://en.wikipedia.org/wiki/FIPS_140-2(3级和4级)
答案 1 :(得分:0)
迟到的回答,但可能仍然对那些在这个问题上遇到困难的人有所帮助。
您可以使用TPM保护密钥,无需在每次启动时输入密码。您需要使用TPM Sealing功能。
此方法的一个示例是Windows Bitlocker使用TPM保护完整磁盘加密密钥的方式。
额外的好处是,您不仅可以安全地存储密钥而且不需要输入密码,还可以仅在您指定的特定软件加载到计算机上时才使用它。