跳到主要内容
ecdsa.com

认证器数据

每个 WebAuthn 响应都携带的二进制结构:RP ID 的 32 字节 SHA-256 哈希、一个标志字节、4 字节签名计数器,以及可选的已证明凭证数据和 CBOR 扩展输出。
其他写法authenticatorDataauthDatarpIdHashsignCountflags byte

标志(WebAuthn Level 3 §6.1):第 0 位 UP(用户在场),第 2 位 UV(用户已验证),第 3 位 BE(可备份),第 4 位 BS(备份状态),第 6 位 AT(包含已证明凭证数据),第 7 位 ED(包含扩展数据);第 1 位和第 5 位保留。不含 AT 和 ED 时,认证器数据正好是 37 字节。已证明凭证数据在注册时出现,由 16 字节的 AAGUID、2 字节的凭证 ID 长度、凭证 ID 和 COSE 公钥组成。

断言签名覆盖 authenticatorData ‖ SHA-256(clientDataJSON),因此依赖方必须用自己的 RP ID 验证 RP ID 哈希,检查 UP(如有要求还要检查 UV),并评估计数器。未实现签名计数器的认证器会让它一直为零,同步通行密钥通常就是如此;如果确实使用计数器的认证器出现计数器回退,可能说明密钥已被克隆。

标准与参考资料

全部术语