什么是2FA?读懂TOTP双重验证

2FA是在密码之外增加第二项身份证明。常见的6位动态验证码属于TOTP,它由共享密钥和当前时间共同计算,不依赖短信,也不需要联网。

2FA是什么意思?

2FA是Two-Factor Authentication的缩写,中文通常称为双重身份验证或双因素认证。它要求用户在登录时提供两类不同的证明,例如“知道的密码”和“持有设备产生的验证码”。即使密码泄露,攻击者仍缺少第二项证明。

需要注意,短信验证码、身份验证器动态码、安全密钥都可以成为第二因素,但它们的安全性和工作原理并不完全相同。本文重点介绍身份验证器最常见的TOTP动态验证码。

TOTP验证码如何生成?

TOTP是Time-based One-Time Password的缩写,即基于时间的一次性密码。设置2FA时,网站和身份验证器共同保存一份随机密钥。之后双方使用相同的时间周期、哈希算法和密钥独立计算验证码。

主流配置通常是6位验证码、30秒周期和HMAC-SHA-1算法。到了下一个时间窗口,计数值发生变化,验证码也随之更新。

关键理解:验证码不是由服务器实时发送给你的。只要密钥、时间和参数一致,手机应用、浏览器工具与目标网站就能分别算出相同结果。

2FA密钥为什么比6位验证码更敏感?

6位验证码很快过期,而共享密钥通常长期有效。任何获得密钥的人,都可以在未来持续生成正确验证码。因此密钥不应通过聊天软件随意发送,也不应明文保存在公开云盘或浏览器长期存储中。

如果怀疑密钥泄露,应立即进入对应账户的安全设置,停用原有验证器并绑定新密钥,同时重新生成恢复代码。

正确启用2FA的步骤

  1. 进入目标网站的“安全”或“双重验证”设置。
  2. 选择“身份验证器应用”或“TOTP”。
  3. 使用可信身份验证器扫描二维码,或手动输入Base32密钥。
  4. 输入当前6位验证码,完成首次校验。
  5. 下载或抄写恢复代码,离线保存在安全位置。
  6. 退出后重新登录一次,确认2FA流程正常。

如何备份2FA?

最稳妥的备份通常包含两部分:服务提供的单次恢复代码,以及身份验证器的加密导出或受保护同步。不要只依赖一部手机,也不要把恢复代码和账户密码放在同一位置。

企业或团队共享账户应优先使用具备访问控制和审计能力的密码管理方案,而不是多人传递同一张二维码截图。

什么时候适合使用在线2FA工具?

在线工具适合临时验证密钥、排查时间偏差、在受信任设备上应急生成验证码。日常长期管理多个重要账户时,仍建议使用经过审查的独立身份验证器应用或硬件安全密钥。

使用在线工具时,应确认页面通过HTTPS访问、没有第三方脚本、明确说明密钥是否上传或储存。本站的隐私说明公开了完整的数据处理方式。