Passkey 简介 — 为什么无密码认证比密码更安全
密码的根本缺陷
密码是一个已经有 50 多年历史的认证方式,在现代网络环境下暴露了许多无法根治的问题:
| 密码的问题 | 根源 |
|---|---|
| 容易猜到 | 人类倾向于用简单、有规律的字符串 |
| 容易泄露 | 集中存储(服务端被攻破)或分散泄露(钓鱼、恶意插件) |
| 容易钓鱼 | 任何能伪装成网站的钓鱼页面都能骗到密码 |
| 重复使用 | 人类记不住几十个不同密码 → 一个密码到处用 |
| 无法撤销 | 密码一旦泄露,换密码又很麻烦 |
Passkey 是业界公认的密码替代方案。Apple、Google、Microsoft、Meta、PayPal 等都在支持,FIDO2 / WebAuthn 标准已被全球超过 10 亿设备支持。
Passkey 是什么
Passkey 是基于 FIDO2 / WebAuthn 标准的"无密码"认证方式。核心思路:
- 你不创建密码,也不输入密码
- 你在注册时用设备本地存储的密钥对(公钥存在服务器,私钥存在你的设备上)来完成认证
- 每次登录时,设备会提示你用生物识别(Face ID / 指纹 / Windows Hello / 硬件密钥)确认身份
- 服务器验证设备签名,完成登录
密码 vs Passkey 对比
| 维度 | 密码 | Passkey |
|---|---|---|
| 用户需要记住什么 | 密码字符串 | 什么都不用记 |
| 认证方式 | 输入密码(被网站接收) | 设备签名(只在本地完成) |
| 钓鱼能否骗到 | ✅ 钓鱼网站能收集密码 | ❌ 钓鱼网站无法让设备签名 |
| 能否被窃听 | 传输中的密码可能被截获 | 私钥永远不离开设备 |
| 能否被集中泄露 | 服务端被攻破 = 全部密码泄露 | 每个 Passkey 独立(一个泄露不影响其他) |
| 是否需要更换 | 泄露后必须改密码 | 泄露后可以撤销公钥、创建新 Passkey |
| 跨设备同步 | 密码管理器同步 | 设备间 Passkey 加密同步(Enpass Vault 里) |
| 双因素 | 需要额外加 2FA | Passkey 本身就是双因素("你知道什么" + "你有什么"合一) |
Passkey 怎么工作的(简化版)
注册阶段(创建 Passkey)
你在网站上点击"用 Passkey 注册"
→ 网站向你的浏览器发送一个唯一的挑战码(challenge)
→ 浏览器提示"选择要使用的 Passkey 存储"(你选 Enpass)
→ Enpass 在设备上生成一对密钥(公钥 + 私钥)
→ 私钥留在 Enpass Vault 里加密存储
→ 浏览器把公钥 + 设备信息发回网站
→ 网站保存公钥 → 注册完成
登录阶段(使用 Passkey)
你访问网站 → 网站识别到你有 Passkey → 发送挑战码
→ 浏览器找 Enpass → Enpass 用私钥对挑战码签名
→ Enpass 提示你用 Face ID / 指纹 / PIN 确认(确保是你本人在操作)
→ 浏览器把签名发回网站 → 网站验证签名 → 登录成功
为什么能抗钓鱼
钓鱼网站无法让 Passkey 生效,因为:
- Passkey 是和具体域名绑定的——设备只在匹配的域名上才会提供 Passkey
- 钓鱼网站即使伪装成银行,域名不对,Passkey 不会响应
- 就算你点进了钓鱼页面,浏览器会拒绝用银行的 Passkey 去签钓鱼网站的挑战码
Enpass 对 Passkey 的支持
Enpass 完整支持 FIDO2 Passkey 管理:
| 功能 | 支持情况 |
|---|---|
| 创建 Passkey | ✅ 桌面端 / iOS / Android |
| 存储 Passkey | ✅ 作为 Vault 加密数据库的一部分 |
| 跨设备同步 | ✅ 跟随 Vault 云同步 |
| 用 Passkey 登录 | ✅ 浏览器扩展 / 移动端系统级集成 |
| 多 Vault 中管理 | ✅ 每个 Vault 独立管理自己的 Passkey |
| Passkey 导出 | ❌ 出于安全原因,Passkey 不支持 CSV / JSON 导出 |
常见疑问
Passkey 需要联网吗?
注册时需要(因为要和服务器通信)。登录时,部分设备支持离线使用(如果网站已经注册过)。
如果我换手机怎么办?
Passkey 存在 Enpass Vault 里,跟着 Vault 同步。新手机添加同一 Vault 后,Passkey 就自动恢复了。
如果我的生物识别坏了怎么办?
可以用 Enpass 主密码解锁来生成签名(Passkey 创建时通常会要求设置一个"设备 PIN / 主密码"作为生物识别的备用方案)。
哪些网站支持 Passkey?
越来越多了——GitHub、Google、Microsoft、Apple、PayPal、Twitter、Dropbox、GitLab 等大网站都已支持。用 Enpass 审计面板可以快速看到哪些条目可以升级到 Passkey。
下一步:在网站上实际创建 Passkey——参见 桌面端 Passkey 创建。