TOTP 密钥泄露了怎么办:先撤密钥,再查登录痕迹
很多人以为「验证码只用三十秒」就等于安全,所以把带密钥的二维码截图存在相册里、把导出文件扔进网盘。事实是:TOTP 密钥一旦泄露,对方可以永久生成有效验证码,三十秒只是单条验证码的寿命,不是密钥的寿命。
更麻烦的是这种泄露没有任何提示。账号不会弹警告,也没有「密钥已被查看」的记录。你只能从「有人没触发验证就进来了」这种间接迹象判断。所以应对办法不是等发现,而是先按顺序撤掉、再查痕迹、最后重建。
一、密钥泄露到底等于什么
TOTP 的本质是「共享密钥 + 当前时间」算出六位数字。算法在客户端,密钥在谁手上,谁就能算。
| 被泄露的东西 | 攻击者能做什么 | 有效期 |
|---|---|---|
| 单条六位验证码 | 在 30 秒内重放一次,通常只能用一次 | 极短,风险有限 |
| TOTP 密钥(Base32 串或二维码) | 永久生成有效验证码,等于绕过第二因素 | 直到你重置密钥为止 |
| 备份密钥的截图或导出文件 | 同上,且往往连同恢复码一起泄露 | 同上,且更隐蔽 |
| 验证器整机备份 | 所有账号的密钥一次到手 | 极高风险 |
判断标准:泄露的是三十秒的数字,还是能算出数字的那串种子。前者观察即可,后者必须按下面流程重置,没有折中方案。
二、先查:泄露是怎么发生的
不知道入口在哪,重置完还会再泄露一次。按发生频率从高到低排查这五处。
- 二维码截图留在相册。绑定时的截图没删,相册又开了云同步,等于把密钥上传到了云端。
- 密钥写在笔记或表格里。为了「以后换手机方便」,把 Base32 串抄进备忘录、Excel、聊天收藏。
- 验证器导出文件未加密。部分应用支持批量导出,导出的文件是明文或弱口令压缩包。
- 钓鱼页面实时转发。假登录页拿到密码后,诱导你填入验证码,三十秒内完成登录,这类不需要密钥就能突破。
- 设备被控。手机或电脑中木马,验证器数据被整包读走,这种情况下所有账号都要按泄露处理。
前三条是自己造成的,改习惯就能断根;后两条要连设备一起处理。如果怀疑是设备被控,先把设备离线、跑一次完整查杀,再在另一台干净设备上做重置,否则新密钥同样会被读走。
三、十五分钟止损顺序
顺序错了会把自己锁在门外,尤其是主邮箱的密钥。按这个顺序做,任何一步失败都还有退路。
- 先确认还有备用登录方式。恢复码、备用验证器、硬件密钥、已登录的常用设备,至少留一条。没有就先补,别急着撤。
- 撤销旧的第二因素。在账号安全设置里删除旧的验证器,不要只是「新增一个」,旧的留着等于没撤。
- 重新绑定新密钥。用另一台设备生成全新密钥,二维码只在本机扫,不截图、不外传。
- 改密码并撤销全部会话。这一步是补第一因素的洞,两步一起做才有意义。
- 查登录记录。看有没有不认识的设备、地点、时间,重点看密钥可能泄露之后的那几天。
- 清理连带影响。同一验证器里其他账号、同一密码的其他站点,按同样逻辑过一遍。
最怕的是第 2 步做完、第 3 步失败。所以实际操作时可以反过来:先新增一个新验证器并验证可用,再删掉旧的。多数平台允许多个验证器并存,这个顺序更安全。
四、撤完密钥还要查什么
重置验证器只堵住了「以后」,已经发生的入侵要看这三个地方。
| 检查项 | 要看什么 | 异常处理 |
|---|---|---|
| 登录历史 | 设备型号、城市、时间是否与自己的行程对得上 | 有陌生记录就导出截图,作为申诉与报案材料 |
| 转发与规则 | 邮箱自动转发、过滤器、代收设置是否被加过 | 这类后门最隐蔽,全部删除并复查一周 |
| 恢复方式 | 备用邮箱、备用手机、恢复码是否被替换 | 被改就说明对方准备长期占用,立即走人工申诉 |
邮箱类账号要特别注意:它是所有找回流程的根。邮箱的第二因素被突破,其他账号的「忘记密码」就等于对方向你开放。相关顺序可以参考邮箱被盗了怎么办。能不能同时开两层验证,见邮箱验证码和短信验证哪个安全。
五、重建后怎么防止再泄露一次
- 密钥只存加密副本。用密码管理器存 Base32 串,别存二维码图片。
- 关键账号用硬件密钥。硬件密钥不能导出,被复制的前提是物理接触,抗泄露能力更强,配置见硬件密钥怎么设置。
- 验证器只装在一台主设备。装得越多,泄露面越大;需要备用就存加密种子,不要多端同步明文。
- 定期核对账号的验证方式。每季度看一次,多出来的验证器与恢复方式都是可疑项。
- 恢复码单独保管。它和密钥分开存放,避免一次泄露两条后路,做法见恢复码怎么保存。
顺带纠正一个误解:把密钥同时加到两台手机不算备份,只是扩大了泄露面。真要冗余,应该是「一台设备 + 一份加密种子」。设备数量与覆盖风险见验证器能同时装两台手机吗。
常见问题
只泄露了验证码,要不要重置密钥?
不必。单条验证码有效期三十秒且通常一次性,观察登录记录即可。但如果对方在你填完之后立刻登录成功,说明密码也已泄露,要按密码泄露流程处理。
重置密钥后,旧验证器里的账号会自动消失吗?
不会。旧验证器仍会继续算出数字,只是服务端不再接受。所以重置后要把旧条目手动删掉,避免下次误用它登录。
平台不支持多个验证器并存,怎么安全切换?
先准备好恢复码或备用登录方式,再一步替换。替换过程尽量在同一分钟内完成,并立刻用新验证器登录一次确认可用。
密钥存在密码管理器里安全吗?
比截图和备忘录安全得多,前提是主密码足够强、且管理器本身开了双重验证。这样风险从「密钥明文外泄」变成「主库被攻破」,难度高一个量级。
小结
TOTP 密钥泄露与验证码泄露是两件事:前者等于第二因素永久失效,必须重置;后者只是一次性风险,观察即可。处置顺序是「先确认备用登录方式,再新增新验证器、删旧验证器,接着改密码撤会话,最后查登录历史与转发规则」。重建时把种子存进加密库、关键账号换成硬件密钥、恢复码分开保管,才算真正闭环。