我试图理解Web服务中的请求标头中的时间戳的概念,但不知何故仍然无法完全理解它是如何工作的.
如果有人能够在Web服务的请求和响应中解释时间戳的端到端使用,我将不胜感激.
它真的是一种防止重放攻击的万无一失的方法吗?
时间戳本身是不够的,但通常它与散列机制相结合,以保证值没有被篡改.
这个想法是客户端生成参数,并使用它们的私钥来散列参数.然后随请求一起发送[哈希原始值公钥].服务器可以使用公钥来查找私钥,并确保参数正确.
使用时间戳以及一些阈值,以确保不能多次使用特定请求.如果阈值很小(几百毫秒),那么重放攻击几乎是不可能的.