我正在使用Node + Redis进行TOTP验证,并试图弄清楚如何实现时钟漂移同步。我使用硬件设备来生成TOTP密码/令牌,但在验证令牌时需要考虑这些硬件设备的时钟漂移。我已经阅读了RFC和其他博客文章,从更高的层次上,我认为我理解了根据时间步长调整时钟漂移的算法,但我不知道在哪些情况下令牌应该通过验证和/或我应该在数据库中设置哪些标志来告诉我这一点。有什么想法吗?或者更好的是,有没有人能给我一些例子代码的链接,在那里人们已经实现了它?
发布于 2021-06-29 21:23:59
时钟漂移调整可以在认证期间执行,或者通过让用户提供两个或多个连续的OTP代码来执行。无论采用哪种方式,都会对照预期的OTP代码检查代码,并且通过比较可以计算出漂移的时间(如果代码1234是在下午1点提供的,但匹配的代码需要1:10 pm的时间戳,则存在10分钟的漂移)。
https://stackoverflow.com/questions/46472424
复制相似问题