Entry № 1280
基于时间的一次性密码 (TOTP)
基于时间的一次性密码 (TOTP) 是什么?
基于时间的一次性密码 (TOTP)RFC 6238 定义的一种一次性密码算法,根据共享密钥和当前时间生成短码,每 30 秒刷新一次。
TOTP 是广泛使用的二次验证机制。用户的身份验证器应用(Google Authenticator、Authy、1Password 等)与服务器共享同一个对称种子,并对当前 Unix 时间按 30 秒窗口取整后计算相同的 HMAC-SHA1 哈希值。屏幕上显示的 6 至 8 位数字代码会自动变化,且只在短时间内有效,从而降低了被偷窥或钓鱼获取后再利用的价值。一旦通过扫描二维码完成种子配置,TOTP 即可完全离线工作。其主要弱点是实时钓鱼代理 (AiTM) 中继验证码、设备上的恶意软件以及服务器端的种子泄露;在可能的情况下,更推荐 FIDO2 与 passkey。
● 示例
- 01
在 GitHub 账户上启用 2FA 时,使用 Google Authenticator 扫描二维码。
- 02
登录网上银行时输入身份验证器应用生成的 6 位数字代码。
● 常见问题
基于时间的一次性密码 (TOTP) 是什么?
RFC 6238 定义的一种一次性密码算法,根据共享密钥和当前时间生成短码,每 30 秒刷新一次。 它属于网络安全的 身份与访问 分类。
基于时间的一次性密码 (TOTP) 是什么意思?
RFC 6238 定义的一种一次性密码算法,根据共享密钥和当前时间生成短码,每 30 秒刷新一次。
如何防御 基于时间的一次性密码 (TOTP)?
针对 基于时间的一次性密码 (TOTP) 的防御通常结合技术控制与运营实践,详见上方完整定义。
基于时间的一次性密码 (TOTP) 还有哪些其他名称?
常见的别称包括: RFC 6238, 时间型一次性密码。