一种基于功能级超时配置的防止重放攻击方法技术

技术编号:15441752 阅读:66 留言:0更新日期:2017-05-26 06:48
本发明专利技术公开了一种基于功能级超时配置的防止重放攻击方法,其实现过程为:首先进行功能级超时配置,定义每一个远程服务的服务名称及其远程访问超时时间;然后进行客户端请求加密,即加入定义的服务名称进行加密;在服务端对上述加密的请求解密后,依据定义的远程服务的超时时间进行访问时间有效性判断;服务端记录通过有效性判断的远程服务的历史指纹,该历史指纹包括服务名称、指纹内容。本发明专利技术的一种基于功能级超时配置的防止重放攻击方法与现有技术相比,有效增加了防重放攻击方法的安全性,实用性强,适用范围广泛,易于推广。

Method for preventing replay attack based on function level timeout configuration

The invention discloses a timeout function level configuration to prevent replay attacks based on the method of the implementation process is as follows: first, the function level timeout configuration, define each remote service name and remote access client request timeout; then add encryption, namely the definition of the service name is encrypted in the server; encryption request after decryption, on the basis of the remote service defined timeout access time to judge the effectiveness of the server; recorded by judging the validity of the remote service history of the history of fingerprint, fingerprint, fingerprint content including service name. Compared with the prior art, the invention provides an anti replay attack method based on the function level timeout configuration, effectively increasing the security of the anti replay attack method, having strong practicability, wide application range and easy popularization.

