我正在使用Node + Redis进行TOTP验证,并试图找出如何实现时钟漂移同步。我正在使用硬件设备生成TOTP密码/令牌,但在验证令牌时需要考虑这些硬件设备的时钟漂移。我已经阅读了RFC和其他博客帖子,从高级别我认为我理解用于根据时间步长调整时钟漂移的算法,但我无法弄清楚令牌在哪些情况下会失败验证和/或我应该在DB中设置哪些标志来告诉我。有任何想法吗?或者甚至更好,有人能指出一些示例代码的链接,人们已经实现了这个吗?
答案 0 :(得分:0)
时钟漂移调整可以在身份验证期间执行,也可以通过让用户提供两个或多个连续 OTP 代码来执行。无论哪种方式,代码都会根据预期的 OTP 代码进行检查,并且可以通过比较来计算漂移时间(如果代码 1234 在下午 1 点提供,但匹配代码需要下午 1:10 的时间戳,则有 10 分钟的漂移)。