在针对数据系统的攻击中,重放攻击是最常见的攻击方式,API的设计中需要特别考虑设计好如何防范重放攻击。
重放攻击(Replay Attacks)
指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击。
防重放攻击中,最重要的手段是给消息打上一个唯一、不可以重新生成的编号,保证这个编号只能使用一次。
一、利用timestamp。
在参数中加入timestamp=xxxxx. 并且加入到签名中签名的方法。
http://request_url/request_string×tamp=xxxx&sign=xxxxx
当服务器接收到请求之后,会首先检查签名是否有效,如果有效,则对比时间戳是否在一定时间内,比如60s(需要对服务器和客户端时间进行全局同步),则请求有效