关于 FIDO2 webauthn 和 U2F 的几个开放性问题
Few open questions around FIDO2 webauthn and U2F
我在多个地方读到,由于 U2F 没有用户的概念,它可以用作登录的因素之一(在 MFA 中),但对于无密码来说并不理想,而webauthn 具有用户的概念,可以帮助实现无密码。我的问题是 webauthn 添加的额外内容是什么?是的,我们在创建凭据时确实传递了用户信息,但最后我们返回了一个凭据 ID(这似乎与密钥句柄非常相似)并用于关联用户(在服务器上)。据我了解,webauthn def 具有使用不同身份验证器(不仅仅是 U2F 密钥)的优势,但除此之外,webauthn 究竟添加了什么来使无密码更容易。
CTAP 描述了浏览器和操作系统如何通过 USB、NFC 或 BLE 通信介质与兼容的身份验证设备建立通信。我们可以说 CTAP 是一个应用层协议吗(比如 FTP?)
当我使用我的 android phone 上的指纹功能来验证使用 webauthn 时,浏览器是否与 OS 通信(这又会弹出验证器)使用 CTAP2? ufc、nfc、ble、internal 在哪里出现?
这是浏览器对 webauthn 的支持图表。在 chrome/android 中,对 WebAuthnAPI 提供稳定支持但对 CTAP2 提供开发支持是什么意思?这是否意味着将不支持某些身份验证器?
规范在摘要中专门将其称为应用层协议:
浏览器与浏览器的实现以及 OS 与 OS 的实现会有所不同。 Windows 10 现在提供了一个原生的 API,它位于 Windows Hello 之上,并标准化了与身份验证器设备的交互。在此之前,Windows 上的浏览器有自己的实现和 UI。给定的 CTAP2 实现将包括对规范中定义的一种或多种传输的支持,每种传输都具有特定于该传输需求的绑定。该规范值得一读。
上面给出的示例中缺少 CTAP2 支持意味着虽然您可以使用向后兼容的 FIDO2/CTAP2 兼容设备,但您会错过 FIDO2 的附加功能 - 主要是常驻密钥,因此能够无密码登录。
预计到达时间:
这篇文章非常好,有一些漂亮的图表:https://hybrismart.com/2019/05/23/authentication-with-hardware-security-keys-via-webauthn-in-sap-commerce-cloud/
我在多个地方读到,由于 U2F 没有用户的概念,它可以用作登录的因素之一(在 MFA 中),但对于无密码来说并不理想,而webauthn 具有用户的概念,可以帮助实现无密码。我的问题是 webauthn 添加的额外内容是什么?是的,我们在创建凭据时确实传递了用户信息,但最后我们返回了一个凭据 ID(这似乎与密钥句柄非常相似)并用于关联用户(在服务器上)。据我了解,webauthn def 具有使用不同身份验证器(不仅仅是 U2F 密钥)的优势,但除此之外,webauthn 究竟添加了什么来使无密码更容易。
CTAP 描述了浏览器和操作系统如何通过 USB、NFC 或 BLE 通信介质与兼容的身份验证设备建立通信。我们可以说 CTAP 是一个应用层协议吗(比如 FTP?)
当我使用我的 android phone 上的指纹功能来验证使用 webauthn 时,浏览器是否与 OS 通信(这又会弹出验证器)使用 CTAP2? ufc、nfc、ble、internal 在哪里出现?
这是浏览器对 webauthn 的支持图表。在 chrome/android 中,对 WebAuthnAPI 提供稳定支持但对 CTAP2 提供开发支持是什么意思?这是否意味着将不支持某些身份验证器?
规范在摘要中专门将其称为应用层协议:
浏览器与浏览器的实现以及 OS 与 OS 的实现会有所不同。 Windows 10 现在提供了一个原生的 API,它位于 Windows Hello 之上,并标准化了与身份验证器设备的交互。在此之前,Windows 上的浏览器有自己的实现和 UI。给定的 CTAP2 实现将包括对规范中定义的一种或多种传输的支持,每种传输都具有特定于该传输需求的绑定。该规范值得一读。
上面给出的示例中缺少 CTAP2 支持意味着虽然您可以使用向后兼容的 FIDO2/CTAP2 兼容设备,但您会错过 FIDO2 的附加功能 - 主要是常驻密钥,因此能够无密码登录。
预计到达时间: 这篇文章非常好,有一些漂亮的图表:https://hybrismart.com/2019/05/23/authentication-with-hardware-security-keys-via-webauthn-in-sap-commerce-cloud/