简体中文

文字及日常工具·密码生成器

骰子软件密码的工作原理:五个骰子,7,776 个单词,每个 12.9 bits

· 工作原理

密码 密码短语 密码学

五个骰子选择一个索引词和六个独立词形成密码
原始 ToolAcre 矢量图

解释了骰子软件的方法——掷五个骰子,查找 7,776 个单词中的一个,然后重复——以及为什么无论出现哪个单词,每个单词都会增加固定的、可计算的强度。

便利贴上的密码——为什么令人难忘和强大的密码通常会朝相反的方向发展,以及骰子软件如何解决它

便利贴密码之所以容易记住,部分原因是它的所有者选择了它;这个选择正是攻击者所预测的。 Diceware 风格的密码短语会从固定列表中随机选择普通单词。它比短串符号更容易打字和排练,同时从独立可能性的数量中获得其力量。 “令人难忘”并不意味着您可以重新排列或替换随机选择的单词,直到该短语听起来很个人化。

五个骰子,一个单词 — 6⁵ = 7,776 个结果如何映射到编号的单词列表

五个公平的六面骰子有 6×6×6×6×6 = 7,776 个有序结果。传统的编号 Diceware 列表将每个五位数的骰子结果映射到一个单词,因此像 12345 这样的掷骰会选择该条目中的单词,而不是用户喜欢的单词。对每个额外的单词重复五卷过程。相同大小的 EFF 列表也可以通过安全的计算机生成的整数而不是物理骰子来索引;索引方法不同,但同等可能结果的计数保持不变。

为什么每个单词的价值相同——每个单词大约 12.9 bits,无论是“zebra”还是“the”,因为选择是统一的

如果 7,776 个单词中的每一个在独立抽签中出现的可能性相同,则每个单词的不确定性为 log2(7,776) ≈ 12.925 bits。当两者被统一选择时,“Zebra”的熵并不比“the”多;一个人优先选择其中之一会改变分布。 ToolAcre 的生成器选择带有替换的单词,这意味着重复的单词是可能的,不应该仅仅因为它看起来奇怪而被编辑掉。加密随机源实现通过拒绝超出范围的抽取来避免模偏差。

添加单词 — 六个单词如何大致达到 77 bits 以及每个额外单词可以购买什么

六个独立的长列表单词有 7,776⁶ 可能的序列和大约 6×12.925 = 77.55 bits 的理想搜索空间。五个单词提供了 64.62 bits,而额外的第七个单词又增加了 12.925。这并不是承诺在线服务不会受到网络钓鱼或恶意软件的攻击;而是承诺。它是具有已知列表和统一选择的离线猜测模型的算术。当一项服务被破坏时,无论生成时有多少位,重复使用的密码都可能会失败。

骰子与浏览器——加密随机数生成器如何在不改变数学原理的情况下取代物理骰子

ToolAcre 不会要求您掷物理骰子。其 secureRandomInt 获取浏览器 Web Crypto 字节并使用拒绝采样来选择均匀分布的单词索引; Math.random 不是后备方案。计算仍然假设单词列表有一个诚实的设备、浏览器和源文件。即使网站没有服务器接收生成的秘密,运行恶意扩展或受损剪贴板的计算机也可能会暴露生成的秘密。密码生成器自己的页面不包括第三方广告和分析脚本,因为生成的值是 DOM 中的凭证。

工作示例 - 生成一个六字密码短语并根据单词列表大小手动计算其熵

对于六个单词的示例,请勿复制其他人在文章中打印的短语:它已经是公开的。相反,请按从 7,776 个条目的 EFF 长列表中生成 6 个单词。无论特定的输出如何,理想的熵计算都是 log2(7,776⁶) ≈ 77.55 bits。检查用户界面显示的估计并将新短语保存在信誉良好的密码管理器中。如果您坚持要出现一个特定单词,则可能的输出列表会缩小,并且计算必须更改。

这不包括什么 - 选择您自己的单词,这打破了一致性假设和特定于站点的密码规则

此模型不适用于您自己选择的单词、您可以记住的引文或通过排除困难单词而缩短的列表,除非您重新计算其大小。它不会覆盖特定于网站的最大长度、速率限制、帐户恢复漏洞或将机密输入您不信任的设备的风险。随机短语不能替代多因素身份验证或为每个帐户生成不同秘密的密码管理器。

要点 — 密码生成器将骰子软件方法与 EFF 单词列表和密码生成器完全在您的浏览器中应用

五个骰子编码一个统一选择的列表索引;安全的浏览器生成器可以选择相同的索引,而无需物理骰子。密码生成器在本地使用 EFF 单词列表和 Web Crypto 实现该选择。下一个有用的步骤不是记住公式:而是创建一个新的密码,检查估计值,并且永远不要在另一个帐户上重复使用该精确结果。