当攻击者可以观察到加密磁盘的连续版本时,对 XTS 的批评是有道理的(即,攻击者窃取了您的笔记本电脑,制作了整个磁盘的映像,然后将笔记本电脑放回了您的包中,而您没有注意到任何东西; 他明天再做一次,后天再做一次,依此类推......)。使用 XTS,每个 16 字节块都会自行加密,因此攻击者可能会注意到同一加密块的两个连续版本(硬盘同一扇区内的同一 16 字节块)包含相同的数据。这可能允许进行流量分析。如果攻击者激活,那么他可以放回任何块的旧版本,并且可以独立地对所有块这样做。
使用 CBC+ESSIV,每个扇区都有自己的 IV,因此我们的重复攻击者可以注意到扇区的新版本何时以与先前版本相同的块序列开始。CBC 是这样的,如果两个明文块在扇区中的某个点不同,则该扇区中的其余块将发散。从这个意义上说,与XTS相比,攻击者对CBC+ESSIV的流量分析能力有所降低。例如,如果给定扇区的两个版本对第 13 个块使用相同的明文值,这在 XTS 中很明显,而在 CBC 中则不然(除非前 12 个扇区的版本也没有改变)。
另一方面,主动攻击者通常对 CBC 更满意,因为他可以随意更改块内的位(前提是他不介意用无法控制的随机垃圾替换前一个块)。
所以不,dm-crypt 没有与 TrueCrypt完全相同的漏洞。预想的场景(重复窃听同一个磁盘、恶意更改……)不是全磁盘加密的主要目标;实际上,FDE 是针对“笔记本电脑被盗”的情况而设计的,在这种情况下,您永远无法找回它。两种解决方案都不能很好地对抗更勤奋的攻击者,但它们不会以完全相同的方式失败。