TOTP算法是否依赖客户端时间始终正确同步?

时间:2017-11-09 22:59:43

标签: algorithm http security token totp

如果由于某种原因手机时钟/日历在很长一段时间内关闭会发生什么。 TOTP(基于时间的OTP)算法是否会生成无效令牌?此外,时区在令牌正确中起作用,或者客户端和服务器是否与Network Time Protocol服务器通信以确保所有内容都已同步?

1 个答案:

答案 0 :(得分:1)

是的,如果时钟不同步,那么totp将无法验证。但除非您知道客户端时钟错误且服务器时钟正确,否则说明令牌无效在语义上是正确的。

不,如果系统设置正确,时区不相关 - 两个设备都应将哈希基于公共数据。通常使用UTC或GMT。您可以让计算机显示正确的挂钟时间,但可以在错误的时区进行配置。如果是这种情况,它将无法正确地将时间转换为公共时区。

使用NTP是保持准确时间的一种解决方案(如果您有互联网连接,则是一种便宜的解决方案),但还有其他解决方案。

身份验证支持多少时钟抖动取决于实现的算法。