双重验证:从短信到通行密钥
“从零学网络安全”课程第 5 课,共 16 课。免费,有动画和小测验。
门上的第二把锁
双重验证(2FA)就是除了密码还要别的东西:验证码、手机上的确认,或者一把密钥。密码泄露了,门照样锁着。Google 2019 年的研究里,连短信验证码都挡住了全部机器人攻击和 96% 的批量钓鱼。但面对定向攻击差别就大了:短信 76%,手机确认 90%,硬件安全密钥 100%。
短信的软肋
2024 年 1 月,美国金融监管机构 SEC 的 X 账号被盗。骗子说服手机运营商把 SEC 的号码转到了自己的 SIM 卡上,这叫“换卡攻击”(SIM swap)。账号当时关着双重验证,骗子用号码重置了密码,发了一条比特币 ETF 获批的假消息。就算开了短信验证也没用:验证码会直接发到骗子手里。能防住的是验证器 App 或硬件密钥。
台阶:从最差到最好
不开双重验证:一个密码就够了。短信:比没有强,但验证码能通过换卡截获,也能被钓鱼骗走。验证器 App(Google Authenticator、Microsoft Authenticator 等)每 30 秒在手机上生成一个新码,运营商截不到。但你仍然可能把它输进假网站。推送确认也要小心:2022 年黑 Uber 的攻击者不停给一名员工推确认请求,直到对方点了“是”。
通行密钥:骗不走的密码
通行密钥(passkey)是代替密码的登录密钥。手机或电脑保存密钥的秘密部分,用指纹或面容确认登录。密钥绑定网站的精确地址,所以在 binance-verify.com 上它根本不起作用,哪怕你自己信了那个页面。硬件安全密钥(比如 YubiKey 这种小 U 盘)也是同样的原理。Google、苹果、微软和包括币安在内的许多交易所都支持通行密钥。能用就用它。
丹今天打开了什么
邮箱:通行密钥,备用验证器 App。交易所:用通行密钥替换短信。密码管理器:验证器 App。凡是有更好选项的地方,丹都把手机号从登录方式里删掉。他还马上把备用码抄在纸上放在家里:手机要是掉水里,没有备用码可能永远进不去了。训练里,按强弱给双重验证方式排个序。
自测一下
- 为什么短信验证码是最弱的双重验证?
正确答案: 号码可能被换卡偷走,验证码就发到骗子那儿了. 验证码绑在号码上,号码绑在可以被骗的运营商那里。2024 年 SEC 的账号就是这么丢的。 - 半夜丹收到第十条“是你在登录吗?”,可他正躺在床上。怎么办?
正确答案: 点“否”,马上改密码:有人知道你的密码了. 这些请求说明密码已经落到别人手里了。第二重验证能先把门顶住,但别指望它一直顶:改密码。 - 为什么通行密钥连一模一样的假网站都能防?
正确答案: 密钥绑定精确地址,换个地址就失效. 你可能信了假网站,密钥不会:它看的是地址,不是外观。