密码短语与密码熵

信息安全 密码 蛮力 密码
2021-08-18 21:56:36

一段时间以来,我一直对密码短语概念感兴趣,因为它可能会更安全地替代经典密码。我的兴趣源于一种直觉,即考虑到密码短语的性质,密码短语的熵比密码低。

这是我的逻辑。根据我基于 Google 的研究,大多数博客类型的帖子表明,典型的计算机用户可能会认为密码短语是令人惊叹的安全事物,甚至有一个网站声称现有的密码破解软件无法破解密码短语,因为它们太长了。从字面上看,这是对的,但是对输入密码破解者的字典进行简单的更改就可以解决这个问题。无论如何,这是我的逻辑:

密码:

用户现在有点习惯于密码必须复杂的想法,使用符号和数字替换以及长度。我个人使用基于不常见的字典单词的密码,带有符号替换和随机数。从技术上讲,选择 8 个字符的密码(随机)的用户将拥有 94^8 的密码熵。当然,大多数人没有真正的随机密码,但我会解释为什么我认为这会很快被密码短语中的类似人为错误抵消。这是一个疯狂的巨大数字,因为 94^8 = 6.1 x 10^15。

密码:

在任何地方,我看到的每个人都在谈论密码短语,始终给出所有小写字母的例子,没有符号或数字短语,例如带有“正确的马电池订书钉”的经典 xkcd 条带。根据这里的牛津词典目前在英语词典中使用的单词大约有 170 000 个。假设用户平均选择一个三字密码(任何时间似乎都超过了用户的惰性),即熵为 170000^3 = 4.9 x 10^15,比随机选择的 8 个字符的密码低约 20%。现在,在您争论没有人使用随机生成的密码之前,同样很少有人会从英语词典中选择完全随机的单词。相反,用户会经常使用常见的说法。即使人们避免使用常见的说法,我也不是语言学专家,但是可以在逻辑上遵循英语单词的选项有限,从而严重减少了密码中可能使用的排列。

考虑到这一点,我认为至少不遵守密码短语的随机性将等于(如果不超过)不遵守密码创建的随机性,因为用户被密码短语的概念迷惑了一种错误的安全感。

因此,我提出了我的正式问题,我是否在这里忽略了一些关键考虑因素,或者我是否正确,并且密码短语确实不太安全,如果不仅与密码一样安全,而且不是使密码/密码短语更难猜到的革命性新方法?

2个回答

两个一般要点。

首先,密码短语的好处是它们使用户更容易生成熵,同时仍然记住他们的密钥。通过随机字符生成熵是很困难的——事情越难,做的人就越少。

XKCD 漫画被如此引用的原因不仅仅是数学 - 多年没看过漫画的人仍然可以告诉你密码是什么。这就是漫画的重点:那些熵字节很容易被人类记住。

其次,您可能想看看:

https://wpengine.com/unmasked/

主要亮点?平均密码熵为 21.6。又名,它与您的 94^8 数字相差 20 亿倍。原因?用户不会选择随机的 ascii 字符。他们不选择随机大写的随机字母。他们不选择随机字母。他们只需选择一个词并装饰它。

基本上,让懒惰的人通过 15 个字符的密码生成熵比让他们通过 8 个字符的密码生成熵更容易。

当你得到这些数字时,你的逻辑似乎是基于一些相当奇怪的假设。

首先,随机密码。您随机将 3 个随机单词与 8 个随机字符进行比较,并且方便地指向“懒惰”。您并没有真正解释为什么有人会懒于记住 4 个单词,而是会记住 8 个随机字符,这些字符更难记住,也更难输入。(即使使用标准的 7776 字 diceware 字典,4 个单词也会给您与 8 个字符相同的熵)。

另一方面,如果您比较用户选择的密码,它们都容易受到字典攻击。选择短语的人会选择某种句子。选择 8 个字符的密码的人会选择一个简短的单词,可能会添加一些符号来取乐。一个 3 个单词的英文句子仍然比单个英文单词具有更多的熵。

归根结底,无论采用何种方法,人工选择的密码都不是真正安全的。这就是为什么你应该总是生成随机的。使用密码管理器,无论它们是哪种类型都没有区别-但是可以记住单词的随机组合,而随机字符串则没有那么多

但是,如果您假设您的用户会手动选择密码,那么更长的密码仍然会更安全。