你们都遇到过各种各样的网站,这些网站迫使你们拥有一个6个字符长的密码,必须有1个数字,并且必须押韵"烦人".
显然有一些遗留的原因,为什么有时这是必要的,但有时候这一切都是为了安全.我觉得这很烦人,因为我有一套标准密码,通常不符合这些特殊规则,所以我必须制作并记住一个新密码.
如果您担心用户的密码有多复杂,似乎在安全性方面需要担心更重要的事情.如果某人实际上可以获得该密码,那么您显然需要担心更大的问题.在依赖用户担心您的安全性之前,请尽职尽责并锁定系统的末端.
我的实际问题是:这些复杂的密码规则有哪些替代方案可以降低彩虹表或暴力反转的风险,而不依赖于用户承担记忆复杂事情的重量?
一些想法:腌制,......
无论您选择什么,几乎每个网站都会对您的密码进行腌制和加密.问题不是遗留代码,服务器端的数据库安全性或类似的东西,开发人员在大多数情况下都会涉及到这一点.问题是愚蠢的用户提交的破坏密码很容易被破坏.规则的要点是强迫你不要选择过于愚蠢的密码.
这是一个参考链接.http://www.codinghorror.com/blog/archives/001206.html
密码规则的原因是尝试确保"更强"的密码,这实际上意味着平均需要更多的试验才能通过暴力攻击找到密码.大多数人,即使经过许多例子,如最近的Twitter混乱,将使用Joe密码,或易受可行的暴力攻击的词典单词.
最好的办法是询问密码背后的数据的价值是什么,然后破解密码的成本(努力)是多少.如果值很小,则不需要复杂的规则,也许您根本不需要密码.如果值很高,那么你需要让它变得更加困难.