CN112653699B - 一种bfd认证方法、装置及电子设备 - Google Patents
一种bfd认证方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112653699B CN112653699B CN202011534023.2A CN202011534023A CN112653699B CN 112653699 B CN112653699 B CN 112653699B CN 202011534023 A CN202011534023 A CN 202011534023A CN 112653699 B CN112653699 B CN 112653699B
- Authority
- CN
- China
- Prior art keywords
- authentication
- bfd
- bfd message
- message
- abstract
- 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
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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种BFD认证方法、装置及电子设备,应用于数据通信领域,在接收到BFD报文之后,先对BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,再对BFD报文中的认证序列号进行认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
Description
技术领域
本申请涉及数据通信领域,具体而言,涉及一种BFD认证方法、装置及电子设备。
背景技术
双向转发检测(Bidirectional Forwarding Detection,BFD)协议,是一套标准化的全网统一的检测机制,用于快速检测、监控网络中路径或者网际互连协议(InternetProtocol,IP)路由转发的连通状况,可以用于快速检测两台设备之间的线路故障。其中,BFD的快速检测、协议无关等特点,使其当前在数据通信领域具有很广泛的应用。
为了提高BFD会话的安全性,引入了BFD认证。但是,采用现有的BFD认证方法,恶意的BFD会话认证序列号攻击会造成BFD会话不必要的震荡,从而影响链路质量。
发明内容
本申请实施例的目的在于提供一种BFD认证方法、装置及电子设备,用以解决恶意的BFD会话认证序列号攻击会造成BFD会话不必要的震荡,从而影响链路质量的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种BFD认证方法,包括:接收BFD报文;若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;若认证序列号认证通过,则确定所述BFD报文认证通过。在上述方案中,在接收到BFD报文之后,先对BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,再对BFD报文中的认证序列号进行认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
在本申请的可选实施例中,所述对所述BFD报文中的认证摘要字段进行认证,包括:根据所述BFD报文中的认证密钥ID查找本端对应的认证密钥;利用所述本端对应的认证密钥替换所述BFD报文中的认证摘要字段,得到替换后的BFD报文;根据密码散列函数以及所述替换后的BFD报文计算得到摘要,并判断所述摘要与所述BFD报文中的认证摘要字段是否相同;若所述摘要与所述BFD报文中的认证摘要字段相同,则认证通过;否则,认证不通过。在上述方案中,根据本端的认证密钥替换认证摘要字段,并根据BFD报文计算替换后的摘要,以实现对摘要的认证。
在本申请的可选实施例中,所述根据密码散列函数以及所述替换后的BFD报文计算得到摘要,包括:根据所述密码散列函数以及所述替换后的BFD报文中的认证字段计算得到所述摘要。在上述方案中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以实现对摘要的认证,并提高计算效率。
在本申请的可选实施例中,所述对所述BFD报文中的认证序列号进行认证,包括:在接收序列号有效性变量表征接收过有认证序列号的BFD报文时,判断所述BFD报文中的认证序列号是否在预设范围内;其中,所述预设范围根据接收序列号变量确定,所述BFD报文中的认证序列号在预设范围内,则认证通过;否则,认证不通过;在判断所述BFD报文中的认证序列号认证通过之后,所述方法还包括:将所述接收序列号变量更新为所述BFD报文中的认证序列号。在上述方案中,在BFD会话接收过有序列号的BFD报文,则可以通过判断BFD报文中的认证序列号是否在预设范围内,实现对序列号的认证。
在本申请的可选实施例中,所述对所述BFD报文中的认证序列号进行认证,包括:在接收序列号有效性变量表征未接收过有认证序列号的BFD报文时,将所述接收序列号有效性变量更新为表征接收过有认证序列号的BFD报文,并将所述BFD报文中的认证序列号确定为接收序列号变量。
在本申请的可选实施例中,所述BFD报文符合所述预设规则包括:所述BFD报文中的认证类型为预设认证类型。
在本申请的可选实施例中,所述预设认证类型包括:新增的增强密钥MD5或者新增的增强密钥SHA1。在上述方案中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
第二方面,本申请实施例提供一种BFD认证方法,包括:生成BFD报文;根据密码散列函数以及所述生成的BFD报文计算得到摘要;利用所述摘要替换所述生成的BFD报文中的认证摘要字段,得到替换后的BFD报文;向对端发送所述替换后的BFD报文,以使所述对端在所述替换后的BFD报文符合预设规则时,对所述替换后的BFD报文中的认证摘要字段进行认证,并在所述认证摘要字段认证通过后,对所述替换后的BFD报文中的认证序列号进行认证。在上述方案中,在生成BFD报文之后,利用计算得到的摘要替换报文中的认证摘要字段,并将替换后的报文发送至对端进行BFD认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
在本申请的可选实施例中,所述根据密码散列函数以及所述生成的BFD报文计算得到摘要,包括:根据所述密码散列函数以及所述生成的BFD报文中的认证字段计算得到所述摘要。在上述方案中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以实现对摘要的认证,提高计算效率。
在本申请的可选实施例中,所述生成BFD报文,包括:根据预先配置好的认证类型生成所述BFD报文。在上述方案中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
第三方面,本申请实施例提供一种BFD认证装置,包括:报文接收模块,用于接收BFD报文;摘要认证模块,用于若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;序列号认证模块,用于若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;BFD认证模块,用于若认证序列号认证通过,则确定所述BFD报文认证通过。在上述方案中,在接收到BFD报文之后,先对BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,再对BFD报文中的认证序列号进行认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
在本申请的可选实施例中,所述摘要认证模块还用于:根据所述BFD报文中的认证密钥ID查找本端对应的认证密钥;利用所述本端对应的认证密钥替换所述BFD报文中的认证摘要字段,得到替换后的BFD报文;根据密码散列函数以及所述替换后的BFD报文计算得到摘要,并判断所述摘要与所述BFD报文中的认证摘要字段是否相同;若所述摘要与所述BFD报文中的认证摘要字段相同,则认证通过;否则,认证不通过。在上述方案中,根据本端的认证密钥替换认证摘要字段,并根据BFD报文计算替换后的摘要,以实现对摘要的认证。
在本申请的可选实施例中,所述摘要认证模块还用于:根据所述密码散列函数以及所述替换后的BFD报文中的认证字段计算得到所述摘要。在上述方案中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以在实现对摘要的认证,提高计算效率。
在本申请的可选实施例中,所述序列号认证模块还用于:在接收序列号有效性变量表征接收过有认证序列号的BFD报文时,判断所述BFD报文中的认证序列号是否在预设范围内;其中,所述预设范围根据接收序列号变量确定,所述BFD报文中的认证序列号在预设范围内,则认证通过;否则,认证不通过;所述装置还包括:更新模块,用于将所述接收序列号变量更新为所述BFD报文中的认证序列号。在上述方案中,在BFD会话接收过有序列号的BFD报文,则可以通过判断BFD报文中的认证序列号是否在预设范围内,实现对序列号的认证。
在本申请的可选实施例中,所述序列号认证模块还用于:在接收序列号有效性变量表征未接收过有认证序列号的BFD报文时,将所述接收序列号有效性变量更新为表征接收过有认证序列号的BFD报文,并将所述BFD报文中的认证序列号确定为接收序列号变量。
在本申请的可选实施例中,所述BFD报文符合所述预设规则包括:所述BFD报文中的认证类型为预设认证类型。
在本申请的可选实施例中,所述预设认证类型包括:新增的增强密钥MD5或者新增的增强密钥SHA1。在上述方案中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
第四方面,本申请实施例提供一种BFD认证装置,包括:报文生成模块,用于生成BFD报文;摘要计算模块,用于根据密码散列函数以及所述生成的BFD报文计算得到摘要;摘要替换模块,用于利用所述摘要替换所述生成的BFD报文中的认证摘要字段,得到替换后的BFD报文;报文发送模块,用于向对端发送所述替换后的BFD报文,以使所述对端在所述替换后的BFD报文符合预设规则时,对所述替换后的BFD报文中的认证摘要字段进行认证,并在所述认证摘要字段认证通过后,对所述替换后的BFD报文中的认证序列号进行认证。在上述方案中,在生成BFD报文之后,利用计算得到的摘要替换报文中的认证摘要字段,并将替换后的报文发送至对端进行BFD认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
在本申请的可选实施例中,所述摘要计算模块还用于:根据所述密码散列函数以及所述生成的BFD报文中的认证字段计算得到所述摘要。在上述方案中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以在实现对摘要的认证,提高计算效率。
在本申请的可选实施例中,所述报文生成模块还用于:根据预先配置好的认证类型生成所述BFD报文。在上述方案中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面中的BFD认证方法或者如第二方面中的BFD认证方法。
第六方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面中的BFD认证方法或者如第二方面中的BFD认证方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种BFD认证方法的流程图;
图2为本申请实施例提供的另一种BFD认证方法的流程图;
图3为本申请实施例提供的步骤S202具体实施方式的流程图;
图4为本申请实施例提供的一种BFD认证装置的结构框图;
图5为本申请实施例提供的另一种BFD认证装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
在介绍本申请实施例提供的BFD认证方法之前,先介绍本申请实施例所涉及的一些概念,本申请实施例所涉及的一些概念如下:
双向转发检测(Bidirectional Forwarding Detection,BFD ):一种标准化的全网统一的检测机制,用于快速检测、监控网络中路径或者IP路由转发的连通状况。它提供的是一种通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层应用(如路由协议、多协议标签交换(Multiprotocol Label Switching ,MPLS)等)快速检测两台设备之间的线路故障。
消息摘要算法5(Message-Digest Algorithm 5, MD5):一种被广泛使用的密码散列函数,可以产生出一个16字节的散列值,用于确保信息传输完整一致。
安全散列算法1(Secure Hash Algorithm 1,SHA1):一种安全性更高的密码散列函数,可以产生出一个20字节的散列值。
BFD报文包括两部分:固定字段格式部分和可扩展的认证字段格式部分。其中,针对不同的BFD认证类型,BFD报文中认证字段的格式不同。下面介绍现有技术中,固定字段中A比特位置为1且认证类型为2- Keyed MD5时,BFD报文中的认证字段。
BFD报文中的认证字段包括:认证类型Auth Type(2)、认证字段长度Auth Len(24)、认证密钥ID Auth Key ID、Reserved(0)、报文顺序号Sequence Number:(用于预防重放攻击,其中,详尽模式的序列号,每发送一个报文递增1;非详尽模式的序列号,通常建议在报文固定字段内容发生变化时递增1)、Auth Key/Digest(携带16字节MD5摘要信息)。
作为一种实施方式,可以增加多种认证类型,每种认证类型对应一种BFD认证方式。在本申请实施例中,以新增6-增强密钥MD5(Enhanced keyed MD5)以及7-增强密钥SHA1(Enhanced keyed SHA1)两种认证类型为例进行说明。
其中,当认证类型为6- Enhanced keyed MD5或者 7-E Enhanced keyed SHA1时,其认证字段的格式与上述实施例中认证类型为2- Keyed MD5时的认证字段格式类似,区别在于:6- Enhanced keyed MD5对应的Auth Len为24,而7-E Enhanced keyed SHA1对应的Auth Len为28;6- Enhanced keyed MD5对应的Auth Key/Digest的长度为16字节,而7-EEnhanced keyed SHA1对应的Auth Key/Digest的长度为20字节。
可以理解的是,上述两种认证类型仅为本申请实施例提供的两个实例,本领域技术人员既可以不增加认证类型、仅修改现有的认证类型,也可以增加其他的认证类型,本申请实施例对此不做具体的限定,本领域技术人员可以根据实际情况进行合适的调整。
针对上述认证类型为2- Keyed MD5时的认证字段格式,采用现有的BFD认证方案,如下序列号攻击可能会导致BFD报文认证不通过,会话DOWN:
攻击者截取网络上的BFD报文,仅将BFD报文中的认证序列号进行修改,BFD报文中其他检测字段内容保持不变,并将篡改了认证序列号的报文发往对端设备。此时,BFD报文中的认证序列号仍在可行的范围内。对端收到该报文后,执行序列号认证,序列号认证通过,利用该BFD报文的序列号对BFD会话进行更新。后续对端在接收到合法BFD报文时,序列号认证不通过,直接被丢弃。因此,导致多个BFD报文被丢弃,BFD会话超时DOWN,进而触发不必要的动作,比如协议邻居DOWN,流量中断等。
基于上述分析,本申请实施例提供一种BFD认证方法,可以有效避免恶意的BFD会话认证序列号攻击,避免BFD会话不必要的震荡,触发上层协议做出不必要的响应,影响链路质量。下面将结合本申请实施例中的附图,对本申请实施例提供的BFD认证方法进行详细的介绍。
请参照图1,图1为本申请实施例提供的一种BFD认证方法的流程图,该BFD认证方法可以包括如下步骤:
步骤S101:生成BFD报文。
步骤S102:根据密码散列函数以及生成的BFD报文计算得到摘要。
步骤S103:利用摘要替换生成的BFD报文中的认证摘要字段,得到替换后的BFD报文。
步骤S104:向对端发送替换后的BFD报文,以使对端在替换后的BFD报文符合预设规则时,对替换后的BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,对替换后的BFD报文中的认证序列号进行认证。
在可选的实施方式中,首先,可以在需要检测链路连通性的链路两端对应的电子设备上分别进行BFD的相关配置,使链路两端建立BFD会话。然后,BFD会话UP,同时BFD会话两端配置开启BFD认证,当前BFD会话的发送序列号变量值(bfd.XmitAuthSeq)初始化为1,接收序列号变量值(bfd.RcvAuthSeq)初始化为1,接收序列号有效性变量(bfd.AuthSeqKnown)为0。
可以理解的是,上述对建立BFD会话以及对BFD会话认证进行配置的方式可以采用现有技术中的方式,本申请实施例对此不展开详细的介绍。此外,为了便于叙述,本申请实施例以采用新增的认证类型6- Enhanced keyed MD5为例进行说明。
在配置完成之后,在需要进行BFD会话认证时,例如:BFD会话报文刷新定时器到期时,需要检测链路连通性的两端中的一端可以根据配置构造BFD报文。
其中,构造的BFD报文包括固定字段以及认证字段。固定字段中的A比特位置为1;认证字段中的Auth Type为6,Auth Len为24,Auth Key ID为当前BFD会话使用的Key ID,Reserved为0、Sequence Numbe为当前会话的发送序列号变量值(bfd.XmitAuthSeq),AuthKey/Digest为一个最长16字节的二进制字符串,将认证密钥Auth Key填入Auth Key/Digest字段后16位(不足16字节可以使用0进行填充),形成生成的BFD报文对应的AuthKey/Digest。
然后,可以根据密码散列函数(例如:MD5或者SHA1,在本申请实施例中采用的MD5为例进行介绍)以及生成的BFD报文计算得到摘要。
在计算摘要的过程中,作为一种实施方式,可以将BFD报文的固定字段以及认证字段作为MD5的输入进行计算;作为另一种实施方式,可以仅将报文的认证字段作为MD5的输入进行计算。这是由于,在BFD会话UP后,BFD报文中的固定字段的值保持固定不变,将该固定字段作为密码散列函数的输入不仅不会增强密码散列函数计算出的摘要的安全性,反而会降低了计算加密摘要的效率。因此,可以仅利用BFD报文中的认证字段计算摘要,从而可以提高计算的效率。
然后,可以利用上述步骤中计算得到的摘要替换生成的BFD报文中的Auth Key/Digest,得到替换后的BFD报文。通过BFD会话的出接口将上述替换后的BFD报文发送到对端设备,以使对端设备在收到上述BFD报文后进行进一步的认证处理。
下面介绍需要检测链路连通性的链路两端中的另一端接收到BFD报文之后,执行BFD认证方法的过程。请参照图2,图2为本申请实施例提供的另一种BFD认证方法的流程图,该BFD认证方法可以包括如下步骤:
步骤S201:接收BFD报文。
步骤S202:若BFD报文符合预设规则,则对BFD报文中的认证摘要字段进行认证。
步骤S203:若认证摘要字段认证通过,则对BFD报文中的认证序列号进行认证。
步骤S204:若认证序列号认证通过,则确定BFD报文认证通过。
在可选的实施方式中,需要检测链路连通性的链路两端中的另一端接收到对端发送的BFD报文之后,首先可以判断接收到的BFD报文是否符合预设规则。
作为一种实施方式,接收到的BFD报文不符合预设规则可以有以下几种情况:固定字段中的A位置1但不包含认证字段;或者,认证字段中的Auth Type不等于6;或者,接收到的BFD报文中的Auth Key ID与本端配置的密钥对应的Key ID不相等;或者,Auth Len不等于24等,本申请实施例不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。
可以理解的是,当接收到的BFD报文不符合预设规则中的任意一种情况时,可以直接丢弃报文。
若BFD报文符合预设规则,可以继续对BFD报文进行认证,认证的顺序为:先认证BFD报文中的认证摘要字段,在认证摘要字段认证通过后,再认证BFD报文中的认证序列号。下面依次对认证BFD报文中的认证摘要字段以及认证BFD报文中的认证序列号的具体实施方式进行介绍。
首先介绍认证BFD报文中的认证摘要字段的具体实施方式。请参照图3,图3为本申请实施例提供的步骤S202具体实施方式的流程图,上述步骤S202(即认证BFD报文中的认证摘要字段的步骤)可以包括如下步骤:
步骤S301:根据BFD报文中的认证密钥ID查找本端对应的认证密钥。
步骤S302:利用本端对应的认证密钥替换BFD报文中的认证摘要字段,得到替换后的BFD报文。
步骤S303:根据密码散列函数以及替换后的BFD报文计算得到摘要,并判断摘要与BFD报文中的认证摘要字段是否相同。
在可选的实施方式中,首先,可以根据接收到的BFD报文中的Auth Key ID查找本端对应的Auth Key,并利用查找到的Auth Key替换BFD报文中的Auth Key/Digest,得到替换后的BFD报文。然后,可以根据密码散列函数(例如:MD5或者SHA1,在本申请实施例中采用的MD5为例进行介绍)以及替换后的BFD报文计算得到摘要。
与上述实施例中类似,在计算摘要的过程中,作为一种实施方式,可以将替换后的BFD报文的固定字段以及认证字段作为MD5的输入进行计算;作为另一种实施方式,可以仅将替换后的BFD报文的认证字段作为MD5的输入进行计算,从而可以提高计算的效率。
最后,再将计算得到的摘要与接收到的BFD报文中的Auth Key/Digest进行比较,判断计算得到的摘要与接收到的BFD报文中的Auth Key/Digest是否相同。其中,若计算得到的摘要与接收到的BFD报文中的Auth Key/Digest是否相同,则认证通过;否则,认证不通过。
在上述方案中,根据本端的认证密钥替换认证摘要字段,并根据BFD报文计算替换后的摘要,以实现对摘要的认证。
其次,介绍认证BFD报文中的认证序列号的具体实施方式。在本申请实施例中,上述步骤S203(即认证BFD报文中的认证序列号的步骤)可以分为两种情况:第一种情况,该BFD会话未曾接收到过有序列号的BFD报文;第二种情况,该BFD会话接收到过有序列号的BFD报文。
针对上述第一种情况,上述步骤S203可以包括如下步骤:
在接收序列号有效性变量表征接收过有认证序列号的BFD报文时,判断接收到的BFD报文中的认证序列号是否在预设范围内。
相应的,在判断接收到的BFD报文中的认证序列号认证通过之后,本申请实施例提供的BFD认证方法还可以包括如下步骤:
将接收序列号变量更新为接收到的BFD报文中的认证序列号。
在可选的实施方式中,如果接收序列号有效性变量表征接收到过有认证序列号的BFD报文时(即bfd.AuthSeqKnown为1时),需要检查接收到的BFD报文中的Sequence Numbe是否在预设范围内。若接收到的BFD报文中的认证序列号认证在预设范围内,则认证通过;若接收到的BFD报文中的认证序列号认证不在预设范围内,则认证不通过,丢弃报文。
其中,预设范围可以根据bfd.RcvAuthSeq的值确定。举例来说,针对2-Keyed MD5认证类型,预设范围可以为[bfd.RcvAuthSeq,bfd.RcvAuthSeq+(3*Detect Mult)]区间;针对3- Meticulous Keyed MD5认证类型,预设范围可以为[bfd.RcvAuthSeq+1,bfd.RcvAuthSeq+(3*Detect Mult)]区间。
然后,可以对本端BFD会话中存储的bfd.RcvAuthSeq进行更新,更新为接收到的BFD报文中的Sequence Number,以防止重放攻击。
在上述方案中,在BFD会话接收过有序列号的BFD报文,则可以通过判断BFD报文中的认证序列号是否在预设范围内,实现对序列号的认证。
针对上述第二种情况,上述步骤S203可以包括如下步骤:
在接收序列号有效性变量表征未接收过有认证序列号的BFD报文时,将接收序列号有效性变量更新为表征接收过有认证序列号的BFD报文,并将接收到的BFD报文中的认证序列号确定为接收序列号变量。
在可选的实施方式中,如果接收序列号有效性变量表征接收到过有认证序列号的BFD报文时(即bfd.AuthSeqKnown为0时),可以将bfd.AuthSeqKnown从0更新为1,然后将本次接收到的BFD报文的Sequence Number记录到bfd.RcvAuthSeq中,以便后续对序列号进行认证。
因此,在接收到BFD报文之后,先对BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,再对BFD报文中的认证序列号进行认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
请参照图4,图4为本申请实施例提供的一种BFD认证装置的结构框图,该BFD认证装置400可以包括:报文接收模块401,用于接收BFD报文;摘要认证模块402,用于若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;序列号认证模块403,用于若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;BFD认证模块404,用于若认证序列号认证通过,则确定所述BFD报文认证通过。
在本申请实施例中,在接收到BFD报文之后,先对BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,再对BFD报文中的认证序列号进行认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
进一步的,所述摘要认证模块402还用于:根据所述BFD报文中的认证密钥ID查找本端对应的认证密钥;利用所述本端对应的认证密钥替换所述BFD报文中的认证摘要字段,得到替换后的BFD报文;根据密码散列函数以及所述替换后的BFD报文计算得到摘要,并判断所述摘要与所述BFD报文中的认证摘要字段是否相同;若所述摘要与所述BFD报文中的认证摘要字段相同,则认证通过;否则,认证不通过。
在本申请实施例中,根据本端的认证密钥替换认证摘要字段,并根据BFD报文计算替换后的摘要,以实现对摘要的认证。
进一步的,所述摘要认证模块402还用于:根据所述密码散列函数以及所述替换后的BFD报文中的认证字段计算得到所述摘要。
在本申请实施例中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以在实现对摘要的认证,提高计算效率。
进一步的,所述序列号认证模块403还用于:在接收序列号有效性变量表征接收过有认证序列号的BFD报文时,判断所述BFD报文中的认证序列号是否在预设范围内;其中,所述预设范围根据接收序列号变量确定,所述BFD报文中的认证序列号在预设范围内,则认证通过;否则,认证不通过;所述BFD认证装置400还包括:更新模块,用于将所述接收序列号变量更新为所述BFD报文中的认证序列号。
在本申请实施例中,在BFD会话接收过有序列号的BFD报文,则可以通过判断BFD报文中的认证序列号是否在预设范围内,实现对序列号的认证。
进一步的,所述序列号认证模块403还用于:在接收序列号有效性变量表征未接收过有认证序列号的BFD报文时,将所述接收序列号有效性变量更新为表征接收过有认证序列号的BFD报文,并将所述BFD报文中的认证序列号确定为接收序列号变量。
进一步的,所述BFD报文符合所述预设规则包括:所述BFD报文中的认证类型为预设认证类型。
进一步的,所述预设认证类型包括:新增的增强密钥MD5或者新增的增强密钥SHA1。
在本申请实施例中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
请参照图5,图5为本申请实施例提供的另一种BFD认证装置的结构框图,该BFD认证装置500可以包括:报文生成模块501,用于生成BFD报文;摘要计算模块502,用于根据密码散列函数以及所述生成的BFD报文计算得到摘要;摘要替换模块503,用于利用所述摘要替换所述生成的BFD报文中的认证摘要字段,得到替换后的BFD报文;报文发送模块504,用于向对端发送所述替换后的BFD报文,以使所述对端在所述替换后的BFD报文符合预设规则时,对所述替换后的BFD报文中的认证摘要字段进行认证,并在所述认证摘要字段认证通过后,对所述替换后的BFD报文中的认证序列号进行认证。
在本申请实施例中,在生成BFD报文之后,利用计算得到的摘要替换报文中的认证摘要字段,并将替换后的报文发送至对端进行BFD认证。由于攻击者无法针对摘要进行攻击,因此,若出现攻击的情况,在对认证摘要字段进行认证的过程中便丢弃报文,不再继续执行序列号认证,避免恶意的序列号攻击导致后续正确的序列号认证不通过,从而可以提高BFD认证的安全性以及链路的质量。
进一步的,所述摘要计算模块502还用于:根据所述密码散列函数以及所述生成的BFD报文中的认证字段计算得到所述摘要。
在本申请实施例中,根据本端的认证密钥替换认证摘要字段,并仅根据BFD报文中的认证字段计算替换后的摘要,以在实现对摘要的认证,提高计算效率。
进一步的,所述报文生成模块501还用于:根据预先配置好的认证类型生成所述BFD报文。
在本申请实施例中,基于现有的认证类型,增加两种认证类型,从而实现更好的兼容性。
请参照图6,图6为本申请实施例提供的一种电子设备的结构框图,该电子设备600包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604。其中,通信总线604用于实现这些组件直接的连接通信,通信接口602用于与其他节点设备进行信令或数据的通信,存储器603存储有处理器601可执行的机器可读指令。当电子设备600运行时,处理器601与存储器603之间通过通信总线604通信,机器可读指令被处理器601调用时执行上述BFD认证方法。
例如,本申请实施例的处理器601通过通信总线604从存储器603读取计算机程序并执行该计算机程序可以实现如下方法:步骤S101:生成BFD报文。步骤S102:根据密码散列函数以及生成的BFD报文计算得到摘要。步骤S103:利用摘要替换生成的BFD报文中的认证摘要字段,得到替换后的BFD报文。步骤S104:向对端发送替换后的BFD报文,以使对端在替换后的BFD报文符合预设规则时,对替换后的BFD报文中的认证摘要字段进行认证,并在认证摘要字段认证通过后,对替换后的BFD报文中的认证序列号进行认证。在一些示例中,处理器601还可以执行如下步骤:步骤S201:接收BFD报文。步骤S202:若接收到的BFD报文符合预设规则,则对接收到的BFD报文中的认证摘要字段进行认证。步骤S203:若认证摘要字段认证通过,则对接收到的BFD报文中的认证序列号进行认证。步骤S204:若认证序列号认证通过,则确定接收到的BFD报文认证通过。
处理器601可以是一种集成电路芯片,具有信号处理能力。上述处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器603可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图6所示的结构仅为示意,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备600可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备600也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。于本申请实施例中,BFD认证方法中的两端可以采用图6示出的电子设备600实现。
本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中BFD认证方法的步骤,例如包括:接收BFD报文;若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;若认证序列号认证通过,则确定所述BFD报文认证通过。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种BFD认证方法,其特征在于,包括:
接收BFD报文;
若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;
若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;
若认证序列号认证通过,则确定所述BFD报文认证通过;
所述对所述BFD报文中的认证摘要字段进行认证,包括:
根据所述BFD报文中的认证密钥ID查找本端对应的认证密钥;
利用所述本端对应的认证密钥替换所述BFD报文中的认证摘要字段,得到替换后的BFD报文;
根据密码散列函数以及所述替换后的BFD报文计算得到摘要,并判断所述摘要与所述BFD报文中的认证摘要字段是否相同;若所述摘要与所述BFD报文中的认证摘要字段相同,则认证通过;否则,认证不通过;
所述根据密码散列函数以及所述替换后的BFD报文计算得到摘要,包括:
根据所述密码散列函数以及所述替换后的BFD报文中的认证字段计算得到所述摘要。
2.根据权利要求1所述的BFD认证方法,其特征在于,所述对所述BFD报文中的认证序列号进行认证,包括:
在接收序列号有效性变量表征接收过有认证序列号的BFD报文时,判断所述BFD报文中的认证序列号是否在预设范围内;其中,所述预设范围根据接收序列号变量确定,所述BFD报文中的认证序列号在预设范围内,则认证通过;否则,认证不通过;
在判断所述BFD报文中的认证序列号认证通过之后,所述方法还包括:
将所述接收序列号变量更新为所述BFD报文中的认证序列号。
3.根据权利要求1所述的BFD认证方法,其特征在于,所述对所述BFD报文中的认证序列号进行认证,包括:
在接收序列号有效性变量表征未接收过有认证序列号的BFD报文时,将所述接收序列号有效性变量更新为表征接收过有认证序列号的BFD报文,并将所述BFD报文中的认证序列号确定为接收序列号变量。
4.根据权利要求1-3任一项所述的BFD认证方法,其特征在于,所述BFD报文符合所述预设规则包括:
所述BFD报文中的认证类型为预设认证类型。
5.根据权利要求4所述的BFD认证方法,其特征在于,所述预设认证类型包括:
新增的增强密钥MD5或者新增的增强密钥SHA1。
6.一种BFD认证方法,其特征在于,包括:
生成BFD报文;
根据密码散列函数以及所述生成的BFD报文计算得到摘要;
利用所述摘要替换所述生成的BFD报文中的认证摘要字段,得到替换后的BFD报文;
向对端发送所述替换后的BFD报文,以使所述对端在所述替换后的BFD报文符合预设规则时,对所述替换后的BFD报文中的认证摘要字段进行认证,并在所述认证摘要字段认证通过后,对所述替换后的BFD报文中的认证序列号进行认证;
所述根据密码散列函数以及所述生成的BFD报文计算得到摘要,包括:
根据所述密码散列函数以及所述生成的BFD报文中的认证字段计算得到所述摘要。
7.根据权利要求6所述的BFD认证方法,其特征在于,所述生成BFD报文,包括:
根据预先配置好的认证类型生成所述BFD报文。
8.一种BFD认证装置,其特征在于,包括:
报文接收模块,用于接收BFD报文;
摘要认证模块,用于若所述BFD报文符合预设规则,则对所述BFD报文中的认证摘要字段进行认证;
序列号认证模块,用于若认证摘要字段认证通过,则对所述BFD报文中的认证序列号进行认证;
BFD认证模块,用于若认证序列号认证通过,则确定所述BFD报文认证通过;
所述摘要认证模块还用于:根据所述BFD报文中的认证密钥ID查找本端对应的认证密钥;利用所述本端对应的认证密钥替换所述BFD报文中的认证摘要字段,得到替换后的BFD报文;根据密码散列函数以及所述替换后的BFD报文计算得到摘要,并判断所述摘要与所述BFD报文中的认证摘要字段是否相同;若所述摘要与所述BFD报文中的认证摘要字段相同,则认证通过;否则,认证不通过;
所述摘要认证模块还用于:根据所述密码散列函数以及所述替换后的BFD报文中的认证字段计算得到所述摘要。
9.一种BFD认证装置,其特征在于,包括:
报文生成模块,用于生成BFD报文;
摘要计算模块,用于根据密码散列函数以及所述生成的BFD报文计算得到摘要;
摘要替换模块,用于利用所述摘要替换所述生成的BFD报文中的认证摘要字段,得到替换后的BFD报文;
报文发送模块,用于向对端发送所述替换后的BFD报文,以使所述对端在所述替换后的BFD报文符合预设规则时,对所述替换后的BFD报文中的认证摘要字段进行认证,并在所述认证摘要字段认证通过后,对所述替换后的BFD报文中的认证序列号进行认证;
所述摘要计算模块还用于:根据所述密码散列函数以及所述生成的BFD报文中的认证字段计算得到所述摘要。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-5任一项所述的BFD认证方法或者如权利要求6或7所述的BFD认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534023.2A CN112653699B (zh) | 2020-12-22 | 2020-12-22 | 一种bfd认证方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534023.2A CN112653699B (zh) | 2020-12-22 | 2020-12-22 | 一种bfd认证方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112653699A CN112653699A (zh) | 2021-04-13 |
CN112653699B true CN112653699B (zh) | 2022-08-12 |
Family
ID=75359320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011534023.2A Active CN112653699B (zh) | 2020-12-22 | 2020-12-22 | 一种bfd认证方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112653699B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113453262B (zh) * | 2021-06-29 | 2023-10-20 | 新华三大数据技术有限公司 | 一种双向转发检测bfd方法及装置 |
CN113590036B (zh) * | 2021-07-26 | 2024-03-29 | 上海沄熹科技有限公司 | 一种写入batch group串行化逻辑的优化方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082340B2 (en) * | 2006-01-30 | 2011-12-20 | Cisco Technology, Inc. | Technique for distinguishing between link and node failure using bidirectional forwarding detection (BFD) |
CN101610535B (zh) * | 2009-07-30 | 2012-03-14 | 杭州华三通信技术有限公司 | 多链路直连场景下保证bfd会话稳定性的方法、系统及装置 |
CN102065067B (zh) * | 2009-11-11 | 2014-06-25 | 杭州华三通信技术有限公司 | 一种在门户服务器和客户端之间防重放攻击的方法及设备 |
CN104040984B (zh) * | 2012-11-13 | 2017-05-10 | 华为技术有限公司 | 双向转发检测bfd会话协商方法、设备及系统 |
CN103647777B (zh) * | 2013-12-13 | 2017-04-12 | 华为技术有限公司 | 一种安全认证方法和双向转发检测bfd设备 |
CN105592054B (zh) * | 2015-09-15 | 2018-11-27 | 新华三技术有限公司 | 一种lsp报文的处理方法和装置 |
US9876794B2 (en) * | 2015-12-07 | 2018-01-23 | Lexmark International, Inc. | Systems and methods for authentication of printer supply items |
CN107547383B (zh) * | 2017-07-26 | 2020-04-03 | 新华三技术有限公司 | 路径检测方法及装置 |
CN108718282B (zh) * | 2018-03-22 | 2022-02-25 | 新华三技术有限公司 | 报文序列号的确定方法及装置 |
CN108880868B (zh) * | 2018-05-31 | 2021-02-26 | 新华三技术有限公司 | Bfd保活报文传输方法、装置、设备及机器可读存储介质 |
-
2020
- 2020-12-22 CN CN202011534023.2A patent/CN112653699B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112653699A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935169B (zh) | 一种业务数据访问方法、装置、设备及存储介质 | |
WO2015085848A1 (zh) | 一种安全认证方法和双向转发检测bfd设备 | |
CN112653699B (zh) | 一种bfd认证方法、装置及电子设备 | |
CN110198297B (zh) | 流量数据监控方法、装置、电子设备及计算机可读介质 | |
US20190166042A1 (en) | Method for data transmitting, centralized controller, forwarding plane device and communication apparatus | |
WO2019137554A1 (zh) | 一种保证环网协议运行安全的方法及装置 | |
US20160344768A1 (en) | Intrusion detection to prevent impersonation attacks in computer networks | |
WO2017031984A1 (zh) | 一种bmp报文认证的方法及装置 | |
WO2022099683A1 (zh) | 一种数据传输方法、装置、设备、系统及存储介质 | |
CN113395247A (zh) | 一种防止对SRv6 HMAC校验进行重放攻击的方法和设备 | |
CN111083049B (zh) | 一种用户表项恢复方法、装置、电子设备及存储介质 | |
CN113992387B (zh) | 资源管理方法、装置、系统、电子设备和可读存储介质 | |
CN108055285B (zh) | 一种基于ospf路由协议的入侵防护方法和装置 | |
US20230283588A1 (en) | Packet processing method and apparatus | |
CN117176401A (zh) | 核心网操作维护管理系统的访问控制方法及装置 | |
CN112219416A (zh) | 用于认证通过蜂窝网络传输的数据的技术 | |
CN115632963A (zh) | 一种确认隧道连接状态的方法、设备、装置及介质 | |
CN111459899B (zh) | 日志共享方法、装置及终端设备 | |
CN108243034B (zh) | 一种故障确定方法、接收机及发射机 | |
CN115208600A (zh) | 路由验证、数据发送的方法、装置、设备及存储介质 | |
CN114301774B (zh) | 设备配置方法、系统、装置、电子设备及存储介质 | |
CN114338777B (zh) | 一种逃生控制方法及装置 | |
US20240022602A1 (en) | Method and Apparatus for Route Verification and Data Sending, Device, and Storage Medium | |
US12113806B2 (en) | Packet processing method, apparatus, and system | |
US8995271B2 (en) | Communications flow analysis |
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 |