现在,SMS通常用作安全数据的通道,例如各种令牌,支付确认或双因素认证。
短信有一定的优势。
无需安装任何特殊应用程序或连接到Internet。
它甚至可以用传奇的诺基亚3310。
一切都很棒,对吧?
好吧,不行
根据使用情况可能是一个坏主意。
TL; DR
不要使用短信恢复密码或验证。
用于双因素认证的SMS不是太差,但是如果可能的话应该使用更安全的解决方案。
短信有什么问题?
问题是短信是不安全的渠道。
2016明确证明。
财富的“
时间正在耗尽这个受欢迎的在线安全技术 ”的文章中的
细节总结得很好
。
此外,电话号码在取消合同后经常重复使用,在某些情况下,可以在不提供文件的情况下“恢复丢失的SIM卡”。
SMS仍然使用?
如已经提到的,这取决于SMS的使用方式。
我们来回顾三个常见的情况。
单因素认证
单因素身份验证是指单个通道用于通过发送密码或令牌等密码来确认用户。
如果来自SMS的代码足以在不输入任何附加信息的情况下对用户进行身份验证,则意味着SMS被用作身份验证的单一因素。
由于我们已经知道短信作为渠道是不安全的,这是一个很糟糕的主意。
双因素认证
双因素认证的想法很简单。
人们可以通过网络连接或其他通道获取密码,但不要让攻击者访问系统,因为登录过程要求从另一个渠道进行额外的确认。
这个确认是第二个因素,是通过另一个频道发送的短标记。
多个渠道受到威胁的机会略少。
将SMS作为第二个因素通道并不是特别糟糕,绝对比没有使用第二个因素更好地进行认证,但是由于有更好的解决方案,所以有了SMS就可以防止这些实现。
重设密码
重置密码通常需要用户访问与该帐户相关联的通信渠道。
因此,很少使用双因素身份验证,因此重置密码实际上是单因素身份验证。
当然,不同之处在于,如果攻击者正在重置密码,用户将无法再登录,因此无法进行隐蔽的监视。
然而,即使在短时间内,数据和/或身份也可能不足以损失。
传统上,重设密码的单一渠道是电子邮件,但近年来,许多项目都通过短信开始恢复密码。
了解短信的本质应该被认为是不好的做法。