考虑硬件令牌实现宣誓TOTP (c.f )。( RFC6238),众所周知,这种令牌中的时钟是漂移的。不经常使用的令牌可能会远远超出身份验证服务器正在使用的同步窗口,因此可能需要重新同步。
重新同步的一个简单形式就是扩大搜索窗口,这在大多数情况下可能有效。但是,如果搜索窗口太大,则令牌被错误同步的风险很小(假设重复OTP )。我还没算过,但这可能很少见。
我听说过重新同步化方法,这种方法需要一系列OTP来重新同步。当然,这将给出精确的同步化,但代价是让用户等待两到三个OTP。
我知道一些令牌和身份验证服务提供商已经实现了一种方法,在这种方法中,用户可以在显示中获取关于时钟的部分信息,从而将时间信息+ OTP用作再同步过程的输入。
我从未见过任何宣誓的RFCs就如何重新同步提出具体建议。我想知道这个论坛上是否有人知道这个行业中常用的方法,特别是你对我描述的最后一个变体有什么看法?
发布于 2015-10-09 13:51:30
您已经提到了我所知道的大约5年或6年的版本,它也是在privacyIDEA中实现的,用于重新同步TOTP令牌。
我们使用两个TOTP值在更大的窗口中来回搜索那些TOTP(硬件令牌的时钟可能更快更慢),在向后搜索时,当然不应该搜索比已经用于身份验证的值更早的值。
当查看HOTP规范时,您可以推断这种行为,因为TOTP只是一个具有另一种计数器类型的HOTP :它是建议使用OTP值序列。
除了正常的时间漂移,调整在你的一到两分钟(2或3次时间切片),你可以自动重新同步。如果OTP值在身份验证期间不匹配,则可以保存此值。如果用户再次尝试登录(使用下一个值),则可以使用旧的OTP值和当前的OTP值来执行同步,时间窗口越大越好。这样,您就可以使用TOTP,即使是罕见的-2FA-用户。
发布于 2015-09-24 08:07:27
通常,TOTP服务器配置了一个NTP服务器,以保证精确的时间。每次令牌向服务器进行身份验证时,服务器都会根据令牌的漂移进行调整。正如您已经提到的,如果不经常使用令牌,漂移量可能会超过同步窗口。
为了解决大多数情况下的这个问题,TOTP服务器提供了一个重新同步选项.例如,使用安装在用户机器上的TOTP服务提供商的软件可以使令牌获得服务器时间并重新同步其时钟。
下面是一些指向重新同步选项示例的链接
http://support.nordicedge.com/nsd1326-how-to-re-synchronize-oath-tokens-with-oathresyncwebapp/
https://kc.mcafee.com/corporate/index?page=content&id=KB76278
其他一些TOTP服务提供商将通过帮助台(如http://www.mideye.com/support/users/token-card-users/ )手动完成此操作。
当然,还有其他一些方法,但一般来说,所有这些方法都允许以某种方式来了解服务器时钟。
https://security.stackexchange.com/questions/101011
复制相似问题