代码之家  ›  专栏  ›  技术社区  ›  InverseFalcon

关于实现一次性密码系统,我还需要知道什么?

  •  3
  • InverseFalcon  · 技术社区  · 14 年前

    我的任务是创建一个一次性密码(otp)系统,最终将用于在移动设备上创建otp生成器。

    我们正在考虑使用 HOTP (rfc 4226) 使用计数器,但可能会有一些变化。我们不要求遵守誓言。

    这是我在安全/加密领域的第一次经验,因此我正在努力避免(并了解)使安全新手陷入圈套的安全陷阱,并更好地了解完成这项任务需要做什么和知道什么。

    除了这个一般性的建议,我还有一些关于实施这个项目的具体问题:

    hotp是否仍然被认为是安全的,即使它只是使用sha-1?我的一个同事建议我们应该使用HMAC-SHA-512。切换我们使用的底层算法看起来很容易。我应该知道这里有什么副作用吗?比如增加处理时间?

    我担心计数器同步。对于可能的计数器值,我应该使用什么作为理智的前瞻?如果用户提前点击超过我们的前瞻限制,那么恢复同步的最佳方法是什么?显示和发送计数器以及相应的OTP会更容易吗,还是会显著降低安全性?

    我也不太了解安全存储相关信息的最佳实践,例如共享机密和计数器值。

    当你回答的时候,请记住我是这个领域的新手,并且仍然在努力跟上行话和首字母缩略词。事先谢谢。

    1 回复  |  直到 12 年前
        1
  •  2
  •   Paul Sanwald    14 年前

    HMAC-SHA1比我认为的SHA-1强很多 been broken . 我的记忆有点模糊,但是在搜索中发现了更多关于HMAC-SHA-1和SHA-1的信息。 here .