作为宁静的web api服务器,我们为客户提供了一个clientid和密码。我认为客户端使用clientid + hMAC(clientid hashed by password)进行身份验证就足够了。
我查看了一些文档,建议使用时间戳或基本字符串的更多信息。我只是无法理解那个意思。
任何大师都可以帮助解释时间戳到底有助于防止攻击或其他任何事情吗?
答案 0 :(得分:3)
问题是没有时间戳,任何签名的消息都将永久有效。如果攻击者设法捕获了一条消息,他们就可以无限重播它,甚至不会损害用于签署消息的秘密。
如果您添加时间戳,则消息将在短时间后过期并阻止此操作。您可以选择在服务器应用程序中为时间戳保留多长时间。当你记得考虑"未来"时间因为客户'点击可能会略微超前,并且将来会出现在您的应用程序中。