hMAC 身份验证中的时间戳

Jam*_*Rao 3 authentication timestamp hmac

作为restful web api 服务器,我们为我们的客户端提供一个clientid 和密码。我认为客户端使用 clientid + hMAC(clientid hashed by password) 进行身份验证就足够了。

我查看了一些建议使用时间戳或更多信息的文档作为基本字符串。我只是无法理解那是什么意思。

任何大师都可以帮助解释确切的时间戳有助于防止攻击或其他任何事情吗?

Bla*_*ter 6

问题是,如果没有时间戳,任何签名的消息都是永远有效的。如果攻击者设法捕获了一条消息,他们可以无限地重放它,即使不会破坏您用于签署消息的秘密。

如果您添加时间戳,则消息将在短时间内过期并防止发生这种情况。您将选择在服务器应用程序中遵守时间戳的时间长度。当您确实记得考虑“未来”时间时,因为客户的点击可能会稍微领先于您并在未来出现在您的应用程序中。