开发中如何防范重放攻击

偏执的太偏执、 2021-11-14 00:18 372阅读 0赞
  1. 重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。很多时候,网络上传输的数据是加密过的,此时窃听者无法得到数据的准确意义。但如果他知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到愚弄接收端的目的。例如,有的系统会将鉴别信息进行简单加密后进行传输,这时攻击者虽然无法窃听密码,但他们却可以首先截取加密后的口令然后将其重放,从而利用这种方式进行有效的攻击。再比如,假设网上存款系统中,一条消息表示用户支取了一笔存款,攻击者完全可以多次发送这条消息而偷窃存款。
  2. 在开发中,为了防止信息被窃取之后被第三方重放,来攻击远程服务器,我通常会在数据报中加入时间戳,服务器端解密数据后,首先取出时间戳,判断信息是否已过期,如果数据中携带的时间戳与服务器当前时间戳之间不在安全区,则认为此次发送的数据为过期数据,服务器可将其丢弃,拒绝服务。
  3. 当然不止这一种,还有其他的方法:
  4. 1,加随机数:双方只需要记住各自使用过的随机数,不能有重复数,如果报文中有以前使用过的随机数,则被认为是重放攻击
  5. 优点:双方不需要保持时间的同步,
  6. 缺点:需要额外保存使用过的随机数,则需要保存和查询开销
  7. 2,加时间戳:时戳——代表当前时刻的数
  8. 而重放的时戳将相对远离当前时刻
  9. 优点:不需要内存开销
  10. 缺点:通信各方的计算机时钟必须保持同步(同步越好,受攻击的可能性越小)
  11. 3,加流水号:双方在报文中添加一个逐步递增的整数,则只要收到一个不连续的流水号报文(太大或者太小)就认为有重放威胁
  12. 优点:不需要时间同步,保存的信息量小
  13. 缺点:攻击者如果对报文解密成功,就获得了流水号进而会伪造数据

发表评论

表情:
评论列表 (有 0 条评论,372人围观)

还没有评论,来说两句吧...

相关阅读

    相关 API设计攻击

    HTTPS数据加密是否可以防止重放攻击? 否,加密可以有效防止明文数据被监听,但是却防止不了重放攻击。 防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重

    相关 【添加时间戳防止攻击

    如过客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,虽然第三方无法解密获取其中的数据,但是可以使用该请求包进行重复的请求操作。如果服务端不进行防

    相关 攻击--初识

    开发问一个关于重放攻击的概念,说实话真没听到过这个名称,查了一下貌似有点像DDos攻击,下面转载的关于重放攻击的具体细节描述:   重放攻击的概念 根据百科的解释

    相关 攻击与中间人攻击

    重放攻击与中间人攻击 大概有多半年没有更新博客了吧,本来还想保持最起码一月一更的 ,但是考研复习后面越来越紧张,一直到今天,最后一科专业课考完,绷了一年的紧张的神经,终

    相关 攻击以及防御手段

    今天讨论在不使用HTTPS的情况下如何保证文本传输的安全性问题上被授课了 什么是重放攻击? 入侵者从网络上截取主机A发送给主机B的报文,并把由A加密的报文发送给B,

    相关 区块链 攻击 简介

    什么是重放攻击 当网络进行硬分叉之后,区块链发生永久性分歧并产生两条历史交易、地址、私钥以及余额等完全对应的链。理论上UTXO在两条链上都可被确认以及识别,从而让不法之徒