当一个网站实施某事时,总是为他们的利益服务;然而,这有时也与服务于用户的利益相吻合,例如“保护用户免受他们自己的伤害”,这就是这里的情况。
限制的重点是(尝试)使密码更难被攻击者猜到。确实,防止某些用户使用某些特定的密码值在数学上会减少可能的密码数量;但是,实际上,这更多是关于禁止简单的用户如果可以选择几乎总是会选择的密码。可能的密码总数非常大。如果我们认为密码可能包含字母(小写和大写)、数字,例如,一些可以从普通键盘访问的标点符号;如果我们允许密码最长为 30 个字符,那么可能的密码数量等于 157935773974908502215194845377591539584935386309545795005451(包括长度为 0 的“空密码”;否则,减去 1)。可能的密码不是稀缺资源,从该数量中删除数十亿也没有什么问题。
可怕的资源是用户的想象力和耐心。鉴于这种可能性,大多数用户将使用只有小写字母的短密码,因为这是最容易记住和输入的密码。他们会选择“有意义的”词,例如“城堡”而不是“bsigrz”。攻击者知道:简单的密码是他会首先尝试的,而且数量不多,所以攻击者会成功。
“密码规则”试图迫使用户远离简单的密码。如果你强制他们包含一个数字和一个大写字母,他们会这样做,但是使用攻击者无法预测的数字,并且大写应用于随机字母。(至少在理论上;在实践中,用户会将大写字母放在第一个字母上,数字将添加到末尾,并且将是“1”)。热切希望这将增加用户将有效选择的可能密码的数量,从而使攻击者更加困难。
密码规则可能会适得其反,有时甚至是惊人的;用户将忘记他们的密码并唠叨帮助台;用户会将密码写在巧妙地隐藏在键盘下的便利贴上。(就事与愿违而言,在存储在用户钱包中的一张纸上写一个复杂的密码并没有那么糟糕:至少,用户关心他们钱包的下落。)一个非常常见的事与愿违的例子是,确切地说,用户在许多网站上使用的“常用”密码。这意味着一个站点上的安全漏洞会立即扩展到用户也拥有帐户的所有其他站点。那很糟。