YubiKey C NFC返回39字节Authenticator Data而非标准37字节求助
关于YubiKey C NFC(固件5.7.1)FIDO2断言验证的问题
使用fido2-assert工具从固件版本5.7.1的YubiKey C NFC获取断言,工具返回四行内容:
PQhSX/O9HYEvIbUZH/fWyCKg1nqXS5t41sztwV745nQ= chainfrog WCVnaHBXPn50f21/ute5h879H92zhpX0EtNrad3xx1KnPgEAAAAy MEYCIQCmAFE4jOiHVIoxIn00ecjAhDb3uUL61CFDl/d5RokTFQIhANYpiBUnRADTVDC6TvtpiDzMdzw+UzGXGfR/YZizQgBe
第三行应为Authenticator Data,根据WebAuthn标准,它应由依赖方标识符(即第二行的chainfrog)的32位SHA256哈希输出、1字节标志集合和4字节计数器组成,总长度为37字节。
通过base64 -d | xxd -p -r解码该Base64格式的Authenticator Data后,得到:
5825676870573e7e747f6d7fbad7b987cefd1fddb38695f412d36b69ddf1c752a73e0100000032
解码结果长度为39字节,不符合标准的37字节,且未包含可选扩展(最后4字节00000032为计数器,前35字节在同类断言请求中始终固定)。
此外,在解码后的Authenticator Data中无法找到依赖方“chainfrog”的SHA256哈希,并且将客户端数据哈希(第一行)与Authenticator Data拼接后,使用公钥通过openssl pkeyutl无法验证签名。
内容的提问来源于stack exchange,提问作者Keir Finlow-Bates
相关产品推荐
相关产品推荐

