我已阅读:
http://css.csail.mit.edu/6.858/2013/readings/bitlocker.pdf
Bitlocker 不提供数据完整性,因为它在磁盘中占用更多空间。PDF 还说驱动器加密系统不提供存储数据的完整性,实施所谓的穷人身份验证:
“最好的解决方案是使用穷人的身份验证:加密数据并相信密文的变化不会转化为明文的语义变化。例如,攻击者可以更改可执行文件的密文,但是如果新的明文实际上是随机的,我们可以希望这些更改更有可能使机器或应用程序崩溃,而不是做攻击者想要的事情。”
LUKS 是否对用户数据提供任何完整性检查?
截至 Arch 的 wiki ( https://wiki.archlinux.org/index.php/Dm-crypt/Specialties ):
“mkinitcpio-chkcryptoboot 是一个 mkinitcpio 挂钩,它在早期用户空间期间执行完整性检查,并建议用户在系统似乎已受到威胁时不要输入其根分区密码。安全性通过加密的 /boot 分区实现,该分区使用解锁GRUB 的 cryptodisk.mod 模块,以及一个根文件系统分区,它使用不同于前者的密码进行加密。这样可以保护 initramfs 和内核免受脱机篡改,即使 /boot 分区密码也可以保持根分区的安全在受感染的机器上输入(前提是 chkcryptoboot 挂钩检测到了泄露,并且在运行时本身没有受到泄露)。”
亲切的问候