数十年来,消费者和企业员工经常被灌输一些“强密码规则”,例如定期更换密码,在密码中使用特殊字符等。虽然近年来此类密码规则的有效性遭到安全专家的广泛质疑,但是新一代密码规则(例如用长度换强度、非必要不更新等)由于企业界的强大惯性和阻力(例如大多数互联网服务和企业系统都不支持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密码新规的提出代表了一个重要的网络安全趋势——有效的安全管理需要更多地依赖技术创新和用户友好的安全设计,而不是机械地强制用户遵循陈规陋习。