这是风投对比特储物柜的争论。它总是关于开源而不是开源,可选算法,可移植性等等。这不是什么新鲜事,但有一次我看到有人用操作模式作为论据。VC使用XTS,而BitLocker使用CBC。我不是专业人士,在运作模式方面的经验亦非常有限。我知道XTS用于驱动器和分区,CBC就像块密码的默认模式。但这真的算数吗?每一种操作方式在某种程度上都是安全的,对吗?如果CBC真的没有XTS那么安全,那么为什么世界上最大的软件公司( Microsoft )会在加密解决方案中使用它呢?
发布于 2017-07-23 06:34:17
问题的最后一部分忽略了选择加密模式的原因是多方面的,而不是安全性比特。不同的加密模式提供了不同的性能水平,并且对已经存在较长时间的模式有更多的信任。
用于磁盘加密的攻击者模型与用于其他攻击的模型略有不同。
引用维基百科的话:
磁盘加密方法旨在提供三个不同的属性:磁盘上的数据应该保持机密性。无论数据在磁盘上存储在哪里,数据检索和存储都应该是快速操作。加密方法不应浪费磁盘空间(即加密数据的存储量不应明显大于明文大小)。第一个属性要求定义数据保密对象。在磁盘加密领域研究的最强对手具有以下能力:他们可以随时读取磁盘的原始内容;他们可以请求磁盘加密和存储他们选择的任意文件;他们可以修改磁盘上未使用的扇区,然后请求解密。一种方法提供了很好的机密性,如果这样的对手能够确定的唯一信息是,扇区中的数据自上次查看以来是否发生了变化。
在这些情况下,普通CBC模式容易受到水印攻击的影响。然而,在磁盘加密方面,通常采用CBC模式+ ESSIV来处理水印攻击。CBC还存在可塑性攻击的可能性。(基本上是CBC比特翻转攻击的另一个词)
XTS模式提供了对内置水印的保护,但是选择XTS的主要原因是它对密文窃取的支持。基本上,密文窃取是一种属性,它允许长度不均匀可被块大小整除的数据扇区安全地加密,而无需展开密文。
然而,XTS有两个缺点。对于相同的加密强度,密钥的大小是加倍的,并且它不提供防止数据篡改的保护。(修改密文将导致有效解密为乱七八糟的明文)扇区的冗余是在应用程序级别处理的,在这两种模式下都需要冗余。veracrypt和位储物柜都支持XTS模式。
https://crypto.stackexchange.com/questions/50337
复制相似问题