概述WebAuthn 使用公钥密码学替代密码,实现无密码与更强的双因素认证。Passkeys 基于平台或跨设备认证器存储的密钥对,抵御钓鱼与短信劫持,改善易用性与安全性(需 HTTPS 安全上下文)。原理与流程注册:服务器生成挑战,浏览器通过 `navigator.credentials.create()` 与认证器创建密钥对并返回证明(Attestation);服务器保存公钥凭证[参考1]。登录:服务器生成挑战,浏览器通过 `navigator.credentials.get()` 请求认证器用私钥签名并返回证明(Assertion);服务器验证签名与用户验证状态[参考1,3]。支持与注意需要安全上下文(HTTPS);平台与浏览器支持广泛但存在细节差异与移动端限制(如某些版本的移动浏览器参数支持不全)[参考1,2]。隐私与支持:认证器通常每依赖方生成独立密钥;部分平台特性(如无用户名登录、用户验证)在移动端支持进展需跟踪[参考2]。实践建议服务端严格验证挑战、RP ID、用户验证标志;使用“信赖方服务器”维护凭证元数据。优先采用 Passkeys 跨设备能力,提供传统密码或 OTP 作为回退;对旧设备提供外部安全密钥支持。参考与验证[参考1]MDN:Web Authentication API(原理、挑战签名与安全上下文要求):https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Authentication_API[参考2]技术文章:WebAuthn 平台差异与移动端限制说明:https://flyhigher.top/develop/2160.html[参考3]web.dev:Passkeys 注册与使用说明与浏览器支持:https://web.dev/articles/passkey-registration关键词校验关键词与 WebAuthn/Passkeys 无密码登录一致。

发表评论 取消回复