记住密码不是人类的工作

安全专家说「每个服务都要使用不同的、长而复杂的密码」。然而,普通互联网用户使用的服务超过 100 个。为每个服务记住不同的 16 位以上随机密码,对人脑来说是不可能的。如果重复使用同一密码,一旦某个服务泄露了认证信息,就会成为撞库攻击的目标,攻击者可以用泄露的凭据登录其他服务。

密码管理器是用技术解决这个「记不住」问题的工具。理解其工作原理后,就能明白为什么安全专家强烈推荐使用密码管理器。

密码管理器的基本原理

密码管理器的核心是一个简单的设计:「用一个主密码加密保管所有密码」。

  1. 输入主密码:用户只需记住这一个密码
  2. 密钥派生:从主密码生成加密密钥(使用 PBKDF2、Argon2 等算法)
  3. 加密存储:用 AES-256 加密各服务的密码,存入保管库(Vault)
  4. 需要时解密:登录时用主密码解密,自动填入对应的密码

重要的是,即使是密码管理器的服务提供商也无法读取你的密码。主密码不会发送到服务器,加密和解密全部在你的设备上完成。这被称为「零知识架构」。

密钥派生 - 将主密码转换为加密密钥

直接将主密码「MyP@ssw0rd」用作加密密钥是危险的,因为短密码容易被猜测。

密钥派生函数(KDF)通过将主密码经过刻意「计算成本高昂的处理」,使暴力破解变得不切实际。

  • PBKDF2:在密码中加入盐值(随机值),重复哈希计算数十万次。1Password 和 LastPass 采用此方案
  • Argon2:2015 年密码哈希竞赛的冠军算法。不仅消耗大量 CPU,还消耗大量内存,因此对使用 GPU 的并行攻击也有很强的抵抗力。Bitwarden 采用此方案

使用 PBKDF2 设置 60 万次迭代时,验证一个主密码候选需要约 0.5 秒。要尝试 8 位字母数字密码的所有组合(约 2800 亿种),一台 PC 需要约 4400 年。

云同步型 vs 本地存储型

特性 云同步型 本地存储型
代表服务 1Password、Bitwarden、LastPass KeePass、KeePassXC
多设备同步 自动同步 需要手动同步文件
服务器被入侵风险 加密数据可能泄露 没有服务器,不存在此风险
便利性 高(浏览器扩展、移动应用) 设置需要技术知识

即使云同步型的服务器被入侵,由于零知识架构,攻击者能获取的只是加密后的数据。只要主密码足够强大,破解加密在现实中是不可能的。

密码管理器的弱点

它并非万能。在理解以下风险的基础上使用很重要。

  • 主密码泄露:如果主密码被知晓,所有密码都将面临风险。应配合双因素认证增加防御层
  • 设备感染恶意软件:键盘记录器可能记录主密码的输入。设备安全是前提条件
  • 服务停止:如果云服务停止运营,需要事先确认数据导出方式
  • 单点故障:如果密码管理器本身无法访问,将无法登录所有服务。紧急访问手段和恢复密钥的保管是必须的

如何开始使用密码管理器

入门门槛很低,大多数服务都提供免费方案。建议先从最重要的账户(邮箱、银行、社交媒体)开始注册密码,然后逐步迁移。在管理密码的同时,也建议在 IP 确认酱确认自己的连接 IP 地址和安全评分,了解当前网络环境的安全性。

想结合密码安全基础知识系统学习密码管理实践的读者,可以参考信息安全实践书籍。

本文相关术语

加密 密码管理器使用 AES-256 加密存储密码。 双因素认证 在主密码之外设置双因素认证,可以大幅提升保管库的安全性。 暴力破解攻击 密钥派生函数(KDF)将暴力破解的成本提升到不切实际的水平。