是否应弃用使用 SMS 的 2 因素身份验证?

信息安全 多因素 电话 短信
2021-08-11 03:03:11

Google、Facebook 和大多数重要网站(银行、支付网站等)使用 SMS 作为 2FA 或控制帐户(密码重置等)的主要方法。然而,GSM 很久以前就被证明存在漏洞:

A) 这无疑告诉全世界,支持 SMS 的服务真的很容易破解(是的,它需要一些金钱和资源,但随着时间的推移,一切都会变得更便宜)。所以,如果你是一个重要人物,或者即使黑客专门针对你,或者甚至可能编写了一些批量黑客软件(谁拦截了半径范围内的所有短信),那么你的短信很容易被拦截。

B)这也意味着,在某些情况下,使用 SMS进行2FA 可能比完全没有 2FA 更糟糕

所以我有3个问题:

  1. 可预见的未来是什么?全球 GSM 提供商会修复所有漏洞并轻松升级技术吗?

  2. 谁能强迫各大科技巨头(谷歌、推特、Facebook、eBay、亚马逊等)允许我们在没有短信的情况下使用2FA?(目前,只有 Google 和 FB 允许用户将他们的电话号码作为 2FA删除,如果您从帐户中的所有位置删除电话号码条目,但 LastPass、Authy 等关键服务......不允许这还)

  3. 在 GSM 提供商或网站升级技术之前,我们可以采取哪些措施来避免我们的 SMS 被拦截?我们可以有一些“受保护的 SIM 号码”或程序来防止自动切换或检测拦截,或阻止它或其他什么?

3个回答

Bruce Schenier在这里谈到了这个问题

引用文章。

以下是我们开始看到的两种新的主动攻击:

  • 中间人攻击。攻击者建立了一个虚假的银行网站并诱使用户访问该网站。用户输入他的密码,攻击者反过来使用它访问银行的真实网站。如果做得好,用户永远不会意识到他不在银行的网站上。然后攻击者要么断开用户连接并进行任何他想要的欺诈交易,要么传递用户的银行交易,同时进行他自己的交易。
  • 木马攻击。攻击者在用户计算机上安装木马。当用户登录他的银行网站时,攻击者通过木马利用该会话进行任何他想要的欺诈交易。

看看两因素身份验证如何解决不了任何问题?在第一种情况下,攻击者可以将密码中不断变化的部分与不变的部分一起传递给银行。在第二种情况下,攻击者依赖用户登录。

2fa 的问题是密码和 otp 都被嗅探了。或者只是嗅探密码,然后用户点击“点击此处登录”提示。任何一个都允许攻击者进入。

正如defalt 所述验证用户的正确方法(从数学上讲)是使用强相互验证,就像 yubikey 的安全密钥一样。


1) 什么是可预见的未来 - 全球 GSM 供应商是否会很快修复所有漏洞并轻松升级技术?如果他们不计划这个,那我们该怎么办?

由于锁定,事情需要很长时间才能改变。ipv4 预计将在 2010 年消亡。2019 年ipv6 的使用率约为 25%。滚动代码是在 1980 年代创建的,但固定代码系统在 2019 年仍然存在。因此,短信将持续很长时间。

您可以做的最好的事情是利用网站可用的最强身份验证。除此之外,个人用户无能为力。实施强身份验证真的取决于网站。

2) 互联网的可预见未来是什么——谷歌、银行和所有其他人是否倾向于很快弃用 SMS 身份验证,或者这不会发生,我们仍然会坚持 #1 问题?

Google 和 Yubico 正在努力以两种方式升级互联网用户身份验证。1. 提供基于硬件的令牌 2. 使 Web 服务器更容易实现webauthn这两种方式实际上只是同一枚硬币的不同面。

3) 最后一点,当然,在我们的现实中,2 步授权(基于 SMS)提高了大多数黑客的安全性(即,以防我们的密码被盗),但事实证明,使用 2 的用户-step 短信授权(或者,不使用 2step,但在他的个人资料中输入了自己的手机号码,作为恢复方法)增加了安全威胁 - 例如,当黑客不知道您的密码,但能够破解短信时(与第一类黑客相反,当您提高安全性时)。相当有问题的两难境地。

链条的强度取决于其最薄弱的环节。如果直接或通过“恢复”帐户更容易破解某人的帐户。攻击者不在乎。一个网站需要一种强大的主要方式来验证它的用户,如果它选择实施恢复。这也需要安全。

我认为它会保留它的位置,因为在用户端没有“买入”,即他们不需要在使用它之前在他们的设备上完成任何操作。我没有遇到任何数据表明使用 SMS 2FA 会比不使用 2FA 降低安全性。

如果他们不计划这个,那我们该怎么办?

我将分享我在为 ERP 软件实施 2FA 时的经验:

  • 提供基于 Authenticator-app 的 2FA
  • 如果可能,如果您支持移动应用程序,请将2FA 与移动指纹集成。
  • 如果出于某些遗留原因或要求,您需要提供基于 SMS 的 2FA,通过在设置过程中向最终用户显示消息,明确基于 App 的 2FA 是更好的选择。(是的,有些公司不允许在办公场所内携带智能设备)
  • 对于 B2B,通常这种策略是由公司的 IT 团队决定的。确保清楚地传达使用基于 SMS 的 2FA 的优点/缺点/安全风险。
  • 对于银行来说,使用基于应用程序或硬件令牌进行 2FA会很棒。
  • 示例:新加坡的星展银行为他们的客户提供了一个硬件设备来生成代币。首先,将向您的手机发送一条带有 6-8 位 OTP 的 SMS 文本。您需要将此 OTP 输入设备以生成另一个 OTP,该 OTP 将用于验证第二个因素。

话虽如此,上述所有方法都有一些权衡。可用性与安全性

如果有太多的安全性,它可能会降低可用性,如果用户不知道,反过来又会降低安全性。

  • 我记得,当我在一家公司实习了几个月时,用户被迫每月更改他们的密码,严格的政策是 8 个字母密码,1 个小写,1 个大写和 1 个特殊字符,并且不能重复使用最后 10 个中的一个密码。这导致用户在密码中有一个模式,例如Jan012018. 一些用户甚至有一张附有密码的便签。

我建议考虑所有可能性并根据用例进行调整。

GOOGLE、BANKS 和所有其他人是否倾向于很快弃用 SMS 身份验证

如上所述,银行已开始采用更安全的方式来实施第二个因素。当然,普及还需要时间。
(据我记忆,Google 也支持基于 App 的 2FA、硬件令牌等 2FA 方式)