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

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

这是我在安全/加密领域的第一次经历,因此我正在努力避免(并了解)安全陷阱,这些陷阱使安全新秀以及更好地了解我需要做的事情和知道要完成的工作这个任务。

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

即使仅使用SHA-1,HOTP仍然被认为是安全的吗?我的一位同事建议我们应该使用HMAC-SHA-512。看起来很容易切换我们使用的算法的基础算法。我应该知道有任何副作用吗?例如增加处理时间?

我对计数器同步感到担忧。对于可能的反值,我应该将什么用作理智的外观?如果用户在我们的外观限制之外点击,则可以使用哪些最佳方法来恢复同步?与相应的OTP一起显示和发送计数器会更容易,还是会大大削弱安全性?

我也对安全存储相关信息的最佳实践(例如共享的秘密和反价值)没有很好的了解。

当您回答时,请记住我是这个领域的新手,并且仍在尝试赶上行话和首字母缩写词。提前致谢。

有帮助吗?

解决方案

HMAC-SHA1比SHA-1强得多,我相信 被打破了. 。我的记忆有些雾气,但是谷歌搜索发现了有关HMAC-SHA-1与SHA-1的更多信息 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top