身份与访问
基于 HMAC 的一次性密码 (HOTP)
别称: RFC 4226, 事件型 OTP
定义
RFC 4226 定义的基于事件的一次性密码算法,根据共享密钥与一个单调递增的计数器生成短码。
HOTP 是 IETF 最早的 OTP 标准,也是 TOTP 的基础。客户端与服务器共享一个对称密钥和一个计数器;每次认证时对计数器计算 HMAC-SHA1,截断结果得到 6 至 8 位数字代码,然后将计数器加一。由于没有时间因素,代码在被使用或被跳过之前一直有效,这使 HOTP 适用于硬件令牌以及类似刮刮卡的离线备份码。协议必须设置一个向前搜索窗口,以容忍误按按钮导致的计数器失步。在日常 MFA 中,HOTP 大多已被 TOTP 取代,但该算法仍是许多企业硬件令牌的核心。
示例
- 配置为 HOTP 模式的 YubiKey,每次按键都会输出新的 6 位数字代码。
- 企业 VPN 门户发放的纸质备份码。
相关术语
一次性密码 (OTP)
只在一次登录尝试或短暂时间窗口内有效的短位数字码,通常用作第二认证因素。
基于时间的一次性密码 (TOTP)
RFC 6238 定义的一种一次性密码算法,根据共享密钥和当前时间生成短码,每 30 秒刷新一次。
多因素认证 (MFA)
在授予访问权限前,要求提供两个或两个以上独立认证因素(通常来自不同类别)的认证方法。
双因素认证 (2FA)
多因素认证的具体形式之一,要求恰好两个因素(通常是密码加上第二因素)来验证身份。
HMAC
基于密码学哈希函数的带密钥消息认证码结构,由 RFC 2104 与 FIPS 198-1 定义。
FIDO2
FIDO2 — definition coming soon.