什么是基于时间的一次性密码?(TOTP)
- IAM 词汇表
- 什么是基于时间的一次性密码?(TOTP)
基于时间的一次性密码 (TOTP) 是一种身份验证方法,根据算法每 30 至 60 秒将生成一个唯一的验证码。用于多步验证 (MFA),用户在输入密码后再输入 TOTP 验证码以验证其身份并访问帐户。
TOTP 的工作原理
TOTP 依赖于生成验证码的机密算法。这个算法对于每个实例都是唯一的,并使用当前时间作为一个因素。这允许算法每 30 至 60 秒生成一个新的、唯一的验证码。
每当用户开始为帐户创建新的 TOTP 时,帐户服务器都会生成一个独特的机密算法,通常是显示为二维码。服务器保留该机密,并使用它来生成 TOTP 验证码。
用户将使用身份验证器工具扫描二维码,该工具可以是专门的手机应用或密码管理程序的一项功能。由于身份验证器工具现在有了机密算法,因此它可以计算出与服务器完全相同的六位数验证码。
设置完成后,该算法将在服务器和用户的身份验证器工具上同时运行,并在同一时间生成完全相同的六位数验证码。
当用户登录时就可以输入身份验证器工具上显示的当前验证码。服务器会将其计算出的验证码与用户的验证码进行比较。如果验证码匹配,则用户将通过验证并被授予访问权限。
如何使用 TOTP
以下是使用 TOTP 的步骤:
选择您的身份验证器工具。我们建议您使用密码管理程序来生成您的 TOTP 验证码,因为它可以简化登录流程,并且不需要您使用多个设备才能登录帐户。
从您的帐户申请机密算法。登录您的帐户并找到安全设置。如果 TOTP 验证码是您帐户的 MFA 选项 ,则您将看到一个用于请求二维码的设置。
使用您的身份验证器工具扫描二维码。无论您使用什么应用,通常都可以扫描二维码,最常见的方式是使用您的手机摄像头或截屏功能。
一切准备就绪!每当您登录并且服务器要求提供验证码时,请查看您的身份验证器工具以找到显示的验证码。请务必在计时结束和验证码更改之前输入验证码(通常每 30 至 60 秒更改一次)。
为什么要使用 TOTP 身份验证
TOTP 是多步验证中最安全、最方便的形式之一。建议所有帐户都使用 MFA,它可以为您的密码提供一层额外的安全保护。如果有人拿到了密码并尝试登录已启用 MFA 的帐户,但没有第二个身份验证方法,他们就无法获得访问权限。
在大规模数据泄露和其他网络攻击中,密码经常遭到泄露。这使得 MFA 至关重要。如果您的帐户未使用 MFA,网络犯罪分子就可以轻松地使用被盗的凭据登录并访问您的机密数据。
TOTP 之所以成为最安全的 MFA 形式之一,是因为验证码是由双方独立计算。因此,双方之间无需传递验证码。只要算法保持机密,验证码就无法被拦截。验证码频繁更改提供了一层额外的安全保护。
与通常通过电子邮件或短信发送的传统验证码相比,TOTP 要安全得多。这是因为电子邮件和短信并未加密,所以很容易被网络犯罪分子拦截。
OTP、TOTP 与 HOTP
OTP、TOTP 和 HOTP 之间的区别在于用于计算生成的验证码的因素类型。
一次性密码 (OTP) 是一个总括术语,是指用于身份验证的任何类型的一次性密码。这些验证码可以通过多种方式生成,其中一些方式可能比其他方式更安全。
正如之前所述,TOTP 是一种使用时间作为因素来计算验证码的 OTP。这个因素会随着时间的推移而改变,这意味着每 30 至 60 秒就会生成一个新验证码。由于 TOTP 变化很频繁,因此它是最安全的一类 OTP。
基于哈希的一次性密码 (HOTP) 的工作原理与此类似,不同之处在于它使用了不同的因素来计算验证码,在此情况下为基于哈希的消息验证码 (HMAC)。HMAC 计算请求验证码的次数,并将其用来计算验证码。每次请求验证码时,验证码都会更改,而不是每 30 至 60 秒更改一次。
基于时间的一次性密码是保护您的帐户安全的便捷解决方案。Keeper Password Manager 可以轻松地为您的所有帐户设置 TOTP,并可以生成高强度密码。借助 KeeperFill,登录过程变得非常便捷。Keeper 会自动填充您的密码和 TOTP 验证码,这样您的帐户就可以安全无忧,并且没有其他 MFA 方法的不便。