如何使用第三方 OTP 应用设置 Google 2FA

如何使用第三方 OTP 应用设置 Google 2FA

我在一家志愿服务机构拥有一个 Google 帐户。他们最近决定要求所有帐户登录都使用 2FA。Google 的 2FA 注册流程需要以下之一:(a) PSTN 电话号码、(b) 智能手机上的 Google 应用(不是 Google Authenticator)、(c) 硬件安全令牌。我不准备将我的电话号码提供给 Google,也不愿意安装需要我在手机上登录的 Google 应用,因为有许多第三方 OTP 实现可用(除了其他之外,我很少使用智能手机,更喜欢使用桌面应用)。该组织不提供硬件令牌,我也没有自己的硬件令牌。还有其他选择吗?例如,获取设置和初始化密钥以与 OTP 应用一起使用,或者获取与硬件令牌作用相同的浏览器扩展。我正在运行 Ubuntu 21.04 和 Firefox,但如果绝对必要,也可以使用基于 Chrome 的浏览器。

(已编辑以澄清,在注册期间不提供 Google Authenticator 作为选项:只能使用 Google(搜索)应用程序或 Gmail 应用程序。)

答案1

“智能手机上的 Google 特定应用”的选择 - 一个使用在线通知(Google Prompt),另一个使用离线 OTP(Google Authenticator)。

一次性密码

Google 支持基于 OTP 的 2FA,名称为“身份验证器应用“。它使用 OATH TOTP 标准——与最多其他 OTP 应用程序使用,具有标准参数(6 位数字,30 秒间隔)。

作为注册过程的一部分,您将看到一个直接包含 TOTP 共享密钥的二维码。您可以使用任何现有的 OTP 应用程序扫描它(桌面应用程序也应该能够“扫描”屏幕截图)。

在同一步骤中,您还可以单击“无法扫描?”并以纯文本形式显示相同的 TOTP 种子。您可以将其复制并粘贴到桌面 OTP 应用程序中,也可以将其写在纸上以作为备份保存。

该应用无需与 Google 通信。但是,设备的需要准确(官方的 Google 应用程序会使用在线时间服务器自动补偿错误的时钟,但在其他应用程序中,您需要自己处理)。

在此处输入图片描述 在此处输入图片描述

当询问您的手机类型时,无论您选择“iOS”还是“Android”都没有关系 - 无论哪种方式您都会得到相同的流程。

(如果“无法扫描?”选项丢失,也可以使用通用二维码解码器扫描二维码,这将以纯文本形式显示 TOTP 种子。二维码的内容使用格式otpauth://totp/GitHub:someuser?secret=ABCDEF&issuer=GitHub,用户名和发行者仅供显示。)

代币

关于硬件令牌——是的,有浏览器扩展可以模拟 WebAuthn 或 U2F 令牌,但其中许多似乎已被废弃,而且它们可能不一定安全。(它们也有可能突然不再起作用,因此如果您使用它们,请确保有 TOTP 作为备份。)

在 Linux 上你还可以使用以下软件rust-u2f模拟硬件 U2F 令牌在操作系统级别– 它可以与任何网站和任何网络浏览器配合使用,因为它被视为实际连接的 HID 设备。不过,它比真正的硬件令牌更脆弱,我不确定我是否会走得更远推荐使用它。

最后,让操作系统提供基于软件的“平台令牌”实际上是较新的 WebAuthn 规范的一部分。Windows 10 以“Windows Hello”名称实现它(所有主流浏览器均支持),而 Apple 刚刚在 macOS Monterey 中添加了类似的“iCloud Passkey”功能。

不幸的是,谷歌不支持“平台”令牌,只支持硬件令牌——我不确定这是故意的,还是因为他们使用的是较旧的 U2F API 而不是 WebAuthn。(但是,rust-u2f 仍然可以工作,因为它模拟的是硬件令牌,而不是平台令牌。)

答案2

自 2022 年起,首次注册时无法执行此操作,因为在 Google 中将 Google Authenticator 设置为 2FA 选项要求已启用 2FA(“要在 iPhone、iPod Touch 或 iPad 上使用 Google Authenticator,您需要:启用两步验证”)。这意味着您需要向他们提供你的电话号码,或者使用手机上的某个应用程序设置 2FA. 然后您就可以转到 Authenticator。

这是一个解决方法:

  • 使用 Chrome DevTools 创建虚拟硬件安全密钥按照本指南(确保选择类型“u2f”)
  • 在打开 DevTools 且虚拟设备处于活动状态时,使用安全密钥启动 Google 2FA 设置。
  • 完成此操作后,您已满足在帐户中设置 2FA 的先决条件,因此您现在可以继续设置第三方 OTP 应用。现在,您可以选择使用 Authenticator App 设置 2FA,它将为您呈现二维码,您可以将其与任何支持扫描二维码以生成 OTP 代码的应用(例如 1Password)一起使用

答案3

您不需要专门使用 Google Authenticator - 任何 TOTP 应用都可以。我已将智能手机上的 Google Authenticator 迁移到 andOTP,并且运行良好。

相关内容