目录
开放API网关实践(二) —— 重放攻击及防御
前言
什么是重放攻击(Replay Attacks)
模拟重放攻击
实验器材
实验步骤
过程记录
准备工作
正常请求
通过DNS劫持来拦截数据
重放请求...缺点是需要额外保存使用过的随机数, 若记录的时间段较长, 则保存和查询的开销较大. 
 
 加时间戳: 该方法优点是不用额外保存其他信息....在实际使用中, 常将1和2结合使用, 时间戳有效期内判断随机数是否已存在, 有效期外则直接丢弃.
重放攻击防御实践
我们采取时间戳+随机数的方式来实现一个简单的重放攻击拦截器....时间戳和随机数互补, 既能在时间有效范围内通过校验缓存中的随机数是否存在来分辨是否为重放请求, 也能在缓存失效后(缓存有效时间和时间范围一致)通过时间戳来校验该请求是否为重放. 如图:
?...结语
重放攻击防御的关键点: 
记录请求标识并缓存, 接受请求时校验, 拒绝重放, 即将nonce存入缓存, 拒绝相同的nonce
随机数的方式可能造成过多的缓存, 故需要配合时间戳进行过滤, 时间戳不在有效范围内的一律拒绝