密码策略示例 — 2026 更新版(NIST SP 800-63B-4)

这篇文章我最早写于 2020 年,当时承诺一旦内容过时就会更新。这一刻终于到来了。💥 2025 年 8 月,NIST 发布了 SP 800-63B-4 指南的最终版本,直接掀翻了桌子:不再强制要求特殊字符,也不再要求定期更换密码。下面是更新后的策略——你还会了解到,为什么一些旧的”最佳实践”在今天反而是有害的。

密码策略 — 依据 NIST SP 800-63B-4 的 2026 更新版:至少 15 个字符,不强制复杂度,不定期轮换
2026 年密码策略

自 2020 年以来发生了什么变化?

被盗密码仍然是头号攻击途径。根据 Verizon DBIR 2025 报告,针对基础 Web 应用的攻击中,多达 88% 涉及被盗凭据,而针对 Web 应用的暴力破解攻击数量同比几乎翻了三倍。

变化的是防御者的应对方式。NIST——这家美国标准机构的指南最终总会被全世界效仿——在 SP 800-63B-4 中明确禁止了多年来被视为标准的做法:强制复杂度和定期密码轮换。

密码策略示例(当前版本)

IT 系统中的静态密码应当:

  • 长度至少 15 个字符(NIST 规定的硬性下限是 8 个字符,但推荐值——尤其当密码是唯一防线时——是 15 个);
  • 系统应接受至少 64 个字符的长度,包括空格——这样就可以使用一整个短语,例如”一匹马在火星上骑自行车”;
  • 不得强制复杂度要求——不再有”至少一个大写字母、一个数字和一个特殊字符”的硬性规定。NIST 在这里用的是强制性的”SHALL NOT”——系统不允许提出这种要求;
  • 不得定期过期——只有在怀疑或确认发生泄露时才更换密码,而不是”每 30 天换一次,没有为什么”;
  • 设置时应对照阻止列表检查——即已泄露密码、字典密码和显而易见密码的清单(命中即拒绝);
  • 不包含登录名、公司名称、应用名称、电子邮件地址,或用户的姓名;
  • 只能以哈希形式存储:Argon2id(至少 19 MiB 内存、2 次迭代、并行度 1);旧系统可用 bcrypt(工作因子至少为 10);在需要符合 FIPS-140 的场景下,则使用至少 600,000 次迭代的 PBKDF2;
  • 允许粘贴密码管理器中的内容——在密码框里禁用”粘贴”是对安全的破坏,而不是保护;
  • 保持唯一——每个服务使用不同的密码。

为什么长度胜过复杂度?

“P@ssw0rd1!” 满足所有旧的复杂度规则——却在一瞬间就被攻破,因为攻击者对这个套路了如指掌:开头大写字母、结尾感叹号、”a” 换成”@”。强制复杂度只会产生可预测的密码和压在键盘下的便利贴。而一个长短语对你来说容易记住,对机器来说却是破解噩梦。

关于如何安全地实现登录功能,你可以在 OWASP — Authentication Cheat SheetOWASP Password Storage Cheat Sheet 中找到大量有用的信息。

密码管理器——依然是基石

大多数情况下,你并不知道在线服务是如何存储你的密码的。也许管理员根本没有实施任何保护你数据的机制。因此你必须自己来保障密码安全——而面对几十个账户和 15 个字符的密码,靠脑子记住所有密码是不可能的。这时密码管理器就派上用场了:你只需记住一个强密码,剩下的交给它。KeePass 就是公认安全并被推荐的密码管理器之一。

密码管理器——一个主密码打开一个装满长、随机、唯一密码的保险库
一个主密码,其余都在保险库里

密码管理器还能带给你:

  • 自动生成又长又随机的密码;
  • 加密的保险库和备份;
  • 跨设备同步;
  • 自动填充表单——这同时也能防钓鱼,因为管理器不会在伪造的域名上粘贴你的密码。🔓

MFA——要用,但别再用短信了

2020 年我写过,短信验证码能显著提升账户安全性。今天我必须纠正这一点:短信是双因素认证中最薄弱的形式——容易受到 SIM swapping 和实时钓鱼的攻击。攻击者绕过 MFA 的手段越来越娴熟:根据 DBIR 2025 相关引用的数据,最常见的技术是会话令牌窃取和”prompt bombing”——用通知轰炸受害者,直到对方点下”批准”为止。⚠️

MFA 方式对比:短信(最弱)、TOTP 应用、通行密钥/FIDO2(抗钓鱼,推荐)
并非所有 MFA 的防护力都一样

按防护强度从高到低排列:

  1. 硬件密钥(FIDO2)或通行密钥(passkey)——抗钓鱼;
  2. 带 TOTP 验证码的应用(例如装在手机上);
  3. 短信——总比没有 MFA 强,但请把它当作最后的选择。

通行密钥(passkey)——一个没有密码的世界?

通行密钥(passkey),即基于 FIDO2 的访问密钥,已经获得 Google、Apple 和 Microsoft 的支持,NIST 也将其归类为抗钓鱼的认证方式。只要某个服务提供这一功能——就把它打开。如今这是让密码不再成为最薄弱环节的最简单办法。

总结

新的密码策略反而比旧的更简单:又长又唯一、经过阻止列表检查的密码,没有人为的复杂度要求,也没有强制轮换——再加上密码管理器和抗钓鱼的 MFA。规则更少,安全更多。✔️

如果你想检验一下贵公司的密码策略(以及其他防御措施)能否经受真实攻击者的考验——欢迎与我联系:我会以道德黑客的身份进行测试,并交付一份切实可行的报告。如果 NIS2 或 DORA 正压得你喘不过气,也可以看看这个合规页面

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Bookmark the permalink.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注