关于不可破解密码的熵的专家报价

信息安全 密码 随机的
2021-09-06 10:22:35

任何人都可以指出已发表作品中的引用 - 或建议可能提供引用的公认专家 - 回答以下问题

即使攻击者拥有世界上最强大的硬件,密码中的熵有多少才能保证它对离线猜测攻击是安全的?

我正在写一篇关于基于真正随机性创建安全密码的文章,我想包括一个保证安全性的数字,但我不想提供我自己的意见和论点,我想引用一位公认的专家或已发表的作品。

更详细地,这些术语的上述含义如下。

如果密码具有足够的熵,那么在我们当前的威胁模型中它可能是不可破解的,在这种模型中,攻击者拥有密码的密码散列,并反复进行密码猜测、散列猜测并比较散列。

熵是指密码创建者从 N 个可能的密码中随机选择一个密码,每个选择的概率相等。以比特为单位的熵是 log2(N)

因此,quote 需要涵盖多少位熵(或 N 有多大)以保证密码对这种攻击是安全的,即使攻击者拥有世界上最强大的硬件。

4个回答

此 crypto.SE 答案中,Bruce Schneier 在Applied Cryptography (1996),第 157–8 页中为您引用了一段话。

如果您想要在线引用,您还可以找到 Bruce Schneier在他的博客 (2009) 中引用自己的内容。

这是完整的报价,以防链接中断:

热力学第二定律的结果之一是表示信息需要一定的能量。通过改变系统状态来记录单个位需要不少于 kT 的能量,其中 T 是系统的绝对温度,k 是玻尔兹曼常数。(坚持我;物理课快结束了。)

假设 k = 1.38×10 -16 erg/°Kelvin,并且宇宙的环境温度为 3.2°Kelvin,一台运行在 3.2°K 的理想计算机每次设置或清除 a 时将消耗 4.4×10 -16 ergs少量。要运行比宇宙背景辐射更冷的计算机,需要额外的能量来运行热泵。

现在,我们太阳的年能量输出约为1.21×10 41尔格。这足以驱动我们理想计算机上大约 2.7×10 56个单位的变化;足够的状态更改以将 187 位计数器置于其所有值中。如果我们在太阳周围建造一个戴森球,并在 32 年内毫无损失地捕获其所有能量,那么我们可以为计算机提供动力,使其数到 2 192当然,它不会有剩余的能量来使用这个计数器进行任何有用的计算。

但这只是一颗星,而且是微不足道的一颗。典型的超新星会释放 10 51 尔格。(大约一百倍的能量将以中微子的形式释放,但现在让它们离开吧。)如果所有这些能量都可以引导到一个单一的计算过程中,那么一个 219 位的计数器就可以循环遍历所有的其状态。

这些数字与设备的技术无关;它们是热力学允许的最大值。他们强烈暗示,在计算机不是由物质以外的东西构成并占据空间以外的东西之前,对 256 位密钥的暴力攻击将是不可行的

更新:如果您想要引用来评估随机生成的密码的强度,您可以使用这个网站,该网站会定期更新不同机构的建议。随机密码相当于对称密钥,因此这是您要查找的值。(如果本网站关闭,这里是一个回程机器链接。)

让我们从货币的角度而不是物理学的角度进行不同的破解。Peerio 的 Skylar Nagao表示

在 2014 年 关于密码记忆性的研究论文中,安全研究人员 Joseph Bonneau(斯坦福大学)和 Stuart Schechter(微软)根据 2013 年比特币矿工的年度总支出估算了攻击成本。

“在 2013 年,比特币矿工集体执行了 ≈ 2 75 SHA-256 哈希,以换取价值 ≈ 2.57 亿美元的比特币奖励......这是唯一公开的超过 2 64 加密操作的操作,因此提供了可用的最佳估计。甚至假设集中工作的效率可能会提高一个数量级,这仍然使我们估计需要 100 万美元来执行 2 70次 SHA-256 评估,以及大约 1B 美元来进行 2 80次 评估。”

