如果(谷歌身份验证器)一次性密码二维码泄露会怎样?

信息安全 安卓 一次性密码 顶部
2021-08-23 16:14:03

当一次性密码 (OTP) url 的二维码(以 otpauth:// 开头)应该在谷歌身份验证器等身份验证器应用程序中查找时,如果用户不小心在“ normal" QR 码阅读器,例如尝试在 Web 浏览器中打开 URL(如果浏览器不理解协议,它会被传递到搜索引擎,Android / Chrome 就是这种情况)?

即第一个代码在身份验证器应用程序中激活后是否会使用,还是在那时“已弃用”?

2个回答

二维码保持有效和可用;没有什么能让它停止工作。这实际上使得泄漏二维码非常危险。如果攻击者看到它,即使在您第一次使用它多年后,他们也可以设置自己的 TOTP(Authenticator)应用程序来使用您的代码,它会生成与您相​​同的令牌,这可能会帮助攻击者劫持任何东西帐户 TOTP 代码正在保护。如果它是敏感的,你应该生成一个新代码(这通常可以通过关闭 2-factor auth 来完成,然后再打开)。然后,即使有人得到旧代码,也不会对他们有任何好处。

如果您尝试在已注册到该方案的应用程序的 android 设备上打开此链接,otpauth://那么它将打开该应用程序。您设备上的一个应用程序一次只能注册到特定方案。

是相关谷歌身份验证器源代码的链接。

  <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="otpauth" />
  </intent-filter>

行:<data android:scheme="otpauth" />为所有列出的意图类型注册该方案。如果您尝试在浏览器中查看此内容,您应该被定向到此应用程序。


QR 码不是 1 次使用。如果其他人阅读了代码,那么他们也可以访问 HMAC 中使用的“秘密”,并且可以复制代码。