我受到了这个 xkcd 网络漫画的启发:
该主题也在此处讨论:https ://www.ted.com/talks/lorrie_faith_cranor_what_s_wrong_with_your_pa_w0rd
现在我想知道:
如何在不使用互联网的情况下从四个随机字典单词中创建密码?
我受到了这个 xkcd 网络漫画的启发:
该主题也在此处讨论:https ://www.ted.com/talks/lorrie_faith_cranor_what_s_wrong_with_your_pa_w0rd
现在我想知道:
如何在不使用互联网的情况下从四个随机字典单词中创建密码?
本地安装的字典存储在 中
/usr/share/dict/
,例如:前两个很有趣,那些字典是简单的单词列表,每行一个单词。我们可以使用其中之一
shuf
输出4
随机行(并awk
用空格替换换行符):这是一些示例输出:
计算机方面
使用一种方法,该方法提供足够的随机性别名熵,通常以位为单位。
接受随机过程中提供的第一个选择。否则熵会降低(通常比你想象的要多),你的安全级别会更低。
人性方面
考虑到人的方面,重要的是你可以
接受
记住
拼写
密码/密码短语中的单词。
为了保持随机性、熵,您接受第一个提供的选择是非常重要的,并且单词列表可以有所作为。
使用大的单词列表可以为每个单词提供更多的熵,但您或您正在管理其 IT 安全性的组中的用户可能会拒绝使用第一个提供的密码/密码短语。在极少数情况下,您的姓名、城市或其他个人数据可能会从单词列表中被选中,但更多时候您可能会被政治、种族、宗教、性或一般粗鲁的词冒犯。当然,如果你喜欢这样的词,你可以将它们添加到你自己的词表中;-) 但不要强加给其他人。
如果您使用最常见的单词列表,其中的单词是为此特定目的而选择的,它将更容易接受、记住和拼写密码/密码。
自己创建一个单词列表
您可以自己创建这样的列表(并使用您自己的语言,并删除带有特殊字符的单词,因为它们可能会导致某些软件出现问题)。
以下 shellscript
pruner
可能会有所帮助。你只得到小写单词,这使得打字更容易(特殊字符被删除),并且只有 [4,10] 字母区间内的单词(不太短,不太长)。但是没有根据这些文件的接受程度对这些文件进行排序。您需要其他信息来删除不常见、困难和可能令人反感的词,或者您可以手动完成。shellscript 将找到默认的单词列表以及 and 的单词列表
xkcdpass
(cracklib
如果已安装)。现在您可以运行
shuf
命令行来测试修剪过的单词列表,但我更喜欢
xkcdpass
.下载单词表
您可以下载这样的列表(检查它是否由唯一的单词组成并且足够长,至少 2048 个单词 = 2^11 个单词,对应于 11 位熵)。
从 Internet 下载、检查和使用此类文件应该是安全的。像往常一样,您应该只使用可靠的网站。
安全性重要的不是单词本身,而是让一个随机过程(例如骰子)或一个好的伪随机计算机进程选择单词。不要通过手动选择或修改密码来篡改随机过程。
在这个Ubuntu 帮助 wiki 页面:XKCD 方法 - xkcdpass你可以找到
自定义单词列表 - 'word-list.txt'
带有 xkcdpass 的有用命令行
确定最适合您在特定情况下所需的安全级别的方法,
它可能因人而异(和人群,如果您正在考虑如何为组织设置策略或自定义工具)。
您可以
xkcdpass
通过添加详细选项来计算以位为单位的随机性别名熵-V
。这些示例使用 Ubuntu 帮助页面中的默认单词列表和自定义单词列表word-list.txt
,使用默认单词文件:减少奇怪和复杂的单词数量
请注意,这是默认设置。但安全级别非常高,只有当用户
使用自定义单词文件:更多常见且简单的单词
那里可能有任意数量的 XKCD 密码生成器实现:
xkcdpass
,可从xkcdpass
包中获得,Python(似乎不使用 CSPRNG)xkcd-password
, NodeJS 模块diceware
,它遵循类似的过程,但使用网站选择你的毒药。
另见:
请不要这样做。
我知道这很痛苦,但请改用密码管理器。让它为每个站点生成唯一的随机密码。如果您像我一样偏执,您可以更改建议密码中的几个字符,以防生成器的(伪)随机算法遭到破坏。我喜欢在 DropBox 中备份数据库的 KeePassX,但 LastPass 对某些人来说更容易使用。也有许多付费密码管理器。
好消息
人脑擅长强加秩序,即使没有秩序。您可以通过盯着随机字符来记住它们,直到您在混乱中感知到秩序。没有顺序。这正是你的大脑所做的。例如:
对你来说意味着什么。如果你输入的次数足够多,你会想出这样的东西来记住它:
您最终可以通过这种方式记住 2 或 3 个主密码。一个用于您的操作系统,一个用于您的密码管理器。这就是你所需要的。
PS 使用密码管理器时,请定期打印出您的密码,并将其放入安全的防篡改信封中,以免丢失。理想情况下,如果您发生什么事,您的近亲可以拿到它们,例如保险箱。