Veracrypt 加密卷是否有任何类型的暴力保护?

信息安全 加密 蛮力 文件加密 真密码
2021-08-24 10:12:09

我有一个用 Veracrypt 制作的 10mb 加密卷,并计划将其上传到互联网。我有一个非常强大的密码,但担心它可以防止暴力攻击。在搜索了这个 SE 之后,似乎 Veracrypt 加密卷很容易被暴力破解ref1ref2如果是这种情况,那么只要有足够的资源,我们就可以在几天内通过并行暴力破解而不是几年来破解任何密码长度(>100)的加密卷。

Veracrypt 加密卷是否内置了任何类型的蛮力保护?Veracrypt 的创建者不知道这个问题吗?是否有任何其他具有蛮力保护的强加密系统?

2个回答

任何加密都容易受到暴力攻击,例如 AES-256 有 2^256 个密钥,并且只要有足够的硬件,我们就可以“轻松”暴力破解它。问题是地球上没有足够的硅来构建足够的处理器来在宇宙热寂之前完成它。加密可以被暴力破解的事实并不意味着这会在合理的时间内发生,我们要感谢概率论;)

最薄弱的环节几乎总是不是加密算法的密钥,而是派生密钥的密码。有些密码比其他密码更有可能,这允许对密码进行字典攻击。

在这方面,VeraCrypt 项目按照书本行事:他们使用具有强大哈希算法和高迭代次数的 PBKDF2(这在一定程度上由用户控制)。使用带有随机盐的 PBKDF2 可以防止攻击者使用预先制作的哈希表,并强制他们专门为您的容器计算每次密钥尝试。具有高迭代次数会使每次尝试都花费大量时间(毫秒到秒)。重复哈希本质上是不可并行的(单个 PBKDF2 操作是不可并行的,攻击者当然可以同时执行多个猜测),因此自定义硬件不会有太大帮助。

在这些情况下,唯一可行的攻击是基于字典的,暴力破解将花费太长时间。如果您的密码对字典攻击是安全的 - 您可以高度确定数据的安全性。

相关文档:https ://www.veracrypt.fr/en/Header%20Key%20Derivation.html

veracrypt 的创建者不知道这个问题吗?

没有蛮力保护

正如 Andrew Morozko 在他的回答中指出的那样,他们已经通过使用安全密钥生成功能 (PBKDF2) 和高迭代次数来尽可能地解决这个问题。这严重限制了暴力破解的能力(假设密码足够长且足够随机1)。

您认为他们可能使用了哪些其他方法?

在监控登录尝试的软件归防御者所有的网站上,您可以执行诸如限制登录尝试(延迟越来越多,远远超出检查密码的实际计算时间)之类的操作,并在多次失败后锁定帐户尝试。

然而,使用 VeraCrypt,处理加密卷的软件将位于攻击者的机器上,因此必须被视为攻击者“拥有”。即使作者将代码合并到速率限制尝试中,对某人进行逆向工程并删除/绕过速率限制代码也是“微不足道的”。

结论:几乎2任何超出检查密码固有要求的措施都是无用的并且很容易被规避。


1您引用的两篇参考文献声称“ veracrypt 加密卷很容易被暴力破解”,实际上并没有说明这一点。一种是已知正确密码在“ 1000-2000 ”候选名单中;另一个记住“大部分密码”的地方。第一个显然是微不足道的;第二个取决于未知/不记得有多少,但也不是“典型的”暴力破解场景。正如 Andrew 所说,“如果您的密码能够抵御字典攻击 - 您可以高度确定数据的安全性。 ”。

2关于我能想到的唯一可能的方法是证书验证过程涉及(并且需要)与其他人控制的服务器进行通信。例如,如果密钥生成过程的某些部分(在加密和解密期间)需要将元素传递给比如说,VeryCrypt 的服务器,那么他们理论上可以施加额外的速率限制或锁定措施。

然而,即使这可以做到(以一种既是加密必需的方式,但又没有在 VeraCrypt 中留下密钥的副本),几乎所有的用例都是不可接受的:每次有人安装时都需要一个有效的互联网连接一个驱动器,如果 VeraCrypt(及其服务器)停止使用,任何加密卷都将变得无用。