2 因素身份验证 - 我信任谁?

信息安全 多因素
2021-08-25 18:03:32

我对两因素身份验证的风险感到困惑。

我是一名开发人员,必须做一些操作,并考虑为我的 DigitalOcean 和 GitHub 帐户打开它。两者都提供 TOTP(?) 并指示 Google Authenticator。伟大的。

然后我阅读了一些关于 Google Authenticator 的 FUD并寻找替代方案。有 Authy 和其他一些人。

好的,现在我想知道我给我的 2 因素提供商的信任级别是多少。我从未听说过这些替代公司。

1) 我认为任何身份验证者都无法访问我的帐户,因为他们没有我的用户名/密码。真的吗?如果他们受到损害或成为坏人,有什么风险?

2) 有哪些简单的行业最佳实践 TOTP 应用程序?Google Authenticator 是前 3 名吗?

3个回答

TOTP(基于时间的一次性密码)身份验证器应用程序不会有您的用户名和密码。它将拥有一个秘密令牌,用于生成特定的伪随机数字序列,该序列随时间变化(通常每 30 秒一次)。该应用程序本身甚至不需要任何网络连接 - 这仅用于备份目的,以防您丢失手机。它的工作只是计算当前时间的伪随机数应该是什么。您正在登录的站点将存储相同的令牌并与您的帐户相关联,并将在任何给定时间计算相同的伪随机值。因此,当您登录时,它会询问应用程序显示的当前值。

你信任谁?

一般来说,答案是“没有人”,这很好:

  • 编辑:当然,您始终相信您在手机上安装的应用程序可以实现它声称的功能,没有令人讨厌的安全漏洞等......除非您从头开始(如在沙子中)并自己制作自己的计算机硬件,否则会涉及计算;-)

  • Google Authenticator 仅将令牌本地存储在手机上。如果你的手机被黑了,有人会得到你的 TOTP 令牌,但除此之外,你很好。

  • Authy 显然使用您输入的密码在您的手机上本地加密令牌,因此它们只是为您存储加密的 blob (有关详细信息,请参阅他们的博客文章)这意味着即使 Authy 的服务器被黑客入侵,除非他们猜到用于加密它们的密码,否则没有人能够确定您的 TOTP 令牌。

  • 即使有人获得了您的 TOTP 令牌,也只能让他们打败第二个因素:它不会向他们提供有关您的用户名/密码的任何信息。

** 最佳实践应用程序**

至于最佳实践,这里有一些想法:

  • 这篇文章有利于 Authy,并且似乎清楚地解释了 Google Authenticator 的问题,以及一些关于您想要的功能的信息。在筛选潜在候选人时,理想的特征列表似乎包括:

    1. 一种在特定设备丢失时取消授权的方法
    2. 一种备份身份验证令牌的方法,以防您的手机被擦除。这种备份方法应该使用进行备份的实体永远不会获得的密钥/密码在手机上本地加密令牌:否则您相信他们不会将您的 TOTP 令牌提供给坏人。同样,这与 TOTP 令牌有关,与您的用户名和密码完全分开。
    3. 如果设备丢失/被盗,可以使用另一台设备取消授权。这意味着每个设备都有自己的 TOTP 令牌(不是跨多个设备共享的相同令牌)。

好吧,2FA 或 multiFA 的一个相当有趣的难题是端点以及令牌如何遍历网络。如果您使用 google 的 SMS 服务或身份验证器,请注意共享密钥是如何传递的。在最薄弱的环节,至少对于 SMS 服务,如果电信公司存储 SMS,并且可以访问您的流,那么您将不得不信任电信公司或任何不使用您的共享 cookie 以及身份验证代码的人来访问您的帐户。使用受感染的手机,您还会看到可以阅读短信以及您的密码的人。

首先,任何时候你安装任何种类的软件,你都是在信任该软件的作者。没有办法解决这个问题。你相信作者没有恶意,他没有马虎,他知道自己在做什么,他的实现是正确的,还有其他十几个要点。

同样,您以许多相同的方式信任网站所有者。除此之外,这只是数学。你相信数学。

Google Authenticator 可以说是尽可能值得信赖的,因为该公司已经建立了良好的信誉,并且在其工具和服务的防弹方面建立了声誉。从字面上看,他们没有作弊的动机,并且有强烈的动机(和充足的资源)来创建精心设计的解决方案。

但是他们做出了一些很多人觉得不方便的安全决定(比如不允许导出密钥)。因此,这可能足以成为使用替代方案的理由。

我要赶紧指出,如果可能的话,请使用 U2F 令牌我个人使用它,对体验非常满意。虽然 TOTP/HOTP 非常好,但 U2F 更进一步,提供了针对网络钓鱼的绝对保护——这是我所知道的其他任何产品都无法声称的。U2F 专为此目的而设计,它确实有所作为。就在 2 周前,我遇到了一个受害者的报告,他正在使用 TOTP,但在一次网络钓鱼攻击中被骗输入了他的身份验证令牌,并失去了对他帐户的控制权。U2F 会保护他的。