我一直在研究Google Chrome(Fido Authenticator和Fido Client(例如Chrome)之间的协议)与CTAP2协议的实现,Chrome since version 69应该支持该协议。
因此,在两种情况下,我将chrome请求转储到了身份验证器中:
这里一切都按预期进行,chrome遵循CTAP1 protocol。
浏览器的行为异常:
Chrome实施是否有问题:CTAP2尚未完全启用(似乎已在Chromium来源中实现)?
还是问题出在身份验证器上:发送使Chrome切换到CTAP1的响应?
还是其他东西?
答案 0 :(得分:2)
在AuthenticatorGetInfoRequest中,身份验证器必须使用“ U2F_V2”和“ FIDO_2_0”之间的受支持版本的字符串列表进行响应。还要注意,在使用NFC或CCID的情况下,只有“ FIDO_2_0”(CTAP2)身份验证器才能在SELECT命令上直接应答“ FIDO_2_0”。我不知道HID和BLE。
因此,也许您的身份验证器在AuthenticatorGetInfoRequest的协议版本列表中列出了“ U2F_V2”。
我还认为与此有关的Chrome代码库正在快速发展,并且可能是局部的或不严格的。根据我在2020年初进行的测试,Chrome CTAP功能现在看起来稳定且合规。