基于时间的一次性密码算法
编辑基于时间的一次性密码算法,是一种基于密钥哈希消息认证码(HMAC)生成限时一次性密码的方法,用于认证上下文。
程序
编辑该方法的核心是基于一个密码散列函数HMAC,它用于从发送者和接收者之间约定的密钥K和xxx时间计算出一个密码散列值。 为此,将时间转换为整数秒值,并将该值舍入为 30 秒的增量。 一次性密码在此 30 秒内有效。 取决于实现和配置,时间上相邻的间隔也可以被接受。 这种方法的本质是发送方和接收方这两个系统必须具有足够准确的时钟或访问精确的时间信息,例如网络时间协议 (NTP),否则身份验证将失败。
作为该方法的一部分,可以使用各种加密散列函数或来自 SHA-2 组的安全方法进行计算。 这样计算出的哈希值被截断为31位长度,然后由最后六位或八位数字组成实际的限时一次性密码。
该方法的一个缺点是,任何人只要拥有发送者和接收者之间约定的密钥 K 并具有准确的时间,就可以生成有效的一次性密码。
TOTP 是一个开放标准,没有专利。
一种类似且较旧的方法是基于 HMAC 的一次性密码算法 (HOTP),它不使用时间但使用计数器。
应用
编辑该方法是一种时间控制的密码生成器,作为双因素身份验证的一部分,除了传统的身份验证之外,还用作身份验证的一部分密码。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/335758/