多次使用同一个词的密码

信息安全 密码
2021-08-22 18:10:02

我连续五次使用了一个简单的 3 字母字典单词(类似于 pwdpwdpwdpwdpwd),并且惊讶地发现我自己在使用字典攻击的渗透测试中的被黑帐户列表中。我确实通过了蛮力攻击。

在回顾了在密码中加入重复单词的想法的熵之后,我不再感到惊讶。这是我理解的简单分析:(博客条目的顶部,如果有点琐碎,我很抱歉,我试图向我的 GF(非数学人员)解释 IT 的各个方面)

问题:是否有任何可以想象的情况,在密码中重复一个单词以达到 >15 个字符会有效地提高安全性?

示例思路:

  1. pwd= "pneumonia" (9 字符) => pwd(15)= "pneumoniapneumo" (15 字符)
  2. pwd=“樱桃蛋糕”(10 个字符)=> pwd(19)=“cherrycakecherrycak”(19 个字符)
  3. pwd=“外星人”(6 个字符)=> pwd(15)=“aliensaliensali”(15 个字符)

也许使用短密码/密码并将其重复到某个截止点(记住字符数或最后一个截止字母)的概念是一种可行的密码方法?

2个回答

您的分析是正确的:随机性就是一切攻击者将尝试“潜在密码”,并且只有在足够大的集合中选择您的密码才能被击败,因此“潜在密码”的数量远远超过攻击者可以实际尝试的计算能力和可用时间.

在实践中,多次重复同一个词是一个经典的技巧,许多人使用它是因为普遍认为更长的密码更强:这是错误的,但很多人仍然相信它。由于许多人遵循重复单词策略,因此密码破解工具也遵循它。

因此,对于重复单词密码的熵,您所能期望的最好的结果是基本单词的熵和重复计数的熵(或总密码长度)的总和(这是一个总和,因为我正在表达以比特为单位的熵,它是一个对数标度)。例如,如果您在超过 30000 个可能单词的列表中选择基本词(按照今天的标准,这已经是一个相当大的词汇表),那么基本词就是 15 位。如果您然后重复该单词以实现 12 到 27 个字符之间的任何长度,并且随机选择长度,那么这是 4 个额外位(长度选择 16 个),总共 19 位熵 - 即不是毕竟很多熵。

需要考虑的额外一点是密码长度可能会泄漏不是在哈希中,而是在其他情况下:

  • 当您输入密码时,“Shouder surfers”可能会偷看您的屏幕。他们只会看到一组项目符号(密码输入字段被隐藏),但他们可以看到出现了多少这样的项目符号,从而产生密码长度。

  • 在类似的情况下,听力范围内的人可能会尝试计算击键次数,然后再次得出密码的数量。

  • HTTPS 上下文中(即 Web 的登录表单),您输入的密码将被发送到 SSL 隧道,并封装在 Web 表单中。线路上的窃听者将无法看到密码(SSL 进行加密),但他们将能够看到 HTTP 请求的长度,因为数据长度从 SSL 泄漏(当基于 RC4 的密码套件是单字节精度时)使用,因为 Web 服务器很容易在稍微误导的尝试中强制执行以击败 BEAST 攻击——顺便说一下,这不再起作用了)。


总结:重复单词策略不会产生很多额外的安全性,如果密码长度泄露可能根本没有,这发生在几个密码使用上下文中。因此,这种策略不能很好地利用用户输入复杂或长密码的意愿(是一种稀缺资源)。

“是否有任何可以想象的情况,在密码中重复一个单词以达到> 15个字符可以有效地提高安全性?”

是的。


我不完全确定我同意你的博文。长度和随机性都增加了密码的可靠性;在这两者中,长度远比随机性便宜。多少取决于对手的攻击技术和动机。如果您的唯一目标是在机会主义攻击中幸存下来(比其他人更好),那么长度具有成本效益分析。如果您的目标是在有针对性的攻击中幸存下来,那么密码就是您的问题 - 您需要转向更高的保证凭证。

您可能想阅读 Steve Gibson 对Password Haystacks的分析
更新相关报价大约是杂乱无章的页面的 2/3,

一旦开始进行详尽的密码搜索,最重要的因素就是密码长度!

同样重要的是阅读 technoprobe对 Haystacks 论点的批评。这里的核心概念是攻击者将根据对防御者技术的了解来调整他们的策略。“假设”攻击者的动机需要适应。

阅读 SEC:SE 似乎承认密码长度的开创性工作也可能与您的问题相关。这里的论点不仅仅是为了长度,而是再次对攻击者的策略做出合理的假设(并假设攻击者没有调整他的策略来响应你发布你的策略),论点是长度可以比​​复杂性贡献更多增加密码弹性。

你问是否存在长度比复杂性更重要的情况。是的,有。更重要的问题是这些情况是否普遍,以及你面临的情况是否是其中一种情况。