首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无人值守磁盘加密

无人值守磁盘加密
EN

Security用户
提问于 2017-06-14 15:07:56
回答 5查看 2K关注 0票数 5

我被要求在一台需要无人值守的机器上实现磁盘加密。这台机器有两个磁盘。第一个磁盘有一个引导分区和一个OS分区,而第二个磁盘只有一个分区,用于存储应用程序。这样做的目的是保护存储分区中的数据不被读取,如果有人决定窃取磁盘。

我的计划是使用Linux的dm模块加密操作系统和存储分区。我认为对每个加密的分区使用密钥是最有意义的。然而,我正在努力找出存储每个密钥的最佳方法。

对于存储分区的密钥,将其存储在OS分区中似乎是安全的。但是,存储OS分区密钥的唯一选项似乎是将其保存在引导分区中。如果机器上有某种TPM或其他存储,那就太好了,但不幸的是,没有其他可用的存储空间。

因此,由于我需要使用initramfs来解密OS磁盘,所以我想我会将OS分区的密钥存储在initramfs中,这将嵌入内核中,内核将被存储在引导分区中。这将防止从碰巧想偷一些磁盘的随机的人那里读取数据。但是,我意识到这并不理想,因为知识足够丰富的攻击者将能够从内核中提取initramfs,并从initramfs映像中提取密钥。

在我看来,无论我想出的方案多么复杂,我都需要能够告诉机器如何执行解密例程;攻击者只需读取解密例程就可以确定如何解密系统。

有了可用的存储空间,是否有更好的方法来加密分区,使其能够更好地抵御拥有磁盘的攻击者的攻击?

EN

回答 5

Security用户

回答已采纳

发布于 2017-06-14 15:45:23

这是一个没完没了的问题:我知道如何安全地加密,但我应该把钥匙藏在哪里呢?不幸的是,没有很好的解决方案,因为如果您希望允许无人值守的重新启动,则必须从机器上访问密钥。这意味着你只能依靠你拥有的东西。

换句话说,如果仅存储磁盘被盗,您的系统将是安全的,但如果这两个磁盘都是,攻击者将拥有他所需的一切解密。

我能想象的最好的技术解决方案是使用HSM来解密密钥。但它只是增加了安全性,如果你可以希望HSM不会被偷与磁盘。这意味着唯一有效的方法是提高数据中心的物理安全性。

票数 5
EN

Security用户

发布于 2019-02-27 06:58:00

实际上,使用initramfs的解决方案有很多:

Mandos

这是Mandos系统,它允许计算机拥有加密的根文件系统,同时能够远程和/或无人值守地重新启动。计算机在初始RAM磁盘环境中运行一个小型客户端程序,该程序将通过网络与服务器通信。所有网络通信都使用TLS加密。客户端由服务器使用OpenPGP密钥标识;每个客户端都有唯一的客户端。服务器向客户端发送加密密码。客户端使用相同的OpenPGP密钥对加密的密码进行解密,然后使用该密码解锁根文件系统,从而使计算机能够继续正常启动。

https://wiki.recompile.se/wiki/Mandos#Documentation

https://man.cx/intro(8)

https://manpages.ubuntu.com/manpages/bionic/man8/intro.8mandos.html

杜鹃(

Clevis )与唐氏(

)

Clevis是一个用于自动解密的可插件框架。它可以用来自动解密数据,甚至可以自动解锁LUKS卷。

https://github.com/latchset/clevis

Tang是一种服务器实现,它提供加密绑定服务,而不需要托管。克莱夫斯完全支持唐。

https://github.com/latchset/tang

Dropbear和BusyBox

使用这种方法,您可以将ssh输入到计算机中,并通过输入密码解锁LUKS。安装过程因操作系统的版本和所使用的包而大不相同。

https://matt.ucc.asn.au/dropbear/dropbear.html

https://busybox.net/

票数 4
EN

Security用户

发布于 2017-06-14 15:23:37

“密码系统应该是安全的,即使系统的所有内容,除了密钥,都是公共知识。”克尔霍夫原理

既然已经有了一个很好的答案,我就在这里指出:算法的保密性有多大价值?

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

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

复制
相关文章

相似问题

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