【技术实现步骤摘要】
一种基于功能级超时配置的防止重放攻击方法
本专利技术涉及计算机
,具体地说是一种基于功能级超时配置的防止重放攻击方法。
技术介绍
在互联网应用领域,企业对其信息系统的安全性越来越重视,尤其像注入攻击漏洞、可重放攻击漏洞等,正在不断引起企业的重视,并对信息系统的开发提出了越来越高的要求。目前流行的防重放攻击的方式基本上是在客户端将当前的时间戳进行加密后作为客户端访问指纹传输到服务端进行时间有效性判断的方式,此方式有两个主要弊端:首先,客户端不同服务的加密机制完全相同;其次,在服务端还原出请求时间戳后使用全局统一的、相对较长的超时时间进行访问的时间有效性判断。这些弊端,导致了攻击者可以实时截取访问请求后进行即时攻击、或者使用实时截取的客户端访问指纹替换计划要进行重放攻击的请求指纹的方式,绕过重放攻击检查机制,达到重放攻击的目的。因此,提高防可重放攻击算法的安全性,是现在互联网应用开发领域亟需解决的问题。基于此,本专利技术提供一种基于功能级超时配置的防止重放攻击方法,采用了一套更加安全的指纹生成和服务端比对方式对原有算法进行加固,较大程度的提高了防重放攻击方法的安全性。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种高性能、有一定容错能力,且资源得到有效利用的基于功能级超时配置的防止重放攻击方法。一种基于功能级超时配置的防止重放攻击方法,其实现过程为:首先进行功能级超时配置,定义每一个远程服务的服务名称及其远程访问超时时间;然后进行客户端请求加密,加入定义的服务名称进行加盐加密;在服务端对上述加密的请求解密后,依据定义的远程服务的超时时间进行访问时间有效性判断;服务端记录通过有效性判断的远程服务的历史指纹,该历史指纹包括服务名称、指纹内容。所述远程访问超时时间是指从客户端发起的HTTP请求,在收到响应前允许的最大等待时间,如果超过该等待时间后,还未从服务端接收到请求,则认为本次请求因存在网络连接的问题而导致请求失效。客户端请求加密是指将服务名称参与到客户端的请求水印加密,该加密为加盐加密,其中加盐是指根据远程服务定义的名称,在客户端请求水印的生成过程中,都加入当前访问服务的服务名称,参与加密计算。所述加密计算是指对客户端计算出的服务端当前时间的时间戳,将时间戳与盐值进行组合之后再在服务端进行加密计算,所述盐值是指在客户端请求水印生成过程中当前访问服务的服务名称。所述时间戳的计算过程为:当用户登录时,客户端计算并记录当前客户端和服务端的时间差,在之后的访问时,基于此时间差,在客户端计算出当前服务端的时间戳,然后将该时间戳结合加盐操作,进行加密。在进行加密前,首先校验请求水印中的服务名称是否正确,当服务名称校验通过后,再获取时间戳和加盐操作;如果一个新请求的服务名称校验出错,则定位本次请求是重放攻击,此时拒绝服务并启动预警机制。在进行加盐加密时,需要判断是否使用证书加密,如果使用证书加密,则通过非对称加密生成客户端访问指纹;如果不使用证书加密,则通过对称加密生成客户端访问指纹。在服务端进行访问时间有效性判断的过程为:首先对客户端请求指纹进行解密,得到服务名称和时间戳;其次校验该请求指纹中服务名称的正确性;然后,自动将该指纹中的时间戳与该功能指定的超时时间相加,判断其合计时间是否小于服务端当前时间,如果该合计时间大于服务端当前时间,则认为本次请求无效,否则有效。服务端记录通过有效性判断的远程服务的历史指纹时,需要先对请求的水印进行唯一性校验,然后记录:当服务端通过时间有效性校验后,继续与服务有效期内的历史指纹进行比对,以进行客户端请求水印进行唯一性校验,如果一个新请求的指纹与缓存的历史指纹相同,则定位本次请求是重放攻击,此时需要拒绝服务并启动预警机制;当客户端访问指纹通过验证后,服务端将本次通过的客户端指纹进行缓存。当客户端访问指纹通过验证后,服务端将本次通过的客户端指纹按功能进行缓存:根据服务名称,每一个服务都设置一个独立的缓存列表,用来记录该功能的有效历史访问水印;该缓存的水印根据服务设定的超时时间进行定期清理,将超过服务超时时间的水印清理掉,只保留有效期内的缓存,作为唯一性对比的依据。本专利技术的一种基于功能级超时配置的防止重放攻击方法和现有技术相比,具有以下有益效果:本专利技术的一种基于功能级超时配置的防止重放攻击方法,使得用户可以通过配置不同功能的功能名称及其超时时间的方式,对客户端发起的每一次访问所生成的客户端访问指纹进行加盐加密、并在服务端进行服务名称校验、依据该服务的功能级超时间隔进行时间有效性校验、指纹唯一性校验等,从而使得攻击者通过实时截取访问请求后进行即时攻击、或者截取其他访问请求的水印替换预先截取的待重放请求水印后进行重放攻击的方式失效,进一步增加了防重放攻击方法的安全性,实用性强,适用范围广泛,易于推广。附图说明附图1为本专利技术的客户端请求指纹加密实现流程图。附图2为本专利技术的服务端指纹校验流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。本专利技术涉及到的一种基于功能级超时配置的防止重放攻击方法,尤其适用于具有较高安全要求的企业级互联网应用开发领域。该方法主要以提高防重放攻击方法的安全性为出发点,提供了一种更加安全、有效的防重放攻击方法,通过增加功能级专有超时时间配置、功能标识参与客户端访问指纹生成、以及在服务端缓存比对有效期内的访问指纹记录的方式,改良出一套更加安全、可靠的防重放攻击方法。实施例1:本专利技术采用了一套更加安全的指纹生成和服务端比对方式对现有方法进行加固,较大程度的提高了防重放攻击方法的安全性。其实现过程为:一、功能级超时配置:用于定义每一个远程服务的服务名称及其特有的远程访问超时时间,可以精确定义每一个服务的响应超时时间。远程访问超时时间:即从客户端发起的HTTP请求,在收到响应前允许的最大等待时间。如果超过该等待时间后,还未从服务端接收到请求,则可以认为本次请求因存在网络连接的相关问题而导致请求失效。一般来说,一个互联网应用的大部分请求都是轻量级的、能够快速返回的,即超时时间一般都可以设置的较短。但总有一些特殊请求,因服务端计算较复杂等原因使得服务端耗时较长,此时,为了避免因服务端正常运行未结束而导致客户端认为服务端超时的情况发生,这几个特殊请求都需要设置较长的超时时间。现有系统,一般都是根据最长服务的请求超时时间确定全局统一的超时时间,这样就会导致该超时时间远超过大部分服务所需要的真实超时时间。服务端的每一个远程服务,都应该定义其服务名称和专用的远程访问超时时间,这样才可以精确定义每一个服务的远程访问超时时间,避免了一个系统内部因存在少量的需要设置较长超时时间的服务而导致设定的全局超时时间较长的弊端。二、服务名称参与客户端请求水印加密。每一个远程服务都有自己的名称,在客户端请求水印的生成过程中,将当前访问服务的服务名称作为盐值,加入当前访问服务的服务名称作为加盐,对客户端计算出的服务端当前时间的时间戳进行组合之后再进行加密计算。客户端请求指纹的加密过程如附图1客户端请求指纹加密过程所示。在进行加密时,需要判断是否使用证书加密,如果使用证书加密,则通过非对称加密生成客户端访问指纹;如果不使用证书加密,则通过对称加密生成客户端访问指纹。三、服务端依据本文档来自技高网...
一种基于功能级超时配置的防止重放攻击方法

