为什么我不使用 SMS 进行双因素认证(2FA),而是使用其他方式

双因素认证(2FA)为你的在线账户增加了一个至关重要的安全层,但不幸的是,并非所有的 2FA 方法都同样安全。许多人依赖 SMS 作为双因素认证的方法,认为它是安全的选择。然而,SMS 并非万无一失。以下是我停止使用 SMS 作为 2FA 的原因,以及我改用的替代方法……


📱 SIM 卡交换允许黑客窃取你的电话号码

使用 SMS 作为 2FA 的最大风险之一是 SIM 卡交换,这是一种黑客通过欺骗你的运营商将你的电话号码转移到他们的新 SIM 卡上的技术。一旦他们控制了你的号码,他们就可以拦截发送到该号码的所有 SMS 信息。

攻击过程: 1️⃣ 黑客联系你的运营商,假冒你本人。
2️⃣ 他们使用窃取的个人信息(例如你的地址或社会安全号码的最后四位数字)说服运营商将你的电话号码转移到他们的 SIM 卡上。
3️⃣ 一旦转移完成,黑客就能接收到原本发给你的 SMS 消息,包括用于保护账户的 2FA 代码。

危害: 很多人将电话号码与多个账户关联(如电子邮件、社交媒体和银行应用)。SIM 卡交换成功后,黑客可能会获得对这些账户的访问权限。


⚠️ SMS 消息可以被拦截

即使避免了 SIM 卡交换,SMS 消息本身也并不安全。它们通过可能会被拦截的网络传输。黑客可以利用 SS7 协议 的漏洞来截获你的 SMS 消息,无需访问你的物理手机。

技术背景:
SS7 是一个全球电信协议,允许运营商路由电话和消息。通过利用 SS7 漏洞,黑客能够 拦截 发送到你手机的 SMS 信息,包括 2FA 代码。

其他风险: 恶意软件或间谍程序也可能会在你的设备上运行,监控你的 SMS 信息并将 2FA 代码转发给攻击者。


📞 SMS 与你的手机号码绑定

使用 SMS 进行 2FA 的另一个重大缺点是,它依赖于你的手机号码。接收代码的能力直接与移动服务绑定。如果你处于信号差的地区,SMS 2FA 可能完全无效,即使你有 Wi-Fi。

这种依赖性使得你在需要访问账户时,如果无法接收到验证码,就会被困住。无论是在偏远地区旅行,还是在信号差的建筑物内,SMS 2FA 都无法像其他认证方法那样稳定可靠。


🔑 我使用的替代方法:认证器应用

为了替代 SMS 进行 2FA,我现在使用 2FA 认证器应用。像 Google AuthenticatorMicrosoft AuthenticatorAuthy 这样的应用程序,会在你的设备上生成基于时间的一次性密码(TOTP),提供比 SMS 更安全、更可靠的 2FA 方式。

认证器应用的优势:

1️⃣ 更高的安全性:
与 SMS 不同,这些应用程序在手机上本地生成代码,因此不会通过网络传输,不易被拦截或利用。
许多应用程序还要求输入密码、指纹或面部扫描来保护代码。

2️⃣ 离线功能:
由于代码是在设备上生成的,你不需要手机信号即可使用它们。即使在没有信号的偏远地区,或者室内信号差的地方,你仍然可以访问 2FA 代码。

3️⃣ 云备份:
我个人偏爱 Authy,因为它提供云备份功能,如果手机丢失,我可以轻松恢复我的账户,同时这些备份是加密保护的,确保只有我能访问它们。

Google Authenticator 和 Authy 都是免费、广泛支持且易于设置的应用程序。

使用方法:
安装后,通常通过扫描网站提供的二维码进行设置。设置完成后,每次登录时,只需打开应用程序,即可获取一个 30 秒内有效的验证码。


🎯 结论:为什么 SMS 2FA 不再安全?

双因素认证对于保护账户安全至关重要,但你使用的方式非常重要。虽然 SMS 2FA 看起来方便,但它存在许多漏洞——从 SIM 卡交换到消息拦截,再到信号依赖性等问题。这些风险使得 SMS 变得不可靠。

为了提升安全性,使用 认证器应用(如 Google Authenticator、Authy 等)是一个更安全、更可靠的选择。