FIDO验证

身份验证所涉及的实体的表示形式:服务器,Web浏览器和设备。

FIDO(在线快速身份验证)身份验证是用于快速,简单,强大的身份验证的一组标准。

这些标准由行业协会FIDO Alliance制定,该协会由来自Google,Microsoft,Mozilla和Yubico的一系列组织的代表组成。这些标准实现了防网络钓鱼,无密码和多因素身份验证。它们通过使强身份验证更易于实现和使用来改善在线UX。

网络上一些最受欢迎的工具和应用已经在使用FIDO身份验证,包括Google帐户,Dropbox,GitHub,Twitter和Yahoo Japan。


  • 用户取胜。用户受益于快速,安全的身份验证流程。

  • 开发人员获胜。应用程序和Web开发人员可以使用简单的API对用户进行安全身份验证。

  • 企业取胜。网站所有者和服务提供商可以更有效地保护其用户。

FIDO身份验证如何工作?

在FIDO身份验证流程中,依赖方使用API​​与用户的身份验证器进行交互。

依赖方

Web应用程序和Web服务器之间的安全链接的表示。

信赖方是您的服务,由后端服务器和前端应用程序组成

应用

在身份验证或注册流程期间,应用程序使用客户端API(例如WebAuthnFIDO2 for Android)来创建和验证Authenticator的用户凭据。

这涉及将密码质询从服务器传递到身份验证器,并将身份验证器的响应返回给服务器以进行验证。

服务器

服务器存储用户的公共密钥凭证和帐户信息。

在身份验证或注册流程期间,服务器将响应来自应用程序的请求生成加密质询。然后,它评估对挑战的反应。

FIDO Alliance维护经过认证的第三方产品列表,包括服务器解决方案。还提供了许多开源FIDO服务器。有关更多信息,请参见WebAuthn Awesome

认证者

用户将要登录到移动设备上的Web应用程序。

FIDO身份验证器生成用户凭证。用户凭证同时具有公共和私有密钥组件。公钥与您的服务共享,而私钥由身份验证者保密。

身份验证器可以是用户设备的一部分,也可以是外部硬件或软件的一部分。

身份验证器在两个基本交互中使用:注册身份验证

登记

在注册方案中,当用户在网站上注册帐户时,身份验证器将生成一个只能在您的服务上使用的新密钥对。公钥和凭据的标识符将与服务器一起存储。

验证

在身份验证方案中,当用户在新设备上返回服务或会话终止后,身份验证器必须提供用户私钥的证明。它通过响应服务器发出的密码质询来做到这一点。

为了验证用户的身份,某些类型的身份验证器使用生物识别技术,例如指纹或面部识别。其他人则使用PIN码。在某些情况下,将使用密码来验证用户,而身份验证器仅提供第二因素身份验证。

下一步

参加一个代码实验室:

学习更多关于: