你可能会认为,亚马逊、Reddit、维基百科和其他知名网站会告诉你,“password1”和“hunter2”是糟糕的密码。然而实际上这些网站并未这样做。近期的一个研究项目跟踪了过去 11 年顶级网站的密码设置规则。结果表明,大部分网站只提供最基本的密码限制,没有采取更多措施去帮助用户。

普利茅斯大学的史蒂芬·弗内尔(Steven Furnell)于 2007 年首次对网站的密码设置规则进行了调查。他于 2011 年和 2014 年重复了这项调查。而最新一次调查于本周完成。那么他的结论是什么?

令人失望的是,2018 年的总体情况与 2007 年基本相似。在中间的这些年里,关于什么样的密码是失败的密码,以及我们使用密码的正确方式是什么,已经有过很多报道。然而,网站并没有做出太多改进,鼓励或强制用户采取正确的做法。

这份 大学研究报告 指出,谷歌、微软和雅虎在密码设置规则方面做法最好,而亚马逊、Reddit 和维基百科的做法最差劲。不过,报告并未公布更多细节。幸运的是,我拿到了这篇论文,可以好好列一个红黑榜。

英文世界排名前 10 的网站(根据 Alexa 的数据来排序,在这几年中排名曾发生变化)被纳入研究范围,具体包括谷歌、Facebook、维基百科、Reddit、雅虎、亚马逊、Twitter、Instagram、微软 Live 和 Netflix。

最糟糕的失败无疑是亚马逊。亚马逊没有提供适当的密码控制,但网站提供的是资金直接相关、且极具个人化的服务。维基百科和 Reddit 的密码限制比亚马逊还要差,但它们没有亚马逊保存那么多重要数据。如果亚马逊、维基百科和 Reddit 的帐户同时被黑客攻击,那么亚马逊的危险程度会高很多。

亚马逊实际上接受了弗内尔输入的所有密码,包括重复用户名、用户的真实姓名,以及一直以来的经典密码“password”。(Netflix 和 Reddit 也接受用“password”做密码,但维基百科不允许。不过,维基百科接受用户用单个字符做密码,比如“b”。)

其他网站都做出了限制,例如要求密码包含多种字符类型,拒绝常见密码等等,但这些网站很少提前告知用户。由于一开始没有提供反馈,因此用户在创建账户时会先输入自己想要的密码,随后才被告知密码必须更长,或是不能包含某个特定词组(用户名字、生日之类的),或是必须包含特殊字符。对于新用户注册和修改密码两种情况,不同网站还有不同的密码要求。

那么为什么不在一开始就做好说明?为什么不解释这样做的背后原因?完全可以在填写密码的下方直接告知用户,“因为某种原因,我们需要你怎么怎么做”。可惜的是,所有顶级网站都没有这样做。

在这篇沉闷的报告中,有一点值得关注,即双重认证正逐渐流行。在某种程度上,双重认证甚至比强密码更安全。有些网站的密码策略很糟糕,但也支持双重认证(例如亚马逊)。可喜的是,大部分网站都着手从短信码验证转移至更安全的身份验证应用。

最后的结论与十年前几乎差不多:

我们的基本论点与我们之前的研究和其他人的解决一样,为用户提供安全的服务,同时提供相应的支持。密码是很好的切入点,因为大部分人并不善于使用密码。然而,这一点依然被习惯性忽视。所以我们会继续批评网站对密码保护的无视,也会继续批评用户的无知。

双重认证正在崛起,但是:

用户可能需要更多鼓励,或者说责任感,来使用这个功能。否则,就像密码本身一样,它们可以带来安全的保护,实际上并不安全。

换句话说,不要再讨论密码有多么糟糕,我们更应该要做点什么。