这里我们有十亿美元的密码估计——即使对于一个集中的状态攻击者来说,在一年的时间里计算 2 80 个SHA-256 哈希函数也将花费大约 10 亿美元。这就像说在一年内尝试 2 80 个锁组合将花费 10 亿美元。由于攻击者“很可能”在中途点后仅通过一次猜测就能正确猜测,因此 Peerio 对我们的计算机生成的密码短语使用 81 位(2 80乘以 2)最低标准。我们之所以选择这个标准,是因为我们想确保即使是州级攻击者也需要投入 10 亿美元,才能有机会破解 Peerio 密码。

一个 81 位的密码估计要花费 10 亿美元才能破解,因此 Peerio 认为它是“不可破解的”。用外行的话来说,81 位可以计算出 17 个随机小写字母、13 个来自美国键盘的随机字符或从字典中随机选择的 7-8 个单词。

诚然,有很多技术细节,比如价格、风险水平和散列算法。也许密码被 bcrypt 更强烈地散列了。也许这些数字已经过时,更现代的采矿成本 或最新的采矿收入数据使哈希值/美元高达 10 16哈希值/美元。由于市场差异或硬件差异,比特币可能不是最好的比较。归根结底,我们仍然有一个数量级的规模散列成本最低。

即使某些民族国家或百万富翁组建了一个与比特大陆鄂尔多斯矿一样大的哈希破解农场,他们仍然需要几个月的时间才能很好地从不安全的哈希中找到你的 80 位密码密码,并扔掉数百万甚至数十亿美元的成本和潜在收入的损失。如果任何政府可以每秒达到 10 亿太赫兹,我敢打赌,他们与那台赚钱机器有更好的关系,而不是破解你的81 位密码。

如果我们谈论的是针对极其强大的对手的保证和防御,重要的是要注意有很多方法可以绕过不可破解的密码。方法包括会话劫持、MITM 攻击、密码重置漏洞、键盘记录器、要求网站/管理员访问和网络钓鱼。尽管像物理篡改您的计算机这样的威胁可能看起来很荒谬,但它们比十亿美元的密码破解工作更合理(相关 xkcd)。

更新:

一个非常好的探索这个主题的 YouTube 视频是:

256 位安全性有多安全?由 3Blue1Brown


我没有引用或原始来源,但我经常用减少能量来回答这样的问题。争论是这样的:假设人类有朝一日可以在某种物理效率极限下制造处理器。然后计算这些处理器破解密码所需的电量,然后计算产生那么多电力需要消耗的太阳大小的恒星数量。简短版:要从密码管理器中破解 32 个字符的随机密码之一,您只需要消耗 2x10 15颗星的电费即可。例如,在这里查看我最近的答案:

我是否应该改变完全随机密码的长度以获得最佳安全性?

和这里

为什么直接暴力破解密码而不是密钥?

我实际上不确定我最初是从哪里得到这个想法的,但它可能会给你一个起点,让你用谷歌搜索找到一个可引用的来源。


还请记住,与在公众中谈论“密码”相比,您需要非常小心地将其框定为“来自密码管理器的正确随机密码”。如果您允许用户选择自己的密码,那么长度或多或少无关紧要,因为人类选择愚蠢可预测的密码,例如,这篇文章:

如何在几秒钟内破解 30% 的密码

我同意别人写的。作为附加信息,请参阅最近关于Argon2的(相对)谈话。一页(幻灯片#8)给出了一个相对较新的引用,即硬件进步对暴力攻击下密码实际强度的影响。

蛮力攻击(例如密钥猜测)在定制硬件上最有效:大型 ASIC 上的多个计算核心。SHA-2 哈希(比特币)的实际示例:

  • ASIC 上 232 哈希/焦耳;
  • 笔记本电脑上的 217 哈希/焦耳。

结果:

  • 密钥丢失15 位
  • 密码缩短 3 个小写字母
  • PIN 码丢失5 位数字

配备 ASIC 的攻击者是近期的威胁。ASIC 的入门成本很高,但也使用了 FPGA 和 GPU。

希望这能让您对使用现代硬件的暴力攻击下的“有效”密钥长度有一个实用的、更新的观点。