Webauthn - 添加第二个 MFA 设备

Posted

技术标签:

【中文标题】Webauthn - 添加第二个 MFA 设备【英文标题】:Webauthn - adding a second MFA device 【发布时间】:2022-01-20 01:01:40 【问题描述】:

我有一个在各种 WebAuthn 指南中没有描述的用例。

我的网站支持 WebAuthn(例如是依赖方),我想提供 Webauthn 作为第二个身份验证因素。该网站要求所有用户进行 2FA。

用户注册并在第一次登录时需要设置第二个因素 - 比如说他们选择带有平台(例如 macbook)身份验证器的 WebAuthn。一切顺利,用户可以从他们的 macbook 登录和退出。

现在他们想通过移动设备访问该网站。他们无法登录该网站,因为它需要 2FA,并且唯一注册的 2FA 机制与不同的设备相关联。

如果基本上不允许用户仅使用一个因素登录然后被允许添加新的第二个因素(似乎是一个糟糕的安全风险)或强制用户添加一个非 WebAuthn 秒,如何解决这个问题来自他们的macbook的因素(例如SMS或身份验证器应用程序) - 然后使用它在移动设备上登录?如果是这样,那么 WebAuthn 似乎并没有真正取代任何东西,它是一个具有潜在更好用户体验的替代方案。

【问题讨论】:

【参考方案1】:

这确实是 WebAuthn 的主要缺点之一。您已经提到了一些在您的问题中添加另一个设备的方法。让我补充两个想法:

您可以从 MFA 身份验证会话中触发“临时受保护的单因素登录”。例如,创建并在屏幕上显示一个包含一次性登录的二维码,用手机扫描它并注册手机的平台验证器。您甚至可以在流程中添加一些 OTP 以使其成为 2FA。

除此之外,Apple 正在开发 Passkey,它基本上是跨设备同步平台身份验证器。喝杯咖啡,在这里阅读:https://www.hanko.io/blog/passkeys-part-1

【讨论】:

感谢您抽出宝贵时间回答!我拿起一杯酒,读了你的文章。我喜欢你的二维码解决方案——我想它可以像生成可以在新设备上输入的 TOTP 码一样简单。【参考方案2】:

我有点不同意这是“WebAuthn 的缺点”。WebAuthn 是用于公钥凭据的浏览器 API。身份验证器生态系统是一个完全不同的故事。今天,对于大多数 2FA 场景,平台身份验证器旨在提供升级用于重新验证用户(特权操作、支付等)的现有已知设备。这是 2FA 场景中平台验证器使用的原始设计。

密钥的概念(注意小写的 p)是行业范围内解决设备丢失情况的努力。在许多情况下,特别是跨生态系统,密钥是一种引导机制,用于注册平台身份验证器。 Apple 在技术预览中提供此功能,以允许开发人员在其基于 iCloud 钥匙串的生态系统中使用它。跨生态系统使用是密钥计划的重要组成部分,您将在 2022 年听到更多关于它的信息。

【讨论】:

感谢您的回答 - 您能否为您的 stmt 提供一些参考:'...平台身份验证器旨在为现有已知设备提供升级以重新验证用户(特权操作、支付, 等等)。这是 2FA 场景中平台身份验证器使用的原始设计。'

以上是关于Webauthn - 添加第二个 MFA 设备的主要内容,如果未能解决你的问题,请参考以下文章

添加第二个 mmcblk 设备

使用 WebAuthN 可以拒绝某些类型的身份验证方法 FIDO2)

AWS 账户MFA启用流程

MFA认证首个MulteFire设备和基站,可将非授权频段用于专用网络

在 Xcode 5 项目中添加第二个目标

使用 MFA 登录到 Azure CLI