有更好的 Diceware 单词表吗?

信息安全 密码
2021-08-22 23:07:34

我使用 Diceware 生成密码短语,并且对过程的简单性和结果的安全性感到非常满意。

我有一个问题是单词列表本身。

  • 它包含有问题的词,例如“强奸”和“黑人”,我无法在我想发送给第三方的密码中合理使用这些词。
  • 它包含许多难以记住如何拼写的晦涩单词,例如“eagan”和“scurry”。
  • 它包含诸如“dx”、“vh”和“a&p”之类的东西,它们根本不是单词。“a&p13fk93c'sy”是一个有效的 Diceware 密码短语,与真正随机生成的密码一样难以记住。
  • 它包含许多非常短的单词,因此强大的六字 Diceware 密码可能只有 6 个字符长。

当然,如果密码错误,您可以重新运行生成过程,但这会降低熵。

由于拒绝不合适的密码短语会降低熵,是否有可用的替代单词列表,或者是否有其他策略来确保 Diceware 只生成有用的密码短语?

3个回答

虽然 Diceware 密码短语生成系统很完善,但您并不是第一个对默认单词表表示担忧的人。好处是您可以创建自己的与 Arnold 系统配合使用的词表。这使您可以灵活地消除令人反感的词语并替换被认为太短或晦涩的词语。

事实上,一些组织已经创建了自己的词表以供 Diceware 使用。最近的是Joseph Bonneau 为 EFF开发的几个单词表变体,这些变体专注于提高生成的密码短语的可用性。这确实是一项很棒的工作,并且是我在考虑替代默认单词表时要指出的第一个地方。

至于使用原始单词列表生成短密码短语的可能性,我估计如果您拒绝任何短于 14 个字符的内容(假设空格分隔单词),可能会消除 0.00037% 的可能 5 个单词组合。因此,虽然降低整体系统熵并不理想,但这对安全性的影响非常小。

Arnold 还建议使用空格分隔单词,这样即使是由单字母单词组成的 6 字密码短语也应填充到 11 个字符。

除了PwdRsch 在他的回答中提到的EFF 列表之外,您还可以从文学语料库中查找单词列表,例如当代美国英语语料库、布朗语料库Moby 项目这些已经过足够的分析,您可能可以找到它们的使用频率,以将您的单词列表缩小到仅常用单词。

这导致了其他一些想法。如果您想要常用词,为什么不查找用于向非母语人士教授语言的词表,例如新的一般服务列表或者,也许您可​​以在某种教学资源网站上找到教给孩子们的单词列表(我无法免费找到足够长的列表)。

您可以在拼写检查器列表中找到一种频率分析,以从那里获取并集中列表。某些词典可能会提供这些信息,尤其是收费的;对于免费选项,维基词典除了完整索引之外还有频率列表

不幸的是,这类信息并不是那么容易获得的,人们显然仍在积极研究以寻找常用词或令人难忘的词,这一事实就证明了这一点。这就是我在寻找我贡献的keepass插件的单词列表时所能找到的全部内容。

Diceware 的创建者在常见问题解答中解决了其中一些问题

  • 在字典中查找晦涩的单词;这将帮助您记住它们。
  • 简短的非单词用于使密码短语保持简短,以方便每天必须多次输入密码短语的人
  • 如果您的密码少于 14 个字符,请将其丢弃并滚动一个新密码;熵的减少足够小,不用担心。