2012-09-07 86 views
4

许多银行提供一些令牌设备以创建一次性使用密码。我想知道他们使用哪种OTP算法?它是HOTP还是TOTP?银行在其密码生成器令牌上使用哪种OTP(一次性密码)算法?

+0

当然,这可能会因涉及的银行而有所不同?我不认为这个星球上每个银行都有一个*单一的标准,所以这个问题不能真正回答。 (如果是这样,我希望看到一个可信的来源,以及答案中引用的信息。) –

回答

3

正如aiodintsov所说,答案不能一概而论,但技术的选择实际上取决于银行。我的猜测是TOTP。但让我给出一个选择的理由。

通过使用Unix时间戳,TOTP不再需要客户端和服务器在事件计数器上保持同步。该算法允许服务器选择它认为可接受的传入时间戳多​​远,以便纠正时钟漂移。

当您从银行收到OTP时,通常会说您应该在一定的时间限制内使用该OTP,然后过期。如果银行使用HOTP,OTP不需要在一段时间间隔后过期,而只会在您发出另一个请求后递增计数器。

因此,下次您收到一个不要求在限制时间内使用它的OTP时,请确保它是使用HOTP生成的。

+0

好的理由! – abeikverdi

+0

不错的理由! 由于您说的密码输入有时间限制,因此他们应该实施基于系统时钟的密码。 感谢您的周到回复。 – abeikverdi

2

他们可以使用任何他们想要的,任何他们选择的散列函数。使用HOTP和TOTP。请参阅RFC 4226和RFC 6238.我曾经使用完全按照RFC 4226的HOTP算法测试卡,并可以将其用于验证解决方案(为卡提供密钥)。