首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Authy如何使用Google身份验证QR

Authy如何使用Google身份验证QR
EN

Security用户
提问于 2018-01-30 22:29:34
回答 2查看 1.4K关注 0票数 1

我只是在四处阅读,发现Authy可以在任何地方使用Google身份验证实现,这是非常有趣的。

奥西是怎么做到的?这不是安全风险吗?

EN

回答 2

Security用户

回答已采纳

发布于 2018-03-01 23:59:40

使用谷歌认证以外的应用本身并不是一个安全风险,只要你信任这些应用程序。

2FA的目的是证明,除了知道一些东西(密码)之外,您还有一些物理对象(在本例中是您的电话)。这使得攻击者更难破坏您的帐户,因为他们不太可能同时知道您的密码和您的电话。

Google使用的TOTP协议基本上是这样工作的(有关详细信息,请参阅RFC #6238):

  1. 扫描包含一些秘密的QR代码。该站点向您提供了这个秘密,并将其存储在服务器端(最好是加密的,保存在HSM中,或者存储在其他“相当安全”的存储中;RFC #4226在这里有一些有趣的讨论的困难)。
  2. 当您需要一个新的一次性密码时,您将根据秘密和当前时间执行一些加密操作( HMAC)。
  3. 该加密操作生成一个可以转换为OTP的值。您将该OTP提供给网站,该网站通过相同的进程生成OTP。
  4. 如果您提供的OTP与网站生成的OTP匹配(或者OTP将在未来或过去产生几个时间步骤,以便允许时钟偏移),那么它将被接受。否则,它将被拒绝。

这是一个开放的标准,通过设计,任何人都可以实现其中的一半(客户机或服务器)。但是,恶意客户端实现可能会将秘密移交给攻击者,攻击者可以为了2FA目的冒充您,所以您应该只使用您信任的客户端应用程序。

尽管如此,我对奥西有一些相当强烈的保留意见。当我上次研究它时,它默认地将步骤(1)的秘密存储在云中。这是为了方便,所以如果您丢失或更换您的手机,您将不必重新配置TOTP在您的所有帐户。

但这也意味着你正在挫败2FA的核心目标:你不再证明自己拥有某些东西,也知道一些东西。相反,您正在证明您知道一些事情(您的密码),并且已经与其他人(Authy的云存储)进行了身份验证。这是一个较弱的安全模型,因为它使Authy成为所有其他站点的失败点。

票数 1
EN

Security用户

发布于 2018-01-30 22:33:43

Google身份验证格式是一种标准格式,称为TOTP或HOTP (取决于它是基于时间的还是基于HMAC的实现)。QR代码只是一个编码的URI,它包含应用程序使用起始秘密设置计数器所需的一切。例如:otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example是QR代码实际包含的内容,它具有用户名以及使用的秘密密钥。

https://github.com/google/google-authenticator/wiki/Key-Uri-Format

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/178746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档