Title Text:To anyone who understands information theory and security and is in an infuriating argument with someone who does not (possibly involving mixed case), I sincerely apologize.
Origin:https://xkcd.com/936/
https://www.explainxkcd.com/wiki/index.php/936:_Password_Strength
密碼安全性
这个漫画说,像“Tr0ub4dor& 3”这样的密码是不好的,因为它很容易破解密码软件并且难以让人记住,从而导致不安全的做法,比如在连接到监视器的帖子上写下密码。另一方面,诸如“correcthorsebatterystaple”之类的密码由于具有更多的熵而很难被计算机猜测,但人类很容易记住。
在简单的情况下,密码的熵计算为a ^ b,其中a是允许符号的数量,b是其长度。字典字(不管多长)的密码空间约为65000,即16位。长度为11的真正随机字符串(不像“Tr0ub4dor& 3”,但更像“J4I /tyJ& Acy”)具有94 ^ 11 = 72.1位。然而漫画显示“Tr0ub4dor& 3”只有28位的熵。选择密码的另一种方法是具有2048个“符号”(常用字)并且仅选择其中的4个符号。 2048 ^ 4 = 44位,比28好多了。在1820年的一个提示中再次访问了这些符号:安全建议。
绝对正确的是,人们认为密码难以记住,因为他们认为密码“更安全”,并且长度,所有其他条件相同,往往会产生非常强的密码,这可以通过使用rumkin.com来确认。密码强度检查器。即使单个字符都限于[a-z],“我们添加了另一个小写字符,因此再次乘以26”所暗示的指数往往会支配结果。
除了更容易记住之外,长字符串的小字符串也更容易在智能手机和软键盘上键入。
xkcd的密码生成方案要求用户拥有2048个常用字的列表(log2(2048)= 11)。对于任何攻击,我们必须假设攻击者知道我们的密码生成算法,但不知道确切的密码。在这种情况下,攻击者知道2048个单词,并知道我们选择了4个单词,但不知道哪个单词。来自该单词列表的4个字的组合的数量是(211)4 = 244,即44位。为了比较,Diceware的7776字列表提供的熵是每字13位。如果攻击者不知道所使用的算法,并且只知道选择了小写字母,那么“常用词”密码的破解时间比描述的要长。 25个随机小写字符将具有117位熵,而对于公共单词列表则为44位。
例
下面是一个详细的例子,它显示了不同的复杂规则如何生成一个假定44位熵的密码。预期密码的示例在random.org中生成。(*)
如果n是符号数,L是密码长度,则L = 44 /log2(n)。
符号
符号数
最小长度
预期密码的示例
实际密码的示例
熵的实际位
评论
一个
26
9.3
mdniclapwz
jxtvesveiv
troubadorx
16 + 4.7 = 20.7
额外信件以满足长度要求; log2(26)= 4.7
一个9
36
8.5
qih7cbrmd
ewpltiayq
tr0ub4d0r
16 + 3 = 19
3 =漫画中的常见替换
troubador1
16 + 3.3 = 19.3
log2(10)= 3.3
一个A.
52
7.7
jAwwBYne
NeTvgcrq
Troubador
16 + 1 = 17
1 =上限?在漫画中
a&
58
7.5
J.H?NV)
C /〜/FG \:
troubador&安培;
16 + 4 = 20
4 =漫画中的标点符号
A 9
62
7.3
cDe8CgAf
RONygLMi
Tr0ub4d0r
16 + 1 + 3 = 20
1 =上限? 3 =常见替换
9&
68
7.2
[电子邮件保护]〜“#^ 2未$ L|!F]
tr0ub4d0r&安培;
16 + 3 + 4 = 23
3 =常见替换; 4 =标点符号
A 9&
94
6.7
重:ARO
^ $ {RV 3?
Tr0ub4d0r&安培;
16 + 1 + 3 + 4 = 24
1 =上限? 3 =常见替换; 4 =标点符号
常用的词
2048
4
合理的零售有时可能
恒产量指定优先级
合理的零售有时可能
11×4 = 44
转到random.org并选择1到2048之间的4个随机整数;然后转到常用单词列表
正确的马电池主食
0
由于这个漫画,这个密码没有熵
a =小写字母
A =大写字母
9 =数字
&安培; =美国键盘中的32个特殊字符; Randall假设在实践中只使用了16个最常见的字符(4位)
(*)使用random.org解释了为什么jAwwBYne有两个连续的w,为什么Re-:aRo有两个R,为什么[email protected]〜“#^。2没有字母,为什么ewpltiayq没有数字,为什么”常数yield“是密码等的一部分。人类会尝试使用随机的密码。
不懂信息理论和安全的人[编辑]
标题文本可能是指这样的漫画可能会使那些理解信息理论并同意漫画信息的人与那些不喜欢和不同意漫画的人发生激烈争吵。
如果你感到困惑,别担心;你是一个很好的公司;甚至安全“专家”也不了解漫画:布鲁斯施奈尔认为字典攻击使这种方法“过时”,尽管漫画假设从一开始就完全了解用户的字典。他提倡自己的低熵“普通普通英语短语的第一个字母”方法:Schneier原创文章和反驳:1 2 3 4 5 6
史蒂夫吉布森基本上得到它,但不正确地计算熵,以促进他自己的方法和上限密码检查工具:史蒂夫吉布森安全现在成绩单和反驳
计算机安全顾问马克·伯内特几乎了解漫画,但随后主张添加数字和其他文字以使密码短语难忘,忽略了这一点:分析XKCD Passphrase漫画
Ken Grady错误地认为用户选择的句子如“我真的很聪明的孩子”具有与随机选择的单词相同的熵:您的密码策略是愚蠢的吗?
Diogo M Trade nica不明白这些词必须是真正随机的,而不是用户选择的,比如“让我在facebook中”:密码安全:为什么马电池主食不正确
叹。