5

有什么方法可以保护存储在 RAM 中的加密密钥免受冷冻攻击?(在重新启动恶意代码以访问 RAM 内容之前,将计算机放入冰箱中)

这似乎是我的应用程序中的安全问题。

编辑:还值得一提的是,我可能会在裸机上做一个概念验证操作系统,所以请记住,依赖项越少越好。但是,TRESOR 听起来确实很有趣,如果它看起来易于管理,我可能会将它的源代码移植到我的概念验证操作系统中,但我对其他解决方案持开放态度(即使是具有严重依赖关系的解决方案)。

4

3 回答 3

9

您可以使用诸如TRESOR Linux 内核补丁之类的东西来将密钥保留在 ring 0(最高权限级别)CPU 调试寄存器中,当与支持 AES-NI 指令的 Intel CPU 结合使用时,不需要导致与通用加密实现相比,性能损失(尽管需要重新计算密钥)。

于 2013-06-17T13:20:28.943 回答
0

没有编程方式。您无法阻止攻击者冻结您的计算机并移除 RAM 芯片进行分析。

如果有人可以访问您的硬件 - 您拥有的一切都在攻击者手中。

永远记住: http ://cdn.howtogeek.com/wp-content/uploads/2013/03/xkcd-security.png

于 2013-06-17T13:15:25.400 回答
0

正如 Sergey 指出的那样,如果有人拥有硬件,你就无法阻止他们攻击 RAM。保护硬件的唯一可能解决方案是使用防篡改硬件安全模块。市场上有几个品种:想到 TPM 芯片和智能卡。智能卡可能更适合您,因为用户应该在他们离开时将其从设备中移除,并且您可以在移除卡时简单地擦除密钥。

我会做更多的风险分析,以帮助您弄清楚冻结 RAM 攻击的可能性有多大。哪些电脑最容易被盗?笔记本电脑、服务器、平板电脑还是智能手机?攻击者可能从被盗计算机中获得什么价值?您是否希望阻止他们解密加密的磁盘映像?从恢复当前加载到 RAM 中的文档?从恢复将导致解密整个磁盘的密钥?通过恢复可以提供内部网络访问权限的凭据?

如果风险确实很高,但您有远程访问的业务需求,请考虑仅在受保护的公司服务器上保留机密,并仅允许浏览器访问它们。使用两因素身份验证,例如硬件访问令牌。也许您随后需要仅从只读媒体和只读书签列表引导远程计算机,以帮助确保抵御病毒和其他基于浏览器的攻击。

如果您可以为风险设定货币价值,您应该能够证明保护数据所需的额外基础设施是合理的。

于 2013-06-17T14:28:06.163 回答