推荐

如何选择可靠的密码管理器

密码管理器是为数不多能真正降低账户被盗风险的数字卫生工具之一,但并非所有应用都同样可靠。在把密码托付给某个服务之前,值得关注以下这些技术标准。

为什么需要密码管理器

个人账户被盗最常见的原因,不是什么高明的黑客,而是那个老掉牙的「重复使用的密码」。如果邮箱、社交网络和网购用的是同一个密码,其中任何一个服务的数据库一旦泄露,就自动打开了通往其余所有账户的大门。密码管理器解决这个问题的方式很简单:为每个网站生成一个又长又复杂的唯一密码,并以加密形式保存,你只需要记住一个主密码。

首要标准:「零知识」架构

在比较界面和价格之前,值得先弄清楚服务内部是如何存储数据的。可靠的密码管理器采用 零知识(zero-knowledge) 模型:所有加密都在数据离开公司服务器之前,就在你的设备本地完成。加密密钥由主密码生成,从不传输给服务提供商、也不存储在它那里——也就是说,即使公司服务器被入侵,被窃取的数据也只是一堆没用的加密字节。

对密码库本身的加密而言,行业标准是 AES-256,而从主密码推导密钥则应通过 Argon2id 或大迭代次数的 PBKDF2 这类抗暴力破解的算法:这正是 OWASP 在 Password Storage Cheat Sheet 中 为存储机密推荐的算法。如果厂商不公开它所用的算法,那就是个该警惕的信号。

另外五条实用标准

  • 独立审计。寻找渗透测试报告或开源的客户端代码——单凭一句「我们很安全」的自我声明什么都证明不了。
  • 登录密码管理器本身也支持双重验证——一个单独的验证码或安全密钥,能在主密码被人看到或截获的情况下依然保护密码库。
  • 跨平台与离线访问。密码在手机和电脑上、即使没有网络也应能打开——否则关键时刻你会被挡在自己的账户之外。
  • 数据导出。能以标准格式导出密码,可以避免被永久绑定在某一家厂商上。
  • 透明的事故历史。不要只看「我们从未被入侵」的声明,而要看公司在真正发生事故时是如何披露的,以及事后在架构上做了哪些改动。

主密码——整个系统最脆弱的一环

无论加密多么可靠,一切都系于一个主密码。NIST SP 800-63B 的最新建议把重点从复杂度转向了长度:不建议组织强制要求混合各类字符、也不建议按时间表强制更换密码——而是强调足够的长度,并对照已泄露密码列表进行校验。对主密码而言,这在实践中意味着以下几点。

  1. 用四到五个彼此毫无关联的随机单词组成一个短语——长度达到十五个字符以上时,它比一个带符号和数字的短密码要难暴力破解得多。
  2. 不要在任何其他服务里再用这个密码——一处都不行。
  3. 开启用独立应用生成验证码的登录方式,而不是只靠密码——更多内容见 关于双重验证的文章
  4. 把官方恢复码离线保存好——写在纸上放进保险箱,或存进另一个密码管理器——而不是放在邮件或手机备忘录里。
  5. 不要「以防万一每季度换一次」,而应在怀疑被入侵时才更换主密码:无缘由的强制轮换通常只会带来更弱、更容易被猜到的密码。

注册前的快速检查清单

在建立密码库之前,这几项都可以在服务的网站上花几分钟核实一下。

  • 有公开的加密模型说明:零知识、AES-256、从主密码推导密钥的算法。
  • 有独立审计报告,或客户端应用的开源代码。
  • 支持用 2FA 或 passkey 登录密码管理器本身的账户。
  • 为你所有设备提供了应用,并支持离线工作模式。
  • 提供清晰的、以标准格式导出数据的功能。

如果是通过公共 Wi-Fi 登录密码管理器

还有一种单独的情况——在咖啡馆、机场或酒店里访问密码库。密码库自身的加密即使在网络不安全时也能保护数据,但为通信通道再加一层防护,可以降低同一网络里并行传输的其他数据一并被截获的风险——更多内容见 关于在公共 Wi-Fi 中保护数据的文章。例如,HamikVPN 应用 会加密手机和电脑上的网络连接,在这类使用陌生网络的场景里往往正好派上用场。

从免费试用开始
3 天,无需绑卡,随时取消
免费试用

常见问题

浏览器内置的密码管理器够用吗?
浏览器或操作系统内置的密码管理器总比没有强,在同一套设备生态内也很方便。但它们较少接受独立审计,通常在不同浏览器和平台之间的同步较弱,而且并不总能透明地说明所用的加密算法。对于在多台设备上的日常使用来说,一款明确说明了零知识架构的独立应用通常更可靠。
忘记主密码怎么办?
在采用零知识架构的服务中,提供商在物理上无法替你找回密码——加密密钥只有你自己知道。因此唯一可行的办法,是事先离线保存好官方恢复码。没有它,对密码库的访问就会永久丢失,这正是「除你之外无人能读取数据」的另一面。
需要定期更换密码管理器里的密码吗?
现行的 NIST SP 800-63B 建议恰恰相反:无缘由的强制轮换并不能提升安全性,反而常常导致更弱、更容易被猜到的密码。当怀疑某个服务发生数据泄露时,就更换该服务的密码;当怀疑密码管理器本身被入侵时,才更换它的主密码。