VeraCrypt
编辑VeraCrypt 是一款用于数据加密的软件,尤其适用于对硬盘驱动器和可移动媒体进行完全或部分加密。 VeraCrypt 于 2013 年作为 TrueCrypt 的一个分支首次出现,并与其部分兼容。 由于 TrueCrypt 开发的意外结束,该项目声名狼藉。
安全
编辑VeraCrypt 所基于的前身 TrueCrypt 的 7.1a 版已经过审核,最初被评为相对没有错误。 2016 年对 VeraCrypt 1.18 版的源代码进行了独立审查。 这是由 Quarkslab 公司与 Ostif 计划合作进行的。 在准备过程中,据报道审计可能会因为双方之间的电子邮件没有到达目的地而遭到破坏。 后来怀疑电子邮件程序配置不正确,这些问题的发布被描述为错误。
2016 年 8 月,一个严重的错误被提前确认,它允许在 TrueCrypt 和 VeraCrypt 中检测到隐藏容器(隐藏卷),从而通过可信否认来消除对用户的保护。 VeraCrypt 1.18a 版中包含一个修复程序,但用户必须更新他们现有的容器文件。
最终报告揭示了许多编程错误。 其中一些仅在 TrueCrypt 被拆分后才被包括在内——其他的在早期的审计中已经被识别出来并且没有得到补救。 使用 1998 年已知错误版本的 zlib 程序库受到批评,特别是因为 TrueCrypt 已经在使用更现代的变体。 结合系统分区的完全加密,主存储器中的密码根本不会被覆盖或仅被覆盖不足,因此至少可以读取密码的长度。 此外,以不安全的方式应用了新添加的算法“GOST 28147-89”。
VeraCrypt 也容易受到针对一般基于软件的磁盘加密方法的攻击。 由于解密所需的密钥存储在计算机的主内存中,因此在访问所使用的硬件时可能会发生冷启动攻击。 密码可能会被恶意软件或系统硬件入侵(例如硬件键盘记录程序)拦截,但使用密钥文件会使这种攻击方式更加困难。
函数
编辑与 TrueCrypt 的兼容性
VeraCrypt 在很大程度上与 TrueCrypt 兼容。 因此,该程序使现有的 TrueCrypt 容器能够使用兼容模式进行解密。 此外,TrueCrypt 派生的许多功能也可以在其根中找到。 然而,VeraCrypt 开发人员实施的许多改进只能在 Veracrypt 自己的容器格式中使用。 因此,VeraCrypt 的发布者建议迁移到自己的格式。
加密选项
VeraCrypt 提供加密整个系统、单个分区或所谓的容器的选项。 后者是特殊的固定大小文件,解密后被视为虚拟驱动器。 XTS 用作加密模式。
算法
AES、Serpent、Twofish、Camellia 和 Kuznyechik 可用作加密算法。 然而,加密的选项和理论强度由于 AES、Serpent 和 Twofish 算法可以在级联中彼此组合这一事实而增加。
分组密码 Magma也暂时可用。 然而,在安全审计(VeraCrypt 1.18 安全评估)之后,1.19 版删除了这种加密,因为 Magma 现在被认为在密码学上很弱。
SHA-256、SHA-512、Streebog、RIPEMD-160 和 Whirlpool 可用于加密哈希值。从 VeraCrypt 1.0f 开始,不再可能使用过时的哈希函数 RIPEMD-160 创建新容器,创建系统分区但是,它仍然受支持。
个人迭代乘数
容器的 512 字节标头包含可用于解密容器的主密钥等。 为了让潜在的攻击者更难通过尝试(暴力法)猜出这个密钥,用于创建标头的散列函数被多次调用。 VeraCrypt 开发人员决定将这些迭代次数从大约 1000 次大幅增加。 使用 RIPEMD-160,进行了多达 327,661 次迭代,并进行了完整的系统加密,使用标准容器和简单分区甚至可以达到 655,331 次。
虽然这显着提高了理论上的安全性,但解密所需的时间也增加了。 但是,文件访问所需的时间保持不变。 因此,VeraCrypt 允许用户改变迭代次数。 对于系统分区,计算迭代的方案是 PIM × 2048,而对于其余的使用,它是 15000 + (PIM × 1000)。 每次解锁都必须指定PIM的值。
出于安全原因,对于超过 20 个字符的长密码,只有极少量的迭代是可能的。
可信否认
与 TrueCrypt 模型一样,VeraCrypt 为用户提供可信的否认。 这是通过所谓的隐藏卷(德语:隐藏容器)实现的。
这是一个隐藏在另一个容器中的虚拟驱动器,必须使用单独的密码解锁。 默认情况下,常规容器的可用空间填充随机数据。 任何隐藏的容器都由 VeraCrypt 存储在这个自由区域中。 外部观察者不清楚容器的某个区域是被覆盖的自由空间还是隐藏容器。
外部容器和隐藏在内部的容器都可以使用单独的密码访问。 根据输入两个密码中的哪一个,解锁相应的容器。 这允许用户,例如,如果他们被当局要求透露他们的密码,则可以通过输入外部容器的密码来透露不太敏感的数据,而不会透露隐藏容器中更敏感的数据。 由于攻击者看不到使用了隐藏容器,因此数据仍然受到保护。
性能
编辑VeraCrypt 支持多核系统的并行加密,并且在 Microsoft Windows 上支持流水线读写请求(一种异步计算形式)以优化加密和解密性能。 支持 AES-NI 的 CPU 可以使用带有硬件加速的 AES 算法和 VeraCrypt,从而提高性能。 VeraCrypt 针对 Twofish 和 Camellia 的 64 位 CPU 进行了优化。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/366504/