创建 Passkey - 无密码登录新时代
什么是 Passkey
Passkey 是基于 WebAuthn 标准的无密码登录技术。它的核心原理:
- 网站在服务器上存公钥
- 你的设备存私钥(加密在 KeePassDX 数据库里)
- 登录时,网站用私钥做一个加密签名,网站验证签名——不需要传输任何密码
Passkey 比密码安全得多:
| 方面 | 密码 | Passkey |
|---|---|---|
| 泄露风险 | 服务器被盗则密码泄露 | 服务器只有公钥,无法用于登录 |
| 钓鱼攻击 | 恶意网站可以骗你输入密码 | Passkey 绑定域名,伪造网站无法触发 |
| 重复使用 | 人容易跨站复用密码 | 每个网站独立密钥对 |
| 登录体验 | 手动输入 | 点一下就行 |
前置条件
Passkey 功能要求:
- Android 14(API 34)及以上
- KeePassDX 4.2.0+
- 目标网站支持 Passkey(很多主流网站已支持:Google、GitHub、Microsoft、亚马逊等)
- 设备需要已设置锁屏(PIN/图案/密码)
- KeePassDX 的凭证提供程序服务已启用
启用 KeePassDX 作为 Passkey 提供者
- KeePassDX 设置 → 表单填充 → 凭证提供程序服务(Credential Provider Service)
- 点击开启
- 系统弹出确认对话框 → 确定
创建 Passkey
第一步:在支持 Passkey 的网站注册
以 GitHub 为例(流程适用于所有 Passkey 支持网站):
- GitHub → Settings → Password and authentication → Passkeys
- 点击"Add a passkey"
- GitHub 弹出 WebAuthn 注册提示
- 选择"使用 Android 设备"或"使用手机上的 Passkey 管理器"
第二步:KeePassDX 接管
注册提示弹出后,KeePassDX 会:
- 自动检测到 WebAuthn 请求
- 打开数据库(如果还没开)
- 弹出用户验证(UV)界面(生物识别 / 设备凭证 / 主密码前缀)
- 验证通过后生成密钥对
- 私钥加密存入 KeePassDX 数据库
- 公钥返回给网站

第三步:完成
网站提示注册成功。现在你可以在 KeePassDX 的条目里看到 Passkey 字段(显示为一把小钥匙图标)。
Passkey 的存储
Passkey 私钥是特殊加密数据,KeePassDX 把它存放在条目的自定义字段里(标记为 WebAuthn / Passkey 类型)。你可以在条目编辑界面看到它,但不要手动修改——修改会导致 Passkey 失效。
一个网站一个 Passkey
每个网站都有独立的密钥对。这意味着:
- 你在 100 个网站注册了 Passkey,KeePassDX 数据库里就有 100 对密钥
- 某个网站的 Passkey 泄露(几乎不可能),不影响其他网站
- 这也是 Passkey 安全的核心原因