sudo123
10 天前
Google 密码管理器( Google Password Manager )中的“密码检查”( Password Checkup )功能,能够检测您的密码是否出现在已知的公开数据泄露事件中。其核心原理与安全性如下:
### 一、检测已泄露密码的原理
Google 采用的是 Google 密码检查( Password Checkup )技术,该技术最早于 2019 年以独立浏览器扩展形式发布,后内置到 Chrome 和 Google 账号中。其核心使用了以下三种关键技术相结合,确保既能检测泄露又不暴露您的真实密码:
1. **用户名与密码的强哈希 + 截断**
- 您的用户名(通常是邮箱)和密码不会以明文发送给 Google 。
- 系统先在本地对用户名和密码进行强哈希(目前使用 SHA-256 或更强的算法),然后只取哈希值的前缀(通常前 2 ~ 4 个字节,即 16 ~ 32 位)。
- 只有这个极短的前缀会被发送到 Google 服务器。
2. **匿名化混淆技术( k-Anonymity )**
- Google 服务器只会返回这一前缀对应的所有完整哈希值集合(可能有几千到几万条)。
- 您的设备从本地下载这几千条完整的哈希值后,再在本地进行精确比对。
- Google 服务器根本不知道您具体查询的是哪一条完整哈希,因此无法反推出您的真实密码。
3. **数据来源**
- Google 与 Have I Been Pwned ( HIBP )等多个公开泄露数据库合作,同时也收集自己发现的泄露事件。
- 所有泄露数据均只保留用户名+密码的哈希值(通常是 bcrypt 、SHA-1 、MD5 等),明文早已被丢弃。
- Google 还会定期接收网络上新出现的泄露数据包并更新数据库。
总结流程:
您的设备 → 本地计算哈希前缀 → 发送前缀给 Google → Google 返回该前缀对应的数千条完整哈希 → 本地精确比对 → 发现完全匹配则警告您。
整个过程中,Google 服务器只看到一个模糊的前缀,无法知道您的完整密码,甚至无法知道您具体查的是哪一个账号。
### 二、这个功能安全吗?
从目前公开的技术评估来看,该功能是目前业界最安全的“批量泄露密码检测”方案之一,主要依据如下:
- **顶级密码学专家审查**
- 该方案由 Google 与斯坦福大学密码学专家合作设计,2019 年发表在 USENIX Security 会议上,受到广泛好评。
- 目前 Firefox 、1Password 、Dashlane 等多家主流密码管理器也采用了几乎相同的 HIBP k-Anonymity API 。
- **实际隐私风险极低**
- 即使 Google 服务器被攻破,黑客也只能拿到“哈希前缀→完整哈希列表”的映射表,无法反推任何用户的真实密码。
- 即使有人截获了网络流量,也只能看到一个短前缀(几字节),碰撞概率极高,无法定位具体账号。
- **与直接使用 Have I Been Pwned 的对比**
- 直接在 HIBP 网站输入密码是最不安全的(明文上传)。
- 使用 HIBP 官方提供的 k-Anonymity API ( Google 、Firefox 等都在用)才是安全的。
### 三、结论与建议
Google 密码管理器的“检查泄露密码”功能在技术上是目前最成熟、最安全的实现之一,远比自己去各种网站一个个查要安全得多。
您可以放心开启并使用该功能。唯一需要注意的常规安全建议仍是:
- 为重要账号开启双因素认证( 2FA )
- 不要在多个网站重复使用同一密码
- 定期使用该功能检查一次
如果您对隐私极度敏感,也可以改用同样采用 HIBP k-Anonymity API 的离线工具(如 1Password Watchtower 、Bitwarden 的泄露检测、Firefox Monitor ),原理和安全性基本一致。