核心用法
Passkey 是基于 WebAuthn 标准的无密码认证方案,通过公私钥对替代传统密码。本技能提供从服务端到客户端的全链路安全实践,涵盖注册(attestation/verification)、认证(challenge-response)及凭证生命周期管理。
显著优点
安全性提升:私钥永不离开设备,天然抵抗钓鱼和数据库泄露;配合 sign count 验证可检测凭证克隆。
跨平台适配:明确区分 Apple iCloud Keychain、Google Password Manager、Windows Hello 及第三方密码管理器的同步边界,帮助开发者设计降级策略。
工程可测试性:提供 Chrome DevTools 虚拟认证器、CI 自动化测试方案,降低硬件依赖。
潜在缺点与局限性
碎片化生态:平台间同步互斥(Apple↔Android 不互通),需引导用户启用第三方密码管理器或保留密码兜底。
兼容性陷阱:resident key(可发现凭证)支持度参差不齐,跨设备认证依赖蓝牙/二维码,超时设置需放宽至 120 秒以上。
实现门槛:CBOR/COSE 编码、origin 验证、challenge 唯一性等细节易错,手动解析 crypto 极易引入漏洞。
适合人群
- 后端/全栈工程师构建身份系统
- 安全工程师审计 WebAuthn 实现
- 产品团队设计无密码登录流程
常规风险
- 重放攻击:challenge 复用或长期有效
- 钓鱼攻击:origin 校验缺失导致跨域伪造
- 账户锁定:硬件丢失且无恢复路径
- 克隆检测失效:忽略 sign count 验证