原文恕删
先讲结论,基本上你能想到的增加自己麻烦的反人类的机制,
几乎都无助于强化密码安全。
至于细节,若要讲怎么设密码来防止暴力踹密码,
就必须了解是怎么暴力踹密码的。
暴力踹密码的基本方向不外乎两种:字典攻击与穷举。
字典攻击这个比较复杂先不提,
穷举法破解密码的所需期望时间基本上可简单写为:
期望时间 = 可能的密码组数 x 平均踹一组密码费时
所以任何能增加可能密码组数或是增加踹一组密码花费时间的方法,
理论上都能强化密码的安全性。
所以
错误一,“要求使用”特殊字符与英数大小写的密码比较难踹
很简单的道理,能要求使用特殊字符当密码的网站,代表输入字段能接受特殊字符。
在能使用特殊字符的前提下,是限制必须怎么使用特殊字符的密码组数比较多,
还是不限制使用特殊字符的密码组数比较多?
废话当然是不限制的比较多,报废的越多剩下的越少天经地义
这个方法基本上就是针对字典攻击,
但字典攻击有效的密码本来就因为有效字符少(可能组数少)而非常脆弱,
还不如十位的随机密码。
而即使是能强化密码的方法,也有效果的差距,
多输入一次就是上火度特别高外效果还特别烂的那种方法。
多输入一次 = 踹一组密码时间加倍 = 期望时间加倍
BUT,一般来说我们踹一组密码要花多久?算0.01秒好了,
踹5次禁五分钟的效果是:
踹5次禁五分钟 = 平均踹一组密码花1分钟 = 期望时间6000倍
效果是多输入一次的3000倍不说还不会上火。
然后即使是这个方法仍然赢不了多开放三位密码:
多一位密码(数字英文大小写) = 增加至62倍的密码组数
多两位密码(数字英文大小写) = 增加至3844倍的密码组数
多三位密码(数字英文大小写) = 增加至24万倍的密码组数
详细就不写了,透过简单的复杂度(建议自己去查)计算,
防暴力破解的方法按有效性排列:
可用位数增加 > 可用字符增加 > 冷却时间 >> 多输入一次 > 0 > 强制特殊字符
其实一般10~12位的随机密码就已经非常硬了,其他都多打的,
再加冷却时间完全足以能让人放弃暴力破解。
骇客不是傻瓜,比起跟密码死嗑,
还不如做个假网页或是侧录让使用者自己吐密码出来简单的多。
作者:
labbat (labbat)
2024-03-14 02:57:00人是懒惰的,有限制特殊字符比不限制特殊字符的随机性高
作者:
Vulpix (Sebastian)
2024-03-14 03:35:00虽然算得很有道理,但是多数人会考虑自己的忘性,选择对自己有意义的字符,不使用特殊符号。
那种一堆奇怪要求的应该也不是防暴力破解 故意让使用者不能用惯用密码 这样其中其他地方流出密码就不会被一次全破
推最后 社交工程比较省事用复杂到自己都会忘记的密码本末倒置
我帐号密码都随机生成 就算实际帐密泄漏也不会影响到其他帐号 密码本纪录用密码A上锁 但输入时我会删掉后两码再往前跳两码 加上关键密码B 密码本.密码逻辑.密码A.密码B 如果骇客有办法能够同时取得 那也没什么手段能阻止他了
+1 我也觉得长度比起复杂度安全 印象中 原本提出密码复杂度的学者也承认复杂度对安全性帮助不大了