在爱德华·斯诺登对约翰·奥利弗的采访中,斯诺登建议使用一个好的密码,例如MargaretThatcheris110%SEXY.
.
此外,在Errata Security 博客上,Robert Graham 就此事说:
NSA 泄密者 Edward Snowden 最近建议强密码看起来像“MargaretThatcheris110%SEXY”。他为此受到了批评,但实际上,它确实很强大。是的,有很多字典和马尔可夫的弱点,但它们被长度弥补了。在其他条件相同的情况下,时间越长越好。事实上,无论你现在有什么密码,只要在它的末尾加上“xxxxxxxxxxx”就可以让它牢不可破,而且你很容易记住。像“MaThis110%SX”这样的密码是一个 12 个字符的密码,如果它是您的 Lastpass 密码,即使是 NSA 也不太可能破解它——斯诺登的较长形式不会让情况变得更糟。(注意,有些人声称这个斯诺登的例子不是那么安全,但他们错了)。
现在,在之前的讨论中,我们了解到人脑不擅长随机化。我们也知道密码熵不是基于实际密码中的内容,而是密码是如何生成的。例如,乍一看以下密码可能被认为是强密码:
zTzG5rUev2fBBkp6dEMJHNEQWWmFTSjBBn26cQCgkVXSydep3nUx6pF4uf6Pu59RYKDEwkwnTdFJht2n
但是,假设 Bob 总是通过将他的密码生成文本文件中的以下单词以随机顺序组合在一起来生成他的密码,并且攻击者知道,那么密码不是那么强。
kVXSydep3nUx6pF4uf6P
zTzG5rUev2fBBkp6dEMJ
HNEQWWmFTSjBBn26cQCg
u59RYKDEwkwnTdFJht2n
连线文章的评论之一是:
如果我试图破解哈希,我不会从一开始就假设所有密码都遵循一个
female_names+surnames+english_word+english_word+known_passwords
模式,然后等待长达 7 天,看看我是否正确。如果我知道是这种模式,那么斯诺登的密码将有 33.041 位的熵。否则,熵会相当高(>100 位)。
这描述了我的问题的症结所在。如果我输入了这样的密码, zxcvbnMargaretThatcheris110%SEXY.
之类的“强度计”给出的熵为 39.6(包括句号)。然而,没有人知道我生成的方式将其分解。即使他们确实知道我过去使用过这种方法,我也可能会为下一个密码使用不同的方法(例如)。zxcvbn
male_name+number+english_word+french_word+known_password+diceword
正如tylerl在另一个答案中指出的那样:
我们可以猜测攻击者可以使用哪些字典,但我们无法确定。因此,作为字典大小的代理,我们改为使用熵。这是一个糟糕的替代品,因为它不能反映实际的攻击机制,但它可能总比没有好。
如果攻击者知道我可能使用“人脑组成”的序列定义,可能使用“人脑组成”的值来填充这些序列,那么这实际上对他们有什么实际意义吗?我的意思是 39.6 的熵值并不意味着它可以被充满该密钥空间的蛮力攻击攻击,因为攻击者不知道结构。我意识到在安全方面唯一应该保密的是密码和密钥,这些机制本身应该被认为是已知的和公开的。但是,密码的生成方式可以被认为是私密的,因为知道其他人知道确切的密码方法。显然,斯诺登已经公开透露了这一点,但对于他的下一个密码,他的做法会略有不同。这就是格雷厄姆不同意斯诺登的例子比熵分析表明的更安全的原因吗?