如何备份 YubiKey 支持的 TOTP 身份验证?

信息安全 oauth 备份 优比键 顶部
2021-08-30 16:55:52

我本周购买了YubiKey 5 NFC,并开始使用 2FA 和 U2F,但我对失去访问权限的想法非常敏感。

为了备份 U2F 访问,我将购买第二个 U2F 令牌(可能是 YubiKey,具体取决于此问题的答案)并将其注册到我的所有服务中。但我不确定如何备份所有 YubiKey 支持的基于 TOTP 的身份验证代码。我有所有这些服务的恢复代码,但我想要第二个 TOTP 生成机制。

我在一篇名为YubiKey for SSH, Login, 2FA, GPG and Git Signing的文章中读到 YubiKey 支持的 TOTP 与电话无关

使用 2FA 代码播种 YubiKey 的一个非常好的(起初不清楚)优势是,我们现在可以在任何手机上生成 2FA 代码,只要我们随身携带 YubiKey。

过去我已经不得不远程锁定和远程擦除手机,丢失 Google Authenticator 设置并不好玩。如果你小心处理你的 YubiKey,你就不应该再有这个问题了。

但我不确定这将如何工作。此外,如果我丢失了手机,而不是 YubiKey,就会出现这种情况。

所以我的问题有两个:

  1. 如果我丢失了手机,如何确保我可以使用相同的 TOTP 令牌?也就是说,如果我有一个带有 TOTP 身份验证n服务的 YubiKey ,那么只需在新手机上安装 Yubico Authenticator,然后将 YubiKey 轻敲到新手机的 NFC 天线上,会生成相同的 TOTP 令牌吗?如果没有,我将如何在新手机上访问它们?
  2. 如果我丢失了我的第一个 YubiKey,如何确保使用第二个 YubiKey 备份 TOTP 身份验证?也就是说,在 GitHub 中注册第二个 YubiKey 很容易,只需进入双因素身份验证管理屏幕并单击Register New Device,但是没有明确的方法来注册第二个身份验证器应用程序,这就是我为 YubiKey 注册了 TOTP 密码。在 Yubico 网站上读到“如果您在编程时备份密码(或 QR 码),您可以稍后将相同的密码编程到第二个 YubiKey 上,它的工作方式与第一个相同。” 这可以在 Yubico Authenticator 应用程序中进行 2FA 注册时完成吗?也就是说,我同时注册了两个YubiKey同一个2FA二维码?
2个回答

在使用站点设置 TOTP 时,它们会为您提供一个共享密钥。

  1. Yubico Authenticator 使用您的 Yubikey 存储该信息。只要您的密钥存在,Yubico Authenticator 的所有实例都可以互换。

  2. 大多数网站只会与您共享一个秘密,但您可以自由更新该秘密。在向站点注册“新身份验证器”时,您可以将该秘密放在多个密钥/身份验证器上,然后再告诉站点您已完成。

虽然任何使用 OTP 令牌的人都应该允许您配置多个令牌源(至少两个,这样您才能拥有安全备份),但并非所有人都这样做。如果您所有的地方都允许您注册两个身份验证器应用程序,那么只需在每个 YubiKey 上注册一个(我建议您也坚持使用 5 作为备份,这样您就可以在支持它的网站上使用 FIDO2 - 也包括每个网站支持 FIDO/FIDO2 将允许注册多个令牌)。

对于不允许您注册第二个令牌的站点,我将采用不同的方法。我一直在使用 LastPass Authenticator 应用程序来存储我的 TOTP 代码。使用 LastPass Authenticator 的好处是 TOTP 机密存储在您的 LastPass 保险库中(因此,如果您丢失了手机/计算机,您仍然可以恢复)。LastPass 将允许您使用 YubiKeys 保护您的帐户,您可以注册其中的几个。因此,您启动 LastPass 身份验证器并在其上执行 2FA(密码加上 YubiKey),然后使用 TOTP 对网站进行身份验证。

如果您使用的是 YubiKey NFC 并且您的手机支持 NFC,那么您仍然可以以与 Yubi Authenticator 几乎相同的方式使用它。不同之处在于密钥存储在您的 LastPass 保险库中,而 Yubi-OTP(来自任一密钥)用于解锁;与将所有密钥加载到单个 Yubi 棒上相反。