首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能防止对全磁盘加密的物理攻击?

是否有可能防止对全磁盘加密的物理攻击?
EN

Security用户
提问于 2014-01-20 13:09:22
回答 5查看 2.8K关注 0票数 15

我一直在研究一些确保磁盘加密密钥不会被偷的方法,而我遇到的一种方法叫做TRESOR。使用这个内核补丁,您可以创建一个使用AES加密的分区,并且密钥存储在CPU缓存中,而不是存储在RAM中。起初,我认为这很棒,但经过进一步的询问,我得出的结论是,任何仍然存储在RAM中的解密数据都容易受到物理冷引导转储的影响。安全的一个潜在方法是使用TRESOR加密可用OS RAM的内容,然后创建加密分区,因为密钥将在加密RAM中,RAM的密钥在CPU缓存中。我仍然不知道这是一个安全的方法,或它的声音。是否有可能防止对全磁盘加密的物理攻击,如果有,我如何才能?

EN

回答 5

Security用户

回答已采纳

发布于 2014-01-20 16:02:57

要使CPU实际处理数据,数据必须在某一时刻处于明文状态。特雷瑟使用CPU寄存器,对物理攻击者来说可能比RAM更难读取,但其范围仅限于加密密钥:该密钥在寄存器中,但加密或解密的数据仍在RAM中。CPU中只有少数寄存器,根本没有容纳更多数据的空间。

使用TRESOR支持的RAM磁盘,您有快速访问的“加密文件”(因为这是RAM),但在内核和应用程序代码中它们仍然是“文件”。数据在某一时刻将在RAM中解密。

如果您真的希望所有RAM在任何时候都被加密,那么选择要么使用包含硬件的CPU来进行这种加密(有一些智能卡CPU可以这样做,但据我所知没有像PC那样的CPU ),要么制作一个完整的虚拟机,其虚拟CPU实现了TRESOR--就像每次访问内存时都会自动加密和解密一样。实际的加密模式需要一些彻底的思考(在允许随机访问的快速解密的同时,对数据进行安全加密并不容易)。我不知道任何原型,但理论上是可行的。对学生来说是一个不错的项目(它甚至可能是PhD的主要结果)。它会非常慢。

票数 8
EN

Security用户

发布于 2014-01-20 16:39:26

微软 (我知道,不是最好的安全来源)有句老话说:

第三条法律:如果一个坏人可以不受限制地使用你的电脑,那它就不再是你的电脑了。

为什么这适用于你的案子?因为如果你有足够的密码学,你的硬盘是安全的,如果有人偷它。但是如果这个人可以在你的服务器关机后立即访问你的RAM芯片,他可以尝试恢复你刚才所说的场景中的密钥。

如您所说,将密钥存储在CPU缓存中将使其最小化,但未加密的数据仍可在RAM芯片中使用。

如果他能在你打开电脑之前访问你的电脑呢?你是在考虑启动前的人身保护吗?否则,即使你的整个系统是加密的,坏人也可以创建一些假的登录屏幕,并获取你的密码。或者他可以附加一些键盘记录器。或者他可以附加一些设备,然后从乞丐那里克隆你的RAM芯片。或者他也可以改变你的BIOS。或者..。嗯,看看美国国家安全局的目录,比如说,对潜在的攻击有一些想法。

所以你的电脑必须是安全的。这意味着,不仅物理访问必须是困难的(例如,给RAM内容消失足够的时间),而且他不能捕捉来自CPU、主板或键盘的磁辐射,也不能捕捉来自你输入或移动鼠标的图片。

如果你真的需要从你的计算机中取出RAM芯片的安全级别,那么你可能需要比你预期的更多的安全性。

更新

在你的评论之后:

我需要保护,这样我的客户端的数据就不能在服务器运行时从物理上被检索,最近才关机,或者已经关机一段时间了。

我认为我可以稍微扩展我的答案,只是在这个物理方面思考。

  • 若要在服务器关机一段时间后保护数据:

加密是你的朋友。如果有人取出一个用强算法和强密码加密的HDD,他将花费永远的蛮力来攻击它。

需要考虑的几点:

( a)整个磁盘加密要求您或某个程序在挂载密码时“键入”密码。如果是你,你每次都要打开它。如果是一个程序,在哪里存储密钥

( b)只加密数据/文件夹,同样的问题也存在“在哪里存储密钥以打开它”。

  • 若要在服务器最近关闭或运行时保护数据:

在运行过程中,您需要对HDD CPU之间的路径进行加密,就像Thomas解释的那样,而且我不知道有任何具有CPU的服务器能够这样做。您还需要担心与一些外围设备的兼容性,因为PCI、PCI express、firewire等都依赖DMA来加快速度。所以你可能会有性能问题。

避免这种情况的一个更简单的方法是,对服务器进行物理保护。就像一些安全的房间,在那里服务器被关闭并加热到一定的温度(以避免有人偷你的RAM芯片)。甚至用可控的爆炸或电压峰值摧毁芯片。任何事情都会让你的服务器在他的臂弯下闯入而离开。

当然,所有这些都忽略了许多攻击可以远程完成,不需要任何物理存在,只需要使用软件等等。

票数 4
EN

Security用户

发布于 2014-01-24 04:47:56

我假设OP正在构建一台服务器,并将其运至colo设施。

人身安全将包括:

  • 将RAM、CPU和相关电路嵌入PMMA/Al2O3复合材料(电绝缘、导热和非常耐用)
  • 可选地在上面包括死人电路,包括核子CPU和RAM。
  • 断开除电源和所需网卡外的所有外部连接器(S),但不要改变外部外观
  • 安装多个case入侵开关,每个开关在触发时杀死电源(更好的是,除非远程解除武装,否则让它们使用核弹CPU和RAM )。
  • 禁用远程管理能力

软件安全将包括:

  • 使用ssh的下拉熊远程引导initramfs
  • 启动后,用随机位覆盖LUKS键槽和头(在重新启动之前不需要这些)。
  • 重新启动时,ssh到initramfs并恢复LUKS键槽和标头。
  • 经常进行安全备份

这是应该做到的,除了对付非常坚定和熟练的对手。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/49030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档