CN114567450A - 一种协议报文处理方法及装置 - Google Patents
一种协议报文处理方法及装置 Download PDFInfo
- Publication number
- CN114567450A CN114567450A CN202011356842.2A CN202011356842A CN114567450A CN 114567450 A CN114567450 A CN 114567450A CN 202011356842 A CN202011356842 A CN 202011356842A CN 114567450 A CN114567450 A CN 114567450A
- Authority
- CN
- China
- Prior art keywords
- message
- protocol
- communication device
- packet
- check information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 222
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 400
- 238000012795 verification Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 42
- 101150115300 MAC1 gene Proteins 0.000 description 42
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 14
- 238000005336 cracking Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000009789 rate limiting process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
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
本申请实施例公开了一种协议报文处理方法,协议报文的发送发和协议报文的接收方可以预先协商对协议报文进行验证的消息认证码。协议报文的发送方在发送协议报文时,可以将该消息认证码携带在协议报文中,协议报文的接收方接收到协议报文之后,可以根据该协议报文中的消息认证码对协议报文的合法性进行验证,从而确定协议报文的合法性。在一个示例中,若协议报文的接收方确定协议报文非法,则协议报文接收方的控制面装置可以不再对该非法协议报文进行处理,从而避免非法协议报文占用控制面装置的数据处理资源。
Description
技术领域
本申请涉及通信领域,尤其涉及一种协议报文处理方法及装置。
背景技术
网络设备的控制面(control plane,CP)装置例如中央处理器(centralprocessing unit,CPU)可以处理协议报文。若网络黑客向网络设备发送大量的非法协议报文,则控制面装置处理该非法协议报文会占用控制面装置的大量数据处理资源,从而影响控制面装置处理合法协议报文以及其它业务,从而影响网络设备的性能,甚至使得网络设备拒绝服务(denial of service,DOS)。
因此,亟需一种方案,可以解决上述问题。
发明内容
本申请实施例提供了一种协议报文处理方法及装置,可以避免大量非法协议报文占用控制面装置的数据处理资源。
第一方面,本申请实施例提供了一种协议报文处理方法,该方法可以由第一通信装置执行。在一个示例中,第一通信装置可以获取第一协议报文,第一协议报文中包括能够验证第一协议报文的合法性的第一校验信息,该第一校验信息包括用于生成第一消息认证码(message authentication code,MAC)的第一密钥。第一通信装置获取第一协议报文之后,可以转发所述第一协议报文。由于第一协议报文中包括能够验证第一协议报文的合法性的第一校验信息,因此,接收到第一协议报文的通信装置例如第二通信装置可以利用所述第一校验信息确定所述第一协议报文的合法性。在一个示例中,第二通信装置在确定第一协议报文非法时,可以不再将第一协议报文上送控制面装置处理。由此可见,利用本方案,可以避免大量非法协议报文占用控制面装置的数据处理资源。而且,与利用因特网协议安全(Internet Protocol Security,IPSec)隧道传输协议报文以验证协议报文的合法性的方案相比,无需为第二通信装置配置额外的业务增值板,成本更低。另外,利用IPSec验证协议报文的合法性,需要对整个协议报文进行哈希计算,而本方案中包括第一密钥的第一校验信息相对于整个协议报文而言,数据量更小,因此,利用本方案验证协议报文的合法性所消耗的计算资源也更少。
在一种实现方式中,为了降低第一密钥被破解的风险,所述第一校验信息可以由N个连续的比特组成,N为大于1的整数,而第一密钥由X个比特组成,X为大于1的整数,且X小于N,并且,所述X个比特以非连续的方式排列。由于第一密钥在第一校验信息中以非连续的方式排列,因此,提升了第一密钥的安全性,降低了第一密钥被破解的风险。
在一种实现方式中,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。其中,第一掩码可以是第一通信装置和第二通信装置预先协商好的。
在一种实现方式中,为了防止重放攻击,所述第一校验信息还包括报文序列号。
在一种实现方式中,为了降低所述报文序列号被破解的风险,所述第一校验信息由N个连续的比特组成,所述序列号由Y个比特组成,并且,所述Y个比特以非连续的方式排列,Y为小于N的正整数。由于报文序列号在第一校验信息中以非连续的方式排列,因此,提升了所述报文序列号的安全性,降低了所述报文序列号被破解的风险。
在一种实现方式中,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。其中,第二掩码可以是第一通信装置和第二通信装置预先协商好的。
在一种实现方式中,考虑到若第一校验信息由第一密钥和报文序列号组成,即:N=X+Y,则若第一密钥被破解,报文序列号随之也会被破解,因为得到第一密钥在第一校验信息中所对应的比特位之后,第一校验信息中除第一密钥所对应的比特位之外的其它比特位,即为报文序列号所对应的比特位。鉴于此,为了降低所述第一密钥和报文序列号被破解的可能性,在一个示例中,所述第一校验信息还可以包括随机数。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。由于随机数在第一校验信息中以非连续的方式排列,因此,提升了所述随机数的安全性,降低了所述随机数被破解的风险,进一步地,也降低了前述报文序列号和第一密钥被破解的可能性。
在一种实现方式中,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。其中,第三掩码可以是第一通信装置和第二通信装置预先协商好的。
在一种实现方式中,考虑到对于第一MAC而言,可以生成第一MAC的密钥可以不限于第一密钥,换言之,除了第一密钥之外,还有其它密钥也可以生成该第一MAC。对于这种情况,第一通信装置可以从密钥集合中随机选择一个密钥作为所述第一密钥,该密钥集合中的每个密钥都能生成所述MAC1。其中,所述密钥集合,可以是第一通信装置基于所述第一MAC和算法生成的。
在一种实现方式中,前述生成密钥集合的第一MAC和算法,可以是第二通信装置预先发送给第一通信装置的。在一个示例中,第二通信装置可以向第一通信装置发送目标参数,所述目标参数包括所述第一MAC和/或算法。第一通信装置接收到目标参数之后,即可根据该第一MAC和/或算法,计算得到密钥集合,并从密钥集合中选择一个密钥作为前述第一密钥。
在一种实现方式中,所述目标参数还包括第一掩码,第一通信装置可以根据所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
在一种实现方式中,当所述第一校验信息还包括报文序列号时,所述目标参数还包括第二掩码,第一通信装置可以根据所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
在一种实现方式中,第二通信装置可以将目标参数携带在第一报文中发送给第一通信装置,以实现将目标参数发送给第一通信装置的目的。
在一种实现方式中,前述第一报文可以包括扩展的TLV字段,所述扩展的TLV字段可以用于携带所述目标参数。
在一种实现方式中,所述第一报文为keepalive报文或者hello报文。
在一种实现方式中,所述第一通信装置为转发面装置。例如,所述第一通信装置为网络处理器。
第二方面,本申请实施例提供了一种协议报文处理方法,该方法可以由第二通信装置执行。在一个示例中,第二通信装置可以接收第一协议报文,所述第一协议报文包括能够验证所述第一协议报文的合法性的第一验证信息,所述第一校验信息包括第一密钥。第二通信装置接收第一协议报文之后,可以对第一密钥进行哈希计算得到第一MAC,并根据第一MAC确定所述第一协议报文的合法性。由此可见,第二通信装置可以利用第一校验信息确定第一协议报文的合法性。在一个示例中,第二通信装置在确定第一协议报文非法时,可以不再将第一协议报文上送控制面装置处理。由此可见,利用本方案,可以避免大量非法协议报文占用控制面装置的数据处理资源。而且,与利用因特网协议安全(Internet ProtocolSecurity,IPSec)隧道传输协议报文以验证协议报文的合法性的方案相比,无需为第二通信装置配置额外的业务增值板,成本更低。另外,利用IPSec验证协议报文的合法性,需要对整个协议报文进行哈希计算,而本方案中包括第一密钥的第一校验信息相对于整个协议报文而言,数据量更小,因此,利用本方案验证协议报文的合法性所消耗的计算资源也更少。
在一种实现方式中,第二通信装置得到所述第一MAC之后,可以将所述第一MAC和本地预存的合法MAC进行匹配,若所述合法MAC中包括所述第一MAC,则第二通信装置可以认为所述第一MAC是合法的,因此,第二通信装置可以确定第一协议报文合法。若所述合法MAC中不包括所述第一MAC,则第二通信装置可以确定第一协议报文非法。
在一种实现方式中,所述第一校验信息还包括报文序列号。
在一种实现方式中,当所述第一校验信息包括报文序列号时,第二通信装置可以根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性。采用这种方式,第二通信装置一方面可以确定所述第一MAC是否为合法的MAC,另一方面,可以利用所述报文序列号确定所述第一协议报文是否为重放报文。
在一种实现方式中,在第一MAC合法的情况下,所述第一通信装置本地可以保存有与所述第一MAC对应的所述报文序列号的指示参数,该指示参数用于指示所述第二通信装置在接收所述第一协议报文之前的一定时间段内,是否接收到对应所述第一MAC、且报文序列号为所述第一协议报文的报文序列号的其它协议报文。对于这种情况,所述第二通信装置获得第一MAC和报文序列号之后,可以从本地查找与所述第一MAC对应的所述报文序列号的指示参数。而后,根据该指示参数的值,确定第一协议报文是否合法。
在一种实现方式中,若所述指示参数的值为第一值,则表示所述第二通信装置在一定时间段内未接收到对应所述第一MAC和所述报文序列号的其它协议报文。此时,第二通装置可以确定第一协议报文合法。
在一种实现方式中,所述第二通信装置确定第一协议报文合法之后,可以将本地存储的与所述第一MAC对应的所述报文序列号的指示参数的值修改为第二值,从而使得当网络黑客利用所述报文序列号进行重放攻击时,第二通信装置能够识别出该重放报文。
在一种实现方式中,若所述指示参数的值为第二值,则表示所述第二通信装置在一定时间段内曾接收到对应所述第一MAC和所述报文序列号的其它协议报文。此时,第二通装置可以确定第一协议报文非法。
在一种实现方式中,第二通信装置确定第一协议报文的合法性之后,还可以根据所述第一协议报文的合法性,对所述第一报文进行处理。从而合理利用控制面装置的数据处理资源。
在一种实现方式中,当所述第二通信装置为转发面装置时,第二通信装置在确定第一协议报文合法之后,可以将所述第一协议报文发送给控制面装置进行处理。
在一种实现方式中,为了避免合法协议报文过多而占用控制面装置较多的数据处理资源,第二通信装置可以按照第一速率向控制面装置发送所述第一协议报文。其中,第一速率可以是进行松散限速处理后的速率。所谓松散限速,指的是设置一个较高的速率阈值,以低于所述较高的速率阈值的第一速率向控制面装置发送所述第一协议报文。在一个示例中,第一速率例如可以为控制面装置能够正常处理协议报文的速率。
在一种实现方式中,若第二通信装置确定第一协议报文不合法,则第二通信装置可以直接丢弃所述第一协议报文。这样一来,控制面装置则无需在对该第一协议报文进行处理,从而避免非法的第一协议报文占用控制面装置的资源。
在一种实现方式中,若第二通信装置确定第一协议报文不合法,则第二通信装置可以按照第二速率向控制面装置发送所述第一协议报文,第二速率低于第二通信装置向控制面装置发送合法协议报文的正常速率。其中,所述第二通信装置向控制面装置发送合法协议报文的正常速率,可以是未经过限速处理时第二通信装置向控制面装置发送合法协议报文的速率。所述正常速率也可以是经过松散限速处理时第二通信装置向控制面装置发送合法协议报文的速率,即前述第一速率。即若第一协议报文不合法,则采用较低的速率向控制面装置发送第一协议报文,从而避免控制面装置处理大量的非法协议报文,即避免大量非法协议报文占用控制面装置的数据处理资源。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述第一密钥由X个比特组成,所述X个比特以非连续的方式排列,X为小于N的正整数。
在一种实现方式中,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述报文序列号由Y个比特组成,所述Y个比特以非连续的方式排列,Y为小于N的正整数。
在一种实现方式中,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。
在一种实现方式中,所述第一校验信息还包括:随机数。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。
在一种实现方式中,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。
在一种实现方式中,由于第一密钥在所述第一校验信息中所对应的比特位是根据第一掩码确定的。因此,第二通信装置在所述对所述第一密钥进行计算得到第一MAC之前,还可以根据所述第一掩码和所述第一校验信息,得到所述第一密钥。
在一种实现方式中,由于报文序列号在所述第一校验信息中所对应的比特位是根据第二掩码确定的。因此,第二通信装置在根据所述第一MAC确定所述第一协议报文的合法性之前,还可以根据所述第二掩码和所述第一校验信息,得到所述报文序列号。
在一种实现方式中,所述方法还包括:向第一通信装置发送目标参数,所述目标参数包括所述第一MAC和/或算法,所述第一MAC和所述算法用于使得所述第一通信装置得到所述第一密钥。
在一种实现方式中,所述目标参数还包括第一掩码,所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
在一种实现方式中,所述目标参数还包括第二掩码,所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
在一种实现方式中,所述目标参数包括在向所述第一通信装置发送的第一报文中,所述第一报文包括扩展的类型长度值TLV字段,所述扩展的TLV字段包括所述目标参数。
在一种实现方式中,所述第二通信装置为控制面装置。
在一种实现方式中,所述第二通信装置为转发面装置。
在以上第一方面和第二方面中:
在一种实现方式中,所述第一协议报文可以包括扩展头,所述扩展头用于携带所述第一校验信息。
在一种实现方式中,所述扩展头为认证头AH。
在一种实现方式中,所述第一协议报文包括IP头,所述IP头用于携带所述第一校验信息。
在一种实现方式中,所述第一校验信息可以携带在所述IP头的选项option字段中。
在一种实现方式中,所述第一协议报文包括传输控制协议TCP头,所述TCP头用于携带所述第一校验信息。
在一种实现方式中,所述第一校验信息可以携带在所述TCP头的选项字段中。
在一种实现方式中,所述第一协议报文的扩展的TLV字段包括所述第一校验信息。
第三方面,本申请提供了一种第一通信装置,包括:收发单元和处理单元。所述收发单元用于执行以上第一方面以及第一方面任意一项所述的第一通信装置执行的收发操作,所述处理单元用于执行以上第一方面以及第一方面任意一项所述的第一通信装置执行的除收发操作之外的其它操作。
第四方面,本申请提供了一种第一通信装置,所述第一通信装置包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于运行所述程序,使得所述第一通信装置执行以上第一方面以及第一方面任意一项所述的方法。
第五方面,本申请提供了一种第一通信装置,所述第一通信装置包括通信接口和处理器,所述通信接口用于执行以上第一方面以及第一方面任意一项所述的第一通信装置执行的收发操作,所述处理器用于执行以上第一方面以及第一方面任意一项所述的第一通信装置执行的除收发操作之外的其它操作。
第六方面,本申请提供了一种第二通信装置,包括:收发单元和处理单元。所述收发单元用于执行以上第二方面以及第二方面任意一项所述的第二通信装置执行的收发操作,所述处理单元用于执行以上第二方面以及第二方面任意一项所述的第二通信装置执行的除收发操作之外的其它操作。
第七方面,本申请提供了一种第二通信装置,所述第二通信装置包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于运行所述程序,使得所述第二通信装置执行以上第二方面以及第二方面任意一项所述的方法。
第八方面,本申请提供了一种第二通信装置,所述第二通信装置包括通信接口和处理器,所述通信接口用于执行以上第二方面以及第二方面任意一项所述的第二通信装置执行的收发操作,所述处理器用于执行以上第二方面以及第二方面任意一项所述的第二通信装置执行的除收发操作之外的其它操作。
第九方面,本申请提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序或指令,当其在计算机上运行时,使得所述计算机执行以上第一方面以及第一方面任意一项所述的方法,或者,使得所述计算机执行以上第二方面以及第二方面任意一项所述的方法。
第十方面,本申请提供了一种通信系统,该通信系统包括以上第三方面或者第四方面或者第五方面所述的第一通信装置,以及以上第六方面或者第七方面或者第八方面所述的第二通信装置。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种示例性应用场景示意图;
图2为本申请实施例提供的一种协议报文处理方法的信令交互图;
图3a为本申请实施例提供的一种报文的结构示意图;
图3b为本申请实施例提供的一种AH的结构示意图;
图3c为本申请实施例提供的又一种报文的结构示意图;
图3d为本申请实施例提供的又一种报文的结构示意图;
图4为本申请实施例提供的一种协议报文处理方法的流程示意图;
图5为本申请实施例提供的一种协议报文处理方法的流程示意图;
图6为本申请实施例提供的一种通信装置的结构示意图;
图7为本申请实施例提供的一种通信装置的结构示意图;
图8为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
本申请实施例提供了一种协议报文处理方法及装置,该方法可以避免大量非法协议报文占用CPU的数据处理资源。
为方便理解,首先对本申请实施例可能的应用场景进行介绍。
参见图1,该图为一种示例性应用场景示意图。
如图1所示,通信装置101和通信装置102之间可以交互协议报文。在一个示例中,通信装置101可以将协议报文发送给通信装置102。通信装置102的转发面装置接收到该协议报文之后,将该协议报文上送给控制面装置例如CPU,由通信装置102的CPU对该协议报文进行处理。
本申请实施例中提及的协议报文,可以是边界网关协议(Border GatewayProtocol,BGP)报文,也可以是内部网关协议(Interior Gateway Protocol,IGP)报文,还可以是标签分配协议报文。
本申请实施例中提及的通信装置,可以是交换机、路由器等网络设备,也可以是网络设备上的一部分组件,例如是网络设备上的单板,线卡,还可以是网络设备上的一个功能模块,本申请实施例不做具体限定。通信装置之间例如可以通过以太网线或光缆直接连接。
本申请实施例中提及的通信装置,可以是接入网中的通信装置,也可以是汇聚网中的通信装置,还可以是核心网中的通信装置。本申请实施例不做具体限定。
在一些场景中,若网络黑客攻破了通信装置101用于与通信装置102交互的端口,则网络黑客可以利用该端口向通信装置102发送大量的非法协议报文。通信装置102的控制面装置对该大量非法协议报文进行处理会占用所述控制面装置的大量数据处理资源,从而影响通信装置102的控制面装置处理合法协议报文以及其它业务,从而影响网络设备的性能,甚至使得网络设备DOS。
为了解决该问题,在一种实现方式中,对于通信装置102的转发面装置,可以为协议报文设置一个协议报文上送控制面装置的速率门限。例如,对于BGP报文,通信装置102的转发面装置每秒最多向控制面装置上送2000个报文。当攻击者采用重放攻击,每秒发送大量例如1000个BGP协议报文时,通信装置102的控制面装置也只对其中2000个协议报文进行处理,从而避免大量非法协议报文占用控制面装置的数据处理资源。但是,这种方式并不能区分非法协议报文和合法协议报文,有可能会影响通信装置102的正常通信或者业务处理。例如,控制面装置处理的2000个BGP协议报文均为非法协议报文,从而使得合法的协议报文不能被处理,从而影响通信装置102的正常通信或者业务处理。
在又一种实现方式中,可以利用IPSec隧道传输协议报文。对于这种方式,可以为通信装置102配置业务增值板,以支持IPSec传输。对于这种情况,该增值业务板可以对接收到的协议报文进行验证,例如采用认证头(authentication header,AH)对协议报文进行认证,从而确定接收到的协议报文是否合法。在一个示例中,若该协议报文合法,则将该协议报文上送控制面装置处理,若该协议报文不合法,则可以直接丢弃该协议报文,从而避免该协议报文占用控制面装置的数据处理资源。但是,采用这种方式,一方面,业务增值板的成本比较高。另一方面,采用AH对协议报文进行认证,需要对整个协议报文进行哈希计算,所消耗的计算资源也比较多。关于AH,可以参考请求评论(request for comments,RFC)4302的相关描述部分,此处不做详述。
鉴于此,本申请实施例提供了一种协议报文处理方法,该方法不仅可以确定协议报文是否合法,从而避免大量非法协议报文占用控制面装置的数据处理资源。而且,与利用IPSec隧道传输协议报文以验证协议报文的合法性的方案相比,成本更低、所消耗的计算资源也更少。
图2为本申请实施例提供的一种协议报文处理方法的信令交互图。图2所示的协议报文处理方法100,可以包括如下S101-S105。
方法100中的通信装置1,例如可以为图1所示的通信装置101,方法100中的通信装置2,例如可以为图1所示的通信装置102。
S101:通信装置1获取报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1。
在本申请实施例中,所述报文1为协议报文。
为了使得接收到报文1的通信装置2能够确定报文1的合法性,该报文1的源发送装置可以在生成报文1时,可以在报文1中添加校验信息1。校验信息1能够用于确定报文1的合法性。在一个示例中,校验信息1包括密钥1,密钥1可以用于生成MAC1。该MAC1能够用于确定报文1的合法性。
在一个示例中,所述MAC1例如可以为密钥相关的哈希运算消息认证码(hash-based message authentication code,HMAC),对于这种情况,可以通过对密钥1进行哈希计算,以得到所述MAC1。
在本申请实施例中,所述通信装置1获取报文1在具体实现时,可以有多种实现方式。
在一种实现方式中,若通信装置1是报文1的源发送装置,则通信装置1可以生成所述报文1。在一种实现方式中,考虑到对于MAC1而言,可以生成该MAC1的密钥可以不限于密钥1,换言之,除了密钥1之外,还有其它密钥也可以生成该MAC1。对于这种情况,通信装置1可以从密钥集合1中随机选择一个密钥作为所述密钥1,该密钥集合1中的每个密钥都能生成所述MAC1。关于所述密钥集合1,可以是通信装置1基于所述MAC1和算法1生成的。例如,当MAC1为HMAC时,所述密钥集合1可以是通信装置1基于MAC1和哈希算法1生成的。
在一个示例中,生成所述密钥集合1的MAC1和算法1,可以是通信装置2和通信装置1提前协商好的,作为一个示例,所述通信装置2可以向通信装置1发送目标参数,该目标参数包括所述MAC1和所述算法1。在一个示例中,所述通信装置2可以将所述目标参数携带在报文2中发送给通信装置1。例如,将目标参数携带在报文2的预留字段中。又如,对报文2进行扩展,扩展类型长度值(type length value,TLV)字段,将目标参数携带在报文2的扩展的TLV字段中。
考虑到所述目标参数用于生成所述密钥1,因此,所述目标参数的安全性十分重要。若目标参数被破解,则所述密钥1也会被破解。鉴于此,在一个示例中,通信装置2在将目标参数发送给通信装置1时,可以对目标参数进行加密。例如,利用高级加密标准256(advanced encryption standard 256,AES-256)算法对所述目标参数进行加密。通信装置1接收到加密后的目标参数之后,可以利用AES-256算法对加密后的目标参数进行解密,从而得到所述目标参数。由于所述目标参数的数据量较少,因此,通信装置2利用AES-256算法对所述目标参数进行加密所消耗的资源比较少。通信装置1对加密后的目标参数进行解密所消耗的资源也比较少。
关于所述报文2,需要说明的是,若通信装置1和通信装置2部署了BGP协议,则所述报文2可以是保活(keep alive)报文。若通信装置1和通信装置2部署了开放最短路径优先(open shortest path first,OSPF)路由协议,则所述报文2可以是hello报文。
在又一种实现方式中,若通信装置1是报文1的转发路径上的转发装置,则通信装置1可以从上游装置处接收所述报文1。在本申请实施例的以下描述中,如无特别说明,以所述通信装置1为报文1的源发送装置为例进行说明。
在一些实施例中,考虑到若密钥1被破解,则网络黑客可以基于破解的密钥1对非法协议报文进行处理,从而使得接收到该非法协议报文的通信装置无法识别出该非法协议报文。因此,在本申请实施例的一种实现方式中,所述密钥1在所述校验信息1中可以以非连续的方式排列,从而避免密钥1被破解。在一个示例中,所述校验信息1可以由N个连续的比特组成,N为大于1的整数,而密钥1由X个比特组成,X为大于1的整数,且X小于N。由于密钥1在校验信息1中以非连续的方式排列,因此,网络黑客只有在破解了密钥1在校验信息1中所对应的比特位之后,才能够得到密钥1。从而提升了密钥1的安全性,降低了密钥1被破解的风险。
在一个示例中,所述密钥1在所述校验信息1中所对应的比特位,可以根据掩码1确定。其中,掩码1可以是通信装置1和通信装置2提前协商好的。例如,在一个示例中,前述目标参数还可以包括掩码1,通信装置2将目标参数发送给通信装置1之后,通信装置1即可获得所述掩码1。关于密钥1、校验信息1和掩码1,现举例说明:密钥1包括2字节,其值为0XABCD,校验信息包括3字节,掩码1为0X0FFF0F,则校验信息1为:0X0ABC0D。
在一个示例中,为了防止重放攻击,所述校验信息1除了包括密钥1之外,还可以包括报文序列号1。该报文序列号1和密钥1共同用于确定报文1的合法性。该报文序列号可以是通信装置1为报文1生成的。
当校验信息1包括报文序列号1时,考虑到若报文序列号1被破解,则网络黑客可以基于破解的报文序列号1对非法协议报文进行处理,从而使得非法协议报文通过防重放校验,从而使得接收到该非法协议报文的通信装置无法识别出该非法协议报文。因此,在本申请实施例的一种实现方式中,所述报文序列号1在所述校验信息1中可以以非连续的方式排列,从而避免报文序列号1被破解。在一个示例中,所述校验信息1可以由N个连续的比特组成,N为大于1的整数,而报文序列号1由Y个比特组成,Y为大于1的整数,且Y小于N。由于报文序列号1在校验信息1中以非连续的方式排列,因此,网络黑客只有在破解了报文序列号1在校验信息1中所对应的比特位之后,才能够得到所述报文序列号1。从而提升了所述报文序列号1的安全性,降低了所述报文序列号1被破解的风险。
在一个示例中,所述报文序列号1在所述校验信息1中所对应的比特位,可以根据掩码2确定。其中,掩码2可以是通信装置1和通信装置2提前协商好的。例如,在一个示例中,前述目标参数还可以包括掩码2,通信装置2将目标参数发送给通信装置1之后,通信装置1即可获得所述掩码2。关于报文序列号1、校验信息1和掩码2,现举例说明:报文序列号1包括1字节,其值为0X11,校验信息包括3字节,掩码2为0XF000F0,则校验信息1为:0X100010。
根据上述举例可知,若校验信息1包括密钥1和报文序列号1,且,N=X+Y,则若密钥1被破解,报文序列号1随之也会被破解,因为得到密钥1在校验信息1中所对应的比特位之后,校验信息1中除密钥1所对应的比特位之外的其它比特位,即为报文序列号1所对应的比特位。鉴于此,为了降低所述密钥1和报文序列号1被破解的可能性,在一个示例中,所述校验信息1还可以包括随机数1,所述随机数1可以是通信装置1随机生成的。
当校验信息1包括报文随机数1时,考虑到若随机数1被破解,则可能会提升密钥1和报文序列号1被破解的可能性,从而使得网络黑客可以基于破解的报文序列号1和密钥1对非法协议报文进行处理,从而使得接收到该非法协议报文的通信装置无法识别出该非法协议报文。因此,在本申请实施例的一种实现方式中,所述随机数1在所述校验信息1中可以以非连续的方式排列,从而避免随机数1被破解。在一个示例中,所述校验信息1可以由N个连续的比特组成,N为大于1的整数,而随机数1由Z个比特组成,Z为大于1的整数,且Z小于N。由于随机数1在校验信息1中以非连续的方式排列,因此,网络黑客只有在破解了随机数1在校验信息1中所对应的比特位之后,才能够得到所述随机数1。从而提升了所述随机数1的安全性,降低了所述随机数1被破解的风险。
当校验信息1包括密钥1、报文序列号1和随机数1时,在一个示例中,所述N=X+Y+Z,即所述校验信息1由密钥1、报文序列号1和随机数1组成,不包括其它比特位。对于这种情况,若根据掩码1确定了密钥1在校验信息1中所对应的比特位、并根据掩码2确定了报文序列号在校验信息1中所对应的比特位,则随机数1在校验信息1中的比特位也随之确定。在又一个示例中,所述N>X+Y+Z,对于这种情况,所述校验信息1除了包括密钥1、报文序列号1和随机数1时,还可以包括其它比特位。对于这种情况,即使根据掩码1确定了密钥1在校验信息1中所对应的比特位、并根据掩码2确定了报文序列号在校验信息1中所对应的比特位,也无法确定随机数1在校验信息1中的比特位。对于这种情况,在一个示例中,所述随机数1在所述校验信息1中所对应的比特位,可以根据掩码3确定。其中,掩码3可以是通信装置1和通信装置2提前协商好的。例如,在一个示例中,前述目标参数还可以包括掩码3,通信装置2将目标参数发送给通信装置1之后,通信装置1即可获得所述掩码3。
当N=X+Y+Z时,以N=32比特,X=16比特,Y=8比特,Z=8比特为例,所述密钥1、报文序列号1、随机数1、掩码1、掩码2以及校验信息1,可以结合下表1进行理解。
表1
参数 | 取值 |
密钥1 | 0XABCD |
报文序列号1 | 0X11 |
随机数1 | 0X22 |
掩码1 | 0XF0F0F0F0 |
掩码2 | 0X0F00000F |
校验信息1 | 0XA1B2C2D1 |
当N>X+Y+Z时,以N=40比特,X=16比特,Y=8比特,Z=8比特为例,所述密钥1、报文序列号1、随机数1、掩码1、掩码2、掩码3、以及校验信息1,可以结合下表1进行理解。
表2
其中,表2中的校验信息1中的*为除密钥1、报文序列号1和随机数1之外的其它比特位,其具体取值本申请实施例不做具体限定。
在本申请实施例的一种实现方式中,所述校验信息1可以携带在所述报文1的扩展的TLV字段中。
在本申请实施例的一种实现方式中,所述报文1可以包括扩展头,所述扩展头可以用于携带所述校验信息1。参见图3a,图3a为本申请实施例提供的一种报文1的结构示意图。如图3a所示,所述报文1包括以太(Ethernet,Eth)头(header)、802.1q header、因特网协议(Internet Protocol,IP)header、扩展头和协议数据。其中,所述802.1q header为可选字段。
在一些实施例中,当所述报文1中的IP header为因特网协议第4版(InternetProtocol Version 4,IPv4)header时,所述IPv4 header的协议(protocol)字段,用于指示所述扩展头的类型。在又一个示例中,当所述报文1中的IP header为因特网协议第6版(Internet Protocol Version 6,IPv6)header时,所述IPv6 header的下一个头部(nextheader)字段,用于指示所述扩展头的类型。
在一个示例中,所述扩展头的结构可以复用已有的认证头(authenticationheader,AH)。可参见图3b,图3b为本申请实施例提供的一种AH的结构示意图。如图3b所示,AH包括Next Header字段、Hdr Ext Len字段、Reserve字段、Security Parameter Index字段、Sequence Number字段和Authentication Data ICV字段。其中:所述AH的各个字段在IPv6因特网协议安全(Internet protocol security,IPSec)中的含义如下:
Next Header字段包括8比特,用于携带下一个报文头类型;
Hdr Ext Len字段包括8比特,用于携带报文长度;
Reserve字段包括16比特,为保留字段;
安全参数索引(Security Parameter Index,SPI)字段包括32比特,该字段用于携带安全参数索引,安全参数索引可以用于确定密钥和加密算法。
序列号(Sequence Number)字段,可以用于携带报文序号,基于报文序号,可以以实现抗重放攻击。
认证数据(Authentication Data)完整性校验值(integrity check value,ICV)字段用于携带AH校验的校验值,该字段的长度不固定,其长度为32比特的整数倍。
在本申请实施例中,若使用AH携带所述校验信息1,则在一个示例中,可以使用所述AH中的Reserve字段来指示所述AH用于携带所述校验信息1,即利用所述Reserve字段来指示该AH所携带的信息与IPSec中AH所携带的信息不同。SPI字段和Sequence Number字段不携带有效信息;Authentication Data字段用于携带所述校验信息1。
在本申请实施例的另一种实现方式中,当所述报文1包括IP头时,所述校验信息1可以携带在所述IP头中。例如,可以在所述IP头的选项(option)字段中携带所述校验信息1。例如,扩展一个option字段,由该扩展的option字段携带该校验信息1,关于所述扩展的option字段和包括该扩展的option字段的报文1的结构,可以参考图3c进行理解。图3c为本申请实施例提供的又一种报文1的结构示意图。如图3c所示,IP header包括IP公共(common)字段和IP option字段,对于扩展的IP option字段,其value字段可以用于携带所述校验信息1。其中,IP common字段包括除IP option字段之外的其它字段,此处不做详细说明。关于图3c中的其它字段,可以参考上文对于图3a的相关描述部分,此处不再重复描述。
在本申请实施例的又一种实现方式中,当所述报文1包括传输控制协议(Transmission Control Protocol,TCP)头时,所述校验信息1可以携带在所述TCP头中。例如,对所述TCP头进行扩展,扩展一个TLV字段用于携带所述校验信息1。又如,利用所述TCP头option字段携带所述校验信息1。当利用所述TCP头的option字段携带所述校验信息1时,所述报文1的结构可参见图3d。图3d为本申请实施例提供的又一种报文1的结构示意图。如图3d所示,TCP header包括TCP common字段和TCP option字段,对于TCP option字段,其value字段可以用于携带所述校验信息1。其中,TCP common字段包括除TCP option字段之外的其它字段,此处不做详细说明。关于图3d中的其它字段,可以参考上文对于图3d的相关描述部分,此处不再重复描述。
S102:通信装置1转发报文1。
S103:通信装置2接收所述报文1。
通信装置1获取报文1之后,可以转发该报文1。在一个示例中,此处提及的通信装置1,可以是转发面装置,例如是转发面的网络处理器(network processor,NP)。通信装置2接收到通信装置1发送的报文1之后,可以对该报文1进行验证,以确定所述报文1的合法性。
通信装置2可以通过如下S104-S105确定报文1的合法性。
S104:通信装置2根据所述密钥1得到MAC1。
S105:通信装置2根据所述MAC1确定所述报文1的合法性。
通信装置2接收到报文1之后,可以提取报文1中包括的校验信息1,并获得所述密钥1。在一个示例中,若所述密钥1在所述校验信息1中所对应的比特位是根据掩码1确定的,则通信装置2获得校验信息1之后,可以根据校验信息1和掩码1得到密钥1。其中,掩码1例如可以保存在通信装置2本地。
通信装置2获得密钥1之后,可以利用算法1对密钥1进行计算,得到所述MAC1。在一个示例中,通信装置1得到所述MAC1之后,可以将所述MAC1和本地预存的合法MAC进行匹配,若所述合法MAC中包括所述MAC1,则通信装置2可以认为所述MAC1也是合法的,因此,通信装置2可以确定报文1合法。若所述合法MAC中不包括所述MAC1,则通信装置2可以确定报文1非法。
关于所述通信装置2预存的合法MAC,需要说明的是,该合法MAC可以认为是所述通信装置2向可信的其它通信装置发布的MAC,用于使得接收到所述合法MAC的通信装置生成密钥,并利用所生成的密钥对发送给通信装置2的协议报文进行处理。关于其它通信装置对利用接收到的MAC生成密钥,并利用生成的密钥对发送给通信装置2的协议报文进行处理,可以参考上文通信装置1基于MAC1生成密钥1,并基于密钥1获得报文1的描述部分,此处不再详述。
如前文,在一个示例中,所述校验信息1除了包括密钥1之外,还可以包括报文序列号1。对于这种情况,通信装置2在计算得到MAC1之后,可以基于所述MAC1和所述报文序列号1,确定所述报文1的合法性。在一个示例中,若所述报文序列号1在所述校验信息1中所对应的比特位是根据掩码2确定的,则通信装置2在基于所述MAC1和所述报文序列号1,确定所述报文1的合法性之前,可以根据校验信息1和掩码2得到报文序列号1。其中,掩码2例如可以保存在通信装置2本地。
在本申请实施例的一种实现方式中,当校验信息1包括密钥1和报文序列号1时,通信装置2一方面可以确定所述MAC1是否为合法的MAC,另一方面,可以利用所述报文序列号1确定所述报文1是否为重放报文。
在一个示例中,在MAC1合法的情况下,所述通信装置2本地可以保存有与所述MAC1对应的所述报文序列号1的指示参数,该指示参数用于指示所述通信装置2在接收所述报文1之前的一定时间段内,是否接收到对应所述MAC1、且报文序列号为所述报文序列号1的其它协议报文。对于这种情况,所述通信装置2获得MAC1和报文序列号1之后,可以从本地查找与所述MAC1对应的所述报文序列号1的指示参数。而后,根据该指示参数的值,确定报文1是否合法。在一些实施例中,若所述指示参数的值为第一值,则表示所述通信装置2在一定时间段内未接收到对应所述MAC1和所述报文序列号1的其它协议报文。若所述指示参数的值为第二值,则表示所述通信装置2在一定时间段内曾接收到对应所述MAC1和所述报文序列号1的其它协议报文。因此,在一个示例中,当通信装置2确定与所述MAC1对应的所述报文序列号1的指示参数的值为第一值时,可以确定所述报文1为合法报文。进一步地,所述通信装置2可以将本地存储的与所述MAC1对应的所述报文序列号1的指示参数的值修改为第二值,从而使得当网络黑客利用所述报文序列号1进行重放攻击时,通信装置2能够识别出该重放报文。相应的,当通信装置2确定与所述MAC1对应的所述报文序列号1的指示参数的值为第二值时,可以确定所述报文1为非法报文。关于第一值的具体取值和第二值的具体取值,本申请实施例不做具体限定,只要第一值与第二值不同即可。在一个示例中,所述第一值可以为1,所述第二值可以为0。
如前文,通信装置1可以基于接收到的MAC1和/或算法1,计算得到密钥集合1。在一些实施例中,通信装置1可以利用所述密钥集合1中的任意一个密钥对发送给通信装置2的协议报文进行处理。由于所述密钥集合1中的每个密钥都能生成所述MAC1。因此,所述通信装置2可以接收到对应所述MAC1的多条协议报文。而为了防止重放攻击,通信装置1可以为对应所述MAC1的多条协议报文生成不同的报文序列号。因此,所述通信装置2中除了保存有与所述MAC1对应的所述报文序列号1的指示参数之外,还可以保存有与所述MAC1对应的其它报文序列号对应的指示参数。举例说明:与MAC1对应的报文序列号的取值范围在1-225之间,则所述通信装置2保存的与所述MAC1对应的各个报文序列号对应的指示参数可以包括255比特,一个比特对应一个报文序列号。该255比特的第i个比特用于携带与所述MAC1对应的报文序列号值为i的指示参数,其中,i为大于等于1且小于等于255的整数。例如,该255比特的第1个比特用于携带与所述MAC1对应的报文序列号值为1的指示参数,该255比特的第255个比特用于携带与所述MAC1对应的报文序列号值为255的指示参数。
通信装置2确定报文1的合法性之后,可以根据确定结果对报文1进行处理。在一个示例中,通信装置2对报文1的处理方式,与通信装置2自身的角色相关。在本申请实施例中,所述通信装置2可以是转发面装置,也可以是控制面装置,当所述通信装置2为控制面装置时,所述通信装置例如可以为CPU。
首先介绍当通信装置2为转发面装置时,通信装置2对报文1的处理方式。
在一个示例中,若通信装置1确定报文1合法,则通信装置2可以将该报文1上送控制面装置,由控制面装置对报文1进行处理。在一些实施例中,为了避免合法协议报文过多而占用控制面装置较多的数据处理资源,通信装置2可以按照速率1向控制面装置发送所述报文1。其中,速率1可以是进行松散限速处理后的速率。所谓松散限速,指的是设置一个较高的速率阈值,以低于所述较高的速率阈值的速率1向控制面装置发送所述报文1。在一个示例中,速率1例如可以为控制面装置能够正常处理协议报文的速率,速率1可以根据实际情况确定。
在一个示例中,若通信装置2确定报文1为不合法,通信装置2可以丢弃该协议报文。这样一来,控制面装置则无需在对该报文1进行处理,从而避免非法的报文1占用控制面装置例如CPU的资源。
在又一个示例中,若通信装置2确定报文1不合法,则通信装置2可以按照速率2向控制面装置发送所述报文1,其中速率2低于通信装置2向控制面装置发送合法协议报文的正常速率。其中,所述通信装置2向控制面装置发送合法协议报文的正常速率,可以是未经过限速处理时通信装置2向控制面装置发送合法协议报文的速率。所述正常速率也可以是经过松散限速处理时通信装置2向控制面装置发送合法协议报文的速率,即前述速率1。即若报文1不合法,则采用较低的速率向控制面装置发送报文1,从而避免控制面装置处理大量的非法协议报文,即避免大量非法协议报文占用控制面装置的数据处理资源。此处提及的速率2,也可以认为是进行严格限速处理后的速率。可以理解的是,松散限速所对应的速率阈值高于严格限速对应的速率阈值,即:对于合法的协议报文,采用较高的速率上送控制面装置,对于非法的协议报文,采用较低的速率上送控制面装置。
通过以上描述可知,当通信装置2为转发面装置时,利用本方案,可以避免大量非法协议报文占用控制面装置的数据处理资源。
接下来介绍当通信装置2为控制面装置时,通信装置2对报文1的处理方式。
在一个示例中,若通信装置1确定报文1合法,则通信装置2可以对该报文1进行处理。在一些实施例中,为了避免合法协议报文过多而占用通信装置2较多的数据处理资源,通信装置2可以按照速率1’处理所述报文1。其中,速率1’可以是进行松散限速处理后的速率,在一个示例中,速率1’例如可以为通信装置2能够正常处理协议报文的速率,速率1’可以根据实际情况确定。
在一个示例中,若通信装置2确定报文1为不合法,通信装置2可以直接丢弃该协议报文。这样一来,可以避免非法的报文1占用通信装置2的数据处理资源。
在又一个示例中,若通信装置2确定报文1不合法,则通信装置2可以按照速率2’处理所述报文1,其中速率2’低于通信装置2处理合法协议报文的正常速率(例如速率1’)。即若报文1不合法,则采用较低的速率处理报文1,从而避免通信装置2处理大量的非法协议报文,即避免大量非法协议报文占用控制面装置的数据处理资源。此处提及的速率2’,也可以认为是进行严格限速处理后的速率。可以理解的是,松散限速所对应的速率阈值高于严格限速对应的速率阈值,即:对于合法的协议报文,控制面装置采用较高的速率处理,对于非法的协议报文,控制面装置采用较低的速率处理。
通过以上描述可知,当通信装置2为控制面装置时,利用本方案,虽然控制面装置确定报文1的合法性会占用控制面装置的部分数据处理资源,但是,执行S104-S105所消耗的数据处理资源比处理协议报文所消耗的数据资源更少,因此,利用本方案可以避免大量非法协议报文占用控制面装置的数据处理资源。
考虑到在实际应用中,通信装置2接收的报文除了协议报文之外,还可以包括控制报文、用户报文等报文。因此,在一些实施例中,通信装置2在执行S103之后、执行S104之前,可以确定接收到的报文1为协议报文,在确定报文1为协议报文的情况下,再执行S104及后续步骤。
在一些示例中,考虑到协议报文具备特定的特征。例如,二层协议报文一般使用特殊的媒体接入控制(media access control,MAC);又如,基于IP的协议报文使用特殊的组播IP;又如,基于用户数据报协议(User Datagram Protocol,UDP)的协议报文可以使用UDP端口号来识别;再如,基于TCP的协议报文可以使用TCP端口号来识别。因此,通信装置2可以利用协议报文的特征来确定报文1为协议报文。关于通信装置2确定报文1为协议报文的实现方式,此处不再限定。
图4为本申请实施例提供的一种协议报文处理方法的流程示意图。图4所示的协议报文处理方法200,可以由第一通信装置执行。第一通信装置可以为以上实施例中的通信装置1,用于执行以上方法100中通信装置1执行的步骤。所述方法200例如可以包括如下S201-S202。
S201:获取第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括用于生成第一消息认证码MAC的第一密钥。
S202:转发所述第一协议报文。
此处提及的第一协议报文,可以对应方法100中报文1;此处提及的第一校验信息,可以对应方法100中的校验信息1;此处提及的第一消息认证码MAC,可以对应方法100中的MAC1,;此处提及的第一密钥,可以对应方法100中的密钥1。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述第一密钥由X个比特组成,所述X个比特以非连续的方式排列,X为小于N的正整数。
在一种实现方式中,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。
此处提及的第一掩码,可以对应方法100中的掩码1。
在一种实现方式中,所述第一校验信息还包括报文序列号。
此处提及的报文序列号,可以对应方法100中的报文序列号1。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述序列号由Y个比特组成,所述Y个比特以非连续的方式排列,Y为小于N的正整数。
在一种实现方式中,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。
此处提及的第二掩码,可以对应方法100中的掩码2。
在一种实现方式中,所述第一校验信息还包括:随机数。
此处提及的随机数,可以对应方法100中的随机数1。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。
在一种实现方式中,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。
此处提及的第三掩码,可以对应方法100中的掩码3。
在一种实现方式中,在获取所述第一协议报文之前,所述方法还包括:
从密钥集合中随机选择所述第一密钥,所述密钥集合中的每个密钥都能生成所述第一MAC。
此处提及的密钥集合,可以对应方法100中的密钥集合1。
在一种实现方式中,所述方法还包括:
接收第二通信装置发送的目标参数,所述目标参数包括所述第一MAC和/或算法,所述第一MAC和所述算法用于得到所述第一密钥。
在一种实现方式中,所述目标参数还包括第一掩码,所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
在一种实现方式中,所述第一校验信息还包括报文序列号,则所述目标参数还包括第二掩码,所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
在一种实现方式中,所述目标参数包括在所述第二通信装置发送的第一报文中,所述第一报文包括扩展的类型长度值TLV字段,所述扩展的TLV字段包括所述目标参数。
此处提及的第一报文,可以对应方法100中的报文2。
在一种实现方式中,所述第一报文为保活keepalive报文或者hello报文。
在一种实现方式中,所述第一通信装置为转发面装置。
图5为本申请实施例提供的一种协议报文处理方法的流程示意图。图5所示的协议报文处理方法300,可以由第二通信装置执行。第二通信装置可以为以上实施例中的通信装置2,用于执行以上方法100中通信装置2执行的步骤。所述方法300例如可以包括如下S301-S303。
S301:接收第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括第一密钥。
S302:根据所述第一密钥,得到第一消息认证码MAC。
S303:根据所述第一MAC确定所述第一协议报文的合法性。
此处提及的第一协议报文,可以对应方法100中报文1;此处提及的第一校验信息,可以对应方法100中的校验信息1;此处提及的第一MAC,可以对应方法100中的MAC1,;此处提及的第一密钥,可以对应方法100中的密钥1。
在一种实现方式中,所述根据所述第一MAC,确定所述第一协议报文的合法性,包括:
将所述第一MAC与本地保存的合法MAC进行匹配。
在一种实现方式中,所述第一校验信息还包括报文序列号。
此处提及的报文序列号,可以对应方法100中的报文序列号1。
在一种实现方式中,所述根据所述第一MAC确定所述第一协议报文的合法性,包括:
根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性。
在一种实现方式中所述根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性,包括:确定与所述第一MAC对应的所述报文序列号的指示参数;
当所述指示参数的值为所述第一值时,确定所述第一协议报文合法,其中,所述指示参数的值为第一值,表示所述第二通信装置在一定时间段内未接收到对应所述第一MAC和所述报文序列号的其它协议报文。
在一种实现方式中,所述根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性,包括:
确定与所述第一MAC对应的所述报文序列号的指示参数;
当所述指示参数的值为第二值时,确定所述第一协议报文不合法,其中,所述指示参数的值为所述第二值,表示所述第二通信装置在一定时间段内曾接收到对应所述第一MAC和所述报文序列号的其它协议报文。
在一种实现方式中,所述方法还包括:
将所述指示参数的值修改为第二值,所述第二值与所述第一值不同。
在一种实现方式中,所述方法还包括:
根据所述第一协议报文的合法性,对所述第一报文进行处理。
在一种实现方式中,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文合法,将所述第一协议报文发送给控制面装置进行处理。
在一种实现方式中,所述将所述第一协议报文发送给控制面装置进行处理,包括:
以第一速率向所述控制面装置发送所述第一协议报文,以便于所述控制面装置对所述第一协议报文进行处理,所述第一速率为进行松散限速处理后的速率。
此处提及的第一速率,可以对应方法100中的速率1。
在一种实现方式中,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文不合法,丢弃所述第一协议报文。
在一种实现方式中,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文不合法,按照第二速率向控制面装置发送所述第一协议报文,其中,所述第二速率低于向所述控制面装置发送合法协议报文的正常速率。
此处提及的第二速率,可以对应方法100中速率2。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述第一密钥由X个比特组成,所述X个比特以非连续的方式排列,X为小于N的正整数。
在一种实现方式中,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。
此处提及的第一掩码,可以对应方法100中的掩码1。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述报文序列号由Y个比特组成,所述Y个比特以非连续的方式排列,Y为小于N的正整数。
在一种实现方式中,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。
此处提及的第二掩码,可以对应方法100中的掩码2。
在一种实现方式中,所述第一校验信息还包括:随机数。
此处提及的随机数,可以对应方法100中的随机数1。
在一种实现方式中,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。
在一种实现方式中,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。
此处提及的第三掩码,可以对应方法100中的掩码3。
在一种实现方式中,在所述对所述第一密钥进行计算得到第一MAC之前,所述方法还包括:
根据所述第一掩码和所述第一校验信息,得到所述第一密钥。
在一种实现方式中,在所述根据所述第一MAC确定所述第一协议报文的合法性之前,所述方法还包括:
根据所述第二掩码和所述第一校验信息,得到所述报文序列号。
在一种实现方式中,所述方法还包括:
向第一通信装置发送目标参数,所述目标参数包括所述第一MAC和/或算法,所述第一MAC和所述算法用于使得所述第一通信装置得到所述第一密钥。
此处提及的第一通信装置,可以对应方法100中的通信装置1。
在一种实现方式中,所述目标参数还包括第一掩码,所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
在一种实现方式中,所述目标参数还包括第二掩码,所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
在一种实现方式中,
所述目标参数包括在向所述第一通信装置发送的第一报文中,所述第一报文包括扩展的类型长度值TLV字段,所述扩展的TLV字段包括所述目标参数。
此处提及的第一报文,可以对应方法100中的报文2。
在一种实现方式中,所述第二通信装置为控制面装置。
在一种实现方式中,所述第二通信装置为转发面装置。
在以上方法200和方法300中:
在一种实现方式中,所述第一协议报文包括扩展头,所述扩展头包括所述第一校验信息。
在一种实现方式中,所述扩展头为认证头AH。
在一种实现方式中,所述第一协议报文包括IP头,所述IP头包括所述第一校验信息。
在一种实现方式中,所述IP头的选项option字段包括所述第一校验信息。
在一种实现方式中,所述第一协议报文包括传输控制协议TCP头,所述TCP头包括所述第一校验信息。
在一种实现方式中,所述TCP头的选项字段包括所述第一校验信息。
在一种实现方式中,所述第一协议报文的扩展的TLV字段包括所述第一校验信息。
关于以上方法200以及方法300的具体实现,可以参考上文对于方法100的描述部分,此处不做详述。
此外,本申请实施例还提供了一种通信装置600,参见图6所示。图6为本申请实施例提供的一种通信装置的结构示意图。该通信装置600包括收发单元601和处理单元602。该通信装置600可以用于执行以上实施例中的方法100、方法200或者方法300。
在一个示例中,所述通信装置600可以执行以上实施例中的方法100,当通信装置600用于执行以上实施例中的方法100时,通信装置600相当于方法100中的通信装置1。收发单元601用于执行方法100中通信装置1执行的收发操作。处理单元602用于执行方法100中通信装置1执行的除收发操作之外的操作。例如:处理单元602用于获取报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1;收发单元601用于转发所述报文1。
在一个示例中,所述通信装置600可以执行以上实施例中的方法100,当通信装置600用于执行以上实施例中的方法100时,通信装置600相当于方法100中的通信装置2。收发单元601用于执行方法100中通信装置2执行的收发操作。处理单元602用于执行方法100中通信装置2执行的除收发操作之外的操作。例如:收发单元601用于接收报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1。处理单元602用于根据所述密钥1得到MAC1,并基于所述MAC1确定报文1的合法性。
在一个示例中,所述通信装置600可以执行以上实施例中的方法200,当通信装置600用于执行以上实施例中的方法200时,通信装置600相当于方法200中的第一通信装置。收发单元601用于执行方法200中第一通信装置执行的收发操作。处理单元602用于执行方法200中第一通信装置执行的除收发操作之外的操作。例如:处理单元602用于获取第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括用于生成第一消息认证码MAC的第一密钥;收发单元601用于转发所述第一协议报文。
在一个示例中,所述通信装置600可以执行以上实施例中的方法300,当通信装置600用于执行以上实施例中的方法300时,通信装置600相当于方法300中的第二通信装置。收发单元601用于执行方法300中第二通信装置执行的收发操作。处理单元602用于执行方法300中第二通信装置执行的除收发操作之外的操作。例如:收发单元601用于接收第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括第一密钥;处理单元602用于根据所述第一密钥,得到第一消息认证码MAC,并根据所述第一MAC确定所述第一协议报文的合法性。
此外,本申请实施例还提供了一种通信装置700,参见图7所示,图7为本申请实施例提供的一种通信装置的结构示意图。该通信装置700包括通信接口701和与通信接口701连接的处理器702。该通信装置700可以用于执行以上实施例中的方法100、方法200、或者方法300。
在一个示例中,所述通信装置700可以执行以上实施例中的方法100,当通信装置700用于执行以上实施例中的方法100时,通信装置700相当于方法100中的通信装置1。通信接口701用于执行方法100中通信装置1执行的收发操作。处理器702用于执行方法100中通信装置1执行的除收发操作之外的操作。例如:处理器702用于获取报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1;通信接口701用于转发所述报文1。
在一个示例中,所述通信装置700可以执行以上实施例中的方法100,当通信装置700用于执行以上实施例中的方法100时,通信装置700相当于方法100中的通信装置2。通信接口701用于执行方法100中通信装置2执行的收发操作。处理器702用于执行方法100中通信装置2执行的除收发操作之外的操作。例如:通信接口701用于接收报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1。处理器702用于根据所述密钥1得到MAC1,并基于所述MAC1确定报文1的合法性。
在一个示例中,所述通信装置700可以执行以上实施例中的方法200,当通信装置700用于执行以上实施例中的方法200时,通信装置700相当于方法200中的第一通信装置。通信接口701用于执行方法200中第一通信装置执行的收发操作。处理器702用于执行方法200中第一通信装置执行的除收发操作之外的操作。例如:处理器702用于获取第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括用于生成第一消息认证码MAC的第一密钥;通信接口701用于转发所述第一协议报文。
在一个示例中,所述通信装置700可以执行以上实施例中的方法300,当通信装置700用于执行以上实施例中的方法300时,通信装置700相当于方法300中的第二通信装置。通信接口701用于执行方法300中第二通信装置执行的收发操作。处理器702用于执行方法300中第二通信装置执行的除收发操作之外的操作。例如:通信接口701用于接收第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括第一密钥;处理器702用于根据所述第一密钥,得到第一消息认证码MAC,并根据所述第一MAC确定所述第一协议报文的合法性。
此外,本申请实施例还提供了一种通信装置800,参见图8所示,图8为本申请实施例提供的一种通信装置的结构示意图。
该通信装置1000可以用于执行以上实施例中的方法100、方法200或者方法300。
如图8所示,通信装置800可以包括处理器810,与所述处理器810耦合连接的存储器820,收发器830。收发器830例如可以是通信接口,光模块等。处理器810可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logicdevice,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complexprogrammable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。处理器810可以是指一个处理器,也可以包括多个处理器。存储器820可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flashmemory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器820还可以包括上述种类的存储器的组合。存储器820可以是指一个存储器,也可以包括多个存储器。在一个实施方式中,存储器820中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如发送模块821,处理模块822和接收模块823。处理器810执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器810根据所述软件模块的指示而执行的操作。
在一个示例中,所述通信装置800可以执行以上实施例中的方法100,当通信装置800用于执行以上实施例中的方法100时,通信装置800相当于方法100中的通信装置1。收发器830用于执行方法100中通信装置1执行的收发操作。处理器810用于获取报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1;收发器830用于转发所述报文1。
在一个示例中,所述通信装置800可以执行以上实施例中的方法100,当通信装置800用于执行以上实施例中的方法100时,通信装置800相当于方法100中的通信装置2。收发器830用于执行方法100中通信装置2执行的收发操作。处理器810用于执行方法100中通信装置2执行的除收发操作之外的操作。例如:收发器830用于接收报文1,报文1包括校验信息1,所述校验信息1用于验证报文1的合法性,校验信息1包括用于生成MAC1的密钥1。处理器810用于根据所述密钥1得到MAC1,并基于所述MAC1确定报文1的合法性。
在一个示例中,所述通信装置800可以执行以上实施例中的方法200,当通信装置800用于执行以上实施例中的方法200时,通信装置800相当于方法200中的第一通信装置。收发器830用于执行方法200中第一通信装置执行的收发操作。处理器810用于执行方法200中第一通信装置执行的除收发操作之外的操作。例如:处理器810用于获取第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括用于生成第一消息认证码MAC的第一密钥;收发器830用于转发所述第一协议报文。
在一个示例中,所述通信装置800可以执行以上实施例中的方法300,当通信装置800用于执行以上实施例中的方法300时,通信装置800相当于方法300中的第二通信装置。收发器830用于执行方法300中第二通信装置执行的收发操作。处理器810用于执行方法300中第二通信装置执行的除收发操作之外的操作。例如:收发器830用于接收第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括第一密钥;处理器810用于根据所述第一密钥,得到第一消息认证码MAC,并根据所述第一MAC确定所述第一协议报文的合法性。
本申请的说明书和权利要求书及上述附图中的术语“第一”.“第二”.“第三”.“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一序列步骤或单元的过程.方法.系统.产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程.方法.产品或设备固有的其它步骤或单元。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行前述任一实施例中的方法中的一个或多个操作。
本申请实施例还提供了一种计算机程序产品,存储有计算机程序,当其在计算机上运行时,使得所述计算机执行本申请前述任一实施例中所述的方法中的一个或多个操作。
本申请实施例还提供了一种通信系统,包括以上实施例提及的任一种第一通信装置和任一种第二通信装置。
本申请实施例还提供了一种通信系统,包括至少一个存储器和至少一个处理器,该至少一个存储器存储有指令,该至少一个处理器执行所述指令,使得所述通信系统执行本申请前述实施例中任一实施例所述的方法(例如,方法100,方法200或者方法300)中任意一个或多个操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘.移动硬盘.只读存储器(ROM,Read-Only Memory).随机存取存储器(RAM,Random Access Memory).磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件.软件.固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的.技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (55)
1.一种协议报文处理方法,其特征在于,由第一通信装置执行,所述方法包括:
获取第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括用于生成第一消息认证码MAC的第一密钥;
转发所述第一协议报文。
2.根据权利要求1所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述第一密钥由X个比特组成,所述X个比特以非连续的方式排列,X为小于N的正整数。
3.根据权利要求2所述的方法,其特征在于,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一校验信息还包括报文序列号。
5.根据权利要求4所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述序列号由Y个比特组成,所述Y个比特以非连续的方式排列,Y为小于N的正整数。
6.根据权利要求5所述的方法,其特征在于,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述第一校验信息还包括:随机数。
8.根据权利要求7所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。
9.根据权利要求8所述的方法,其特征在于,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。
10.根据权利要求1-9任一项所述的方法,其特征在于,在获取所述第一协议报文之前,所述方法还包括:
从密钥集合中随机选择所述第一密钥,所述密钥集合中的每个密钥都能生成所述第一MAC。
11.根据权利要求1-10任意一项所述的方法,其特征在于,所述方法还包括:
接收第二通信装置发送的目标参数,所述目标参数包括所述第一MAC和/或算法,所述第一MAC和所述算法用于得到所述第一密钥。
12.根据权利要求10所述的方法,其特征在于,所述目标参数还包括第一掩码,所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
13.根据权利要求11或12所述的方法,其特征在于,所述第一校验信息还包括报文序列号,则所述目标参数还包括第二掩码,所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
14.根据权利要求13所述的方法,其特征在于,所述目标参数包括在所述第二通信装置发送的第一报文中,所述第一报文包括扩展的类型长度值TLV字段,所述扩展的TLV字段包括所述目标参数。
15.根据权利要求14所述的方法,其特征在于,所述第一报文为保活keepalive报文或者hello报文。
16.根据权利要求1-15任意一项所述的方法,其特征在于,所述第一通信装置为转发面装置。
17.一种协议报文处理方法,其特征在于,由第二通信装置执行,所述方法包括:
接收第一协议报文,所述第一协议报文包括第一校验信息,所述第一校验信息用于验证所述第一协议报文的合法性,所述第一校验信息包括第一密钥;
根据所述第一密钥,得到第一消息认证码MAC;
根据所述第一MAC确定所述第一协议报文的合法性。
18.根据权利要求17所述的方法,其特征在于,所述根据所述第一MAC,确定所述第一协议报文的合法性,包括:
将所述第一MAC与本地保存的合法MAC进行匹配。
19.根据权利要求17或18所述的方法,其特征在于,所述第一校验信息还包括报文序列号。
20.根据权利要求19所述的方法,其特征在于,所述根据所述第一MAC确定所述第一协议报文的合法性,包括:
根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性。
21.根据权利要求20所述的方法,其特征在于,所述根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性,包括:确定与所述第一MAC对应的所述报文序列号的指示参数;
当所述指示参数的值为所述第一值时,确定所述第一协议报文合法,其中,所述指示参数的值为第一值,表示所述第二通信装置在一定时间段内未接收到对应所述第一MAC和所述报文序列号的其它协议报文。
22.根据权利要求20所述的方法,其特征在于,所述根据所述第一MAC和所述报文序列号,确定所述第一协议报文的合法性,包括:
确定与所述第一MAC对应的所述报文序列号的指示参数;
当所述指示参数的值为第二值时,确定所述第一协议报文不合法,其中,所述指示参数的值为所述第二值,表示所述第二通信装置在一定时间段内曾接收到对应所述第一MAC和所述报文序列号的其它协议报文。
23.根据权利要求21所述的方法,其特征在于,所述方法还包括:
将所述指示参数的值修改为第二值,所述第二值与所述第一值不同。
24.根据权利要求17-23任意一项所述的方法,其特征在于,所述方法还包括:
根据所述第一协议报文的合法性,对所述第一报文进行处理。
25.根据权利要求24所述的方法,其特征在于,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文合法,将所述第一协议报文发送给控制面装置进行处理。
26.根据权利要求25所述的方法,其特征在于,所述将所述第一协议报文发送给控制面装置进行处理,包括:
以第一速率向所述控制面装置发送所述第一协议报文,以便于所述控制面装置对所述第一协议报文进行处理,所述第一速率为进行松散限速处理后的速率。
27.根据权利要求24所述的方法,其特征在于,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文不合法,丢弃所述第一协议报文。
28.根据权利要求24所述的方法,其特征在于,所述根据所述第一协议报文的合法性,对所述第一报文进行处理,包括:
若所述第一协议报文不合法,按照第二速率向控制面装置发送所述第一协议报文,其中,所述第二速率低于向所述控制面装置发送合法协议报文的正常速率。
29.根据权利要求17-28任意一项所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述第一密钥由X个比特组成,所述X个比特以非连续的方式排列,X为小于N的正整数。
30.根据权利要求29所述的方法,其特征在于,所述X个比特在所述第一校验信息中所对应的比特位是根据第一掩码确定的。
31.根据权利要求19-23任意一项所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述报文序列号由Y个比特组成,所述Y个比特以非连续的方式排列,Y为小于N的正整数。
32.根据权利要求31所述的方法,其特征在于,所述Y个比特在所述第一校验信息中所对应的比特位是根据第二掩码确定的。
33.根据权利要求26-32任意一项所述的方法,其特征在于,所述第一校验信息还包括:随机数。
34.根据权利要求33所述的方法,其特征在于,所述第一校验信息由N个连续的比特组成,所述随机数由Z个比特组成,所述Z个比特以非连续的方式排列,Z为小于N的正整数。
35.根据权利要求34所述的方法,其特征在于,所述Z个比特在所述第一校验信息中所对应的比特位是根据第三掩码确定的。
36.根据权利要求29-35任意一项所述的方法,其特征在于,在所述对所述第一密钥进行计算得到第一MAC之前,所述方法还包括:
根据所述第一掩码和所述第一校验信息,得到所述第一密钥。
37.根据权利要求31-36任意一项所述的方法,其特征在于,在所述根据所述第一MAC确定所述第一协议报文的合法性之前,所述方法还包括:
根据所述第二掩码和所述第一校验信息,得到所述报文序列号。
38.根据权利要求17-37任意一项所述的方法,其特征在于,所述方法还包括:
向第一通信装置发送目标参数,所述目标参数包括所述第一MAC和/或算法,所述第一MAC和所述算法用于使得所述第一通信装置得到所述第一密钥。
39.根据权利要求38所述的方法,其特征在于,所述目标参数还包括第一掩码,所述第一掩码用于确定所述第一密钥在所述第一校验信息中的比特位。
40.根据权利要求38或39所述的方法,其特征在于,所述目标参数还包括第二掩码,所述第二掩码用于确定所述报文序列号在所述第一校验信息中的比特位。
41.根据权利要求38-41所述的方法,其特征在于,
所述目标参数包括在向所述第一通信装置发送的第一报文中,所述第一报文包括扩展的类型长度值TLV字段,所述扩展的TLV字段包括所述目标参数。
42.根据权利要求17-24任意一项所述的方法,其特征在于,所述第二通信装置为控制面装置。
43.根据权利要求17-41任意一项所述的方法,其特征在于,所述第二通信装置为转发面装置。
44.根据权利要求1-43任意一项所述的方法,其特征在于,所述第一协议报文包括扩展头,所述扩展头包括所述第一校验信息。
45.根据权利要求44所述的方法,其特征在于,所述扩展头为认证头AH。
46.根据权利要求1-43任意一项所述的方法,其特征在于,所述第一协议报文包括IP头,所述IP头包括所述第一校验信息。
47.根据权利要求46所述的方法,其特征在于,所述IP头的选项option字段包括所述第一校验信息。
48.根据权利要求1-43任意一项所述的方法,其特征在于,所述第一协议报文包括传输控制协议TCP头,所述TCP头包括所述第一校验信息。
49.根据权利要求48所述的方法,其特征在于,所述TCP头的选项字段包括所述第一校验信息。
50.根据权利要求1-49任意一项所述的方法,其特征在于,所述第一协议报文的扩展的TLV字段包括所述第一校验信息。
51.一种第一通信装置,其特征在于,所述第一通信装置包括存储器和处理器;
所述存储器,用于存储程序或指令;
所述处理器,用于运行所述程序或指令,使得所述第一通信装置执行以上权利要求1-16任意一项或者44-50任意一项所述的方法。
52.一种第二通信装置,其特征在于,所述第二通信装置包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于运行所述程序,使得所述第二通信装置执行以上权利要求17-50任意一项所述的方法。
53.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在处理器上运行时实现以上权利要求1-50任意一项所述的方法。
54.一种计算机程序产品,其特征在于,包括计算机程序,当其在处理器上运行时实现以上权利要求1-50任意一项所述的方法。
55.一种通信系统,其特征在于,包括权利要求51所述的第一通信装置以及权利要求52所述的第二通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011356842.2A CN114567450A (zh) | 2020-11-27 | 2020-11-27 | 一种协议报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011356842.2A CN114567450A (zh) | 2020-11-27 | 2020-11-27 | 一种协议报文处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114567450A true CN114567450A (zh) | 2022-05-31 |
Family
ID=81712017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011356842.2A Pending CN114567450A (zh) | 2020-11-27 | 2020-11-27 | 一种协议报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114567450A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405210A (zh) * | 2023-05-29 | 2023-07-07 | 中国科学院大学 | 网络报文标签混淆方法、装置和电子设备 |
-
2020
- 2020-11-27 CN CN202011356842.2A patent/CN114567450A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405210A (zh) * | 2023-05-29 | 2023-07-07 | 中国科学院大学 | 网络报文标签混淆方法、装置和电子设备 |
CN116405210B (zh) * | 2023-05-29 | 2023-08-15 | 中国科学院大学 | 网络报文标签混淆方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49053E1 (en) | System and method for an adaptive TCP SYN cookie with time validation | |
Donenfeld | WireGuard: Next Generation Kernel Network Tunnel. | |
US8418242B2 (en) | Method, system, and device for negotiating SA on IPv6 network | |
US20160380894A1 (en) | Path maximum transmission unit handling for virtual private networks | |
EP2329621B1 (en) | Key distribution to a set of routers | |
EP4145790A1 (en) | Method and device for verifying srv6 packet | |
US10911581B2 (en) | Packet parsing method and device | |
CN110912859B (zh) | 发送报文的方法、接收报文的方法及网络设备 | |
CN113904809B (zh) | 一种通信方法、装置、电子设备及存储介质 | |
US20230007022A1 (en) | Method and Device for Preventing Replay Attack on Srv6 HMAC Verification | |
CN113810173B (zh) | 一种校验应用信息的方法、报文处理方法及装置 | |
Kwon et al. | SVLAN: Secure & scalable network virtualization | |
CN114567450A (zh) | 一种协议报文处理方法及装置 | |
US20230113138A1 (en) | Application Information Verification Method, Packet Processing Method, And Apparatuses Thereof | |
Jerschow et al. | CLL: A cryptographic link layer for local area networks | |
Jacquin et al. | Too big or too small? the PTB-PTS ICMP-based attack against IPsec gateways | |
EP4221078A1 (en) | Packet processing method and apparatus | |
Bahnasse et al. | Security of Dynamic and Multipoint Virtual Private Network | |
Murugesan et al. | Security mechanism for IPv6 router discovery based on distributed trust management | |
KR20110087972A (ko) | 세션 테이블을 이용한 비정상 트래픽의 차단 방법 | |
Feng et al. | A Reliable Lightweight Communication Method via Chain Verification | |
Majumdar et al. | DHCP origin traceback | |
Zheng et al. | LDP hello cryptographic authentication | |
CN113810353A (zh) | 一种校验应用信息的方法、报文处理方法及装置 | |
Bob | Internet Technology |
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 |