在最坏的情况之前,蛮力尝试可能会成功,对吗?

信息安全 密码学 加密 密码 蛮力
2021-08-29 02:34:54

当我读到密码是安全的并声明它需要 X 周、数年等时,这不是指最坏的情况吗?

如果蛮力方法在比“最坏情况”更短的时间内成功,会发生什么?

最近在 LastPass 的事件中,他们注意到大量流量离开了他们的服务器,他们考虑了这一点。是否有人下载了我的 LastPass 数据,其中包含我所有的用户名和密码,并尝试对其进行暴力破解以对其进行解密?我使用了一个很长的密码来加密我的数据,这应该很难破解,但是在 5 到 10 年内我们拥有更快的计算机硬件会怎样呢?到时候能破解吗?

3个回答

对于大多数破解攻击,平均攻击成本大约是最坏情况成本的一半。简单地说,如果有N个可能的密码,您将在大约N/2之后点击正确的一个。请注意,这是一个平均值:您总是可以在任何单个实例上“走运”或“走运”。这可以量化:尝试M后找到正确密码的概率为M/N因此,在最坏情况的 10 次时间内有 1/10 的机会破解密码,在最坏情况的 20 次内有 1/20 的机会,以此类推。

有时人们会根据最坏的情况估计破解密码需要多长时间;有时,基于破解它的平均时间。通常,破解密码的平均时间是最坏情况时间的一半。

当然,有人可能会走运并比预期更快地破解密码。哎呀,无论您的密码有多强,有可能(至少在理论上)有人会很幸运并且碰巧在第一次猜测时猜到了您的密码 - 就像您有可能明天赢得彩票一样。不过,这不太可能。同样,不太可能有人幸运地以比预期快得多的速度破解密码。

特别是,如果破解密码的最坏情况时间是T次尝试,那么攻击者在T/n次或更少的尝试中破解密码的概率为 1/ n 。例如,如果最坏的情况是 1000 年,那么攻击者有 10% 的机会在 100 年或更短的时间内成功,他们有 1% 的机会在 10 年或更短的时间内成功,还有 0.1% 的机会可能在 1 年或更短时间内取得成功。

如果这让您担心,最好的防御是选择一个更强的密码(一个更难猜到的密码,所以最坏情况下的时间会更长)。

蛮力需要多长时间的时间估计是基于几个假设。

根据估算的计算方式,一个这样的假设是计算机知道您的密码由什么字符集组成。如果您在密码中添加单个非字母数字符号,则会大大增加复杂性。

每个额外的字符和扩展字符集的每个字符都必须通过暴力破解,这将提高密码的安全性。

当 LastPass 据称遭到入侵时,所获得的数据很可能是散列形式。这些可以通过彩虹表来破解,但是它们必须生成足够大的集合以包含您的密码,这意味着您可以预先生成暴力密钥。

第二个主要有缺陷的假设是每秒可以尝试的排列数量。例如,您可以使用大量机器生成上述彩虹表,而且您只需生成一次即可重复使用它们。