CN102769572A - 报文防重放方法及装置、网络设备 - Google Patents
报文防重放方法及装置、网络设备 Download PDFInfo
- Publication number
- CN102769572A CN102769572A CN2012102671942A CN201210267194A CN102769572A CN 102769572 A CN102769572 A CN 102769572A CN 2012102671942 A CN2012102671942 A CN 2012102671942A CN 201210267194 A CN201210267194 A CN 201210267194A CN 102769572 A CN102769572 A CN 102769572A
- Authority
- CN
- China
- Prior art keywords
- message
- sliding window
- sequence number
- window
- bit
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于IPSec的防重放方法及装置、网络设备,根据该方法,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比,根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文,能够通过仅在接收窗口中循环移位滑动窗口来实现滑动窗口的滑动移位,以及通过循环移位的滑动窗口来过滤重放报文,能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
Description
技术领域
本发明涉及数据通信系统,具体地,涉及一种基于IPSec的报文防重放方法及装置、网络设备。
背景技术
IPSec(IP Security)是IETF制定的三层隧道加密协议,它为互联网上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。IPsec为通信方提供了加密与数据源认证等安全服务,其中包括防重放(Anti-Replay),即IPSec接收方可检测并拒绝接收过时或重复的报文。
重放是指攻击者截获并记录协议运行中的信息,在以后的协议运行中把所记录的信息重传给相同的信息接收者,以获得相应的秘密信息,攻击者并不需要知道所重放信息的具体内容。
例如,A与B进行通信时,首先相互传输身份验证信息,然后相互传输数据信息。假如攻击者C截获了A发送给B的身份验证信息,虽然不知道其具体内容,但可以把该信息原样记录下来。然后攻击者C通过向B重新发送这段信息,就有可能骗过B的验证而获得B所发送的数据信息,从而实现重放攻击。
其中重放的数据包可以是原数据包,也可以是经过修改的数据包,重放的目的是为了冒充合法的通信者和另一方进行通信,之所以采用重放方式而非直接发送伪造的数据包,是因为有的系统会将部分信息进行简单加密或者认证,伪造的数据包可能无法取得数据包接收方的信任。重放攻击会迫使系统被迫处理大量不必要的操作,严重时可导致拒绝服务。重放可能导致攻击者获得会话密钥或成功地冒充其他人,干扰系统的正常运行处理致使系统瘫痪。
IPSec协议提供的防重放服务,通过单调递增的序列号和“滑动”窗口机制来阻挡这种攻击。
在基于IPSec的发送端,在每个基于IPSec的数据包的包头内都包含了一个序列号字段,当创建一个新的安全联盟(SA,Security Associate)(SA用于提供通信安全服务)时,序列号计数器便会初始化为0,每当在这一SA上发送一个数据包,序列号计数器的值加1并将序列号字段的值设置成计数器的值。计数器的值严格单调递增,当达到其最大值232-1时,就应建立一个新的SA。
在基于IPSec的接收端建立具有若干连续比特位的滑动窗口,滑动窗口的长度为W,W的推荐值为64比特,每个比特的值表示一个数据报文。窗口最左端对应于窗口起始位置报文的序列号N,而最右端对应于可接收的合法报文的最高序列号N+W-1。每收到一个报文,接收端按如下原则进行处理:
1、如果分组序列号落在滑动窗口之内,并且先前没有接收过,则接收该分组并标记该报文为已接收;若先前接收过,则该报文是重放报文,丢弃该分组。
2、如果收到的分组序列号落在窗口的左侧,说明该报文是过期报文,过期报文包括未接收到的报文或者是重放报文,则丢弃该分组。
3、如果收到的分组的序列号落在窗口的右侧,即分组序列号大于N+W-1,则对该分组进行完整性检查,若未通过检查则丢弃;若通过则向右移动滑动窗口,使窗口的右边界刚好包含该分组的序列号。
下面都以W=8为例说明通过滑动窗口防重放的处理过程。在图1a示例中,窗口最左端的序列号为N,最右端的序列号为N+7。图中用0和阴影表示数据包尚未收到,即编号为N、N+3、N+6、N+8和N+10以及之后的数据包尚未收到。
如果最近收到的数据包N+9通过了真实性检查,窗口便会向右滑动2个位置,使窗口左侧变成N+2,右侧变成N+9。这样便会造成数据包N无可挽回地被丢弃,因为它现在变成在滑动接收窗口的左侧,如图1b所示。相反地,如果收到的N+9包没有通过真实性检查,则丢弃该包,窗口的位置不变。
这样,对于有序到达的报文,通过对滑动窗口内比特位的连续更新和比特移位操作来实现滑动窗口的移动;对于攻击者重放的数据包,由于时延的原因将无法通过滑动窗口的检查而被丢弃。同理,通过IPSec滑动窗口的检查也将拦截住伪造的数据包。
目前,滑动窗口的长度通常被定义为最小32位、最大64位,但是针对最小窗口的具体大小目前还没有一个具体的标准。针对重新排序的报文,窗口的长度一般都要基于合理的规划。而针对带有多个密码核的多核的网络处理器,由于不同核之间的协作处理将会导致各个IPSec的处理延时,此时窗口大小一般将会超过64位或者128位。在这种情况下,滑动窗口的移位消耗的资源就会变得很大,甚至需要借助硬件来加速处理窗口的移位操作。尤其是针对乱序到达的报文的处理,将会产生系统之间更多的互操作性,并降低系统的性能。
可见,在现有技术中,在基于IPSec的滑动窗口进行防重放的处理中,存在处理复杂、处理效率低的问题。
发明内容
有鉴于此,本发明实施例提供了一种基于IPSec的防重放方法及装置、网络设备,用以解决现有技术中通过滑动窗口防重放的处理存在的处理复杂、处理效率低的问题。
本发明实施例技术方案如下:
一种报文防重放方法,包括:对于当前接收到的IPSec报文,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
一种报文防重放装置,包括:接收模块,用于接收IPSec报文;对比模块,用于将所述接收模块当前接收到的IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;移位模块,用于根据所述对比模块的对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
一种网络设备,包括如上所述的报文防重放装置。
根据本发明实施例的技术方案,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比,根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文,能够通过仅在接收窗口中循环移位滑动窗口来实现滑动窗口的滑动移位,以及通过循环移位的滑动窗口来过滤重放报文,能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1a为现有技术中基于IPSec的滑动窗口的结构框图;
图1b为现有技术中基于IPSec的滑动窗口过滤重放报文的示意图;
图2为本发明实施例提供的报文防重放方法的工作流程图;
图3为图2所示的方法的优选实施方式的工作流程图;
图4为本发明实施例提供的接收窗口和滑动窗口的结构框图;
图5a为本发明实施例提供的滑动窗口的具体示例;
图5b为图5a所示滑动窗口循环移位的示例一;
图5c为图5a所示滑动窗口循环移位的示例二;
图5d为图5a所示滑动窗口循环移位的示例三;
图5e为图5a所示滑动窗口循环移位的示例四;
图6为本发明实施例提供的报文防重放装置的结构框图。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例针对现有技术中通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题,提出了一种报文防重放方案,以解决该问题。
在本发明实施例提供的技术方案中,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比,根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文,能够通过仅在接收窗口中循环移位滑动窗口来实现滑动窗口的滑动移位,以及通过循环移位的滑动窗口来过滤重放报文,能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
图2示出了本发明实施例提供的报文防重放方法的工作流程图,如图2所示,该方法包括如下处理过程:
步骤21、对于接收到的IPSec报文,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;
步骤22、根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
根据上述处理过程,能够通过仅在接收窗口中循环移位滑动窗口来实现滑动窗口的滑动移位,以及通过循环移位的滑动窗口来过滤重放报文,能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
图3示出了图2所示的方法的优选实施方式,如图3所示,该处理过程包括:
步骤301、预先设置接收窗口和滑动窗口,接收窗口的长度为M比特,M=2m,接收窗口中包括S个逻辑块(Block),每个逻辑块的长度为T,T=2t,滑动窗口最多包括S-1个逻辑块,这样可以在接收窗口中为滑动窗口保留足够的冗余空间,使得滑动窗口在接收窗口中在循环移位时,滑动窗口的左边界和右边界分别处于不同的逻辑块,从而避免循环移位带来的滑动窗口自身交叠的现象;当滑动窗口包括S-1个逻辑块时,相比于滑动窗口包括其它数目的逻辑块,可以减少占用的系统资源、提高系统的处理效率;滑动窗口的长度为W比特,例如,当滑动窗口包括S-1个逻辑块时,W=(S-1)×T;其中,M、m、S、T、t、W均为自然数;
在报文防重放的处理过程中,将接收窗口和滑动窗口中的比特位与IPSec报文的序列号一一对应,接收窗口和滑动窗口中的比特位对应的报文序列号从左至右顺序递增,接收窗口和滑动窗口的结构可如图4所示;接收窗口和滑动窗口的长度可以根据处理器具体的处理能力来设置;
步骤302、对于当前接收到的IPSec报文,解析提取出该报文的序列号N;
步骤303、将提取的IPSec报文的序列号N与滑动窗口对应的序列号区间进行对比,也即判断报文的序列号N与滑动窗口左边界WB对应的序列号和右边界WT对应的序列号的关系;
具体地,如果IPSec报文的序列号N处于滑动窗口对应的序列号区间之内,即报文的序列号N大于或等于滑动窗口左边界WB对应的序列号NWB、且小于或等于滑动窗口右边界WT对应的序列号NWT,NWB≤N≤NWT则处理进行到步骤304;
如果IPSec报文的序列号N小于滑动窗口对应的序列号区间,也即报文的序列号N小于滑动窗口左边界WB对应的序列号NWB,N<NWB,说明该报文是过期报文,过期报文包括重放报文,处理进行到步骤306;
如果IPSec报文的序列号N大于滑动窗口对应的序列号区间,也即报文的序列号N大于滑动窗口右边界WT对应的序列号,N>NWT,处理进行到步骤307;
步骤304、判断之前是否接收过该报文,具体地,可判断滑动窗口中与该报文的序列号N对应的比特位是否标记有已接收报文的标识,如果没有标识已接收报文的标识,说明该报文应当接收,处理进行到步骤305,如果已经具有已接收报文的标记,说明该报文是重放报文,处理进行到步骤306;
步骤305、接收该报文,并将滑动窗口中与该报文的序列号N对应的比特位标记为报文已接收,处理返回步骤302;
步骤306、丢弃该报文,处理返回步骤302;
步骤307、检查该报文的完整性,如果通过检查,处理进行到步骤308,否则,处理返回步骤306;
步骤308、接收该报文;
步骤309、确定该报文的序列号N与滑动窗口对应的最大序列号之间的差值a,也即确定该报文的序列号N与滑动窗口右边界WT对应的序列号NWT之间的差值a,a=N-NWT;
步骤310、判断与差值a相同位数的比特是否大于接收窗口的长度M,在判断为大于的情况下,处理进行到步骤311,否则,处理进行到步骤312;
步骤311、将差值a设置为接收窗口的长度M,即a=M;
步骤312、判断移位后滑动窗口的右边界WT是否超过接收窗口的右边界MT,也即判断a是否大于接收窗口的右边界MT与滑动窗口的右边界WT的比特位差值,a>(MT-WT),在判断成立的情况下,处理进行到步骤313,否则,处理进行到步骤315;
步骤313、确定移位后滑动窗口的右边界WT’超过接收窗口的右边界MT的比特位数b,即b=WT’-MT=WT+a-MT;
步骤314、将接收窗口从左边界MB起始与超过的比特位数b相同位数的比特位作为移位后滑动窗口的右边界WT’,即WT’=MB-1+b,将滑动窗口的左边界WB移位与差值a相同位数的比特位(即移位a个比特)作为移位后滑动窗口的左边界WB’,WB’=WB+a;处理进行到步骤316;
步骤315、将滑动窗口的右边界WT移位与差值a相同位数的比特位(即移位a个比特)作为移位后滑动窗口的右边界WT’,WT’=WT+a,将滑动窗口的左边界WB移位与差值a相同位数的比特位(即移位a个比特)作为移位后滑动窗口的左边界WB’,WB’=WB+a;
步骤316、根据该报文的序列号依次更新移位后滑动窗口的各比特位对应的序列号,具体地,将滑动窗口内各比特位对应的序列号加上差值a后的序列号作为各比特位移位后对应的序列号;
步骤317、将滑动窗口中该报文序列号N对应的比特位标记为报文已接收;
步骤318、在滑动窗口的右边界WT移位的a个比特位中,将除滑动窗口的右边界对应的比特位之外其它的比特位标记为未接收到报文;
进一步,如果滑动窗口的右边界WT移位后与移位前处于不同的逻辑块,在移位后右边界WT所在逻辑块中,将右边界WT右侧的比特位标记为未接收到报文,也即滑动窗口移位的位数超过了滑动窗口的右边界WT与接收窗口的右边界MT的距离,超出的部分从接收窗口的左边界MB开始计数移位,则,在滑动窗口右边界WT所在的逻辑块中,右边界WT右侧的对应的序列号均为未接收到的报文的序列号,因此,在该逻辑块中将滑动窗口右边界WT右侧的比特位标记为未接收到报文;
并且,在移位后滑动窗口的左边界WB所在的逻辑块中,将左边界WB左侧的比特位标记为不检测,也即滑动窗口左边界WB移位后,报文序列号小于滑动窗口左边界WB对应的序列号的报文为过期报文,该过期报文包括未接收到的报文或者是重放报文,因此,在滑动窗口左边界WB移位后,将左边界WB左侧的比特位标记为不检测,可以有效地过滤重放报文;处理返回步骤302。
通过上述过滤报文的处理(即步骤303至步骤318)可以看出,本发明实施提供的技术方案能够实现对重放报文的过滤和拦截,通过循环移位的处理(即步骤307至步骤318),能够在预设的接收窗口内循环移位滑动窗口,通过这种在接收窗口内循环移位的方式,能够将滑动窗口移位所占用的系统资源控制在有限的范围内,相比于现有技术中通过顺序移位的方式移位滑动窗口所占用的系统资源,能够有效地降低系统开销,提高处理效率,从而能够解决现有技术中报文防重放处理存在的处理复杂、处理效率低的问题。
下面通过具体示例来更进一步地说明上述循环移位的处理。在下述的示例中,预设的接收窗口的长度M为32bit,接收窗口包括4个逻辑块Block,即Block0~Block3,每个Block包括8比特,即bit0~bit7,滑动窗口包括3个Block,滑动窗口的长度W为24bit,滑动窗口的左边界为WB、右边界为WT,接收窗口的左边界为MB、右边界为MT,比特位标识为C表示该比特位为应当检测的比特位(Check bit),比特位标识为C包括0和1两种情形,0表示尚未接收到报文,1表示已接收到报文,比特位标识为X表示该比特位不需检测(Don’tCare bit)。
如图5a所示,当前滑动窗口在接收窗口中的位置为Block0的bit6至Block3的bit5,即滑动窗口的左边界WB处于Block0的bit6,右边界WT处于Block3的bit5。
例一,当前接收到的IPSec报文的序列号N=WT+1,也即a=1,此时,a<M,且a<MT-WT=7-5=2,根据上述步骤301至步骤315的处理,将滑动窗口在接收窗口内从左向右移位1个bit,也即WT’=WT+1,WB’=WB+1,移位后的滑动窗口如图5b所示;并将移位后的滑动窗口内各比特位对应的序列号加1;将移位后的WT’对应的比特位标记为1。
例二,当前接收到的IPSec报文的序列号N=WT+6,也即a=6,根据本发明实施例提供循环移位的处理,即上述步骤310至314的处理,如图5c所示,a<M,且a>MT-WT=7-5=2,确定滑动窗口移位后超过接收窗口右边界的比特位b,b=WT+a-MT=5+6-7=4,确定移位后的滑动窗口的右边界WT’,WT'=MB-1+b=0-1+4=3,即将Block0的bit3作为移位后滑动窗口的右边界WT’,确定移位后的滑动窗口的左边界WB’,WB’=WB+6,即将滑动窗口的左边界从Block,0的bit6移位到Block1的bit4;并将移位后的滑动窗口内各比特位对应的序列号加6;在滑动窗口右边界WT移位的6个比特位中,将除右边界所在比特以外的其它比特标识为0,即将Block3的bit6~bit7以及Block1的bit0~bit2和bit4~bit7标识为0,在滑动窗口左边界WB移位后所在的Block1中,将滑动窗口左边界WB左侧的比特标识为X,即将Block1的bit0~bit3标记为X。
例三,当前接收到的IPSec报文的序列号N=WT+11,也即a=11,根据本发明实施例提供循环移位的处理,即上述步骤310至314的处理,如图5d所示,a<M,且a>MT-WT=7-5=2,确定滑动窗口移位后超过接收窗口右边界的比特位b,b=WT+a-MT=5+11-7=9,确定移位后的滑动窗口的右边界WT’,WT'=MB-1+b=0-1+9=8,即将Block1的bit0作为移位后滑动窗口的右边界WT’,确定移位后的滑动窗口的左边界WB’,WB’=WB+11,即将滑动窗口的左边界从Block0的bit6移位到Block2的bit1;并将移位后的滑动窗口内各比特位对应的序列号加11;在滑动窗口右边界WT移位的11个比特位中,将除右边界WT所在比特以外的其它比特标识为0,将右边界WT所在逻辑块中WT右侧的比特位标记为0,即将Block3的bit6~bit7、Block0的bit0~bit7以及Block1的bit1~bit7标识为0,在滑动窗口左边界WB移位后所在的Block1中,将滑动窗口左边界WB左侧的比特标识为X,即将Block2的bit0标记为X。
例四、当前接收到的IPSec报文的序列号N=WT+35,也即a=35,根据本发明实施例提供循环移位的处理,即上述步骤310至314的处理,如图5e所示,a>M,则令a=32,这样移位后滑动窗口的右边界WT和左边界WB的位置不变,即移位后滑动窗口的右边界WT为Block3的bit5,左边界WB为Block0的bit6;在滑动窗口右边界WT移位的32个比特位中,将除右边界WT所在比特以外的其它比特标识为0,将右边界WT所在逻辑块中WT右侧的比特位标记为0,即将Block0的bit6~bit7、Block1的bit0~bit7、Block2的bit0~bit7以及Block3的bit1~bit4和bit6~bit7标识为0,在滑动窗口左边界WB移位后所在的Block0中,将滑动窗口左边界WB左侧的比特标识为X,即将Block0的bit0~bit5标记为X。
在具体实现的过程中,上述滑动窗口的左边界WB、右边界WT可以通过指针或索引来实现,滑动窗口的循环移位处理可以根据上述的处理方法通过在接收窗口内更新指针或索引的方式来实现,更新滑动窗口内比特位对应的序列号的操作可以通过动态地更新滑动窗口的比特位与序列号之间的映射关系来实现,而这样操作都是占用系统资源非常少的操作,从而使得本发明实施例提供的技术方案占用的系统资源极为有限,尤其是针对多密码核的网络处理器协作处理滑动窗口移位的操作仅占用有限的系统资源,针对乱序到达的报文能够显著地降低系统之间的互操作性,可见本发明实施例提供的技术方案能够显著地降低通过滑动窗口防重放处理的复杂度,降低占用的系统资源,提供系统的处理效率。
基于相同的发明构思,本发明实施例还提供了一种报文防重放装置。
图6示出了本发明实施例提供的报文防重放装置的结构框图,如图6所示,该装置包括:
接收模块61,用于接收IPSec报文;
对比模块62,连接到接收模块61,用于将接收模块61当前接收到的IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;具体地,接收窗口的长度为M比特,M=2m,接收窗口中包括S个逻辑块,每个逻辑块的长度为T,T=2t,滑动窗口包括S-1个逻辑块,M、m、S、T、t均为自然数;接收窗口和滑动窗口中的比特位与IPSec报文的序列号一一对应,并且接收窗口和滑动窗口中的比特位对应的报文序列号从左至右顺序递增;
移位模块63,连接到对比模块62,用于根据对比模块62的对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
具体地,移位模块63根据对比模块62的对比结果在接收窗口中循环移位滑动窗口来过滤重放报文的操作包括:如果IPSec报文的序列号处于滑动窗口对应的序列号区间之内,且之前未接收过该报文,则接收该报文,并将滑动窗口中该序列号对应的比特位标记为报文已接收,如果之前接收过该报文,则丢弃该报文;
如果IPSec报文的序列号小于滑动窗口对应的序列号区间,则丢弃该报文;
如果IPSec报文的序列号大于滑动窗口对应的序列号区间,且该报文通过了完整性检查,则接收该报文,并在接收窗口内从左至右循环移位滑动窗口,使移位后滑动窗口对应的最大序列号为该报文的序列号,根据该报文的序列号依次更新移位后滑动窗口的各比特位对应的序列号,并将滑动窗口中该报文序列号对应的比特位标记为报文已接收;如果该报文未通过完整性检查,则丢弃该报文。
具体地,移位模块63在接收窗口内从左至右循环移位滑动窗口的操作包括:确定IPSec报文的序列号与滑动窗口对应的最大序列号之间的差值a,在接收窗口内从左向右将滑动窗口移动与该差值a相同位数的比特位;如果移位后滑动窗口的右边界超过接收窗口的右边界,确定超过的比特位数b,将接收窗口从左边界起始与超过的比特位数b相同位数的比特位作为移位后滑动窗口的右边界;其中,a、b为自然数;
优选地,移位模块63在滑动窗口的右边界移位的a个比特位中,将除滑动窗口的右边界对应的比特位之外其它的比特位标记为未接收到报文;如果与差值a相同位数的比特大于接收窗口的长度M,则将差值a设置为接收窗口的长度M;将滑动窗口内各比特位对应的序列号加上差值a后的序列号作为各比特位移位后对应的序列号。
图6所示装置的工作原理如图2所示的方法或其优选实施方法,这里不再赘述。
通过图6所示的装置,也能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
基于相同的发明构思,本发明实施例还提供了一种网络设备,该网络设备包括如图6所示的报文防重放装置。优选地,在具体应用中,该网络设备可以是路由器。
综上所述,根据本发明实施例的技术方案,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比,根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文,能够通过仅在接收窗口中循环移位滑动窗口来实现滑动窗口的滑动移位,以及通过循环移位的滑动窗口来过滤重放报文,能够降低移位滑动窗口的处理复杂度,降低系统开销,提高处理效率,从而能够解决现有技术中,通过顺序移位的方式移位滑动窗口进行报文防重放处理而存在的处理复杂、处理效率低的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种报文防重放方法,其特征在于,包括:
对于当前接收到的IPSec报文,将IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;
根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
2.根据权利要求1所述的方法,其特征在于,接收窗口和滑动窗口中的比特位与IPSec报文的序列号一一对应,并且接收窗口和滑动窗口中的比特位对应的报文序列号从左至右顺序递增;
根据对比结果在接收窗口中循环移位滑动窗口来过滤重放报文,具体包括:
如果IPSec报文的序列号处于滑动窗口对应的序列号区间之内,且之前未接收过该报文,则接收该报文,并将滑动窗口中该序列号对应的比特位标记为报文已接收,如果之前接收过该报文,则丢弃该报文;
如果IPSec报文的序列号小于滑动窗口对应的序列号区间,则丢弃该报文;
如果IPSec报文的序列号大于滑动窗口对应的序列号区间,且该报文通过了完整性检查,则接收该报文,并在接收窗口内从左至右循环移位滑动窗口,使移位后滑动窗口对应的最大序列号为该报文的序列号,根据该报文的序列号依次更新移位后滑动窗口的各比特位对应的序列号,并将滑动窗口中该报文序列号对应的比特位标记为报文已接收;如果该报文未通过完整性检查,则丢弃该报文。
3.根据权利要求2所述的方法,其特征在于,接收窗口的长度为M比特,M=2m,接收窗口中包括S个逻辑块,每个逻辑块的长度为T,T=2t,滑动窗口最多包括S-1个逻辑块,M、m、S、T、t均为自然数;
在接收窗口内从左至右循环移位滑动窗口,具体包括:
确定IPSec报文的序列号与滑动窗口对应的最大序列号之间的差值a,在接收窗口内从左向右将滑动窗口移动与该差值a相同位数的比特位;如果移位后滑动窗口的右边界超过接收窗口的右边界,确定超过的比特位数b,将接收窗口从左边界起始与超过的比特位数b相同位数的比特位作为移位后滑动窗口的右边界;其中,a、b为自然数。
4.根据权利要求3所述的方法,其特征在于,在接收窗口内从左向右将滑动窗口移动与差值a相同位数的比特位,还包括:
如果与差值a相同位数的比特大于接收窗口的长度M,则将差值a设置为接收窗口的长度M。
5.根据权利要求3所述的方法,其特征在于,根据该报文的序列号依次更新移位后滑动窗口的各比特位对应的序列号,具体包括:
将滑动窗口内各比特位对应的序列号加上差值a后的序列号作为各比特位移位后对应的序列号。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在滑动窗口的右边界移位的a个比特位中,将除滑动窗口的右边界对应的比特位之外其它的比特位标记为未接收到报文。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果滑动窗口的右边界移位后与移位前处于不同的逻辑块,在移位后滑动窗口的右边界所在逻辑块中,将滑动窗口右边界WT右侧的比特位标记为未接收到报文。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在移位后滑动窗口的左边界所在的逻辑块中,将滑动窗口的左边界左侧的比特位标记为不检测。
9.一种报文防重放装置,其特征在于,包括:
接收模块,用于接收IPSec报文;
对比模块,用于将所述接收模块当前接收到的IPSec报文的序列号与预设的接收窗口中的滑动窗口对应的序列号区间进行对比;
移位模块,用于根据所述对比模块的对比结果在接收窗口中循环移位滑动窗口来过滤重放报文。
10.根据权利要求9所述的装置,其特征在于,接收窗口和滑动窗口中的比特位与IPSec报文的序列号一一对应,并且接收窗口和滑动窗口中的比特位对应的报文序列号从左至右顺序递增;则,
所述移位模块,具体用于:
如果IPSec报文的序列号处于滑动窗口对应的序列号区间之内,且之前未接收过该报文,则接收该报文,并将滑动窗口中该序列号对应的比特位标记为报文已接收,如果之前接收过该报文,则丢弃该报文;
如果IPSec报文的序列号小于滑动窗口对应的序列号区间,则丢弃该报文;
如果IPSec报文的序列号大于滑动窗口对应的序列号区间,且该报文通过了完整性检查,则接收该报文,并在接收窗口内从左至右循环移位滑动窗口,使移位后滑动窗口对应的最大序列号为该报文的序列号,根据该报文的序列号依次更新移位后滑动窗口的各比特位对应的序列号,并将滑动窗口中该报文序列号对应的比特位标记为报文已接收;如果该报文未通过完整性检查,则丢弃该报文。
11.根据权利要求10所述的装置,其特征在于,接收窗口的长度为M比特,M=2m,接收窗口中包括S个逻辑块,每个逻辑块的长度为T,T=2t,滑动窗口最多包括S-1个逻辑块,M、m、S、T、t均为自然数;则,
所述移位模块,具体用于:
确定IPSec报文的序列号与滑动窗口对应的最大序列号之间的差值a,在接收窗口内从左向右将滑动窗口移动与该差值a相同位数的比特位;如果移位后滑动窗口的右边界超过接收窗口的右边界,确定超过的比特位数b,将接收窗口从左边界起始与超过的比特位数b相同位数的比特位作为移位后滑动窗口的右边界;其中,a、b为自然数。
12.根据权利要求11所述的装置,其特征在于,所述移位模块,还用于:
如果与差值a相同位数的比特大于接收窗口的长度M,则将差值a设置为接收窗口的长度M。
13.根据权利要求11所述的装置,其特征在于,所述移动模块,具体用于:
将滑动窗口内各比特位对应的序列号加上差值a后的序列号作为各比特位移位后对应的序列号。
14.根据权利要求11所述的装置,其特征在于,所述移位模块,还用于:
在滑动窗口的右边界移位的a个比特位中,将除滑动窗口的右边界对应的比特位之外其它的比特位标记为未接收到报文。
15.根据权利要求11所述的装置,其特征在于,所述移位模块,还用于:
如果滑动窗口的右边界移位后与移位前处于不同的逻辑块,在移位后滑动窗口的右边界所在逻辑块中,将滑动窗口右边界WT右侧的比特位标记为未接收到报文。
16.根据权利要求11所述的装置,其特征在于,所述移位模块,还用于:
在移位后滑动窗口的左边界所在的逻辑块中,将滑动窗口的左边界左侧的比特位标记为不检测。
17.一种网络设备,其特征在于,包括如权利要求9至16中任一项所述的报文防重放装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210267194.2A CN102769572B (zh) | 2012-07-30 | 2012-07-30 | 报文防重放方法及装置、网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210267194.2A CN102769572B (zh) | 2012-07-30 | 2012-07-30 | 报文防重放方法及装置、网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102769572A true CN102769572A (zh) | 2012-11-07 |
CN102769572B CN102769572B (zh) | 2014-12-24 |
Family
ID=47096826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210267194.2A Active CN102769572B (zh) | 2012-07-30 | 2012-07-30 | 报文防重放方法及装置、网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102769572B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791219A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 抗重放方法和装置 |
CN105791218A (zh) * | 2014-12-22 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 抗重放方法和装置 |
CN106034014A (zh) * | 2015-03-19 | 2016-10-19 | 中兴通讯股份有限公司 | 一种实现丢包请求重传的方法、接收装置和发送装置 |
CN106899606A (zh) * | 2017-03-16 | 2017-06-27 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN107113171A (zh) * | 2015-12-10 | 2017-08-29 | 深圳市大疆创新科技有限公司 | 安全通信系统、方法及装置 |
CN108322330A (zh) * | 2017-12-26 | 2018-07-24 | 成都卫士通信息产业股份有限公司 | 一种ipsec vpn序列号及抗重放窗口同步方法及设备 |
CN108334424A (zh) * | 2018-02-05 | 2018-07-27 | 北京博大光通物联科技股份有限公司 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
CN108683606A (zh) * | 2018-05-11 | 2018-10-19 | 迈普通信技术股份有限公司 | IPsec防重放的方法、装置、网络设备及可读存储介质 |
CN110233706A (zh) * | 2019-06-13 | 2019-09-13 | 北京奇艺世纪科技有限公司 | 一种重复数据包检测方法及装置 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
CN114598523A (zh) * | 2022-03-04 | 2022-06-07 | 昆高新芯微电子(江苏)有限公司 | 一种用于防御MACsec的重放窗口重放攻击的方法及装置 |
WO2023093381A1 (zh) * | 2021-11-26 | 2023-06-01 | 华为技术有限公司 | 报文防重放的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819560A (zh) * | 2006-03-14 | 2006-08-16 | 杭州华为三康技术有限公司 | 多单元发送时的报文序列号检测方法及装置 |
CN101471784A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种实现ipsec抗重放攻击的方法 |
CN101917294A (zh) * | 2010-08-24 | 2010-12-15 | 杭州华三通信技术有限公司 | 主备切换时更新防重放参数的方法和设备 |
US20120042096A1 (en) * | 2010-08-11 | 2012-02-16 | Lsi Corporation | Packet sequence number tracking for an anti-replay window |
-
2012
- 2012-07-30 CN CN201210267194.2A patent/CN102769572B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819560A (zh) * | 2006-03-14 | 2006-08-16 | 杭州华为三康技术有限公司 | 多单元发送时的报文序列号检测方法及装置 |
CN101471784A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种实现ipsec抗重放攻击的方法 |
US20120042096A1 (en) * | 2010-08-11 | 2012-02-16 | Lsi Corporation | Packet sequence number tracking for an anti-replay window |
CN101917294A (zh) * | 2010-08-24 | 2010-12-15 | 杭州华三通信技术有限公司 | 主备切换时更新防重放参数的方法和设备 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791218A (zh) * | 2014-12-22 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 抗重放方法和装置 |
CN105791219A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 抗重放方法和装置 |
CN105791219B (zh) * | 2014-12-22 | 2020-03-20 | 华为技术有限公司 | 抗重放方法和装置 |
CN105791218B (zh) * | 2014-12-22 | 2019-06-21 | 华为数字技术(苏州)有限公司 | 抗重放方法和装置 |
CN106034014A (zh) * | 2015-03-19 | 2016-10-19 | 中兴通讯股份有限公司 | 一种实现丢包请求重传的方法、接收装置和发送装置 |
CN107113171A (zh) * | 2015-12-10 | 2017-08-29 | 深圳市大疆创新科技有限公司 | 安全通信系统、方法及装置 |
US10833853B2 (en) | 2015-12-10 | 2020-11-10 | SZ DJI Technology Co., Ltd. | Method and device for secure communication |
CN106899606B (zh) * | 2017-03-16 | 2020-02-11 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN106899606A (zh) * | 2017-03-16 | 2017-06-27 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108322330A (zh) * | 2017-12-26 | 2018-07-24 | 成都卫士通信息产业股份有限公司 | 一种ipsec vpn序列号及抗重放窗口同步方法及设备 |
CN108322330B (zh) * | 2017-12-26 | 2021-03-02 | 成都卫士通信息产业股份有限公司 | 一种ipsec vpn序列号及抗重放窗口同步方法及设备 |
CN108334424B (zh) * | 2018-02-05 | 2020-11-10 | 北京博大光通物联科技股份有限公司 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
CN108334424A (zh) * | 2018-02-05 | 2018-07-27 | 北京博大光通物联科技股份有限公司 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
CN108683606A (zh) * | 2018-05-11 | 2018-10-19 | 迈普通信技术股份有限公司 | IPsec防重放的方法、装置、网络设备及可读存储介质 |
CN108683606B (zh) * | 2018-05-11 | 2021-10-08 | 迈普通信技术股份有限公司 | IPsec防重放的方法、装置、网络设备及可读存储介质 |
CN110233706A (zh) * | 2019-06-13 | 2019-09-13 | 北京奇艺世纪科技有限公司 | 一种重复数据包检测方法及装置 |
CN110233706B (zh) * | 2019-06-13 | 2022-02-08 | 北京奇艺世纪科技有限公司 | 一种重复数据包检测方法及装置 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
CN113746782B (zh) * | 2020-05-28 | 2022-06-10 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
WO2023093381A1 (zh) * | 2021-11-26 | 2023-06-01 | 华为技术有限公司 | 报文防重放的方法和装置 |
CN114598523A (zh) * | 2022-03-04 | 2022-06-07 | 昆高新芯微电子(江苏)有限公司 | 一种用于防御MACsec的重放窗口重放攻击的方法及装置 |
CN114598523B (zh) * | 2022-03-04 | 2024-08-20 | 昆高新芯微电子(江苏)有限公司 | 一种用于防御MACsec的重放窗口重放攻击的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102769572B (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102769572B (zh) | 报文防重放方法及装置、网络设备 | |
Mazurczyk et al. | Retransmission steganography and its detection | |
CN1148035C (zh) | 连接到互联网的移动通信系统中用户信息保密装置及方法 | |
US8837729B2 (en) | Method and apparatus for ensuring privacy in communications between parties | |
EP2106095A1 (en) | Methods and device for enforcing network access control utilizing secure packet tagging | |
CA2616153C (en) | Methods for secure and bandwidth efficient cryptographic synchronization | |
US20160021224A1 (en) | Stealth Packet Communications | |
CN111835708A (zh) | 一种特征信息分析方法及装置 | |
KR100839941B1 (ko) | IPSec 설정정보와 세션정보를 이용한 비정상IPSec 트래픽 제어 시스템 및 그 제어 방법 | |
CN103096302A (zh) | 一种加密方法、解密方法和相关装置 | |
CN107896223A (zh) | 一种数据处理方法及系统、数据采集系统及数据接收系统 | |
CN111797431B (zh) | 一种基于对称密钥体制的加密数据异常检测方法与系统 | |
CN107181716A (zh) | 一种基于国家商用密码算法的网络安全通信系统及方法 | |
CN105516062A (zh) | 一种实现L2TP over IPsec接入的方法 | |
Fraczek et al. | Stream control transmission protocol steganography | |
CN101945116A (zh) | 一种跨域视频数据安全交换方法 | |
CN103618726A (zh) | 一种基于https协议实现移动数据业务识别的方法 | |
CN107896222A (zh) | 一种数据处理方法及系统 | |
CN106878324A (zh) | 短信认证方法、短信认证服务器及终端 | |
CN106656914A (zh) | 防攻击数据传输方法及装置 | |
Zhang et al. | A systematic approach to formal analysis of QUIC handshake protocol using symbolic model checking | |
CN100583889C (zh) | 网络事件协议报文传输方法 | |
KR101705639B1 (ko) | 차량 네트워크 시스템에서의 메시지 송수신 방법 | |
Glass et al. | Insecurity in public-safety communications: APCO project 25 | |
Mazurczyk et al. | Steganography in handling oversized IP packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19# Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19# Patentee before: Fujian Xingwangruijie Network Co., Ltd. |