CN116155477B - 一种基于动态滑动窗口的IPsec抗重放方法及系统 - Google Patents
一种基于动态滑动窗口的IPsec抗重放方法及系统 Download PDFInfo
- Publication number
- CN116155477B CN116155477B CN202310415845.6A CN202310415845A CN116155477B CN 116155477 B CN116155477 B CN 116155477B CN 202310415845 A CN202310415845 A CN 202310415845A CN 116155477 B CN116155477 B CN 116155477B
- Authority
- CN
- China
- Prior art keywords
- ipsec
- window
- replay
- received
- data message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于动态滑动窗口的IPsec抗重放方法及系统,对传统固定滑动窗口大小的IPsec抗重放流程进行改进,根据网络波动可能造成数据报文收包顺序变化的特征,设计动态调整滑动窗口阈值大小的算法,整个计算过程简单高效,不耗费计算资源,不影响数据包的收发处理。能够在保障网络通信安全性的同时,防止因网络波动和窗口滑动造成的丢包问题,有效提高数据传输的完整性和有效性。
Description
技术领域
本发明涉及网络数据通信领域,更具体地,涉及一种基于动态滑动窗口的IPsec抗重放方法及系统。
背景技术
随着网络技术的不断深入发展与应用以及企业对于自身数据信息的保护意识的提高,网络信息安全问题越来越受到人们的重视,企业或者保密单位在采购或者自研产品的过程中,重点关注的问题之一也正是产品的安全性问题。
互联网安全协议(Internet Protocol Security,即IPsec)是一个标准的关于网络安全的协议族,也是一个开放的网络框架,通过对IP分组的加密和认证等方式来确保安全的网络通信。IPsec协议族会提供一组安全服务,主要包括访问控制、数据源身份验证、无连接完整性、加密、抗重放保护。重放攻击是一种常见的主动式的网络攻击手段,攻击者首先会截取正常通信双方的数据包,然后对通信一方的数据包进行修改后发送给另一方,从而达到假冒身份与另一方通信的目的。IPsec的抗重放保护主要是确保所接收到的数据包是唯一的,比较数据包的序列号,如果出现重复的数据包或者是延迟的数据包则会将这些数据包丢弃。
抗重放的机制主要有三种,即挑战、时间戳和滑动窗口机制,IPsec的抗重放服务是通过一组单调递增的序列号和滑动窗口机制来阻挡重放攻击。序列号包含在IPsec数据包头,在创建安全关联(Security Associations,即SA)的时候序列号归零,序列号字段为32位,因此,一个SA和数据包关联,当序列号单调递增到最大值时会新建一个SA。在IPsec抗重放服务实现的过程中,设定接收端的滑动窗口大小值为固定值M,该窗口值一般为大于32的任何值,窗口左端起始值为N,则窗口右端可接收的合法IPsec数据包的最大序列号为M+N-1。若接收到的数据包序列号在窗口左侧即小于N的时候,则直接丢弃该数据包;若数据包序列号在窗口范围内,则会判断是否已经接收过该数据包,若未接收过则将其接收并将在位图中进行标记;若数据包序列号在窗口右侧即大于M+N-1时,则对数据包进行校验,若通过校验则向右滑动窗口,使得该数据包的序号正好包含在窗口的右边界内,若未通过校验则丢弃该数据包。以滑动窗口的方式来完成抗重放服务,优势在于占用的内存空间较小,同时可以对无序到达的数据包有一定的容忍度;劣势在于滑动窗口的大小不好设置,当窗口大小值设置的过小时则会导致高丢包率,从而影响正常通信,而窗口设置过大则会影响抗重放的效果。在简单的网络环境下,设置一个固定的窗口大小适当的值,或许可以满足一般的抗重放需求;但是,在复杂的网络环境下,这种简单的机制就会显得可靠性较差,出现丢包问题进而影响通信质量。
发明内容
为了解决现有IPsec抗重放的滑动窗口机制在复杂网络环境下丢包的问题,本发明在分析网络通信的过程以及滑动窗口机制的基础上,提出了一种基于动态滑动窗口的IPsec抗重放方法及系统,减少复杂网络环境下抗重放机制对网络通信质量的影响,满足IPsec抗重放机制的可靠性、安全性的要求。
根据本发明的第一方面,提供了一种基于动态滑动窗口的IPsec抗重放方法,包括:
在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方;
接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息;
根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包;
根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方,包括:
发送方将IPsec数据报文中的ESP包头中预留的IV可选字段重定义为32bit长度的T-check字段,向所述T-check字段中填入系统时钟信息,组装为自定义格式的IPsec数据报文。
可选的,所述接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息,包括:
接收方接收到所述IPsec数据报文时,将所述IPsec数据报文进行解封装,提取出安全参数索引SPI信息、IPsec序列号和系统时钟信息;
根据所述IPsec数据报文中的SPI信息进行哈希查找,找到对应的安全关联SA信息,以及根据所述SA信息找到绑定的抗重放窗口内存空间,所述抗重放窗口内存空间中记录有已接收的IPsec序列号和窗口阈值参数。
可选的,根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包,包括:
基于所述抗重放窗口内存空间中记录的已接收最大IPsec序列号M和窗口阈值参数N1,确定窗口区间[M-N1,M+N1];
判断从所述IPsec数据报文中提取的IPsec序列号X是否在窗口区间内,若不在,则将所述IPsec数据报文丢弃;
若在,则在所述抗重放窗口内存空间中查找判断IPsec序列号X是否记录接收过,若记录接收过,则判定所述IPsec数据报文为重放包,若没有记录接收过,则需要进行进一步的判断,其中,在所述抗重放窗口内存空间中以位图实现已接收IPsec序列号的记录。
可选的,所述若没有记录接收过,则需要进行进一步的判断,包括:
若所述IPsec序列号X未记录过,当X<M时,在所述抗重放窗口内存空间中记录X并更新位图;
若X>M,则将从所述IPsec数据报文中提取的系统时钟信息T1与系统维护的全局变量T0进行比较,若T0<T1,则在所述抗重放窗口内存空间中记录X并更新位图,同时基于X更新已接收最大IPsec序列号M,基于T1更新系统维护的全局变量T0;
若T0>T1,则将所述IPsec数据报文丢弃。
可选的,所述根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断,包括:
基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R;
计算N1与R的比值N1/R,按8的整数倍进行取值得到窗口阈值参数N2;
将N2赋值给N1,对窗口阈值参数进行更新;
基于更新后的已接收最大IPsec序列号M和窗口阈值参数N1,对窗口区间进行更新,进行下一次的抗重放判断。
可选的,所述基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R,还包括:
若1/4≤R≤1/2,则更新窗口阈值参数为初始窗口阈值参数;
设定窗口阈值参数上限值,当窗口阈值参数N1>窗口阈值参数上限值时,窗口阈值参数N1=窗口阈值参数上限值。
根据本发明的第二方面,提供一种基于动态滑动窗口的IPsec抗重放系统,包括:
接收模块,用于从发送方接收基于网口发送的IPsec数据报文,其中,在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,并发送至接收方;
提取模块,用于从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息;
判断模块,用于根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包;
更新模块,用于根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现基于动态滑动窗口的IPsec抗重放方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现基于动态滑动窗口的IPsec抗重放方法的步骤。
本发明提供的一种基于动态滑动窗口的IPsec抗重放方法及系统,对传统固定滑动窗口大小的IPsec抗重放流程进行改进,根据网络波动可能造成数据报文收包顺序变化的特征,设计动态调整滑动窗口阈值大小的算法,整个计算过程简单高效,不耗费计算资源,不影响数据包的收发处理。能够在保障网络通信安全性的同时,防止因网络波动和窗口滑动造成的丢包问题,有效提高数据传输的完整性和有效性。
附图说明
图1为本发明提供的一种基于动态滑动窗口的IPsec抗重放方法流程图;
图2为传统ESP网络报文格式和自定义ESP报文格式的示意图;
图3为抗重放判断过程示意图;
图4为更新窗口阈值参数的示意图;
图5为本发明提供的一种基于动态滑动窗口的IPsec抗重放系统的结构示意图;
图6为本发明提供的一种可能的电子设备的硬件结构示意图;
图7为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1为本发明提供的一种基于动态滑动窗口的IPsec抗重放方法流程图,如图1所示,方法包括:
S1,在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方。
作为实施例,所述发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方,包括:发送方将IPsec数据报文中的ESP包头中预留的IV可选字段重定义为32bit长度的T-check字段,向所述T-check字段中填入系统时钟信息,组装为自定义格式的IPsec数据报文。
可理解的是,通信双方(发送方和接收方)都初始化一个全局变量T0,并且将自己此时的系统时间提取出来并且赋值给T0,这里只是用到系统时间不断递增的机制,不需要通信双方的系统时间严格同步。在建立IPsec连接之后,需要进行加密业务通信时,发送方提取此时的系统时间T1填入新设计的ESP报头新字段T-check,并通过网口随IPsec报文一起发送给接收方。
其中,发送方将IPsec数据报文中的ESP(Encapsulating Security Payload)协议报头中预留的32bit的IV可选字段设计成自定义的时间戳T-check字段,设计的新的ESP报头格式如图2所示。在发送方和接收方IPsec连接建立后,进行IPsec业务数据传输时,发送方提取此时的系统时间T1,并将系统时间T1填入自定义的ESP报头中的32bit T-check字段;将封装好的IPsec数据报文从网口发送给接收方。
S2,接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息。
作为实施例,所述接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息,包括:接收方接收到所述IPsec数据报文时,将所述IPsec数据报文进行解封装,提取出安全参数索引SPI信息、IPsec序列号和系统时钟信息;根据所述IPsec数据报文中的SPI信息进行哈希查找,找到对应的SA信息,以及根据所述SA信息找到绑定的抗重放窗口内存空间,所述抗重放窗口内存空间中记录有已接收的IPsec序列号和窗口阈值参数。
可理解的是,接收方接收到IPsec数据报文后,将IPsec数据报文进行解封装,提取出SPI信息和IPsec序列号。具体的,从IPsec数据报文中提取自定义ESP报头的32bit T-check字段数据,并转换为长整型数值T1,提取32bit序列号数据转换为长整型数值X。根据报文中的SPI信息进行哈希查找,得到对应的协商好的SA信息,再通过SA信息找到绑定的抗重放窗口内存空间。为每一条协商好的SA信息绑定一块抗重放窗口内存空间,用于记录已确认的IPsec序列号(即已接收到数据报文的IPsec序列号),以及抗重放窗口参数。
S3,根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包。
作为实施例,根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包,包括:基于所述抗重放窗口内存空间中记录的已接收最大IPsec序列号M和窗口阈值参数N1,确定窗口区间[M-N1,M+N1];判断从所述IPsec数据报文中提取的IPsec序列号X是否在窗口区间内,若不在,则将所述IPsec数据报文丢弃;若在,则在所述抗重放内存空间中查找判断IPsec序列号X是否记录接收过,若记录接收过,则判定所述IPsec数据报文为重放包,若没有记录接收过,则需要进行进一步的判断,其中,在所述抗重放内存空间中以位图实现已接收IPsec序列号的记录。
其中,若没有记录接收过,则需要进行进一步的判断,包括:若所述IPsec序列号X未记录过,当X<M时,在所述抗重放内存空间中记录X并更新位图;若X>M,则将从所述IPsec数据报文中提取的系统时钟信息T1与系统维护的全局变量T0进行比较,若T0<T1,则在所述抗重放内存空间中记录X并更新位图,同时基于X更新已接收最大IPsec序列号M,基于T1更新系统维护的全局变量T0;若T0>T1,则将所述IPsec数据报文丢弃。
可理解的是,接收方根据接收的IPsec数据报文的序列号X、系统时钟信息T1和窗口区间等参数判断IPsec数据报文是否为重放包。
具体的,判断IPsec序列号X是否在已接受最大序列号M的可接收阈值窗口N1内,也就是IPsec序列号X是否在窗口区间[M-N1,M+N1]内,如果不在窗口区间内,则将IPsec数据报文进行丢弃处理,如果在窗口区间内,则进一步判断TPsec序列号X是否记录过,并且根据X和M的大小关系,将T1与T0进行比较,最后更新M和T0的值。数据报文抗重放判断的具体过程如图3所示。
其中,在抗重放窗口内存空间中,已收到数据报文的序列号的记录是通过位图实现的,即一段连续的内存空间初始化全为0,收到数据报文的序列号就将对应比特位上的值置1,未收到数据报文的序列号的比特位上保持数值0。通过检测X对应比特位上数值是否为1,来判断X是否记录过。若X记录过,则判断为重放包,进行丢弃,若X未记录过,则进行进一步判断。
如果X未记录过,当X<M时,记录X的数值并更新位图,即将X对应的比特位上的值置1。当X>M时,则将T1数值与系统维护的全局变量T0进行比较,如果T0<T1,则记录X的数值并更新位图,同时将X的数值赋给M,T1的数值赋给T0,对M和T0分别进行更新;如果T0>T1,则将数据包进行丢弃处理,表明此时的IPsec数据报文已发生延迟,不会对其进行后续的处理。
S4,根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断。
作为实施例,所述根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断,包括:基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R;计算N1与R的比值N1/R,按8的整数倍进行取值得到窗口阈值参数N2;将N2赋值给N1,对窗口阈值参数进行更新;基于更新后的已接收最大IPsec序列号M和窗口阈值参数N1,对窗口区间进行更新,进行下一次的抗重放判断。
可理解的是,对IPsec数据报文是否为重放包进行判断后,根据判断结果为窗口区间进行更新,基于更新后的窗口区间,进行下一次的抗重放判断。
具体的,窗口阈值N1计算更新如图4所示,当M发生更新后,在基于更新后的M值,计算N1窗口内已收到序列号和未收到序列号个数的比值,在位图中即计算更新后[M-N1, M+N1]区间中比特位上数值为1和数值为0的比值,得到结果为R。
计算N1与R的比值N1/R,并且按8的整数倍进行取值得到数值N2。将数值N2赋值给N1,完成窗口阈值的更新,进行下一次的抗重放判断。
作为实施例,若1/4≤R≤1/2,则更新窗口阈值参数为初始窗口阈值参数;设定窗口阈值参数上限值,当窗口阈值参数N1>窗口阈值参数上限值时,窗口阈值参数N1=窗口阈值参数上限值。
其中,当网络稳定,按序接收序列号报文时,R值最大为1/2,当计算的R值在1/4到1/2时,N1变为初始值,窗口大小不进行变动,并且将N1设定一个上限值,保证N1不会超过该上限值。
参见图5,为本发明提供的一种基于动态滑动窗口的IPsec抗重放系统,该系统包括发送方10和接收方20,接收方20包括接收模块201、提取模块202、判断模块203和更新模块204,其中:
接收模块201,用于从发送方接收基于网口发送的IPsec数据报文,其中,在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,并发送至接收方;
提取模块202,用于从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息;
判断模块203,用于根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包;
更新模块204,用于根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断。
可以理解的是,本发明提供的一种基于动态滑动窗口的IPsec抗重放系统与前述各实施例提供的基于动态滑动窗口的IPsec抗重放方法相对应,基于动态滑动窗口的IPsec抗重放系统的相关技术特征可参考基于动态滑动窗口的IPsec抗重放方法的相关技术特征,在此不再赘述。
请参阅图6,图6为本发明实施例提供的电子设备的实施例示意图。如图6所示,本发明实施例提了一种电子设备600,包括存储610、处理器620及存储在存储器610上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现基于动态滑动窗口的IPsec抗重放方法的步骤。
请参阅图7,图7为本发明提供的一种计算机可读存储介质的实施例示意图。如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现基于动态滑动窗口的IPsec抗重放方法的步骤。
本发明实施例提供的一种基于动态滑动窗口的IPsec抗重放方法及系统,具有以下技术效果:
1、本发明对传统固定滑动窗口大小的IPsec抗重放流程进行改进,根据网络波动可能造成数据报文收包顺序变化的特征,设计动态调整滑动窗口阈值大小的算法,整个计算过程简单高效,不耗费计算资源,不影响数据包的收发处理。能够在保障网络通信安全性的同时,防止因网络波动和窗口滑动造成的丢包问题,有效提高数据传输的完整性和有效性。
2、本发明引入自定义ESP报头格式,利用ESP网络报文协议中预留的IV字段定义新的功能,不造成额外的报文长度开销,不加重网络流量负担,同时提升报文的多功能性。
3、本发明在新定义的T-check字段中填入系统时间,这里只是应用到时钟值不断递增的特性,不需要通信双方进行严格的时间同步,简单易实现,同时能够避免攻击者截获报文通过递增序列号进行重放攻击,显著提升通信的安全性。
4、本发明在窗口大小的动态调整中增加了限制,当网络环境非常极端的情况下,限制阈值的最大值,并且当网络环境回归稳定时能够将窗口大小变换成初始值,确保窗口大小的动态变化合理性,对于网络环境质量具有显著的容忍性。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (9)
1.一种基于动态滑动窗口的IPsec抗重放方法,其特征在于,包括:
在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方;
接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息;
根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包:
判断IPsec序列号X是否在窗口区间[M-N1,M+N1]内,如果不在窗口区间内,则将IPsec数据报文进行丢弃处理,如果在窗口区间内,则进一步判断TPsec序列号X是否记录过,并且根据X和M的大小关系,将系统时钟信息T1与系统维护的全局变量T0进行比较,更新M和T0的值,其中,M为窗口区间内已接收最大IPsec序列号,N1为窗口阈值参数;
根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断:
基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R;
计算N1与R的比值N1/R,按8的整数倍进行取值得到窗口阈值参数N2;
将N2赋值给N1,对窗口阈值参数进行更新;
基于更新后的已接收最大IPsec序列号M和窗口阈值参数N1,对窗口区间进行更新,进行下一次的抗重放判断。
2.根据权利要求1所述的IPsec抗重放方法,其特征在于,所述发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,从网口发送所述IPsec数据报文至接收方,包括:
发送方将IPsec数据报文中的ESP包头中预留的初始化向量IV可选字段重定义为32bit长度的T-check字段,向所述T-check字段中填入系统时钟信息,组装为自定义格式的IPsec数据报文。
3.根据权利要求2所述的IPsec抗重放方法,其特征在于,所述接收方从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息,包括:
接收方接收到所述IPsec数据报文时,将所述IPsec数据报文进行解封装,提取出安全参数索引SPI信息、IPsec序列号和系统时钟信息;
根据所述IPsec数据报文中的SPI信息进行哈希查找,找到对应的安全关联SA信息,以及根据所述SA信息找到绑定的抗重放窗口内存空间,所述抗重放窗口内存空间中记录有已接收的IPsec序列号和窗口阈值参数。
4.根据权利要求3所述的IPsec抗重放方法,其特征在于,根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包,包括:
基于所述抗重放窗口内存空间中记录的已接收最大IPsec序列号M和窗口阈值参数N1,确定窗口区间[M-N1,M+N1];
判断从所述IPsec数据报文中提取的IPsec序列号X是否在窗口区间内,若不在,则将所述IPsec数据报文丢弃;
若在,则在所述抗重放窗口内存空间中查找判断IPsec序列号X是否记录接收过,若记录接收过,则判定所述IPsec数据报文为重放包,若没有记录接收过,则需要进行进一步的判断,其中,在所述抗重放窗口内存空间中以位图实现已接收IPsec序列号的记录。
5.根据权利要求4所述的IPsec抗重放方法,其特征在于,所述若没有记录接收过,则需要进行进一步的判断,包括:
若所述IPsec序列号X未记录过,当X<M时,在所述抗重放窗口内存空间中记录X并更新位图;
若X>M,则将从所述IPsec数据报文中提取的系统时钟信息T1与系统维护的全局变量T0进行比较,若T0<T1,则在所述抗重放窗口内存空间中记录X并更新位图,同时基于X更新已接收最大IPsec序列号M,基于T1更新系统维护的全局变量T0;
若T0>T1,则将所述IPsec数据报文丢弃。
6.根据权利要求1所述的IPsec抗重放方法,其特征在于,所述基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R,还包括:
若1/4≤R≤1/2,则更新窗口阈值参数为初始窗口阈值参数;
设定窗口阈值参数上限值,当窗口阈值参数N1>窗口阈值参数上限值时,窗口阈值参数N1=窗口阈值参数上限值。
7.一种基于动态滑动窗口的IPsec抗重放系统,其特征在于,包括:
接收模块,用于从发送方接收基于网口发送的IPsec数据报文,其中,在IPsec业务通信时,发送方组装自定义格式的IPsec数据报文,填入系统时钟信息,并发送至接收方;
提取模块,用于从接收到的所述IPsec数据报文中提取出报文序列号和系统时钟信息;
判断模块,用于根据所述报文序列号、窗口区间和系统时钟信息,判断所述IPsec数据报文是否为重放包:
判断IPsec序列号X是否在窗口区间[M-N1,M+N1]内,如果不在窗口区间内,则将IPsec数据报文进行丢弃处理,如果在窗口区间内,则进一步判断TPsec序列号X是否记录过,并且根据X和M的大小关系,将系统时钟信息T1与系统维护的全局变量T0进行比较,更新M和T0的值,其中,M为窗口区间内已接收最大IPsec序列号,N1为窗口阈值参数;
更新模块,用于根据判断结果,统计计算所述窗口区间内已接收序列号和未接收序列号的信息,对所述窗口区间进行计算更新,进行下一次的抗重放判断;
其中,所述更新模块具体用于:
基于更新后的M值,计算窗口区间[M-N1,M+N1]内已接收到序列号和未接收到序列号个数的比值R,其中,M为窗口区间内已接收最大IPsec序列号,N1为窗口阈值参数;
计算N1与R的比值N1/R,按8的整数倍进行取值得到窗口阈值参数N2;
将N2赋值给N1,对窗口阈值参数进行更新;
基于更新后的已接收最大IPsec序列号M和窗口阈值参数N1,对窗口区间进行更新,进行下一次的抗重放判断。
8.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-6任一项所述的基于动态滑动窗口的IPsec抗重放方法的步骤。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-6任一项所述的基于动态滑动窗口的IPsec抗重放方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310415845.6A CN116155477B (zh) | 2023-04-18 | 2023-04-18 | 一种基于动态滑动窗口的IPsec抗重放方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310415845.6A CN116155477B (zh) | 2023-04-18 | 2023-04-18 | 一种基于动态滑动窗口的IPsec抗重放方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116155477A CN116155477A (zh) | 2023-05-23 |
CN116155477B true CN116155477B (zh) | 2023-07-18 |
Family
ID=86373958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310415845.6A Active CN116155477B (zh) | 2023-04-18 | 2023-04-18 | 一种基于动态滑动窗口的IPsec抗重放方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116155477B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319098B (zh) * | 2023-05-20 | 2023-07-21 | 湖北省楚天云有限公司 | 一种边缘计算服务器安全互联系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007091758A1 (en) * | 2006-02-09 | 2007-08-16 | Samsung Electronics Co., Ltd. | Method and apparatus for updating anti-replay window in ipsec |
CN101471784A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种实现ipsec抗重放攻击的方法 |
CN101577725A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种防重放机制中的信息同步方法、装置和系统 |
CN104092697A (zh) * | 2014-07-18 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种基于时间的防重放方法及装置 |
CN104184675A (zh) * | 2014-09-12 | 2014-12-03 | 成都卫士通信息产业股份有限公司 | 一种负载均衡的IPSec VPN设备集群系统及其工作方法 |
CN105791219A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 抗重放方法和装置 |
CN107733807A (zh) * | 2017-09-20 | 2018-02-23 | 新华三信息安全技术有限公司 | 一种报文防重放方法及装置 |
CN108683606A (zh) * | 2018-05-11 | 2018-10-19 | 迈普通信技术股份有限公司 | IPsec防重放的方法、装置、网络设备及可读存储介质 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438641B2 (en) * | 2010-12-29 | 2013-05-07 | Lsi Corporation | Security protocol processing for anti-replay protection |
US20220201020A1 (en) * | 2022-03-14 | 2022-06-23 | Intel Corporation | Dynamic adaption of arw management with enhanced security |
-
2023
- 2023-04-18 CN CN202310415845.6A patent/CN116155477B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007091758A1 (en) * | 2006-02-09 | 2007-08-16 | Samsung Electronics Co., Ltd. | Method and apparatus for updating anti-replay window in ipsec |
CN101471784A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种实现ipsec抗重放攻击的方法 |
CN101577725A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种防重放机制中的信息同步方法、装置和系统 |
CN104092697A (zh) * | 2014-07-18 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种基于时间的防重放方法及装置 |
CN104184675A (zh) * | 2014-09-12 | 2014-12-03 | 成都卫士通信息产业股份有限公司 | 一种负载均衡的IPSec VPN设备集群系统及其工作方法 |
CN105791219A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 抗重放方法和装置 |
CN107733807A (zh) * | 2017-09-20 | 2018-02-23 | 新华三信息安全技术有限公司 | 一种报文防重放方法及装置 |
CN108683606A (zh) * | 2018-05-11 | 2018-10-19 | 迈普通信技术股份有限公司 | IPsec防重放的方法、装置、网络设备及可读存储介质 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
Non-Patent Citations (1)
Title |
---|
IPSec的抗重放原理及其实现;丛延奇,谢君,徐艳;湖南工程学院学报(自然科学版)(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116155477A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862871B2 (en) | Hardware-accelerated payload filtering in secure communication | |
Donenfeld | WireGuard: Next Generation Kernel Network Tunnel. | |
Ahsan | Covert channel analysis and data hiding in TCP/IP | |
Lucena et al. | Covert channels in IPv6 | |
Zander et al. | Covert channels and countermeasures in computer network protocols [reprinted from ieee communications surveys and tutorials] | |
CA2616153C (en) | Methods for secure and bandwidth efficient cryptographic synchronization | |
EP3211852A1 (en) | Ssh protocol-based session parsing method and system | |
CN116155477B (zh) | 一种基于动态滑动窗口的IPsec抗重放方法及系统 | |
CN101473622A (zh) | 用于数据网络上的通信的带外鉴别方法和系统 | |
CN110035047B (zh) | 用于检查数据包中的消息完整性的轻型机制 | |
US20100306540A1 (en) | Encryption processing method and encryption processing device | |
CN108390860B (zh) | 一种数据包的加密、解密方法及装置 | |
Thornburgh | Adobe's Secure Real-Time Media Flow Protocol | |
Malekzadeh et al. | A new security model to prevent denial‐of‐service attacks and violation of availability in wireless networks | |
CN110392050B (zh) | 一种基于时间戳的存储隐通道的构建方法 | |
CN107181605B (zh) | 报文检测方法及系统、内容提取装置、流量匹配装置 | |
CN107135190B (zh) | 基于传输层安全连接的数据流量归属识别方法及装置 | |
WO2022105645A1 (zh) | 一种融合型隐蔽信道的构建方法及系统 | |
Bąk et al. | Application of perfectly undetectable network steganography method for malware hidden communication | |
CN114500013B (zh) | 一种数据加密传输方法 | |
CN105592030A (zh) | Ip报文处理方法及装置 | |
CN114826748B (zh) | 基于rtp、udp及ip协议的音视频流数据加密方法和装置 | |
Bejarano et al. | Security in IP satellite networks: COMSEC and TRANSEC integration aspects | |
Panajotov et al. | Covert channels in TCP/IP protocol stack | |
CN111064673B (zh) | 一种用户面数据完整性保护方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |