CN113746782A - 报文处理方法、装置及相关设备 - Google Patents

报文处理方法、装置及相关设备 Download PDF

Info

Publication number
CN113746782A
CN113746782A CN202010467811.8A CN202010467811A CN113746782A CN 113746782 A CN113746782 A CN 113746782A CN 202010467811 A CN202010467811 A CN 202010467811A CN 113746782 A CN113746782 A CN 113746782A
Authority
CN
China
Prior art keywords
replay
message
window
replay window
sequence number
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
Application number
CN202010467811.8A
Other languages
English (en)
Other versions
CN113746782B (zh
Inventor
梅树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010467811.8A priority Critical patent/CN113746782B/zh
Publication of CN113746782A publication Critical patent/CN113746782A/zh
Application granted granted Critical
Publication of CN113746782B publication Critical patent/CN113746782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Abstract

本申请提供了一种报文处理方法,该方法包括:网络设备接收第一报文,其中,第一报文中包括第一序列号,网络设备的防重放窗口保存有一个或者多个序列号;如果网络设备确定防重放窗口保存的一个或者多个序列号中不存在第一序列号、且防重放窗口中序列号的数量达到上限值,并且第一序列号大于防重放窗口保存的多个序列号中的最小值,则网络设备用第一序列号替换防重放窗口中的最小值并保存第一报文。通过上述防重放窗口的更新机制,能够减少因乱序报文引起的误判丢包问题。

Description

报文处理方法、装置及相关设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种报文处理方法、装置及相关设备。
背景技术
重放攻击的原理是攻击者窃取通信双方正常通信的数据包,然后向目的主机发送窃取的数据包,从而造成目的主机再次接收到此前已接收过的报文。通过重放攻击攻击者能够达到欺骗目的主机,冒充合法发送者与目的主机通信的目的。
互联网协议安全(internet protocol security,IPSec)通过滑动窗口机制来防止重放攻击。发送端在发送的报文中携带单调递增的序列号依,接收端设备维护一个以滑动方式更新的防重放窗口。接收端设备在接收到一个报文之后,根据报文中携带的序列号以及防重放窗口保存的序列号,确定接收到的报文是否是用于重放攻击的报文,进而确定是否丢弃接收到的报文。但是由于报文在传输过程中会出现乱序,即序列号大的报文可能会比序列号小的报文先到达接收端设备,当前防重放攻击的方法中,当接收端设备先接收到序列号大的乱序报文时,会导致后到达的序列号较小的报文被误认为是用于重放攻击的报文或过期报文而被丢弃。如何避免防重放攻击时的误判丢包成为一个广泛探讨的问题。
发明内容
本申请实施例公开了一种报文处理方法、装置及相关设备,能够在防重放的同时降低报文被错误丢弃的数量。
第一方面,本申请实施例提供了一种报文处理方法,该方法包括:网络设备接收第一报文,其中,第一报文中包括第一序列号,网络设备的防重放窗口保存有一个或者多个序列号,当所述防重放窗口保存多个序列号时,防重放窗口顺序保存上述多个序列号;如果网络设备确定防重放窗口保存的一个或者多个序列号中不存在第一序列号、且防重放窗口中序列号的数量达到上限值,并且第一序列号大于防重放窗口保存的多个序列号中的最小值,则网络设备用第一序列号替换防重放窗口中的最小值并保存第一报文。
网络设备在接收到上述第一报文之后,网络设备将第一报文中的第一序列号与防重放窗口中已经存在的序列号进行对比。如果防重放窗口中已经存在的序列号中不存在第一序列号,防重放窗口中序列号的数量达到的上限值,且第一序列号大于上述防重放窗口中序列号的最小值,则网络设备确定第一报文不是攻击者用于重放攻击的重放报文网络设备保存第一报文以获取报文中的数据。并且网络设备用第一报文携带的第一序列号替换防重放窗口中已经存在的序列号中的最小值,采用新接收到的报文的序列号替换防重放窗口中已有序列号的最小值,能够避免网络设备在接收到序列号较大的乱序报文后,根据乱序报文携带的较大的序列号滑动防重放窗口,使得防重放窗口的最小值大于未到达的报文的序列号,导致序列号较小的报文到达时被错误丢弃的问题,降低被错误丢弃的报文的数量。
在一种可能的实施方式中,上述方法还包括:网络设备接收第二报文,第二报文中包括第二序列号;如果网络设备确定防重放窗口保存的一个或多个序列号中不存在第二序列号、且防重放窗口中序列号的数量达到上限值且第二序列号小于防重放窗口保存的一个或多个序列号中的最小值,网络设备丢弃第二报文。
网络设备根据接收到的报文携带的序列号小于防重放窗口中已经存在的序列号的最小值,确定接收到的第二报文是用于重放攻击的报文或者是过期报文,网络设备丢弃第二报文,能够防止攻击者实施重放攻击。
在一种可能的实施方式中,上述方法还包括:网络设备接收第三报文,第三报文中包括第三序列号;如果网络设备确定防重放窗口保存的一个或多个序列号中不存在第三序列号、且防重放窗口中序列号的数量未达到上限值,网络设备保存第三序列号至防重放窗口中,并保存第三报文。
防重放窗口中序列号的数量未达到上限值时,说明接网络设备接收到发送端发送的报文的数量小于防重放窗口的大小,此时只要防重放窗口中不存在第三报文携带的第三序列号,网络设备就能够确定之前没有接收到携带第三序列号的报文,网络设备保存第三报文以获取第三报文中的数据,并将第三序列号保存至防重放窗口中,以防止攻击者发送携带第三序列号的报文实施重放攻击。
在一种可能的实施方式中,上述方法还包括:网络设备接收第四报文,第四报文中包括第四序列号;如果网络设备在确定防重放窗口保存的一个或多个序列号中存在第四序列号,网络设备确定第四报文为用于重放攻击的重放报文,网络设备丢弃第四报文,并不将第四序列号保存至防重放窗口,以防止重放攻击。
在一种可能的实施方式中,上述网络设备用所述第一序列号替换所述防重放窗口中的所述最小值,包括:
网络设备将防重放窗口位于最小值左侧的序列号向右滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最右侧;其中,最小值左侧的序列号的顺序保持不变,最小值右侧的序列号的顺序保持不变。
在一种可能的实施方式中,上述网络设备用所述第一序列号替换所述防重放窗口中的所述最小值,包括:
网络设备将防重放窗口位于最小值右侧的序列号向左滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最右侧;其中,最小值左侧的序列号的顺序保持不变,最小值右侧的序列号的顺序保持不变。
第二方面,本申请实施例提供一种报文处理装置,该装置包括:
接收模块,用于接收第一报文,其中,第一报文中包括第一序列号,报文处理装置的防重放窗口保存有一个或多个序列号,当所述防重放窗口保存多个序列号时,防重放窗口顺序保存所述多个序列号;
处理模块,用于在防重放窗口保存的一个或多个序列号中不存在所述第一序列号、且防重放窗口中序列号的数量达到上限值且第一序列号大于防重放窗口保存的多个序列号中的最小值时,用第一序列号替换防重放窗口中的最小值,并保存第一报文。
在一种可能的实现方式中,上述接收模块,还用于接收第二报文,第二报文中包括第二序列号;
上述处理模块,还用于在防重放窗口保存的一个或多个序列号中不存在第二序列号、且防重放窗口中序列号的数量达到上限值且第二序列号小于防重放窗口保存的一个或多个序列号中的最小值时,丢弃所述第二报文。
在一种可能的实现方式中,上述接收模块,还用于接收第三报文,第三报文中包括第三序列号;
上述处理模块,还用于在防重放窗口保存的一个或多个序列号中不存在第三序列号、且防重放窗口中序列号的数量未达到上限值时,保存第三序列号至防重放窗口中,并保存第三报文。
在一种可能的实现方式中,上述接收模块,还用于接收第四报文,第四报文中包括第四序列号;
上述处理模块,还用于在防重放窗口保存的一个或多个序列号中存在第四序列号时,丢弃第四报文。
在一种可能的实现方式中,上述处理模块用第一序列号替换防重放窗口中的最小值,具体用于:将防重放窗口中位于上述最小值左侧的序列号向右侧滑动一位,覆盖上述最小值,并将第一序列号保存至防重放窗口的最左侧。
在一种可能的实现方式中,上述处理模块用第一序列号替换防重放窗口中的最小值,具体用于:将防重放窗口中位于上述最小值右侧的序列号向左侧滑动一位,覆盖上述最小值,并将第一序列号保存至防重放窗口的最右侧。
第三方面,本申请实施例提供一种网络设备,包括处理器和存储器,存储器用于存储指令,处理器用于执行上述指令,当处理器执行上述指令时,执行如上述第一方面或第一方面任意可能的实现方式中所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
第五方面,本申请提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,使得计算机执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是一种防重放窗口的示意图;
图2是一种报文被错误丢弃的示意图;
图3是本申请实施例的一种可能的应用场景的示意图;
图4是本申请实施例的另一种可能的应用场景的示意图;
图5是本申请实施例提供的一种网络设备的结构示意图;
图6是本申请实施例提供的一种报文处理方法的流程示意图;
图7是本申请实施例提供的一种防重放窗口覆盖示意图;
图8是本申请实施例提供的一种报文处理装置的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
如图1所示,图1是一种防重放窗口的示意图,防重放窗口最左侧对应窗口起始位置的序列号M(当前防重放窗口中序列号的最小值),最右侧对应窗口终止位置的序列号M+N-1(当前防重放窗口中序列号的最大值),其中,N为防重放窗口的大小。当前接收端设备采用滑动防重放窗口的机制来检测重放报文。具体的,当接收端设备接收的报文的序列号i落在防重放窗口确定的区间[M,M+N-1]内,且携带该序列号的报文没有接收过,则接收端设备确定该报文不是重放报文,保存该报文并保持防重放窗口不变。当接收端设备接收的报文的序列号i大于防重放窗口中的最大值,且序列号i与最大值M+N-1的差值小于防重放窗口的大小N,则保存报文并将防重放窗口右移,使防重放窗口的最大值为序列号i,最小值为i-N+1。当接收端设备接收的报文的序列号i小于防重放窗口中的最小值,则接收端设备确定该报文为重放报文或过期报文,丢弃该报文。
但是上述防重放方法中,防重放窗口中的最小值是根据接收到的报文的最大序列号与防重放窗口的大小确定的。如果接收端设备接收到序列号为j的乱序报文,j大于当前防重放窗口的最大值M+N-1,且j与最大值M+N-1的差值小于N,则防重放窗口会向右滑动,防重放窗口的最小值会更新为j-N+1,乱序报文使防重放窗口滑动后,会导致序列号小于j-N+1的报文被误认为是重放报文或过期报文而被丢弃。示例性的,如图2所示,图2是一种报文被错误丢弃的示意图。防重放窗口的大小为64,初始时刻防重放窗口中的最小值为1,最大值为64。如果在某一时刻,接收端设备已经接收到序列号为1至64的报文中的61个报文,序列号为61、62与63的报文还没有接收到。此时接收端设备接收到序列号为126的乱序报文,由于序列号126大于当前防重放窗口的最大值64,且126与64的差值62小于窗口大小64,则防重放窗口会向右滑动,防重放窗口的最小值会更新为63,最大值更新为126。防重放窗口中序列号确定的区间更新为[63,126]之后,接收端设备在接收到序列号为61或序列号为62的报文时,由于报文的序列号小于防重放窗口中的最小值63,接收端设备会将序列号为61和序列号为62的报文丢弃。
为了解决上述问题,本申请实施例提供一种报文处理方法,该方法基于一种新的防重放窗口的更新机制。以接收端设备或者防火墙设备为例的中间设备在接收到一个报文(将该报文中包含的序列号记为“Seq-num”)后,如果防重放窗口保存的一个或多个序列号中不存在Seq-num、且防重放窗口中序列号的数量达到上限值、且Seq-num大于防重放窗口保存的多个序列号中的最小值,用Seq-num替换防重放窗口中的最小值。通过这种防重放窗口的更新机制,使得防重放窗口中保存的序列号不再是仅根据接收到的最大序列号和窗口大小决定的,能够减少因乱序报文引起的误判丢包问题。
图3是本申请实施例的一种可能的应用场景的示意图,图3中的防火墙设备执行本申请实施例提供的报文处理方法。图3中,主机位于以局域网为例的受保护网络中,在受保护网络和互联网(Internet)之间部署有安全防护设备,例如防火墙、安全网关等。在本申请实施例中以防火墙为例进行描述。受保护网络中的主机通过防火墙设备与Internet连接,攻击者能够截取Internet发送给主机的报文对主机进行重放攻击。当前防火墙设备通过上述滑动防重放窗口的机制检测重放报文的方法,在网络中出现乱序报文时可能会导致没有接收到的报文被误认为是重放报文或过期报文而被丢弃。本申请实施例中,若防火墙设备中防重放窗口保存的序列号的数量没有达到上限值,防火墙设备接收到第一报文,确定防重放窗口保存的序列号中不存在第一报文中携带的第一序列号,则将第一序列号添加至防重放窗口中,并保存第一报文。若防火墙设备中防重放窗口保存的序列号的数量达到上限值,防火墙设备接收到第二报文,确定防重放窗口保存的序列号中不存在第二报文中携带的第二序列号,且第二序列号大于防重放窗口保存的序列号的最小值时,防火墙设备用第二序列号替换防重放窗口保存的序列号的最小值。防火墙设备采用新接收到的报文携带的序列号替换当前防重放窗口中最小序列号的方法,能够实现防止重放攻击,同时避免乱序报文引起的报文被错误丢弃的问题。
图4是本申请实施例的另一种可能的应用场景的示意图。图4中的主机执行本申请实施例提供的报文处理方法。换句话说,在图3所示的网络场景中,在局域网与互联网之间未部署防火墙设备,或者局域网与互联网之间虽然部署有防火墙但防火墙设备未执行本发明实施例提供的报文处理方法时,由主机执行本申请实施例提供的报文处理方法。
如图5所示,图5是本申请实施例提供的一种网络设备的结构示意图,该网络设备500包括处理器510、通信接口520以及存储器530,处理器510、通信接口520以及存储器530通过总线540相互连接。通信接口520用于接收和发送数据,存储器530用于存储数据和指令,网络设备500通过通信接口520接收到报文后,处理器510调用存储器530中存储的指令实现本申请实施例提供的报文处理方法。需要说明的是,网络设备500可能包含相比于图5展示的更多或者更少的组件,或者有不同的组件配置方式,本申请实施例不做具体限定。
下面对本申请时实施例提供的一种报文处理方法进行详细介绍,需要说明的是,执行本申请实施例提供的报文处理方法的网络设备既可能是图3中的防火墙设备,也可能是图4中的主机。如图6所示,该报文处理方法包括步骤S601至S606。
S601、接收第一报文。
本申请实施例中,网络设备在接收第一报文之前,会在网络设备中创建防重放窗口,防重放窗口用于保存接收到的报文中携带的序列号。其中,防重放窗口的窗口大小始终为固定值M,即防重放窗口只能保存M个数值。M的取值范围是大于1的自然数。例如M的值可能是64,可能是100、可能是150等,本申请实施例不做具体限制。
本申请实施例中,网络设备顺序保存接收到的多个报文中各个报文携带的序列号。例如,防重放窗口的窗口大小M为64,网络设备将接收到的第一个报文携带的序列号保存至防重放窗口左侧第一个位置,将接收到的第二个报文携带的序列号保存至防重放窗口左侧的第二个位置,以此类推,将接收到的第64个报文的携带的序列号保存至防重放窗口的最右侧位置。在防重放窗口中保存64个序列号之后,网络设备的防重放窗口采用窗口覆盖机制更新防重放窗口中保存的序列号。具体的,当防重放窗口中的序列号的数量等于窗口大小M时,若网络设备接收到的报文的序列号与防重放窗口中保存的序列号都不相同,且网络设备接收到的报文的序列号大于防重放窗口中已存在的序列号的最小值,则网络设备用该报文的序列号覆盖防重放窗口中已经存在的序列号中的最小值。
示例性的,防重放窗口的大小为64,当防重放窗口中序列号的数量小于64时,网络设备接收到的报文中的序列号62,且防重放窗口中不存在序列号62,则网络设备将序列号62写入防重放窗口中。当防重放窗口中序列号的数量等于64时,且防重放窗口中是2至65这64个序列号,若此时网络设备接收到序列号为130的乱序报文,则网络设备用序列号130覆盖序列号2,即用序列号130代替序列号2,防重放窗口中的序列号更新为3至65这63个数以及130。
需要说明的是,发送端设备发送的报文采用认证头(authentication header,AH)封装或者安全载荷协议(encapsulating security payload,ESP)封装,报文中携带有序列号。上述第一报文可能是合法发送端设备发送的报文,也可能是攻击者发送的用于重放攻击的重放报文,第一报文中携带的序列号为第一序列号。
S602、获取第一报文中携带的第一序列号和防重放窗口保存的序列号,确定防重放窗口保存的序列号中是否存在第一序列号,若防重放窗口保存的序列号中存在第一序列号,执行S603,若防重放窗口保存的序列号中不存在第一序列号,执行S604。
网络设备在接收到第一报文之后,获取防重放窗口中保存的一个或者多个序列号,并读取第一报文中的第一序列号,确定防重放窗口中保存的一个或者多个序列号中是否存在第一报文携带的第一序列号。若网络设备确定防重放窗口中已经存在第一序列号,则网络设备执行S603中所描述的操作;若网络设备确定防重放窗口中不存在第一序列号,则网络设备执行S604中所描述的操作。
S603、如果防重放窗口中存在第一序列号,丢弃第一报文。
网络设备在获取到第一报文携带的第一序列号以及防重放窗口保存的一个或者多个序列号之后,将第一序列号与防重放窗口保存的序列号进行对比,如果网络设备确定防重放窗口中存在第一序列号,网络设备确定在接收到第一报文之前已经接收过序列号为第一序列号的报文,网络设备确定第一报文是攻击者用于重放攻击的重放报文并丢弃第一报文。
示例性的,防重放窗口的大小为64,网络设备接收到的第一报文中的序列号20,如果防重放窗口中已存在序列号20,此时无论防重放窗口中序列号的数量是否达到64,网络设备均认为第一报文为攻击者用于重放攻击的重放报文,网络设备会丢弃第一报文。
S604、如果防重放窗口中不存在第一序列号,确定防重放窗口保存的序列号的数量是否达到上限值,若上限值,则执行S605,若未达到上限值,则执行S606。
其中,防重放窗口中序列号的数量的上限值为防重放窗口的大小M。网络设备在接收到第一报文,确定防重放窗口中不存在第一报文中携带的第一序列号时,根据防重放窗口中序列号的数量、防重放窗口中已经存在的序列号以及第一序列号,确定是否保存第一报文以及是否保存第一序列号至防重放窗口。具体的,网络设备获取防重放窗口保存的一个或多个序列号,首先确定防重放窗口中已经存在的序列号的数量,当网络设备确定防重放窗口中序列号的数量达到上限值M时,执行S605中所描述的操作,当网络设备确定防重放窗口中序列号的数量没有达到上限值M时,执行S606中所描述的操作。
S605、在防重放窗口中序列号的数量达到上限值时,如果第一序列号大于防重放窗口中多个序列号的最小值,用第一序列号替换多个序列号中的最小值并保存第一报文;如果第一序列号小于防重放窗口中多个序列号的最小值,丢弃第一报文。
网络设备在确定防重放窗口中序列号的数量达到上限值M的情况下,根据防重放窗口中已存在的多个序列号与第一序列号之间的关系,确定是否保存第一序列号至防重放窗口以及是否保存第一报文。具体的,网络设备在获取到第一序列号以及防重放窗口中保存的多个序列号之后,将第一序列号与防重放窗口中的多个序列号进行对比。网络设备在确定防重放窗口中不存在第一序列号时,网络设备确定防重放窗口中多个序列号的最小值,将第一序列号与防重放窗口中序列号的最小值进行比较。若第一序列号大于防重放窗口中序列号的最小值,则网络设备确定在接收到第一报文之前没有接收到携带第一序列号的报文,网络设备确定第一报文是之前没有接收过的合法的报文,网络设备保存第一报文,以获取第一报文中的数据。同时,网络设备用第一报文中的第一序列号替换防重放窗口中多个序列号中的最小值,更新防重放窗口中的序列号。
若第一序列号小于防重放窗口中序列号的最小值,则网络设备确定第一报文为过期报文,或者在接收到第一报文之前接收到携带第一序列号的报文,第一报文为攻击者发送的用于重放攻击的重放报文,网络设备丢弃第一报文。
示例性的,网络设备的防重放窗口的大小为64,防重放窗口中序列号的数量已经为64,且防重放滑动窗口中的64个序列号为36至98以及序列号为100。如果网络设备接收到的第一报文中的序列号为200,网络设备确定防重放窗口中不存在序列号200,且序列号200大于防重放窗口中序列号的最小值36,则网络设备用序列号200替换序列号36,并保存第一报文。如果网络设备接收到的第一报文中的序列号为99,网络设备确定防重放窗口中不存在序列号99,且序列号99大于防重放窗口中序列号的最小值36,则网络设备用序列号99替换序列号36,并保存第一报文。如果网络设备接收到的第一报文中的序列号为34,网络设备确定防重放窗口中不存在序列号34,但序列号34小于防重放窗口中序列号的最小值36,则网络设备丢弃第一报文。
本申请实施例中,网络设备在使用第一序列号替换防滑动窗口中的最小值时,可能将最小值左侧的一个或者多个序列号向右移动一位,即删除最小值,最小值左侧的序列号各自向右移动一位,占据各自原来位置右侧的位置,然后将第一序列号保存至防重放窗口的最左侧位置。网络设备也可能删除最小值,将最小值右侧的一个或者多个序列号向左移动一位,即最小值右侧的序列号各自向左移动一位,占据各自原来位置左侧的位置。然后将第一序列号保存至防重放窗口的最右侧位置。当最小值位于防重放窗口最左侧或者最右侧的位置时,直接用第一序列号替换最小值。示例性的,如图7所示,图7是本申请实施例提供的一种防重放窗口覆盖机制示意图。防重放窗口的大小为64,64个序列号为36至99,其中序列号为37和序列号为38的报文先于序列号为36的报文到达网络设备,因此,序列号37和38在防重放窗口中位于序列号36的左侧。当网络设备接收到序列号为100的报文且确定需要将序列号100保存至防重放窗口时,可能将36左侧的37和38各自向右移动一位,然后将序列号100保存至防重放窗口的最左侧。网络设备也可能将36右侧的61个序列号各自向左侧移动一位,然后将序列号100保存至防重放窗口的最右侧。需要说明的是,当采用“向右移动”的更新方案时,删除最小值并将最小值左侧的序列号向右滑动一位之后,原最小值右侧的序列号保持不变。当采用“向左移动”的更新方案时,删除最小值并将最小值右侧的序列号向左滑动一位之后,原最小值左侧的序列号的顺序保持不变。
S606、如果防重放窗口中序列号的数量没有达到上限值,保存第一序列号至防重放窗口中,并保存第一报文。
网络设备在确定防重放窗口中序列号的数量没有达到上限值,且防重放窗口中多个序列号中不存在第一序列号,则网络设备确定在接收到第一报文之前没有接收到携带第一序列号的报文,网络设备确定第一报文是之前没有接收过的合法的报文,网络设备保存第一报文,以获取第一报文中的数据。同时,网络设备保存第一序列号至防重放窗口中,更新防重放窗口中的序列号。
需要说明的是,附图6仅仅给出了一种可能的报文处理方法的流程示意图。事实上,还可能存在多种等同的实施例能够实现相同的技术效果。例如在一种可能的等同的实施例中,先执行附图6中步骤S604(确定防重放窗口保存的序列号的数量是否达到上限值),再执行附图6中步骤S602(确定防重放窗口保存的序列号中是否存在第一序列号)。即步骤S602和步骤S604的执行顺序交换。总之,对于一个接收到的携带第一序列号的报文而言,只要在满足与图6相同的条件下,执行相同的操作即可。即,在满足“防重放窗口保存的一个或多个序列号中不存在所述第一序列号、且所述防重放窗口中序列号的数量达到上限值、且所述第一序列号大于所述防重放窗口保存的多个序列号中的最小值”的条件下,执行步骤S605的操作即可。
下面以一个具体的示例对本申请实施例提供的报文处理方法进行详细说明。以网络设备的防重放窗口大小为64为例。网络设备接收到第一报文之后,获取第一报文中携带的第一序列号。网络设备确定防重放窗口中保存的序列号中不存在第一序列号,防重放窗口保存的序列号的数量为64,并且第一序列号大于防重放窗口保存的64个序列号中的最小值,则网络设备确定第一报文是之前没有接收到的报文,网络设备将防重放窗口中最小值左侧的序列号向右滑动一位,然后将第一序列号保存至防重放窗口的最左侧,并保存第一报文。
如果网络设备在将第一序列号保存至防重放窗口之后,接收到第二报文,网络设备获取第二报文中携带的第二序列号。网络设备确定防重放窗口中保存的序列号中不存在第二序列号,防重放窗口保存的序列号的数量为64,并且第二序列号小于防重放窗口保存的64个序列号中的最小值,则网络设备确定第二报文是过期报文,网络设备会丢弃第二报文。
如果网络设备在接收到第一报文之前接收到第三报文,网络设备获取第三报文中携带的第三序列号。网络设备确定防重放窗口中保存的序列号中不存在第三序列号,并且防重放窗口保存的序列号的数量小于64个,则网络设备将第三序列号保存至防重放窗口中,并保存第三报文。
如果网络设备在将第三序列号保存至防重放窗口之后,接收到第四报文,网络设备获取第四报文中携带的第四序列号。网络设备确定防重放窗口中保存的序列号中存在第四序列号,则无论防重放窗口中的序列号的数量是否达到64个,网络设备确定第四报文为重放报文,并丢弃第四报文。
上文中结合图1至图7详细描述了根据本申请实施例所提供的报文处理方法,下面介绍本申请实施例所提供的报文处理相关装置与设备。参见图8,图8是本申请实施例提供的一种报文处理装置的结构示意图,该报文处理装置700包括:接收模块710和处理模块720,其中,
接收模块710,用于接收第一报文,该第一报文中包括第一序列号,其中,报文处理装置的防重放窗口保存有一个或多个序列号,当所述防重放窗口保存多个序列号时,所述防重放窗口顺序保存所述一个或多个序列号。处理模块720,用于在防重放窗口保存的一个或多个序列号中不存在上述第一序列号、且防重放窗口中序列号的数量达到上限值且第一序列号大于防重放窗口保存的多个序列号中的最小值时,用所述第一序列号替换所述防重放窗口中的所述最小值,并保存所述第一报文。具体的,处理模块720对第一报文的处理方法参照上述方法实施例中附图6中步骤S605的描述,关于防重放窗口中序列号的数量达到上限值,且第一序列号大于防重放窗口中多个序列号的最小值时,网络设备对第一报文的处理方式,在此不再赘述。
可选地,接收模块710,还用于接收第二报文,该第二报文中包括第二序列号。处理模块720,还用于在防重放窗口保存的一个或多个序列号中不存在第二序列号、且防重放窗口中序列号的数量达到上限值且第二序列号小于防重放窗口中多个序列号中的最小值时,丢弃所述第二报文。处理模块720对第二报文的处理方法参照上述方法实施例中附图6中步骤S605中第一序列号小于防重放窗口中多个序列号的最小值时,网络设备对第一报文的处理方式,在此不再赘述。
可选地,接收模块710,还用于接收第三报文,该第三报文中包括第三序列号。处理模块720,还用于在防重放窗口保存的一个或多个序列号中不存在所述第三序列号、且防重放窗口中序列号的数量未达到上限值时,保存第三序列号至所述防重放窗口中,并保存第三报文。处理模块720对第三报文的处理方法参照上述方法实施例中附图6中步骤S606中,网络设备对第一报文的处理方式,在此不再赘述。
可选地,接收模块710,还用于接收第四报文,该第四报文中包括第四序列号。处理模块720,还用于在防重放窗口保存的一个或多个序列号中存在第四序列号时,丢弃所述第四报文。处理模块720对第三报文的处理方法参照上述方法实施例中附图6中步骤S603中,网络设备对第一报文的处理方式,在此不再赘述。
具体的,上述报文处理装置700中接收模块710或者处理模块720实现报文处理方法参照上述方法实施例中的操作,在此不再赘述。
参见图5,图5是本申请实施例提供的一种网络设备的结构示意图,该网络设备500包括处理器510、通信接口520以及存储器530,处理器510、通信接口520以及存储器530通过总线540相互连接。其中,
处理器510用于实现上述处理模块720执行的操作,处理器510执行各种操作的具体实现参照上述方法实施例中以网络设备为执行主体的具体操作。例如处理器510用于执行上述图6中S602至S606的操作,在此不再赘述。
处理器510可能有多种具体实现形式,例如处理器510可能是中央处理器(centralprocessing unit,CPU)或图像处理器(graphics processing unit,GPU),处理器510还可能是单核处理器或多核处理器。处理器510可能由CPU和硬件芯片的组合。上述硬件芯片可能是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或ASIC与PLD组合。上述PLD可能是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或通用阵列逻辑(generic array logic,GAL)。处理器510也可能单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。
通信接口520可能是有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可能是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可能是蜂窝网络接口或使用无线局域网接口等。本申请实施例中通信接口520具体用于执行上述S601中接收报文等操作。
存储器530可能是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器530也可能是易失性存储器,易失性存储器可能是随机存取存储器(random access memory,RAM),用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器530用于存储指令和数据,以便于处理器510调用存储器530中存储的指令执行上述方法实施例中实现报文处理的操作步骤。此外,网络设备500可能包含相比于图5展示的更多或者更少的组件,或者有不同的组件配置方式。
总线540可能是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线540可能分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体地,上述网络设备500执行各种操作的具体实现可参照上述方法实施例中S601至S606执行的具体操作,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当指令在处理器上运行时,能够实现上述方法实施例中的方法步骤,所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例的具体操作,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,参见其它实施例的相关描述。
上述实施例,可能全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可能全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可能为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令能够存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令能够从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可能是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可能是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可能是固态硬盘(solid state drive,SSD)。
本申请实施例方法中的步骤能够根据实际需要进行顺序调整、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种报文处理方法,其特征在于,所述方法包括:
网络设备接收第一报文,所述第一报文中包括第一序列号,其中,所述网络设备的防重放窗口保存有一个或多个序列号,当所述防重放窗口保存多个序列号时,所述防重放窗口顺序保存所述多个序列号;
如果所述防重放窗口保存的一个或多个序列号中不存在所述第一序列号、且所述防重放窗口中序列号的数量达到上限值、且所述第一序列号大于所述防重放窗口保存的多个序列号中的最小值,所述网络设备用所述第一序列号替换所述防重放窗口中的所述最小值,并保存所述第一报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第二报文,所述第二报文中包括第二序列号;
如果所述防重放窗口保存的一个或多个序列号中不存在所述第二序列号、且所述防重放窗口中序列号的数量达到上限值、且所述第二序列号小于所述防重放窗口保存的多个序列号中的最小值,所述网络设备丢弃所述第二报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第三报文,所述第三报文中包括第三序列号;
如果所述防重放窗口保存的一个或多个序列号中不存在所述第三序列号且所述防重放窗口中序列号的数量未达到上限值,所述网络设备保存所述第三序列号至所述防重放窗口中,并保存所述第三报文。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第四报文,所述第四报文中包括第四序列号;
如果所述防重放窗口保存的一个或多个序列号中存在所述第四序列号,所述网络设备丢弃所述第四报文。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述网络设备用所述第一序列号替换所述防重放窗口中的所述最小值,包括:
所述网络设备将所述防重放窗口中位于所述最小值左侧的序列号向右滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最左侧。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述网络设备用所述第一序列号替换所述防重放窗口中的所述最小值,包括:
所述网络设备将所述防重放窗口位于所述最小值右侧的序列号向左滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最右侧。
7.一种报文处理装置,其特征在于,所述装置包括:
接收模块,用于接收第一报文,所述第一报文中包括第一序列号,其中,所述报文处理装置的防重放窗口保存有一个或多个序列号,当所述防重放窗口保存多个序列号时,所述防重放窗口顺序保存所述多个序列号;
处理模块,用于在所述防重放窗口保存的一个或多个序列号中不存在所述第一序列号、且所述防重放窗口中序列号的数量达到上限值、且所述第一序列号大于所述防重放窗口保存的多个序列号中的最小值时,用所述第一序列号替换所述防重放窗口中的所述最小值,并保存所述第一报文。
8.根据权利要求7所述的装置,其特征在于,
所述接收模块,还用于接收第二报文,所述第二报文中包括第二序列号;
所述处理模块,还用于在所述防重放窗口保存的一个或多个序列号中不存在所述第二序列号、且所述防重放窗口中序列号的数量达到上限值、且所述第二序列号小于所述防重放窗口保存的多个序列号中的最小值时,丢弃所述第二报文。
9.根据权利要求7或8所述的装置,其特征在于,
所述接收模块,还用于接收第三报文,所述第三报文中包括第三序列号;
所述处理模块,还用于在所述防重放窗口保存的一个或多个序列号中不存在所述第三序列号且所述防重放窗口中序列号的数量未达到上限值时,保存所述第三序列号至所述防重放窗口中,并保存所述第三报文。
10.根据权利要求7至9任一项所述的装置,其特征在于,
所述接收模块,接收第四报文,所述第四报文中包括第四序列号;
所述处理模块,还用于在所述防重放窗口保存的一个或多个序列号中存在所述第四序列号时,丢弃所述第四报文。
11.根据权利要求7至10任一项所述的装置,其特征在于,所述处理模块具体用于:
将所述防重放窗口中位于所述最小值左侧的序列号向右侧滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最左侧。
12.根据权利要求7至10任一项所述的装置,其特征在于,所述处理模块具体用于:
将所述防重放窗口中位于所述最小值右侧的序列号向左侧滑动一位,覆盖所述最小值,并将所述第一序列号保存至所述防重放窗口的最右侧。
13.一种网络设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在网络设备上运行时执行如权利要求1至6任一项所述的方法。
CN202010467811.8A 2020-05-28 2020-05-28 报文处理方法、装置及相关设备 Active CN113746782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010467811.8A CN113746782B (zh) 2020-05-28 2020-05-28 报文处理方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010467811.8A CN113746782B (zh) 2020-05-28 2020-05-28 报文处理方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN113746782A true CN113746782A (zh) 2021-12-03
CN113746782B CN113746782B (zh) 2022-06-10

Family

ID=78724032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010467811.8A Active CN113746782B (zh) 2020-05-28 2020-05-28 报文处理方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN113746782B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205256A (zh) * 2021-12-07 2022-03-18 苏州盛科通信股份有限公司 基于twamp协议连续测量网络性能的方法、装置和存储介质
CN114826975A (zh) * 2022-06-27 2022-07-29 天津天睿科技有限公司 数据传输的优化方法、控制装置、及存储介质
CN116155477A (zh) * 2023-04-18 2023-05-23 湖北省楚天云有限公司 一种基于动态滑动窗口的IPsec抗重放方法及系统
WO2023165134A1 (zh) * 2022-03-03 2023-09-07 中兴通讯股份有限公司 报文处理方法、装置及计算机可读存储介质
WO2024016322A1 (en) * 2022-07-22 2024-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and communication device for communication security

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243669A (zh) * 2006-02-09 2008-08-13 三星电子株式会社 在因特网协议安全中更新错误自动修正窗口的方法和装置
CN101471784A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 一种实现ipsec抗重放攻击的方法
CN102769572A (zh) * 2012-07-30 2012-11-07 福建星网锐捷网络有限公司 报文防重放方法及装置、网络设备
CN103095563A (zh) * 2011-11-01 2013-05-08 中兴通讯股份有限公司 一种报文处理方法及系统
US20130269022A1 (en) * 2011-04-19 2013-10-10 Futurewei Technologies, Inc. Method and Apparatus for Fast Check and Update of Anti-Replay Window Without Bit-Shifting in Internet Protocol Security
CN104348711A (zh) * 2013-08-07 2015-02-11 三星Sds株式会社 消息接收装置及方法
CN104935597A (zh) * 2015-06-17 2015-09-23 杭州华三通信技术有限公司 防重放窗口控制方法以及装置
CN105791219A (zh) * 2014-12-22 2016-07-20 华为技术有限公司 抗重放方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243669A (zh) * 2006-02-09 2008-08-13 三星电子株式会社 在因特网协议安全中更新错误自动修正窗口的方法和装置
US20080295163A1 (en) * 2006-02-09 2008-11-27 Song-Min Kang Method and Apparatus for Updating Anti-Replay Window in Ipsec
CN101471784A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 一种实现ipsec抗重放攻击的方法
US20130269022A1 (en) * 2011-04-19 2013-10-10 Futurewei Technologies, Inc. Method and Apparatus for Fast Check and Update of Anti-Replay Window Without Bit-Shifting in Internet Protocol Security
CN103095563A (zh) * 2011-11-01 2013-05-08 中兴通讯股份有限公司 一种报文处理方法及系统
CN102769572A (zh) * 2012-07-30 2012-11-07 福建星网锐捷网络有限公司 报文防重放方法及装置、网络设备
CN104348711A (zh) * 2013-08-07 2015-02-11 三星Sds株式会社 消息接收装置及方法
CN105791219A (zh) * 2014-12-22 2016-07-20 华为技术有限公司 抗重放方法和装置
CN104935597A (zh) * 2015-06-17 2015-09-23 杭州华三通信技术有限公司 防重放窗口控制方法以及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. SRISKANDARAJA等: ""Investigating the use of scattering coefficients for replay attack detection"", 《017 ASIA-PACIFIC SIGNAL AND INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE (APSIPA ASC)》 *
吴亚铭等: ""一种IPsec抗重放技术在VPN隔离网关中的应用方法"", 《通信技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205256A (zh) * 2021-12-07 2022-03-18 苏州盛科通信股份有限公司 基于twamp协议连续测量网络性能的方法、装置和存储介质
WO2023165134A1 (zh) * 2022-03-03 2023-09-07 中兴通讯股份有限公司 报文处理方法、装置及计算机可读存储介质
CN114826975A (zh) * 2022-06-27 2022-07-29 天津天睿科技有限公司 数据传输的优化方法、控制装置、及存储介质
CN114826975B (zh) * 2022-06-27 2022-09-27 天津天睿科技有限公司 数据传输的优化方法、控制装置、及存储介质
WO2024016322A1 (en) * 2022-07-22 2024-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and communication device for communication security
CN116155477A (zh) * 2023-04-18 2023-05-23 湖北省楚天云有限公司 一种基于动态滑动窗口的IPsec抗重放方法及系统
CN116155477B (zh) * 2023-04-18 2023-07-18 湖北省楚天云有限公司 一种基于动态滑动窗口的IPsec抗重放方法及系统

Also Published As

Publication number Publication date
CN113746782B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN113746782B (zh) 报文处理方法、装置及相关设备
US11509534B2 (en) Collection of error packet information for network policy enforcement
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US9125130B2 (en) Blacklisting based on a traffic rule violation
US11388140B1 (en) Apparatus, system, and method for applying firewall rules at dynamic offsets within packets in kernel space
EP3633937B1 (en) Packet transmission method and network device
CN109936514B (zh) 一种报文处理方法和装置
CN106685827B (zh) 一种下行报文的转发方法及ap设备
CN110177010B (zh) 一种链路切换方法及装置
US8438641B2 (en) Security protocol processing for anti-replay protection
CN112165460B (zh) 流量检测方法、装置、计算机设备和存储介质
EP3832960A1 (en) Establishment of fast forwarding table
US20220264426A1 (en) Selectively rerouting network traffic in a fifth generation (5g) or other next generation network
WO2022068744A1 (zh) 获取报文头信息、生成报文的方法、设备及存储介质
CN112995809B (zh) Fc交换机的控制方法、装置、fc交换机和存储介质
CN108282454B (zh) 用于使用内联模式匹配加速安全检查的装置、系统和方法
KR102420610B1 (ko) 다층 캐싱 전략을 이용하는 패킷 데이터 처리 방법 및 이를 사용하는 전자 장치
CN113498600A (zh) 一种基于PCIe的数据传输方法及装置
CN109995603B (zh) 一种Tag模型下丢包测量的方法、装置及电子设备
US10917502B2 (en) Method for using metadata in internet protocol packets
US10992591B1 (en) Apparatus, system, and method for discovering path maximum transmission units
CN110289979B (zh) 桥接器及网络的管理方法
CN107483334B (zh) 一种报文转发的方法及装置
US20190245930A1 (en) Delayed proxy-less network address translation decision based on application payload
US8655986B2 (en) Data path processing

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