问题涉及用户在创建帐户时输入的密码,例如,在某个网页上注册。
我遇到过网站,要求用户输入带有数字和特殊字符的大小写字母...某些网站发挥极致,要求用户遵循严格的指导原则。
这一切真的有必要吗?
创建安全用户密码后,有哪些最简单,最简单的规则?它在哪个时候成为安慰剂?
答案 0 :(得分:2)
复杂的密码规则通常不会导致更安全的密码,真正重要的是:
人们无法记住大量强密码,复杂的规则会干扰良好的密码方案。如果其中一个规则拒绝了正确的密码,则用户通常会切换到较弱的密码。
另一方面,即使严格的密码规则也无法阻止弱密码。人们可以非常有创造力地绕过这些规则,例如使用像Password-2015
这样的弱密码(大多数规则都接受这一点)。如果一条规则至少需要一个数字字符,那么它通常会以最后一个字符password1
结束,这使得暴力破解变得更加困难。
如果你对复杂的规则过度使用,通常最终会使用较弱的密码而不是较强的密码。要改进密码,您可以鼓励用户发明一个密码短语,也可以使用ILikeToSleepUntil8InTheEvening
这样的示例。
答案 1 :(得分:1)
根据受保护的内容存在很大差异,即实际需要的安全级别。在$。中评估您的需求。
这就是说创建密码远远落在破解列表中的规则真的很难。如果这是我的信息,我希望能够使用任何东西,包括真正愚蠢的密码,如果我不需要安全性。提出并记住好/硬密码并不容易。让它变得非常困难,人们将开始依赖密码重置,这很糟糕。
有密码列表,SecLists可能是最大的编译。看看你会发现简单的规则不起作用。
有关bcrypt的信息,请参阅How To Safely Store A Password。
虽然上面的网站说bcrypt是唯一不合适的选择,但另一个很好的选择是PBKDF2(基于密码的密钥派生函数2),这是一个标准,也可以在大多数系统上使用。