密码应该多长才安全
← 返回博客
密码应该多长才安全?
· 6 分钟阅读
为什么8位密码已经过时
十年前,8位密码被认为是足够安全的最低标准。然而,随着GPU计算能力的飞速提升,今天一块现代显卡每秒可以尝试数百亿次MD5哈希。在这种计算能力面前,8位密码(即使包含特殊字符)可以在数小时内被破解。
2023年,安全研究人员公布了一台使用8块RTX 4090的破解装置,可以每秒尝试超过3000亿次bcrypt哈希的变体。这意味着即使使用现代慢哈希算法,短密码也面临越来越大的威胁。密码长度的标准必须随着硬件能力的提升而不断更新。
不同场景的推荐密码长度
以下是基于2025年威胁模型的密码长度建议:
- 最低标准(普通账号):12位——如论坛、购物网站,使用全字符集时约78.8比特熵
- 推荐标准:16位——适用于大多数日常账号,约105比特熵,安全余量充足
- 高价值账号:20位+——银行、邮箱、工作账号,约131比特熵
- 密码管理器主密码:25位随机字符或5-6个随机单词密码短语
- 磁盘加密:使用6-7个随机单词密码短语(必须记忆且需手动输入)
长度 vs 复杂度:一个简单的数学对比
很多人认为密码"复杂"比"长"更重要。数学告诉我们真相:在字符集为95(全ASCII可打印字符)的情况下,每增加一个字符,密码空间扩大95倍(约6.57比特)。而将字符集从26个小写字母扩大到95个全字符,仅增加约1.87比特每字符(从4.7增加到6.57)。长度对安全性的影响更加显著。
实际例子:一个16位纯小写字母随机密码(熵≈75.2比特)比一个12位全ASCII随机密码(熵≈78.8比特)稍弱,但比一个8位全ASCII密码(熵≈52.6比特)强得多。增加4个字符比增加所有特殊字符的提升更大。
系统密码长度限制的问题
令人沮丧的是,许多网站和系统仍然限制密码的最大长度——有些甚至将上限设为8或16位。这种做法在安全上是倒退的。NIST SP 800-63B建议系统至少应该允许64位长度的密码。如果你遇到密码长度被限制在16位或更短的系统,这本身就是一个安全警示信号。
当系统强制限制密码长度时,在该上限内选择尽可能长的密码,并务必启用多因素认证(MFA)来弥补密码强度的不足。同时,记录这类限制,在可能的情况下向服务提供商反馈。
密码短语的长度考量
对于密码短语,长度的度量方式不同:应该以"单词数"而非"字符数"来衡量。使用标准Diceware词表(7776个单词),推荐单词数量如下:最低安全性:4个单词(约51.7比特);推荐:5个单词(约64.6比特);高安全性:6个单词(约77.5比特);极高安全性:7-8个单词(约90-103比特)。
中文密码短语则需要更多单词,因为中文词表通常更小。使用中文时,建议使用6-8个随机中文词,或者使用英文Diceware词表(在中文输入环境下,记忆英文随机词实际上并不比中文更难)。
未来趋势:量子计算的威胁
量子计算机的发展对密码安全构成了长期威胁。Grover算法可以将对称加密系统(包括密码哈希)的破解难度减半,也就是说,将来128比特安全强度的密码将只相当于今天64比特的密码。这一威胁目前仍在遥远的未来,但已经促使 NIST 开始制定后量子密码学标准。
针对量子威胁,安全专家建议今天就采用更长的密码(128位以上的熵)。使用20位以上的全字符集随机密码,或7个以上随机单词的密码短语,可以提供足够的量子安全余量。
实用建议:设定你的密码长度策略
最终建议:不要将密码长度视为一个单一的数字目标,而是根据账号的价值和风险级别制定分级策略。使用密码管理器的用户可以轻松将所有存储密码设为20位或更长,因为不需要记忆。手动记忆的密码(密码管理器主密码、设备登录密码)使用6-7个随机单词的密码短语。
定期审查你的密码库,识别那些低于12位的旧密码,优先更新高价值账号的密码。这不需要一次完成,每次登录时更新一个旧密码,几个月内就可以完成全面升级。
立即尝试在线工具,无需安装,免费使用。
打开工具 →
立即免费使用相关工具
免费使用 →