可以使用 *only* U2F 身份验证吗?

信息安全 验证 备份 USB u2f
2021-08-17 09:10:44

使用 U2F USB 身份验证密钥登录 Google 等服务似乎是个好主意。但是,这些服务通常允许您注册备用双因素身份验证 (2FA) 方法,以便在丢失 U2F 物理设备时使用。

您可以只使用“备份方法”登录这些服务这一事实似乎首先违背了拥有 U2F 密钥的意义。如果安全性仅与最薄弱的链接一样强,那么具有帐户密码访问权限的黑客可以通过使用(例如)SMS 声称密钥丢失来绕过 U2F 设备。

另一方面,人们可能不想冒险让他们的所有网络帐户访问单个 USB 设备。如果它附在他们的钥匙上,它很可能会丢失,被雨淋湿等等。理想情况下,可以购买两个注册了相同“秘密”的 U2F 设备。通过不允许任何其他 2FA 方法,如果 U2F 设备丢失,我将在家中安全地存储备份。

问题:是否可以复制U2F设备并将在线服务(例如Google)设置为允许U2F,而没有其他备份方法显然,如果用户购买了两台 U2F 设备并且它们都丢失了,那么用户将被不可逆转地锁定在他们的在线帐户之外,但这将是用户有意注册的风险。除非这是一个选项,否则我真的看不出切换到 U2F 设备的意义。

4个回答

如果您使用的服务支持多种不同的 U2F 设备,您可以向该服务添加多个。在谷歌的案例中,我相信他们支持不止一个设备链接。要禁用备份安全代码,您可以简单地使用它们。

您不能复制您的 U2F 设备,但可能有制造商出售配对。按照设计,U2F 设备应该是只写的,即只返回对挑战的回复,而不是存储的秘密。允许读取密钥(以便在创建后创建副本)可能会带来安全风险,因为获取您的 U2F 设备的人可能会在您不知情的情况下创建副本。

拥有两个不同的安全密钥(这是最推荐的备份方法)一点也不方便,因为我每次注册新服务时都必须添加两个密钥,这意味着我无法保留备份密钥存储非常安全(因为它需要易于访问)。

但事实是:完全有可能拥有一对按以下方式设置的 U2F 密钥:

  • 当我在某个服务上注册主令牌时,备份也会自动对该服务生效;
  • 就在我第一次在某些服务上使用备份令牌时,主令牌对该服务无效。

(阅读下面链接的文章中的技术细节)

通过这种方式,我可以将我的备份密钥存储在一个非常安全且难以触及的地方,并且每当我在某些服务上注册我的主密钥时,我都会安心地知道我会自动被备份覆盖。

为此,制造商将不得不出售以这种方式设置的配对代币。在编写它的那一刻,唯一的方法是使用U2F-zero或其继任者Solo到目前为止,我个人只使用了 U2F-zero。

请参阅文章Reliable, Secure and Universal Backup for U2F Token中的所有详细信息

Google 现在提供高级保护,可以满足您的需求(使用两个安全密钥)。

简短回答:如果使用 U2F 设备,某些站点允许您关闭备份选项,但这样做需要您自担风险。

长答案:便利性和安全性往往相互矛盾。您是对的,拥有备份登录解决方案违背了拥有 U2F 密钥的目的,因为从技术上讲,您可以使用后备方法绕过它。任何帐户的安全性都取决于其后备身份验证。如果没有 fallback,那么你是安全的。如果您丢失了 U2F 设备,您也将无法追索。据我所知,没有两个 U2F 设备是使用相同的私钥创建的,或者至少不应该这样。如果您有两个重复的 U2F 设备,这也将成为您的安全漏洞。应该注意的是,只要您使用的设备得到适当保护,TOTP 应用程序就是一个相对安全的后备方案。