【问题标题】:Does the TOTP Algorithm rely on the client time always being synced correctly?TOTP 算法是否依赖于始终正确同步的客户端时间?
【发布时间】:2017-11-09 22:59:42
【问题描述】:

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

【问题讨论】:

    标签: algorithm http security token totp


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 优秀 - 您是否偶然知道像 Authy 这样的应用程序是否设置了公共数据然后每个域...例如,如果 Authy 用于 Bank 1,而银行 1 使用 Java Epoch,则 Authy 使用该 Epoch ,但是如果使用 Authy 连接到 ETrade 并且 Etrade 使用 Unixtime Epoch,那么 Authy 使用 Unixtime Epoch ...所以换句话说,提供 TOTP 代码的应用程序必须知道服务器使用的是什么 Epoch?
    猜你喜欢
    • 2010-11-04
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多