在线工具集

2026 年密码最佳实践:从弱密码到通行密钥(Passkey)

最后更新:

引言:为什么密码安全仍然重要

密码是保护我们数字生活的第一道防线。邮箱、银行、云盘、社交媒体——几乎每一个在线账户都离不开密码。然而,根据 NordPass 2024 年度安全密码调查,全球最常见的密码仍然是"123456",其次是"123456789"、"qwerty"、"password"等毫无防护力的组合。

本文将从弱密码的具体风险入手,逐步讲解如何选择强密码、如何管理多个密码、如何应对泄漏风险,以及如何迁移到更安全的 Passkey 技术。无论你是普通用户还是技术爱好者,这份指南都能帮助你建立一套科学、可持续的密码安全体系。

第一部分:弱密码的致命风险

全球最常见的 100 个弱密码

根据多年的数据泄漏事件统计,以下是最常见的弱密码排行:

  1. 纯数字组合:123456(第 1 名)、123456789、111111、000000、666666、888888、123123、1111111、100000、1000000
  2. 键盘连续按键:qwerty、asdfgh、qwerty123、asdf1234、zxcvbnm
  3. 服务名称:password、123456abc、abc123、iloveyou、welcome、admin、letmein
  4. 生日与日期:你的生日(格式 YYYYMMDD)、配偶生日、孩子生日、结婚纪念日
  5. 简单英文词汇:hello、tiger、dragon、michael、batman、sunshine、princess

这些密码之所以危险,是因为:

泄漏事件中的密码统计

2023 年,Okta 遭遇数据泄漏,影响用户数百万。泄漏数据显示,超过 50% 的用户使用了相同的密码在多个平台。这意味着,一次泄漏可能导致用户的邮箱、银行、工作账户同时沦陷。

第二部分:密码强度的科学评估

为什么"复杂度"不如"长度"

传统的密码策略强调"大小写 + 数字 + 符号"的组合,许多网站都有这样的要求:

密码必须至少 8 个字符,包含大写字母、小写字母、数字和特殊符号。

然而,现代密码安全研究表明,长度比复杂度更能有效抵抗暴力破解。以下是具体数据:

结论:一个 16 个字符的全小写密码,比一个 8 个字符的"复杂"密码安全得多。

这是因为暴力破解的时间复杂度是指数级的——每增加一个字符,破解难度翻倍。而混合大小写、数字、符号虽然看起来"复杂",但对指数破解曲线的影响相对较小。

密码熵与实际强度

密码的熵(entropy)用比特计算。一个密码的熵取决于两个因素:

公式:熵 = log₂(字符集大小 ^ 长度) = 长度 × log₂(字符集大小)

根据美国国家标准与技术研究院(NIST)的最新建议(SP 800-63B-3),建议密码至少 12-16 个字符,可以全部是小写字母,不必强制符号和大小写混合。

第三部分:推荐的密码生成策略

方法一:四到六个无关单词组合

XKCD 漫画曾提出一个经典方案:使用 4-6 个互不相关的英文单词组合作为密码。

示例:

优势:

劣势:

方法二:随机字符串(使用密码生成器)

对于高强度密码,最安全的方法是使用密码生成器随机生成 16-20 个字符的随机串。

示例:

优势:

劣势:

方法三:可记忆的强密码公式

对于需要手动记忆的密码(如主密码),可以使用以下公式:

[个人记忆片段] + [数字符号] + [服务相关词汇]

示例:

这种方法结合了可记忆性和相对强度,但仍不如随机字符串安全。建议仅用于主密码或无法保存密码的场景。

第四部分:密码复用的灾难性后果

一处泄漏,全部沦陷

假设你在 10 个不同的网站(邮箱、银行、GitHub、Netflix、购物平台等)使用同一个密码。现在有一个小型购物网站遭遇数据泄漏,黑客获得了 100 万条用户名和密码的列表。

黑客接下来会进行凭证填充攻击(Credential Stuffing)——自动尝试用这些用户名密码组合登录其他大型网站(邮箱、银行、GitHub)。成功率往往在 1-5% 之间,意味着几万个账户被破解。

这正是 2023 年 LastPass 泄漏事件之后,成千上万用户遭殃的原因——他们在多个平台复用密码。

复用密码的连锁反应

  1. 邮箱被破解 → 黑客可以重置你所有其他账户的密码
  2. 银行账户被破解 → 直接经济损失
  3. GitHub 账户被破解 → 代码仓库被篡改或删除
  4. 云盘被破解 → 个人文件、证件、财务数据泄漏

现实案例:2024 年,一位开发者的 GitHub 账户因密码复用而遭到破解,黑客在他的所有开源项目中注入恶意代码,造成下游 1000+ 个项目受感染。

为什么我们总是复用密码

研究表明,普通用户平均拥有 100+ 个在线账户,但只记得 5-10 个密码。在这种困境下,许多人选择了最简单的方法——复用密码。

这就是为什么密码管理器是必需品,而不是可选项。

第五部分:发现泄漏——Have I Been Pwned

什么是 Have I Been Pwned

Have I Been Pwned (HIBP) 是一个由安全研究者 Troy Hunt 维护的免费服务。它收集了从互联网各处收集的数据泄漏记录,目前包含 600+ 次大规模泄漏事件,涉及超过 12 亿条邮箱记录。

如何检查你的账户

  1. 访问 haveibeenpwned.com
  2. 在搜索框中输入你的邮箱地址
  3. 点击"Search breaches"
  4. 服务会显示你的邮箱是否出现在已知泄漏事件中

