Webauthn API 和外部设备?

Webauthn API and external devices?

我想在基于 WebAuthnAPI 的混合网络应用程序上实施身份验证。

我现在想做的是,用户也可以在移动设备上通过指纹或 USB 登录。

使用适配器 + USB 手指扫描是否可行,例如 this 或者使用适配器 + USB 2FA 设备,例如 this

由于 webauthn 的当前实施状态,答案不是简单的是或否。从桌面的角度来看,您应该可以同时使用这两种设备。如果您想使用 webauthn 的完整功能集,例如常驻密钥,我建议您使用最新的 yubikey 设备,因为它支持新的 FIDO2 协议(而不是旧的 FIDO UDF)。

在手机上,事情变得更加复杂。在 iOS 上,对 webauthn 的支持与 non-existant 一样好。显然,这是最新版本中的一项实验性功能,但我还没有看到任何关于它正常工作的报告(很可能是因为苹果仍然没有公开它的 NFC 硬件)。在 android,我建议使用 yubikey NFC 设备,因为支持似乎是最好的。一些 android 设备本身就是身份验证器,密钥将存储在设备的安全区域中(因此您不需要外部身份验证器)。

请注意,此信息高度依赖于当前的软件实现,并且随着 iOS 13.

(以及其他)的发布,这可能很快就会改变