数十年来,消费者和企业员工经常被灌输一些“强密码规则”,例如定期更换密码,在密码中使用特殊字符等。虽然近年来此类密码规则的有效性遭到安全专家的广泛质疑,但是新一代密码规则(例如用长度换强度、非必要不更新等)由于企业界的强大惯性和阻力(例如大多数互联网服务和企业系统都不支持64位长密码)而难以普及推广。
近日,美国国家标准与技术研究院(NIST)发布了最新的数字身份指南草案(SP800-63-4第二版),彻底颠覆了人们对密码安全的认知。指南提议取消一些最流行的,同时也是“最荒谬”的常识性做法,例如:
强制用户定期更改密码强制或限制用特定字符强制要求混合多种类型字符使用安全问题作为验证手段破除密码安全的陈规陋习
在数字时代,密码是保护用户隐私和数据安全的关键要素。然而,NIST指出,许多传统密码管理规则不仅没有增强安全性,反而适得其反。最典型的例子是强制用户定期更改密码的要求。
几十年前,密码安全性认知尚未普及,人们往往选择容易被破解的常见词汇或简单字符组合,因此定期更改密码被认为是防止被盗用的一种策略。但是,随着密码管理技术的进步和随机生成密码的普及,强制更改密码的做法不仅增加了用户的负担,还可能导致密码复杂性下降。
NIST给验证服务和管理者的“颠覆性”密码建议如下:
密码长度至少为8个字符,建议不少于15个字符。应允许最大密码长度至少为64个字符。应该接受所有打印ASCII(RFC20)字符,或在密码中添加空格字符。应接受密码中的Unicode(ISO/ISC 10646)字符。评估密码长度时,每个Unicode代码点应计为一个字符。不得对密码施加其他组合要求(例如,要求混合不同类型的字符)。不得要求用户定期更改密码,除非有证据表明账户被盗用。不得允许订阅者存储未经身份验证的用户可访问的提示。不得提示订阅者在选择密码时使用基于知识的身份验证(KBA)(例如“您的第一只宠物的名字是什么?”)或安全问题。验证者应当完整验证所提交的密码(即,不要截断它)。特殊字符与安全问题是一对“卧龙凤雏”
NIST还质疑另一项广受诟病的规则——要求密码必须包含大小写字母、数字和特殊字符。NIST认为,在密码足够长且复杂的情况下,这类字符组合规则并没有实质上的安全提升作用,反而会导致用户选择更容易记忆且相对脆弱的密码。
许多用户为了满足这些复杂的规则,往往倾向于使用重复的字符或常见组合,如“Password123!”之类的“伪强密码”。
同样,NIST建议废除使用安全问题(如“你的第一只宠物叫什么?”)作为密码验证手段。研究表明,安全问题容易被破解或通过社交工程攻击获取答案,难以真正保障用户隐私(有时反而会导致隐私泄漏)。
用长度换取强度
NIST在新指南中建议,密码验证系统应接受至少64个字符长度的密码,并支持所有ASCII字符和Unicode字符的使用。这意味着用户不仅可以设置更长的密码(例如:wo xihuan chi gobelieve baozi),还可以使用更广泛的字符集,进一步增强密码的复杂性与安全性。
同时,NIST强调,密码验证应当检查用户输入的完整密码,而非截断处理,确保密码的每一个字符都被考虑在内。
密码安全新趋势:回归常识与用户体验
NIST的最新指南草案不仅在技术层面上进行了优化,更重要的是,它体现了密码安全领域的一种回归——回归常识、回归用户体验。正如NIST在声明中指出的,许多密码管理规则之所以存在,是因为早期网络安全认知不足,然而,随着技术的进步和攻击手段的复杂化,许多看似“安全”的做法其实已经不再适用,甚至成为了安全隐患的源头。
以密码长度为例,NIST建议的8-15字符的最低密码长度既确保了密码的基本安全性,又避免了过度复杂的字符组合规则,让用户可以在增强安全性的同时减少记忆负担。这一理念与近年来密码管理软件(如密码管理器)和生物识别技术的普及相呼应,进一步提升了整体用户体验。
未来展望:安全管理需要以人为本
尽管近年来不少专家一再批评现行密码规则的弊端,但银行、互联网平台和政府机构大多依然固守这些过时、无效甚至有害的规则。NIST(美国国家标准与技术研究院)发布的新指南草案尽管并不具备强制性,但被业界广泛看作是终结“无效”密码规则的一个标志性历史事件,也是全球密码安全标准演进的重要一环,有望在更广泛的领域内被采纳和应用,带动密码安全领域的深层变革。
未来,随着量子计算等新技术的发展,密码学的基础原理也可能发生变革。目前来看,这一提议对于密码管理和用户安全的提升是显而易见的,但其最终效果仍有待观察和验证。
“人的因素”是网络安全最重要的环节,NIST密码新规的提出代表了一个重要的网络安全趋势——有效的安全管理需要更多地依赖技术创新和用户友好的安全设计,而不是机械地强制用户遵循陈规陋习。
参考链接:
https://pages.nist.gov/800-63-4/sp800-63b.html