银行在其密码生成器令牌上使用哪种 OTP(一次性密码)算法? [关闭]
Posted
技术标签:
【中文标题】银行在其密码生成器令牌上使用哪种 OTP(一次性密码)算法? [关闭]【英文标题】:Which OTP (one-time password) algorithm do banks use on their password generator token? [closed] 【发布时间】:2012-08-31 20:53:27 【问题描述】:许多银行提供一些令牌设备,以便为一次性使用创建密码。我想知道他们使用哪种 OTP 算法?是 HOTP 还是 TOTP?
【问题讨论】:
肯定会因所涉及的银行而异?我不认为地球上的每家银行都使用单一标准,所以这个问题无法真正回答。 (如果是,我希望看到引用的信息的可靠来源以及答案。) 【参考方案1】:正如 aiodintsov 所说,答案不能一概而论,但技术的选择实际上取决于银行。我的猜测是TOTP
。但是让我给出选择的理由。
TOTP 使用 Unix 时间戳代替了客户端和服务器在事件计数器上保持同步的需要。该算法允许服务器选择它认为可接受的传入时间戳多远,以纠正时钟漂移。
当您从银行收到 OTP 时,它通常会说您应该在一定的时限内使用该 OTP,之后它就会过期。如果银行使用HOTP
,则 OTP 无需在一段时间后过期,而是仅在您发出另一个请求并增加计数器后才会过期。
因此,下次您收到不要求您在时限内使用它的 OTP 时,请确保它是使用 HOTP
生成的。
【讨论】:
很好的理由!正如您所说,由于键入密码有时间限制,因此他们应该实现基于系统时钟的。感谢您周到的回复。【参考方案2】:他们可以使用他们想要的任何东西,他们选择的任何散列函数。使用 HOTP 和 TOTP。请参阅 RFC 4226 和 RFC 6238。我曾经有一张完全符合 RFC 4226 的 HOTP 算法的测试卡,可以将其用于身份验证解决方案(为卡提供了密钥)。
【讨论】:
以上是关于银行在其密码生成器令牌上使用哪种 OTP(一次性密码)算法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章