如果你发现自己在泄漏列表中,立即更改该账户的密码,以及所有可能复用该密码的其他账户的密码。

被动监控:HIBP 通知

HIBP 提供免费邮箱订阅。一旦你的邮箱出现在新的泄漏事件中,HIBP 会自动发送通知邮件。这样你无需手动检查,可以及时发现风险。

建议所有用户都在 HIBP 上注册并启用邮件通知。

第六部分:密码管理器详解

密码管理器的工作原理

密码管理器本质上是一个加密的数据库:

核心安全承诺是:只有你知道主密码,即使密码管理器公司也无法访问你的密码。

选项一:1Password

优点:

缺点:

安全审计:1Password 多次通过独立第三方安全审计(2017、2019、2021 年),密码库加密采用 AES-256 标准。

选项二:Bitwarden

优点:

缺点:

安全审计:Bitwarden 曾在 2022 年委托 Cure53 进行安全审计,报告公开发布。

选项三:iCloud Keychain(苹果生态)

优点:

缺点:

结论:如果你是苹果全生态用户(iPhone + Mac),iCloud Keychain 足够。如果你需要跨平台支持,选择 Bitwarden(开源+免费)或 1Password(最佳体验)。

第七部分:Passkey 与 FIDO2——密码的未来

什么是 Passkey

Passkey 是一种基于公钥密码学的身份验证方式,完全取代密码。它由以下组件组成:

Passkey 相比密码的优势

1. 完全抗钓鱼

2. 抗数据泄漏

3. 用户体验更好

Passkey 的工作流程

注册:

  1. 你在网站上点击"创建 Passkey"
  2. 设备要求你用生物识别确认(或输入 PIN)
  3. 设备生成公私钥对,私钥留在本地,公钥上传到网站

登录:

  1. 你在网站上输入用户名
  2. 网站发送一个随机数据块(Challenge)
  3. 你的设备用私钥对这个数据签名,生成签名(Signature)
  4. 你输入生物识别或 PIN 确认
  5. 设备将签名发送回网站
  6. 网站用公钥验证签名,验证成功则允许登录

Passkey 的标准与支持

Passkey 基于 FIDO2(Fast Identity Online 2) 开放标准,由 FIDO 联盟发布,主要浏览器和平台已实现:

已支持 Passkey 的网站(2024 年):

预计到 2026 年,大多数主流网站都会支持 Passkey。

Passkey 的限制与过渡

当前挑战:

过渡建议:

第八部分:银行 App 与硬件 Token

银行级身份验证

大多数银行 App 使用多因素认证,但采用的方式各不相同:

硬件 Token 与 YubiKey

YubiKey 是一种硬件安全密钥,大小如 U 盘,支持 FIDO2、U2F、OTP 等多种认证标准。

优点:

缺点:

推荐场景:

第九部分:社会工程与技术密码的局限

什么是社会工程攻击

社会工程是利用人性弱点而不是技术漏洞的攻击方式。例如:

SIM 卡交换(SIM Swap)攻击

这是一种现实中发生过的攻击方式。案例:

2019 年,一位美国 Twitter 员工 Jack Dorsey 的 Twitter 账户被黑客接管,原因是黑客通过社会工程获得了他的电话号码控制权,重置了他的主邮箱密码。

防御方法:

技术无法解决的问题

即使使用最强的密码和 Passkey,以下情况仍可能导致账户被破解:

结论:密码安全是必要的防线,但不是充分条件。深度防御(Defense in Depth)需要多个层次的保护:强密码 + 2FA + 硬件密钥 + 安全意识 + 定期监控。

实战指南:今天就开始

第一步:审计你的账户(30 分钟)

  1. 列出你最重要的 10 个账户(邮箱、银行、云盘、GitHub、社交媒体)
  2. 在 Have I Been Pwned 检查邮箱是否泄漏
  3. 检查你是否在多个网站复用同一密码(使用密码管理器导入功能)
  4. 记录哪些账户使用了弱密码

第二步:选择密码管理器(1 小时)

  1. 根据你的设备选择:1Password(最佳体验)、Bitwarden(开源免费)、iCloud Keychain(苹果用户)
  2. 创建账户,设置强主密码(至少 16 字符,或 4 个无关单词)
  3. 导入你现有的密码列表(如果之前用过其他管理器)

第三步:更新密码(每周一次,分批进行)

  1. 优先更新高风险账户(邮箱、银行、云盘)
  2. 使用密码生成器生成 16+ 字符的随机密码
  3. 不要复用任何旧密码
  4. 启用 2FA(下一篇教程详解)

第四步:启用 Passkey(现在就可以)

  1. 为你的 Google、Apple、GitHub、Microsoft 账户启用 Passkey
  2. 设置备份(将 Passkey 同步到 iCloud 或 Google Cloud)
  3. 保留一个备用认证方式(备份码、恢复邮箱)

第五步:持续监控

  1. 在 Have I Been Pwned 启用邮件通知
  2. 定期检查密码管理器的安全报告(重复密码、弱密码)
  3. 每 6 个月更新一次重要账户的密码

总结与深化阅读

要点回顾:

本文涵盖了从基础知识到高级技术的全套密码安全体系。下一篇文章将详解 双因素认证(2FA)完全指南,讲述如何在密码之外再加一道防线。

有任何问题?可以通过本站页脚邮箱或 GitHub 组织主页联系我们。