问问题描述
答精选答案

解决方案:a. 基于timestamp防止重放攻击每次 http 请求时,都添加timestamp时间戳的参数,服务端接收到请求时,解析 timestamp值,并与当前时间进行比较,判断是否超过60s,如果超过60s则丢弃该请求。
b.基于nonce值得防重放攻击每次http请求时,都添加一个固定长度的随机数或请求ip加随机数进行hash生成的字符串,服务端在接受到请求的时候,解析请求的nonce值,并将nonce值存于数据库或缓存中,当请求时,判断数据库或缓存中是否存在该nonce值,如果存在则丢弃该请求。此时,使用nonce值,在http请求时,nonce值可以保证请求的唯一性。c .基于timstamp和nonce值防止重放攻击 单纯基于 timestamp进行防重放攻击也会存在风险,如果请求被中间人或是黑客获取,且请求的时间戳与当前时间比较时,仍小于60s时,此时则不能进行防重放攻击。
答其他回答(1条)
-
1. 加随机数
该方法优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
2. 加时间戳
该方法优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。
3. 加流水号
就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该方法优点是不需要时间同步,保存的信息量比随机数方式小。缺点是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端
本文来自作者[3DM游戏]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/peixunjingxuan/202609/333041.html

评论列表(4条)
我是公众科技网的签约作者“3DM游戏”!
希望本篇文章《怎么解除防重放攻击》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:解决方案:a. 基于timestamp防止重放攻击每次 http 请求时,都添加timestamp时间戳的参数,服务端接收到请求时,解析 timestamp值,并与当前时间进行比较,判断是否超过60s,如果超过60s则丢弃该请求。b.基于nonce值得防重放攻击每次http请求时,都添加一个固定长度的随机数或请求ip加随机数进行hash生成的字符串,服务端在接受到请求的时候,解析请求的nonce值,并将nonce值存于数据库或缓存中,当请求时,判断数据库或缓存中是否存在该nonce值,如果存在则丢弃该请求