73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
# Passkey
|
||
|
||
## Aliases
|
||
- Passkey
|
||
- WebAuthn
|
||
- FIDO2
|
||
- 无密码认证
|
||
- FIDO2/WebAuthn 凭证
|
||
|
||
## Type
|
||
Concept / Authentication Standard
|
||
|
||
## Description
|
||
Passkey 是一种基于 FIDO2/WebAuthn 标准的无密码认证方案,使用公钥加密替代传统密码,提供更高的安全性和用户体验。
|
||
|
||
## How It Works
|
||
|
||
### Registration
|
||
```
|
||
1. 用户在网站上选择"创建 Passkey"
|
||
2. 网站生成挑战(challenge)并发送给浏览器
|
||
3. 用户通过设备验证(指纹、Face ID、PIN等)
|
||
4. 设备生成公钥/私钥对,私钥保存在设备安全区域
|
||
5. 公钥发送给服务器存储
|
||
```
|
||
|
||
### Authentication
|
||
```
|
||
1. 用户选择使用 Passkey 登录
|
||
2. 服务器发送挑战(challenge)
|
||
3. 用户通过设备验证(指纹、Face ID、PIN等)
|
||
4. 设备使用私钥对挑战签名
|
||
5. 服务器用公钥验证签名,完成认证
|
||
```
|
||
|
||
## Key Characteristics
|
||
|
||
| 特性 | 说明 |
|
||
|------|------|
|
||
| 无密码 | 不需要记忆密码 |
|
||
| 防钓鱼 | 绑定特定域名,无法用于钓鱼网站 |
|
||
| 防重放 | 每次使用不同的挑战,无法重放攻击 |
|
||
| 跨设备 | 可以同步到云端(iCloud Keychain、Google Password Manager) |
|
||
| 标准 | FIDO2 / W3C WebAuthn |
|
||
|
||
## Passkey vs Traditional 2FA
|
||
|
||
| 对比项 | Passkey | TOTP |
|
||
|--------|---------|------|
|
||
| 用户体验 | 更便捷(生物识别) | 需要手动输入6位码 |
|
||
| 安全性 | 更高(公钥加密) | 中等(共享密钥) |
|
||
| 离线支持 | 依赖设备 | 支持 |
|
||
| 跨设备同步 | 依赖平台生态 | 通过 Secret 迁移 |
|
||
| 普及度 | 正在增长 | 广泛使用 |
|
||
|
||
## Passkey Support in Password Managers
|
||
|
||
### Bitwarden (Official)
|
||
- Passkey 功能需要**付费会员**
|
||
|
||
### NodeWarden
|
||
- 原生支持 Passkey,**免费**提供
|
||
- 完全兼容 Bitwarden 官方客户端
|
||
|
||
## Related Concepts
|
||
|
||
- [[Multi-factor-Authentication]] — Passkey 可作为 MFA 的第一因素
|
||
- [[TOTP]] — 传统双因素认证方案
|
||
- [[Self-Hosted Password Manager]] — 自托管密码管理器需要支持 Passkey
|
||
|
||
## Source
|
||
- [[nodewarden-把-bitwarden-搬上-cloudflare-workers-彻底告别服务器]]
|