![对密码进行字典攻击](https://linux22.com/image/1336696/%E5%AF%B9%E5%AF%86%E7%A0%81%E8%BF%9B%E8%A1%8C%E5%AD%97%E5%85%B8%E6%94%BB%E5%87%BB.png)
我对常见的建议持怀疑态度,即不要在句子中使用字典中的单词作为密码。例如,使用“我的名字是 Sue!”作为密码。在我托管和管理的网站上,如果您不输入该字符串,您将无法登录。我查看了一些破解软件使用的字典,它们收集了大量的单词。我很快就放弃了在每种书面语言中寻找其中没有的单词的尝试。因此,使用荷兰语脏话会造成糟糕的密码。但是,其中没有短语,即使有,大量可能的短语及其排列组合难道不会将其变成另一种形式的暴力攻击吗?
那么,为什么建议不要在密码短语中使用字典中的单词呢?
(肥皂盒)我认为 IT 要求用户使用越来越复杂且难以记住的密码,而不是建议用户使用密码短语,这对用户来说是一种伤害。我正在寻找一个合理的答案,说明为什么我的想法是错误的,我应该回到常见的建议。(/肥皂盒)
答案1
答案2
正如“Ernie”所说,您正在将密码与密码短语进行比较。不要使用字典单词的建议是可靠的。但使用字典单词组合的密码短语只会降低“一步”的危险性,就像尝试创建令人难忘的密码/短语的其他技巧一样。
如今,如果攻击者拥有你的密码(短语)的加密版本,他就不会仅仅进行普通的字典攻击。黑客知道所有技巧(黑客语言、连接单词、添加数字等)。
扩展信息《安全现在》第 366 集“密码破解更新:‘聪明’的消亡”(或阅读其成绩单)。
我建议你使用像最后通行证(在 Security Now 第 256 集中也有详细讨论)为您生成随机密码。人类不擅长随机(无论是生成它或者检测到它)
如果你真的想要记住密码,你可能想要使用密码干草堆技术作为难以记住的随机组合的替代方案。在这里,您将重复字符串 (123 123 123) 附加到包含最大熵 (D0g!) 的短字符串。
无论你选择哪种方法,密码至少包含 12 个字符。 全部8 个字符的密码现在可在 13 小时内被破解在一台花费 12000 美元的自制机器上(主要用于 GPU)
答案3
暴力破解密码的难度至少取决于两个变量:
- 密码长度。
- 允许的密码字符。
第一个很明显。如果我只限制字母(26 个小字母 + 26 个大写字母),那么
- 单个字母的密码最多需要 52 次尝试才能猜出。
- 最多需要 2704 次(52×52)才能猜出两个字母的密码
- 三个字母的密码最多需要 140608 次尝试才能猜出(52×52×52)
可以看到,组合数迅速增加。因此,密码越长,暴力破解的难度就越大。IT应该鼓励使用长密码。
但是,许多旧应用程序仅接受长度不超过 8 的密码。这对于良好的安全性来说太短了。如果您被限制在这样的 8 个字符限制内,或者您知道您的用户不会使用长密码,那么还有另一种方法可以使密码更难被暴力破解:让密码使用一组比字母更大的输入。添加数字。添加键盘上的奇怪东西。
这不是一个好的解决方案。它是一种为普通用户或旧系统提供补偿的变通方法。密码如下电池马钉(长度 18)比大多数短而复杂的密码更难破解。不过,大多数人都懒得输入这个密码。
你可能会注意到,我经常使用这个术语暴力破解密码并不是破解密码。这是因为还有其他方法可以发现某人的密码。例如,你可以猜测。
字典只不过是需要猜测的大量单词列表,而密码破解程序足够智能,可以尝试字典中单词的变体。
这使得此类词典中的单词既不适合用作密码,也不适合在密码短语中使用。