一次性密码( One-Time Password ,OTP )是一种密码认证机制,设计用来增强系统的安全性。这种密码只能使用一次,使用后即失效,因此它能有效防止重放攻击(即攻击者复制一次成功的认证尝试来进行恶意登录)。一次性密码广泛应用于银行、在线服务和其他需要高安全性的领域。
## 原理
```
TOTP 算法( RFC 6238 ) - 技术实现
密钥共享:
用户和认证服务器在初始设置时共享一个密钥。
时间戳:
使用当前的时间戳,通常以 30 秒为单位。
HMAC 算法:
使用 HMAC (基于哈希的消息认证代码)与共享密钥和时间戳结合生成一个哈希值。
动态截断:
从 HMAC 生成的哈希值中动态选择一部分作为最终的一次性密码。
``` |
|