【技术保护点】
一种基于功能级超时配置的防止重放攻击方法,其特征在于,其实现过程为:首先进行功能级超时配置,定义每一个远程服务的服务名称及其远程访问超时时间;然后进行客户端请求加密,即加入定义的服务名称进行加密;在服务端对上述加密的请求解密后,依据定义的远程服务的超时时间进行访问时间有效性判断;服务端记录通过有效性判断的远程服务的历史指纹,该历史指纹包括服务名称、指纹内容。

【技术特征摘要】
1.一种基于功能级超时配置的防止重放攻击方法,其特征在于,其实现过程为:首先进行功能级超时配置,定义每一个远程服务的服务名称及其远程访问超时时间;然后进行客户端请求加密,即加入定义的服务名称进行加密;在服务端对上述加密的请求解密后,依据定义的远程服务的超时时间进行访问时间有效性判断;服务端记录通过有效性判断的远程服务的历史指纹,该历史指纹包括服务名称、指纹内容。2.根据权利要求1所述的一种基于功能级超时配置的防止重放攻击方法,其特征在于,所述远程访问超时时间是指从客户端发起的HTTP请求,在收到响应前允许的最大等待时间,如果超过该等待时间后,还未从服务端接收到请求,则认为本次请求因存在网络连接的问题而导致请求失效。3.根据权利要求1所述的一种基于功能级超时配置的防止重放攻击方法,其特征在于,客户端请求加密是指将服务名称参与到客户端的请求水印加密,该加密为加盐加密,其中加盐是指根据远程服务定义的名称,在客户端请求水印的生成过程中,都加入当前访问服务的服务名称,参与加密计算。4.根据权利要求3所述的一种基于功能级超时配置的防止重放攻击方法,其特征在于,所述加密计算是指对客户端计算出的服务端当前时间的时间戳,将时间戳与盐值进行组合之后再在服务端进行加密计算,所述盐值是指在客户端请求水印生成过程中当前访问服务的服务名称。5.根据权利要求4所述的一种基于功能级超时配置的防止重放攻击方法,其特征在于,所述时间戳的计算过程为:当用户登录时,客户端计算并记录当前客户端和服务端的时间差,在之后的访问时,基于此时间差,在客户端计算出当前服务端的时间戳,然后将该时间戳结合加盐操作,进行加密。6.根据权利要求3-5任一所述的一种基于功能级超时配置的防止重放攻击方法,其特征在于,在进行加密前,首先校验请求水印中的服务名称是否正确,...

【专利技术属性】
技术研发人员:戴海宏
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1