0
  • 我在多个地方读过,由于 U2F 没有用户的概念,它可以用作登录的因素之一(在 MFA 中),但不适合无密码,而 webauthn 有用户的概念,可以帮助无密码。我的问题是 webauthn 添加的额外内容是什么?是的,我们在创建凭据时确实传递了用户信息,但最终我们返回了一个凭据 ID(这似乎与密钥句柄非常相似)并用于关联用户(在服务器上)。据我了解,webauthn def 具有使用不同身份验证器(不仅仅是 U2F 密钥)的优势,但除此之外,webauthn 究竟添加了什么以使无密码更容易。

  • CTAP 描述了浏览器和操作系统如何通过 USB、NFC 或 BLE 通信介质与兼容的身份验证设备建立通信。我们可以说 CTAP 是一种应用层协议(如 FTP 吗?)

  • 当我在我的安卓手机上使用指纹功能使用 webauthn 进行验证时,浏览器是否使用 CTAP2 与操作系统进行通信(进而弹出身份验证器)?ufc、nfc、ble、internal 哪里来的?

  • 这是浏览器对 webauthn 的支持图表。在 chrome/android 中,对 WebAuthnAPI 的稳定支持但对 CTAP2 的开发支持是什么意思?这是否意味着不支持某些身份验证器? 浏览器对 webauth 的支持

4

1 回答 1

0

该规范专门将其抽象为应用层协议:

https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html

从浏览器到浏览器和操作系统到操作系统的实现会有所不同。Windows 10 现在提供了一个原生 API,它位于 Windows Hello 之上,并标准化了与身份验证器设备的交互。在此之前,Windows 上的浏览​​器有自己的实现和自己的 UI。给定的 CTAP2 实现将包括对规范中定义的一个或多个传输的支持,每个传输都具有特定于该传输需求的绑定。该规范值得一读。

上面给出的示例中缺乏 CTAP2 支持意味着虽然您可以使用向后兼容的 FIDO2/CTAP2 兼容设备,但您会错过 FIDO2 的附加功能 - 主要是常驻密钥,因此能够进行无密码登录。

ETA:这篇文章非常好,并且有一些漂亮的图表:https ://hybrismart.com/2019/05/23/authentication-with-hardware-security-keys-via-webauthn-in-sap-commerce-cloud/

于 2020-06-25T07:27:14.730 回答