NIST 的新密码指南挑战了一些常见做法

密码已多次证明自己是一种不恰当的身份验证方法。这个概念不一定有缺陷:如果密码周围的系统实施得当,密码可以是安全的。但是,用户无法正确选择和管理密码以及开发人员未能实施安全系统往往会导致安全漏洞。

一个好的密码系统说明了用户一直无视什么是好的密码,至少试图帮助他们做出更好的选择。现实世界的密码系统往往会忽略密码身份验证的这一方面,结果对用户和企业来说可能是灾难性的。

在这方面做出错误选择的不仅仅是普通用户:众所周知,系统管理员和公共云用户无视密码最佳实践,从而将用户数据置于危险之中。

NIST 发布了一项新的用户身份验证指南,挑战了一些通常被认为是“正确的做事方式”的做法。

新指南包含很多建议,包括标准的最佳实践,如散列、加盐和密码拉伸,但我想看看指南挑战常见实践的四个领域。

提示和基于知识的身份验证
密码提示是个坏主意。允许用户输入密码提示作为提醒并没有真正的优势。密码重置也可以达到同样的效果,而不会让不良行为者有机会计算出密码。

基于知识的身份验证也很危险:不良行为者不难发现用户母亲的娘家姓或他们上高中的地方。

这两种策略都旨在减轻公司客户支持的负担,但它们使用户面临不必要的风险。

检查现有密码字典
这是常识,但几乎从未做过。黑客知道人们最有可能选择哪些密码。在破解用户帐户时,他们使用常用密码字典作为起点。拒绝与泄露密码数据库中最常见的密码相同的密码将大大提高用户的安全性。

用户会觉得这很令人沮丧,但有时有必要将安全性置于便利之上。

不要强制密码过期
许多公司强制用户在预定时间后选择新密码。直觉上,这是一个吸引人的措施,但在实践中它对提高安全性几乎没有任何作用。

频繁的密码到期通常会导致用户只需在密码末尾添加一个递增数字或选择简单密码,这样他们就不必经常将新的复杂密码提交到记忆中。

联邦贸易委员会在今年早些时候对这个话题进行了权衡,建议密码频繁过期会适得其反。

如果帐户没有被盗用,更改密码没有任何好处。如果它被入侵,仅仅更改密码是不够的,因为不能保证没有安装恶意软件。

密码组成
这可能是 NIST 反对的最常见的做法。 许多服务建议用户选择具有指定最少大写字母、数字字符和标点符号等特殊字符的密码。

理论上,这会让用户选择更难猜的密码。 在实践中,他们选择满足最低要求的密码。 NIST 希望密码建议侧重于密码长度,而不是组成。 从长远来看,选择一个强密码可以省去很多麻烦。

围绕 NIST 给出的一些建议存在相当多的争议。 请在留言中让我们知道你的想法 。