将未加密的密钥文件存储在易失性位置是否安全?

将未加密的密钥文件存储在易失性位置是否安全?

我有多个硬盘,应该使用相同的密钥文件或密码进行加密。以下是我计划的方法:我使用 LUKS/cryptsetup 加密每个硬盘并选择一个密钥文件。此密钥文件应使用密码进行加密(使用 gpg)。

出现的问题是:我应该将未加密的密钥文件存储在哪里以便 LUKS 可以使用它?

好吧,因为任何加密软件都会将其密钥存储在 RAM 中,所以我想:为什么不将我的密钥文件存储在 ramdisk 上(笔记:我不想使用,tempfs因为它可以交换)。这样,每当我想要挂载加密驱动器时,我都会将密钥文件加载到 RAM 中(使用 ramdisk),然后使用该密钥文件挂载所有驱动器。

在任何系统关闭/断电时,只会产生与实际密钥相同的风险:通常的 RAM 攻击。

所以我的问题是:您是否认为这种情况涉及任何安全问题?

笔记:

我知道对所有内容使用相同密码存在风险,但我想在这里权衡安全性和功能性。此外,以这种方式解密的所有驱动器都将是 LVM 驱动器,无论如何都会合并到一个大分区中,因此如果一个驱动器被解密,我不能依赖存储在其他驱动器上的数据是安全的(因为这可能是可推断的)。

此外,该装置应特别不是在启动时自动挂载,因为这是一台无头机器。它将在大多数时间运行,但挂载应该只在我请求时发生。

我知道理论上所涉及的大多数风险,并且我认为我在我的场景中尽可能地采取了预防措施,所以这个问题实际上更多的是一个技术问题而不是理论问题,尽管只要你考虑到我的笔记,欢迎对这种方法提出评论/批评。

答案1

如果您确保 ramfs 挂载点具有适当的访问规则,我不会对您的方法产生任何安全担忧。

物理访问 RAM 始终是一个问题,而且似乎没有解决方案。

答案2

设置目标机器并将需要访问密钥的所有机器列入白名单。然后将目标机器锁在房间里(最好是保险库,但让我们实际一点),这样物理访问就会受到限制。只要遵守所有其他良好做法(防火墙路由器、强密码等),这应该可以消除 90% 的威胁

相关内容