我的一个烦恼是,当网站试图强迫我使用字符或密码政策,使我难以记住(例如,一个数字,小写,大写,特殊字符,5-10字符).
简单地使用密码强度计算器并且只允许密码“强”的缺点是什么?
例如,也许一个人只喜欢使用单词,这样你就可以允许“黄泉水”,因为它的长度使它强大,但也允许"!Pf-4",因为它的复杂性使它强大。
发布于 2014-02-07 21:30:15
问题在于编程的复杂性。测试混合大小写、数字和标点符号的存在非常简单。
在现实中测试密码强度,实际意义上是令人惊讶的困难。您真正关心的是该密码是否会被破解,而不是它包含了多少特殊字符。密码apwyfzsdjn比Baseb4all!安全得多,尽管大多数密码测试人员更喜欢后者。
项目兹克本是一个基于Javascript的密码测试器,它试图根据复杂性和(更重要的)字典查找来进行合理的密码强度分析,并且肯定比“必须包含标点符号”的测试人员做得更好。
但这是个很难解决的问题。
发布于 2014-02-07 20:55:30
在一般情况下,复杂性不像长度那么重要,但是复杂性加上长度会增加对纯蛮力密码尝试的保护。
您的示例Pf-4将被快速破解,而不考虑“复杂性”,因为尝试猜测的次数最多为7,820,126,495 ( 95 ^5 + 95^4 + 95^3 + 95^2 +95^2+ 95) 95是可能的字符数。一个核心i7很快就会破解这个问题。
对于密码长度的每一次增加,您都会增加功率大小所需的猜测数。真正的问题是,大多数知道自己在做什么的密码破解者都会使用定制的字典攻击和蛮力攻击,这些攻击甚至可以很容易地破坏长传短语。
它还可以依赖于密码哈希被用来对密码进行散列。一些哈希(如MD5 )存在已知的安全问题,还有一些更强的哈希(如bcrypt )被认为是“慢”散列算法,因为它们需要更多的时间来检查每个散列。
我建议您查看这篇关于密码破解的文章。
http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/2/
https://security.stackexchange.com/questions/51128
复制相似问题