dm-crypt 可以配置为在每次读/写时请求密钥吗?

dm-crypt 可以配置为在每次读/写时请求密钥吗?

我的理解是 dm-crypt 用于抽象实际的块设备,以便读/解密和写/加密自动发生。

但是,假设设备与目标映射:地穴已创建,它有一个文件系统,并且已经安装,是否可以告诉 dm-crypt 在每次写入(加密)和读取(解密)时询问密钥,而不是自动使用表映射中存在的密钥?

我真正想问的是,我们能否扩展 FDE,使其在运行时也具有安全性,而不仅仅是在计算机关闭或硬盘被盗时?或者 FBE 是处理此类事情唯一合适的方法吗?

答案1

原则上,dm-crypt 可以“忘记”密钥并要求每次都重新输入,但这是不切实际且非常不方便的。对文件系统的读取和写入不一定直接对应于“打开文件”或“保存文件”等用户操作。

  • 当程序打开一个文件时,它不一定会立即将整个文件加载到 RAM 中。它可能会保持文件打开并仅根据需要读取其中的部分内容,并在任意时间以密码提示打断您。
  • 同样,当程序写入文件时,它不一定会立即写入整个文件。即使确实如此,写入缓存也会延迟实际写入磁盘的时间。
  • 根据您系统上的软件,可能有一些东西需要在后台访问文件系统,而与您正在执行的操作无关(并且可能在您离开计算机时)。这会导致密码提示出现更多随机中断。

在实践中,你不能做你想做的事,因为 dm-crypt 不支持它,因为由于上述原因它是不切实际的。

答案2

如果我没有正确理解您的意思,并且您建议密钥在运行时不断变化,那么需要保留一个巨大的密钥历史“地图”,以便返回并访问 n 个密钥之前写入的数据。或者,如果密钥更改导致磁盘驱动器在每次密钥更改时都被“重新映像”,则您需要某种非常快的驱动器来实现这一点。

相关内容