WebAuthn 与 Passkey 101
全面了解 WebAuthn,包括其概念、流程、受欢迎的原因以及相关挑战。
全面了解 WebAuthn,包括其概念、流程、受欢迎的原因以及相关挑战。
在 NIST AAL 标准中,WebAuthn 排在最安全的验证器之列。自 2013 年推出以来,它已成为企业现在身份验证的首选。然而,其采用尚不广泛,导致许多人对 WebAuthn 和登录密钥产生疑问。让我们深入了解你需要知道的内容。
| FIDO 联盟 | FIDO 联盟是一个提供开源和安全无密码身份验证标准的组织,包括 UAF、U2F 和 FIDO2。 |
| FIDO2 | FIDO2 是一套由 FIDO 联盟开发的安全在线验证标准。FIDO2 包括两个主要组件:用于无密码登录的 WebAuthn 和用于安全设备通信的 CTAP。 |
| Passkey | Passkey 是一种基于 FIDO 的、防钓鱼的凭证,用于替代密码。
|
| WebAuthn | WebAuthn 是由 W3C 和 FIDO 联盟开发的JavaScript API,通过 FIDO2 标准增强网页应用程序身份验证。Passkey 是 WebAuthn 支持的验证方法之一。 |
基本上,你可能知道 WebAuthn 流程中涉及的 4 个主要实体。
用户: 使用 WebAuthn 登记或验证到网页应用程序的人。
用户代理: 处理 WebAuthn API 调用的网页浏览器,并管理所有不同依赖方与验证器之间的身份验证过程。
依赖方: 用户尝试访问的网页服务或应用程序。用户通过用户代理与依赖方交互。
验证器: 用户持有的用于验证身份的硬件组件。它可以根据平台或浏览器能力采用各种形式,例如安全密钥(如 Yubikey)、手机或平板(通过蓝牙、NFC 或 USB 连接)、基于设备的生物识别或 PIN 等。

非对称公钥密码技术是核心过程。
详细说明可以分为注册和身份验证阶段。
WebAuthn 注册流程:

WebAuthn 身份验证流程:

你可以选择多种验证器以增加灵活性。这些验证器可用于本地和云,你可以为你的服务启用一个或同时启用两者。
平台验证器与单一特定设备操作系统绑定,例如用户登录的计算机、笔记本电脑、手机或平板。它仅在设备上工作,使用生物识别或设备密码等方式进行授权。它是一种快速验证的方法,尤其是通过生物识别,可以替代手动输入密码。然而,如果用户丢失设备,可能成为访问的障碍。 例如:

流动验证器是一种独立的便携设备或软件应用程序,例如硬件安全密钥或智能手机。它应该使用 USB 连接设备或保持 NFC 或蓝牙开启。流动验证器不限于单一设备或浏览器,提供更大的灵活性。例如:

高保证安全性对保护商业资源至关重要。通过以下措施实现:
WebAuthn 提升安全性的同时提升用户无密码验证体验:
一些浏览器或平台要么完全不支持 WebAuthn,要么缺乏对流动验证器的支持。虽然 Caniuse 的当前统计数据显示不错支持,97.37% 的桌面和 96.3% 的移动平台覆盖,然而不同浏览器版本和操作系统仍有差异。例如,桌面版 Linux 缺乏对平台验证器的支持,Android 仅在 Chrome 上完全支持 WebAuthn,MacOS 上的 Internet Explorer 不支持 WebAuthn。这需要管理员要求成员强制选择特定的浏览器或操作系统,或者配置其他替代的 MFA 方法。

尤其对于依赖“此设备”平台验证器的用户,丢失设备可能导致失去对其账户的访问。账户恢复可能是繁琐的过程。为降低此风险,建议用户在设置 WebAuthn 时同时绑定其他备份身份验证方法。
许多服务和应用程序尚未提供对 Passkey 的支持。用户往往对不同的身份验证方法不熟悉,可能无法完全理解平台验证器和流动验证器之间的区别和限制。然而,主要系统、浏览器和 SaaS 服务正越来越多地采用 WebAuthn,使其成为企业和用户都开始接受的趋势。
Logto 正准备在 11 月推出 MFA(多因素认证)。初期阶段将支持三种验证方法:验证器应用 TOTP、WebAuthn(Passkey)和备份代码,提供全面的登录和注册解决方案。我们将继续开发与 WebAuthn 相关的高级功能。我们期待你的体验,并邀请你关注 即将推出的 MFA 产品发布。