为什么 SMS 被用作验证用户手机的一种方式,而它在传输过程中甚至没有加密?

信息安全 加密 中间人 账户安全 多因素 短信
2021-09-05 05:23:35

我对 SMS 消息的安全性和私密性进行了一些研究。

提供商和政府可以以明文形式查看这些 SMS 消息,
但奇怪的是这些消息在传输过程中并未加密。

据我所知,这使得该服务容易受到 MiTM 攻击:例如,知道我位置的半熟练黑客可以拦截连接并获取重置我的 Google 帐户密码的代码。

4个回答

你是对的。现在不建议在任何两因素身份验证 (2FA) 过程中使用 SMS。它们很容易被拦截和修改。

这就是为什么很多公司都推荐其他替代品的原因:

在谈论验证您身份的安全方式时,SMS 被认为是过时的。它们也受到SIM 交换攻击的影响。这就是为什么一些使用TOTP的 2FA 应用程序,例如“Google Authenticator”,在市场上越来越受欢迎。

互联网上有很多利用这些弱点的例子:

即使有所有这些示例,仍然使用 SMS,因为:

  • SMSes 的基础设施已经在全球范围内实施,改变它会非常昂贵。
  • 它们是实施 2FA 的一种相对简单且便宜的方法。
  • 它们可以在任何手机中使用,无需特殊软件/应用程序。
  • 对于旧手机,这可能是接收 2FA 代码的唯一方法。

但是无论你使用什么技术,攻击者总是利用最薄弱的环节,在这种情况下,人,所以他们会使用社会工程技术试图欺骗你,所以你最终将 2FA 代码发送给他们。

SMS 不完全是纯文本。

网络运营商以明文形式拥有它,但那里的攻击面有限,组织和技术措施都限制了暴露。

在空中,它几乎是加密的,除非使用 2G,它可以选择不加密并且容易受到降级攻击。大多数现代手机都可能被迫使用 3G 及更高版本。

是的,这些加密方法相对于 TLS 而言被认为是弱的,并且确实存在成功的攻击。但这些攻击需要设备、技能并有其自身的先决条件(如大量交换数据等......)。

SIM 交换和其他社会工程攻击也是可能的,但它们再次成为攻击,需要运气、技能和努力。他们还没有准备好使用访问通道。他们也可能惨败——一直到被逮捕和起诉。

简而言之,SMS 作为第二个因素并没有那么糟糕。

编辑:没有好坏(本身)的方法。

关于风险范围、赌注和所涉及的用户群,有好有坏的方法。短信不利于发射核武器,但对于普通乔的在线支付来说已经足够了。关于在幼儿园使用有吸引力的玩具的顺序也是不好的。

在安全领域,“足够好”通常是最好的方法,因为安全总是削弱相关资源的有用性。

Edit2:根据@Steve 评论:最糟糕的第二个因素是用户拒绝使用的因素,因为它“太复杂”或“在我的系统上不起作用”。这将导致用户只有单因素身份验证,或者在取消服务或类似服务时成为前用户。在这种情况下,“坏”的第二个因素仍然是好的,因为它比失去客户或只依赖一个因素要好。通过为那些欣赏技术差异并更喜欢更强安全性的客户提供更强大的 SMS 替代方案(或其他较弱的第二因素),可以留住更多客户。

SMS对用户有显着的优势:

  • 它是通用的——每部手机都可以处理它,即使是最笨的功能手机。用户可能买不起智能手机和相关的数据计划,或者可能不需要如此复杂的东西。
  • 同样,一部新手机,但号码相同,它仍然可以正常工作。
  • 它是可访问的 - 如果您看不到阅读通知,但您的手机可以使用文本转语音,它仍然可以工作。并非所有应用程序都尊重设备的字体大小设置。
  • 它基本上不需要手机上的存储空间(与为每个提供商安装一个应用程序不同 - 我的银行会使用自己的应用程序,最后我检查过,例如 paypal 也是如此)
  • 它不需要不合理的权限(例如,Microsoft 身份验证器具有删除帐户、精确 GPS 位置、防止手机休眠、广泛访问文件等功能)

到目前为止,还没有一个单一的标准可以在如此广泛的账户和提供商中取代它

作为 2FA 身份验证的 SMS 的一个方面,我觉得没有被涵盖,那就是方法本身的可用性。您不需要 wifi 连接或数据计划来运行 SMS 2FA 设置,也不需要 2FA 特定应用程序来设置它。

如果您在具有蜂窝接收功能的偏远地区使用以太网连接工作,但在您当前的移动计划中会被视为漫游,则一条 SMS 消息的成本比您原本需要的数据计划便宜。

它还兼容不具备完整应用商店功能的廉价手机(即翻盖手机和其他非智能手机)。

此外,如果手机/SIM 卡被盗,它是可撤销的——您只需将系统设置为不再发送到该号码,从那时起攻击者无能为力,除了社会工程来重新添加号码。