LUKS 何时加密我的数据?

LUKS 何时加密我的数据?

假设我有一个用 LUKS 加密的分区,我可以挂载它并从中读取和写入。

我的问题是数据何时加密?是写入时还是卸载分区时?

另外,如果我的系统在卸载分区之前关闭,会发生什么情况?

答案1

加密是在写入时发生的,而不是在卸载时。在卸载时很难做到这一点,因为这意味着在将所有写入操作提交到磁盘之前,先将它们缓存在内存中的某个位置(并且将它们以未加密的形式缓存在磁盘上是没有意义的……)。更不用说这会使其变得不可靠。

如果您在没有完全卸载的情况下强制关机,您将遇到与常规磁盘相同的问题,可能会出现数据损坏和丢失的情况......这通常是一个坏主意,即使您没有加密磁盘:-/

从我每天使用 LUKS 加密分区的小经验来看,即使发生非正常关机也不会出现问题。当这种情况发生在我身上时,系统总是能够恢复。我想这取决于你向磁盘写入了多少数据,以及你有多幸运 :-)

编辑:作为参考,LUKS 加密基于 dm-crypt。我在这里找到了一些数据: https://gitlab.com/cryptsetup/cryptsetup/wikis/D​​MCrypt 其中提到:

写入此设备将被加密,读取将被解密。您可以照常在其上安装文件系统,或将 dm-crypt 设备与其他设备(如 RAID 或 LVM 卷)堆叠在一起。

我的理解是,这是较低级别的兼容性,意味着磁盘可以像其他磁盘一样显示和使用,并且可以动态地进行加密/解密。

这也回答了您关于 i-node 的问题 - LUKS 分区中的所有内容都经过加密,而不仅仅是 i-node。加密发生在块级别,您可以将任何文件系统放在其上。因此,LUKS 系统不知道也不关心 i-node。

相关内容