不喜欢广告? 无广告 今天

为什么P@ssword1实际上并不安全

更新于

密码复杂性规则本应让我们更安全,结果却让我们到处都看到“Password1!”。本文将解释熵的实际含义,说明长度比复杂性更重要,以及NIST在2017年得出的结论。

为何P@ssword1实际上并不安全1
广告 移除?

大多数公司的密码策略大致如下:至少8个字符,包含一个大写字母、一个小写字母、一个数字和一个特殊字符。而某位IT经理则认为,这能真正保障安全。

与此同时,‘Password1!’满足了所有这些要求,‘P@ssw0rd1’也是如此,‘Summer2024!’也是如此。这些密码在数据泄露数据库中频繁出现——并非因为复杂性规则的缺失,而是部分因为这些规则的存在。

为何复杂性规则适得其反

当你强制人们添加大写字母、数字和符号时,他们并不会创造随机性,而是会遵循固定模式。首字母大写,将‘a’替换为‘@’,将‘o’替换为‘0’,以‘1!’或当前年份结尾。所有密码破解规则集都包含这些变换。对泄露的哈希数据库运行‘字典 + 常见替换 + 追加数字/符号’的攻击是一种标准手段,而它之所以有效,是因为 这正是政策训练人们所采用的行为.

复杂性要求给人以安全的错觉,却系统性地引导用户走向可预测的模式。这是一种带有额外步骤的安全表演。

熵:真正重要的因素

密码强度归根结底取决于熵——即不可预测性的度量。公式非常简单:

H = L × log₂(N)

其中 L L 是密码长度, N N 是所选字符集的大小。更多的比特数意味着需要更多的猜测,从而更难破解。

关键的词是 中选取。该公式假设每个字符是从N种可能性中随机选取的。一旦人类选择字符,所有预测都失效——因为人类在随机性方面表现得可预测。

数据对比

以下是常见密码策略的实际对比:

密码类型例子理论最大熵现实有效熵
8字符“复杂”(单词+替换)P@ssw0rd约52比特约20比特——攻击者使用基于规则的破解方法
10字符“复杂”(单词+数字+符号)P@ssw0rd1!约65比特约28比特——问题相同,但更长
4个单词的Diceware密码短语correct horse battery staple约52比特约52比特——如果使用骰子,是真正随机的
16字符随机(完整ASCII可打印字符集)Xk9#mP2vQw7&nZ4j约105比特约105比特——只有通过密码管理器才能实现

‘correct horse battery staple’和‘P@ssw0rd’在理论上熵值相似——但只有密码短语真正实现了这一值,因为骰子的随机性是真实的,而‘密码中将o→0和a→@’则不是。攻击者知道你所熟知的所有替换规则。

NIST在2017年得出的结论

NIST特别出版物800-63B悄然推翻了数十年的传统观念。2017年修订版的关键变化包括:

  • 不再强制要求复杂性规则。 要求大写/小写/数字/符号并不能像人们想象的那样提升安全性。
  • 不再强制定期更换密码。 ‘每90天更换一次密码’会生成Password1 → Password2 → Password3。除非有证据表明被入侵,否则频繁更换反而有害。
  • 长度优于复杂性。 更长的密码几乎总是比短而复杂的密码更安全。NIST建议最小长度为8个字符,并建议最长可达至少64个字符。
  • 屏蔽已知泄露的密码。 阻止出现在已知泄露数据库中的密码。这比要求使用特殊字符要有效得多。

大多数企业IT部门在2025年仍在执行2003年的政策。指导方针已经改变,但密码对话框却未更新。

密码短语与“复杂”密码的对比

xkcd漫画《correct horse battery staple》不仅仅是一个玩笑——数学原理是成立的。由四个真正随机的常见单词组成的密码短语具有大约44至52比特的熵,这超过了大多数人们实际创建的“复杂”密码,而且这种密码是人类可以记住并输入的。

关键在于,这些单词必须真正随机。‘My dog Max loves pizza’不是密码短语——它是一个带有个人背景的句子,显著缩小了搜索空间。请使用骰子(Diceware)或适当的随机数生成器选择单词,而不是靠大脑。

常见的密码安全误解

  • 误解:特殊字符让密码更安全。 只有当基础密码是随机时才成立。在单词基础上附加‘!’最多增加6比特熵,在基于规则的攻击中几乎毫无作用。
  • 误解:更长的密码更难输入,因此用户体验更差。 一个四词密码短语在字符长度上更长,但通常比Tr0ub4dor&3更容易输入。
  • 误解:频繁更换密码意味着更高的安全性。 数据泄露数据库一致显示,强制更换会导致可预测的逐步变化。NIST现在明确建议仅在确认被入侵的情况下才进行更换。
  • 误解:密码管理器有风险,因为一个泄露会暴露所有信息。 另一种选择——在不同网站间重复使用弱密码——一旦某个服务被入侵,就会暴露所有信息。相比之下,密码管理器在预期价值上更优。

真正有效的做法

使用密码管理器 并让其生成长而真正随机的密码(16个字符以上,完整字符集)。你只需记住一个强大的主密码,其余密码由管理器处理。Bitwarden、1Password 和 KeePassXC 是根据你是否需要云端同步或本地存储而选择的合理方案。

使用Diceware密码短语 用于需要输入或记忆的任何场景。使用真实的骰子,查阅 EFF大型词表,将四个或五个单词组合在一起。不要跳过骰子——自己挑选单词会完全违背其初衷。

你可以使用 密码强度分析工具 检查密码在熵尺度上的实际位置——它显示的是真实的破解时间,而不是大多数网站提供的绿色/黄色/红色的虚假安全表演。如果你需要一个真正随机的密码, 密码生成器 可以设置长度和字符集,生成类似‘Summer2025!’这样的密码。

真正的结论

复杂性规则取得了胜利。它们已嵌入到每个企业政策、每个消费者账户注册流程以及每一个‘你的密码必须包含……’的对话中。然而,这些规则也失败了——数据泄露数据库中充斥着这些规则所生成的密码。

长度和真正的随机性才是提升熵的关键。其余的一切只是让密码对话框看起来在“做点事”的检查项。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?