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