什么是时间型一次性密码?
时间型一次性密码(TOTP)是一种由算法生成的临时密码,使用当前时间作为其认证因素之一。它通常用于双因素认证(2FA),提供一个仅在有限时间内有效的第二认证因素。
为什么TOTP重要?
TOTP提供额外的账户安全性。即使用户的传统密码被盗或泄露,攻击者也无法在没有TOTP的情况下访问账户,因为TOTP会快速过期。
TOTP如何工作?
双因素认证(2FA)是一种常见的身份验证方法,用于验证用户身份。它基于两个条件对用户进行认证:用户知道的信息和用户拥有的设备。例如,当用户使用用户名和密码登录银行账户时,系统会通过短信或电子邮件发送随机代码,用户需在登录前输入该代码。用户名和密码是用户已知的,而随机代码则发送到用户拥有的设备上。TOTP通常在30或60秒后过期。
用户输入时间型一次性密码以验证其身份。
用户接收时间型一次性密码的各种方法包括:
- 硬件安全令牌,在小屏幕上显示密码。
- 移动认证应用,如Google Authenticator。
- 从集中服务器发送的短信。
- 从集中服务器发送的电子邮件。
- 从集中服务器发送的语音消息。
使用移动认证应用或硬件安全令牌时,TOTP可以离线生成。这对于互联网访问受限的用户身份验证非常理想。
时间型与非时间型OTP的区别是什么?
时间型算法使用时间(以及共享秘密或令牌)生成密码。非时间型算法从种子值开始,并使用哈希函数生成密码。在生成初始密码后,前一个密码被用作输入以生成下一个密码。
TOTP是互联网工程任务组(IETF)的批准标准(RFC 6238)。其他OTP标准包括S/KEY一次性密码系统(RFC 1760)、一次性密码系统(RFC 2289)和基于HMAC的一次性密码算法(RFC 4226)。