一、为什么密码安全如此重要?
在数字化时代,密码是你身份的第一道防线。然而,密码安全问题仍然非常严峻。根据最新的安全报告:
- 全球每年因密码泄露导致的经济损失高达数百亿美元
- 超过 80% 的数据泄露事件与弱密码或密码重复使用有关
- "123456"连续多年蝉联全球最常用密码榜首
- 平均每个互联网用户拥有 80-100 个在线账户
- 超过 65% 的用户在多个账户间重复使用同一个密码
一旦你的密码被攻破,攻击者可以:冒充你的身份、盗取银行资金、窃取个人隐私数据、发送诈骗信息给你的联系人、甚至利用你的身份进行违法行为。
二、什么才是一个强密码?
2.1 强密码的核心标准
2.2 密码强度量化对比
密码强度取决于其搜索空间(字符集大小 ^ 密码长度):
注意:最后一个例子来自著名的 xkcd 漫画 #936,展示了"密码短语"(passphrase)策略——用几个随机单词组合成密码,虽然字符类型单一,但因为长度足够,安全性反而更高,而且更容易记忆。
2.3 推荐的密码创建策略
策略一:密码短语法(易记型)
- 选择 4-6 个不相关的随机单词
- 用连字符或空格分隔
- 适当加入大写字母、数字或特殊符号
- 示例:
Mountains-Telescope-Purple-42!
策略二:密码管理器生成法(最安全)
- 使用密码管理器自动生成随机密码
- 无需记忆每个密码,只需记住主密码
- 每个账户使用独一无二的强密码
- 示例:
kT9#mW2$pN7@qL4(由工具随机生成)
策略三:句子变换法(折中型)
- 想一句对自己有意义的句子
- 取每个词的首字母,做简单替换
- 示例:"我在2008年去北京看奥运" →
Wz2008nZbjK@Ay!
三、常见的密码攻击方法
3.1 暴力破解(Brute Force Attack)
攻击者尝试所有可能的密码组合,直到找到正确的密码。现代计算机的算力使暴力破解效率极高:
- 高端 GPU 每秒可以尝试超过 100 亿次密码组合
- 6 位纯数字密码不到 1 秒即可破解
- 8 位混合字符密码可在数小时内破解
- 16 位混合字符密码需要数千年
防御措施:增加密码长度是最有效的防御手段。每增加一位字符,暴力破解的难度呈指数级增长。
3.2 字典攻击(Dictionary Attack)
与暴力破解不同,字典攻击使用预先编制的密码字典(包含常见密码、泄露密码、词典单词等)来尝试。这种攻击比暴力破解高效得多,因为大多数人使用的密码都可以在字典中找到。
- 最常见的 1000 个密码可以覆盖约 10% 的用户账户
- 最大的密码字典包含超过数十亿条记录(来自历史泄露数据)
- 攻击者还会自动尝试常见变体:大写首字母、末尾加数字、字母替换(a→@, e→3, o→0)
防御措施:使用完全随机的密码或密码短语,避免使用词典单词、流行短语和常见模式。
3.3 钓鱼攻击(Phishing)
钓鱼攻击不直接攻击密码本身,而是通过伪装成合法网站来欺骗用户主动输入密码。这是目前最常见、最有效的攻击方式之一:
- 邮件钓鱼:伪装成银行、电商等发送虚假邮件,引导用户登录假网站
- 短信钓鱼(Smishing):发送短信"您的账户异常,请登录验证"
- 仿冒网站:制作与合法网站几乎一模一样的假网站,域名仅差一两个字母
- 社交媒体钓鱼:通过社交平台发送虚假链接
防御措施:仔细检查网址是否正确、不点击可疑链接、启用 2FA(即使密码泄露也能保护账户)。
3.4 撞库攻击(Credential Stuffing)
攻击者利用从其他网站泄露的用户名和密码组合,自动批量尝试登录其他网站。由于大量用户在多个网站使用相同密码,这种攻击的命中率惊人地高。
研究表明:在已知泄露的凭证中,约有 1-2% 可以成功登录其他未泄露的网站。考虑到大型数据泄露通常涉及数亿条记录,1% 的命中率意味着数百万个账户被攻破。
防御措施:每个账户使用不同的密码——这是防止撞库攻击最有效的方法。
3.5 键盘记录与中间人攻击
- 键盘记录器(Keylogger):恶意软件记录你的每一次按键,窃取密码。防御:安装杀毒软件、不在公共电脑上输入密码。
- 中间人攻击(MITM):攻击者拦截你和服务器之间的通信。防御:确认使用 HTTPS 连接、不在公共 Wi-Fi 上登录敏感账户。
四、密码管理器:你最好的安全伙伴
4.1 什么是密码管理器?
密码管理器是一种安全存储和管理所有密码的工具。你只需要记住一个强主密码,密码管理器就会帮你:
- 自动生成高强度随机密码
- 安全存储所有密码(使用 AES-256 等军事级加密)
- 自动填充登录表单
- 跨设备同步密码
- 检测密码泄露和安全风险
4.2 主流密码管理器推荐
4.3 密码管理器的安全原理
合格的密码管理器使用"零知识"(Zero-Knowledge)架构:
- 你的主密码用于加密/解密本地密码库,不会发送到服务器
- 服务器上存储的是加密后的数据,即使服务器被攻破,攻击者也无法获取你的密码
- 部分产品使用 Argon2 或 PBKDF2 对主密码进行密钥派生,增加暴力破解难度
因此,主密码的安全性至关重要。建议主密码使用 16 位以上的密码短语,且不存储在任何其他地方。
五、双因素认证(2FA):给账户加一把锁
5.1 什么是 2FA?
双因素认证(Two-Factor Authentication, 2FA)在密码之外增加第二层验证。即使密码泄露,攻击者没有第二因素也无法登录。认证因素分为三类:
- 你知道的:密码、PIN 码、安全问题
- 你拥有的:手机、安全密钥(YubiKey)、认证器 App
- 你本身的特征:指纹、面部识别、虹膜
真正的 2FA 必须使用不同类别的两个因素。例如:密码 + 手机验证码、密码 + 指纹。
5.2 2FA 方式对比
为什么短信验证码不安全?
- 短信可以被拦截(SIM 卡劫持攻击)
- 短信没有端到端加密
- 运营商员工可能读取短信内容
- Google 已宣布从 2022 年起不再将 SMS 2FA 视为安全
推荐使用的认证器 App:Google Authenticator、Microsoft Authenticator、Authy、1Password 内置认证器。
5.3 必须启用 2FA 的账户
以下类型的账户强烈建议启用 2FA:
- 邮箱(一旦被攻破,其他所有账户都危险——通过"忘记密码"重置)
- 银行和金融账户
- 社交媒体(微信、微博等)
- 密码管理器
- 云存储(iCloud、Google Drive 等)
- 代码托管平台(GitHub、GitLab)
六、Passkey:无密码的未来
6.1 什么是 Passkey?
Passkey(通行密钥)是基于 FIDO2/WebAuthn 标准的新一代身份认证技术,由 Apple、Google、Microsoft 联合推广,旨在最终取代传统密码。
Passkey 的工作原理:
- 使用设备内置的安全芯片生成一对公私钥
- 私钥永远保存在设备本地,不会传输到服务器
- 登录时使用指纹、面部识别或设备 PIN 码来授权使用私钥
- 支持跨设备同步(通过 iCloud Keychain 或 Google 密码管理器)
6.2 Passkey 相比密码的优势
6.3 如何开始使用 Passkey?
- Apple 设备:iOS 16+ / macOS Ventura+ 已原生支持,设置 → 密码 → Passkey 选项
- Android 设备:Android 9+ 已支持,使用 Google 密码管理器管理
- Windows 设备:Windows 11 22H2+ 支持,使用 Windows Hello
- 目前支持 Passkey 的服务包括:Google、Apple、Microsoft、GitHub、PayPal 等主流平台
七、如何检测密码是否已泄露?
7.1 Have I Been Pwned
Have I Been Pwned(hibp.io)是由安全研究员 Troy Hunt 创建的免费服务,收录了数百亿条已知泄露的账户信息。你可以输入邮箱地址来检查它是否出现在已知的数据泄露中。
7.2 密码泄露检查工具
你可以在以下地方检查密码是否泄露:
- Have I Been Pwned(haveibeenpwned.com):检查邮箱是否泄露
- Chrome 密码检查:Chrome 浏览器内置的泄露检测功能
- Firefox Monitor:Firefox 浏览器的泄露监控
- 1Password:Watchtower 功能自动检测泄露密码
- Apple 密码:系统设置 → 密码 → 安全建议
7.3 发现泄露后怎么办?
- 立即修改密码:更改该账户的密码为新的强密码
- 检查其他账户:如果你在其他账户使用了相同的密码,全部修改
- 启用 2FA:如果该账户还没有开启双因素认证,立即开启
- 检查账户活动:查看是否有异常登录或可疑操作
- 联系客服:如果是银行或支付平台,联系客服冻结账户
- 监控信用报告:如果涉及身份证号等敏感信息,监控个人信用报告
八、密码安全的常见误区
误区一:定期更换密码更安全
现代安全标准(如 NIST SP 800-63B)已经不再建议定期强制更换密码。因为频繁更换密码会导致用户选择更弱的密码或使用可预测的模式(如 Password1、Password2、Password3)。除非你怀疑密码已泄露,否则不需要定期更换。
误区二:复杂的替换就很安全
将字母替换为数字或符号(如 a→@, e→3, o→0)并不能显著提高安全性。攻击者早已将这些常见替换纳入字典攻击策略。一个 8 位的"复杂"密码 P@$$w0rd 的安全性远低于一个 16 位的简单密码短语。
误区三:密码写在纸上就不安全
与存储在不安全的数字位置(如浏览器、未加密的文本文件)相比,写在纸上并锁在抽屉里反而是合理的选择——前提是你的物理环境是安全的。但长期来看,密码管理器仍然是更好的选择。
误区四:浏览器自动保存密码不安全
现代浏览器(Chrome、Firefox、Safari)对保存的密码进行了加密存储,在安全性上已经大幅提升。但浏览器密码管理器的功能相对简单,缺少安全审计、密码共享、跨平台同步等高级功能。对于高价值账户,仍推荐使用专业密码管理器。
九、密码安全检查清单
在线密码生成器
使用我们的 在线密码生成器,自定义密码长度和字符类型,使用浏览器的加密 API 生成真正安全的随机密码。所有处理在本地完成,密码不会传输到任何服务器。