跳到主要内容
ecdsa.com

WebAuthn(Web 身份验证)

W3C 制定的浏览器 API(带 publicKey 选项的 navigator.credentials.create 和 get),网站通过它在认证器上注册和使用公钥凭证;Level 3 于2026年8月25日成为 W3C 推荐标准。
其他写法Web AuthenticationWebAuthn APInavigator.credentialsWebAuthn Level 3

注册(create)返回一个证明对象,其中包含认证器数据(含新凭证的 ID 和 COSE 公钥)和证明声明;身份验证(get)返回认证器数据、clientDataJSON 以及对 authenticatorData ‖ SHA-256(clientDataJSON) 的签名。依赖方验证 clientDataJSON 中的挑战值、源和类型,认证器数据中的 RP ID 哈希和标志,以及签名(WebAuthn Level 3 §7.1 和 §7.2)。

Level 3 把浏览器已经上线的功能纳入了标准:JSON 序列化辅助方法(toJSON、parseCreationOptionsFromJSON)、用于更新凭证的 Signal API、getClientCapabilities()、相关源请求(related origin requests)、条件式创建(conditional create),以及用于派生加密密钥的 PRF 扩展。Level 2 于2021年4月发布,Level 1 于2019年3月发布。

WebAuthn 是 FIDO2 中面向 Web 的部分;CTAP 负责把浏览器连接到外部认证器。WebAuthn 查看器可以解码 clientDataJSON、认证器数据和证明对象。

标准与参考资料

全部术语