BGP路由信息验证方法及装置与流程

文档序号:20917040发布日期:2020-05-29 13:40阅读:379来源:国知局
BGP路由信息验证方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种bgp路由信息验证方法及装置。



背景技术:

边界网关协议(bordergatewayprotocol,bgp)是自治域之间用来交换路由的重要协议。通过bgp,不同的自治域之间可以互相传递路由信息,使得全球的自治域可以相互沟通路由,实现互联网的全球可达。通过bgp,自治域还可以进行路由优选、避免环路,同时更高效率地进行路由传递。

然而,bgp的设计初衷假定了全球互联网的参与者均是善意的,并未考虑其安全问题,这就导致了在目前的bgp框架下,互联网的路由可能被不合法具有相关地址的人员出于恶意或错误配置所劫持。

如何验证bgp路由信息的真实性,避免由bgp路由劫持带来的危险和损失,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例提供一种bgp路由信息验证方法及装置,用以解决bgp路由可能被劫持的问题。

第一方面,本发明实施例提供一种bgp路由信息验证方法,包括:

确定本自治域之外的任一自治域的bgp路由信息;

基于所述任一自治域的bgp路由信息,生成待验证ipv6地址;

访问所述待验证ipv6地址,得到所述待验证ipv6地址对应可信任网站所提供的验证信息;

基于所述验证信息,验证所述bgp路由信息。

优选地,所述bgp路由信息包括所述任一自治域的第一路由前缀、第一合法自治域号码和第一路由前缀长度;

所述第一路由前缀、第一合法自治域号码和第一路由前缀长度分别为从所述bgp路由信息中提取的路由前缀、合法自治域号码和路由前缀长度。

优选地,所述基于所述任一自治域的bgp路由信息,生成待验证ipv6地址,具体包括:

将所述任一自治域的第一路由前缀,作为所述待验证ipv6地址的前缀;

基于所述任一自治域的第一合法自治域号码和第一路由前缀长度,生成所述待验证ipv6地址的后缀;

基于所述待验证ipv6地址的前缀和后缀,得到所述待验证ipv6地址。

优选地,所述验证信息包括所述任一自治域的第二路由前缀、第二合法自治域号码和第二路由前缀长度;

所述第二路由前缀、第二合法自治域号码和第二路由前缀长度分别为从所述验证信息中提取得到的路由前缀、合法自治域号码和路由前缀长度。

优选地,所述基于所述验证信息,验证所述bgp路由信息,具体包括:

若所述第一路由前缀、第一合法自治域号码和第一路由前缀长度分别与所述第二路由前缀、第二合法自治域号码和第二路由前缀长度一致,则确定所述bgp路由信息通过验证;

否则,确定所述bgp路由信息验证失败。

优选地,还包括:

基于本自治域的bgp路由信息,生成验证服务ipv6地址;

经过第三方机构得到所述验证服务ipv6地址所对应验证服务的可信任网站的证书,并基于所述验证服务的可信任网站提供对应于本自治域的bgp路由信息的验证信息。

优选地,所述基于所述任一自治域的bgp路由信息,生成待验证ipv6地址,之后还包括:

若访问所述待验证ipv6地址失败,则确定所述bgp路由信息验证失败。

第二方面,本发明实施例提供一种bgp路由信息验证装置,包括:

bgp路由确定单元,用于确定本自治域之外的任一自治域的bgp路由信息;

待验证地址生成单元,用于基于所述任一自治域的bgp路由信息,生成待验证ipv6地址;

验证信息获取单元,用于访问所述待验证ipv6地址,得到所述待验证ipv6地址对应可信任网站所提供的验证信息;

bgp验证单元,用于基于所述验证信息,验证所述bgp路由信息。

第三方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑命令,以执行如第一方面所提供的方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。

本发明实施例提供的一种bgp路由信息验证方法及装置,基于任一自治域的bgp路由信息,生成待验证ipv6地址,通过访问待验证ipv6地址,以及根据待验证ipv6地址对应可信任网站所提供的验证信息验证bgp路由信息,充分利用ipv6协议所提供的海量地址空间,实现了bgp路由信息的双重验证,从而确保bgp路由信息的真实性,避免了bgp路由劫持导致的危险和损失。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的bgp路由信息验证方法的流程示意图;

图2为本发明实施例提供的bgp路由信息验证装置的结构示意图;

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对于路由劫持问题,目前提出的解决方案即rpki(资源公共密钥基础架构)技术。rpki技术是通过pki体系对资源证书进行签名,来验证自治域和p地址之间资源分配关系的一种技术。然而由于rpki是由全世界五个rir(regionalinternetregistry)作为证书的信任锚链,具有高度中心化特性,在网络部分中断的情况下无法进行有限验证。对此,本发明实施例提供一种bgp路由信息验证方法。图1为本发明实施例提供的bgp路由信息验证方法的流程示意图,如图1所示,该方法的执行主体可以为本自治域内专用于验证bgp路由信息的服务器,也可以为本自治域内任一需要应用bgp路由信息与外界通信的边界路由器等,本发明实施例中以执行主体为专用于验证bgp路由信息的服务器为例进行说明。该方法包括:

步骤110,确定本自治域之外的任一自治域的bgp路由信息。

具体地,本自治域外的任一自治域的bgp路由信息可以是本自治域的边界路由器得到并发送的,该自治域的bgp路由信息存在被劫持的风险,需要进行bgp路由信息验证。

步骤120,基于该自治域的bgp路由信息,生成待验证ipv6地址。

步骤130,访问待验证ipv6地址,得到待验证ipv6地址对应可信任网站所提供的验证信息。

具体地,针对于任一自治域,该自治域预先应用设定好的规则,基于自身的bgp路由信息中包含的信息,生成了为其余自治域提供验证服务的ipv6地址,并在该ipv6地址所对应的可信任网站上挂载了验证信息,以供其余自治域获取验证信息以实现bgp路由信息的验证。需要说明的是,用于生成ipv6地址的规则,是各个自治域均能够预先获知的。此外,可信任网站的证书是经由第三方可信任机构签发的。

针对需要验证的bgp路由信息,可以应用同样的规则,生成待验证ipv6地址。此处,若待验证的bgp路由信息真实安全,则待验证ipv6地址与该自治域生成的其余自治域提供验证服务的ipv6地址一致,若待验证的bgp地址被劫持,则待验证ipv6地址与该自治域生成的其余自治域提供验证服务的ipv6地址可能一致,也可能不同。

通过访问待验证ipv6地址,可以确定待验证ipv6地址是否为该自治域生成的其余自治域提供验证服务的ipv6地址。在访问待验证ipv6地址成功时,即可得到待验证ipv6地址对应可信任网站所提供的验证信息,也就是该自治域中提供验证服务的可信任网站上挂载的验证信息。

步骤140,基于验证信息,验证bgp路由信息。

具体地,在得到验证信息后,可以基于验证信息,对bgp路由信息进行验证,从而判断bgp路由信息是否真实安全。

本发明实施例提供的方法,基于任一自治域的bgp路由信息,生成待验证ipv6地址,通过访问待验证ipv6地址,以及根据待验证ipv6地址对应可信任网站所提供的验证信息验证bgp路由信息,充分利用ipv6协议所提供的海量地址空间,实现了bgp路由信息的双重验证,从而确保bgp路由信息的真实性,避免了bgp路由劫持导致的危险和损失。

基于上述实施例,bgp路由信息包括该自治域的第一路由前缀、第一合法自治域号码和第一路由前缀长度。

此处,“第一”仅用于表示上述路由前缀、合法自治域号码和路由前缀长度均是从待验证的bgp路由信息中提取得到的。

对应地,步骤120具体包括:将该自治域的第一路由前缀,作为待验证ipv6地址的前缀;基于该自治域的第一合法自治域号码和第一路由前缀长度,生成待验证ipv6地址的后缀;基于待验证ipv6地址的前缀和后缀,得到待验证ipv6地址。

具体地,基于第一合法自治域号码和第一路由前缀长度,生成待验证ipv6地址的后缀的方法是具体设定的,且与该自治域生成为其余自治域提供验证服务的ipv6地址的后缀的方法一致。由此得到的待验证ipv6地址,由第一路由前缀,以及基于第一合法自治域号码和第一路由前缀长度生成的后缀唯一组成。

本发明实施例提供的方法,bgp路由信息中包含有第一路由前缀、第一合法自治域号码和第一路由前缀长度,上述信息与rpki应用的信息一致,因此本发明实施例提供的验证方法具有与rpki相同的安全性。但本发明实施例提供的方法中,用于验证服务的可信任网站证书的签发机构是可选的,因此具有更好的灵活性和自主性。

基于上述任一实施例,验证信息包括该自治域的第二路由前缀、第二合法自治域号码和第二路由前缀长度。

此处,“第二”仅用于表示上述路由前缀、合法自治域号码和路由前缀长度均是从验证信息中提取得到的,以便于与从待验证的bgp路由信息中提取得到的路由前缀、合法自治域号码和路由前缀长度区分。

基于上述任一实施例,步骤140具体包括:若第一路由前缀、第一合法自治域号码和第一路由前缀长度分别与第二路由前缀、第二合法自治域号码和第二路由前缀长度一致,则确定bgp路由信息通过验证;否则,确定bgp路由信息验证失败。

具体地,可以将待验证的bgp路由信息中包含的各类信息分别与验证信息中包含的各类信息进行比较,仅在各类信息均一致的情况下,确定bgp路由信息通过验证,bgp路由信息真实安全;否则,确定bgp路由信息验证失败,可能被劫持。

基于上述任一实施例,该方法还包括:基于本自治域的bgp路由信息,生成验证服务ipv6地址;经过第三方机构得到验证服务ipv6地址所对应验证服务的可信任网站的证书,并基于验证服务的可信任网站提供对应于本自治域的bgp路由信息的验证信息。

具体地,在执行上述实施例中提供的方法以验证本自治域以外的任一自治域的bgp路由信息的同时,还可以基于本自治域的bgp路由信息,生成验证服务ipv6地址,即为其余自治域提供本自治域的bgp路由信息验证服务的ipv6地址,通过第三方可信任机构签发验证服务ipv6地址所对应的验证服务的可信任网站的证书,并通过https协议向所有访问该验证服务的可信任网站的用户提供本自治域的bgp路由信息所对应的验证信息。

需要说明的是,本发明实施例中生成验证服务ipv6地址的方法,与上述任一实施例中生成待验证ipv6地址的方法一致,此处不再赘述。

基于上述任一实施例,步骤120之后还包括:若访问待验证ipv6地址失败,则确定bgp路由信息验证失败。

具体地,在得到待验证ipv6地址后,需要访问待验证ipv6地址,若访问成功,即可得到待验证ipv6地址对应可信任网站所提供的验证信息,从而基于验证信息对bgp路由信息进行验证;若访问失败,则说明待验证ipv6地址与该自治域的验证服务ipv6地址并不一致,可能是bgp路由信息被劫持所致,确定bgp路由信息验证失败。

基于上述任一实施例,一种bgp路由信息验证方法,包括如下步骤:

针对于任一作为源头公布路由信息的互联网自治域,在自治域内配置一台ipv6服务器,通过https向互联网提供服务。同时部署一台缓存服务器,该缓存服务器可以使用第三方协议与该自治域边界路由器通讯。

其中,ipv6服务器可以通过如下方式配置验证服务ipv6地址:

将该自治域的路由前缀,作为验证服务ipv6地址的前缀;基于该自治域的合法自治域号码和路由前缀长度,生成验证服务ipv6地址的后缀;结合验证服务ipv6地址的前缀和后缀,得到验证服务ipv6地址。

随后,ipv6服务器获取经过第三方可信任机构签发的验证服务ipv6地址对应的验证服务的可信任网站的证书,并通过https协议向所有访问该ipv6服务器的用户提供包含该自治域的路由前缀、合法自治域号码和路由前缀长度的验证信息。

缓存服务器用于验证该自治域的边界路由器接收到的其余自治域的bgp路由信息的真实性,具体是通过如下方式实现的:

缓存服务器应用与验证服务ipv6地址的生成方法相同的方法,生成bgp路由信息对应的待验证ipv6地址。

缓存服务器通过https协议访问待验证ipv6地址,得到待验证ipv6地址对应可信任网站所提供的验证信息,与待验证的bgp路由信息进行比对,如果一致,则证明bgp路由信息真实有效,缓存服务器通知边界路由器,可进行正常通讯。

本发明实施例提供的方法,采用与rpki一致的验证信息,因此具有相同的安全性。不同于rpki,本发明实施例可以选择https的证书签发机构,具有更好的自主性和灵活性。此外,本发明实施例还可以与rpki组合使用。通过以上步骤,能够高效验证bgp路由信息的真实性,方便快捷,容易部署,避免由bgp路由劫持导致的危险和损失。

基于上述任一实施例,一种bgp路由信息验证方法,包括如下步骤:

针对于任一作为源头公布路由信息的互联网自治域,假设该自治域的bgp路由信息包括:

路由信息前缀为2001:da8:c337::

前缀长度为48

自治域号码为23910

在自治域内配置一台ipv6服务器,通过如下方式配置验证服务ipv6地址:

将该自治域的路由前缀2001:da8:c337::,作为验证服务ipv6地址的前缀;自治域号码作为将验证服务ipv6地址的后缀的第96-128位,本发明实施例中为0000:5d66,即23910的16进制数字;将前缀长度作为验证服务ipv6地址的后缀的第89-96位,本发明实施例中为30,即48的16进制数字,将验证服务ipv6地址的后缀的第49-88位设定为0。

需要说明的是,上述后缀生成方法一般要求前缀长度不长于88位。一般在bgp公告中的路由长度满足这个要求;如果超过这个要求,也可以对自治域号码、前缀长度进行摘要后构成后缀。

由此得到验证服务ipv6地址的后缀为0000:0000:0030:0000:5d66,将验证服务ipv6地址的前缀和后缀相结合,得到验证服务ipv6地址如下:

2001:da8:c337:0000:0000:0030:0000:5d66

随后,ipv6服务器获取经过第三方可信任机构签发的验证服务ipv6地址对应的验证服务的可信任网站的证书,并通过https协议向所有访问该ipv6服务器的用户提供验证信息,验证信息包括:

路由信息前缀为2001:da8:c337::

前缀长度为48

自治域号码为23910

当其他自治域的边界路由器收到上述bgp路由信息时,可以通过以下方法验证该bgp路由信息的真实性:

基于上述bgp路由信息,应用上述生成验证服务ipv6地址的方式生成待验证ipv6地址。然后,通过https访问待验证ipv6地址。若上述bgp路由信息真实有效,发送该bgp路由通告的自治域在自治域内以验证服务地址配置了服务器,该服务器可正常访问,并提供以下验证信息:

路由信息前缀为2001:da8:c337::

前缀长度为48

自治域号码为23910

边界路由器将上述验证信息与收到的bgp路由信息进行比对,若验证一致,则确定bgp路由信息真实有效。

若出现路由劫持情况,则劫持路由的自治域并不拥有以此地址运行的网站的合法证书,无法提供合法的https服务,验证失败。

基于上述任一实施例,图2为本发明实施例提供的bgp路由信息验证装置的结构示意图,如图2所示,bgp路由信息验证装置包括bgp路由确定单元210、待验证地址生成单元220、验证信息获取单元230以及bgp验证单元240;

其中,bgp路由确定单元210用于确定本自治域之外的任一自治域的bgp路由信息;

待验证地址生成单元220用于基于所述任一自治域的bgp路由信息,生成待验证ipv6地址;

验证信息获取单元230用于访问所述待验证ipv6地址,得到所述待验证ipv6地址对应可信任网站所提供的验证信息;

bgp验证单元240用于基于所述验证信息,验证所述bgp路由信息。

本发明实施例提供的装置,基于任一自治域的bgp路由信息,生成待验证ipv6地址,通过访问待验证ipv6地址,以及根据待验证ipv6地址对应可信任网站所提供的验证信息验证bgp路由信息,充分利用ipv6协议所提供的海量地址空间,实现了bgp路由信息的双重验证,从而确保bgp路由信息的真实性,避免了bgp路由劫持导致的危险和损失。

基于上述任一实施例,所述bgp路由信息包括所述任一自治域的第一路由前缀、第一合法自治域号码和第一路由前缀长度;

所述第一路由前缀、第一合法自治域号码和第一路由前缀长度分别为从所述bgp路由信息中提取的路由前缀、合法自治域号码和路由前缀长度。

基于上述任一实施例,所述待验证地址生成单元220具体用于:

将所述任一自治域的第一路由前缀,作为所述待验证ipv6地址的前缀;

基于所述任一自治域的第一合法自治域号码和第一路由前缀长度,生成所述待验证ipv6地址的后缀;

基于所述待验证ipv6地址的前缀和后缀,得到所述待验证ipv6地址。

基于上述任一实施例,所述验证信息包括所述任一自治域的第二路由前缀、第二合法自治域号码和第二路由前缀长度;

所述第二路由前缀、第二合法自治域号码和第二路由前缀长度分别为从所述验证信息中提取得到的路由前缀、合法自治域号码和路由前缀长度。

基于上述任一实施例,所述bgp验证单元240具体用于:

若所述第一路由前缀、第一合法自治域号码和第一路由前缀长度分别与所述第二路由前缀、第二合法自治域号码和第二路由前缀长度一致,则确定所述bgp路由信息通过验证;

否则,确定所述bgp路由信息验证失败。

基于上述任一实施例,该装置还包括验证服务单元;验证服务单元用于:

基于本自治域的bgp路由信息,生成验证服务ipv6地址;

经过第三方机构得到所述验证服务ipv6地址所对应验证服务的可信任网站的证书,并基于所述验证服务的可信任网站提供对应于本自治域的bgp路由信息的验证信息。

基于上述任一实施例,该装置还包括验证失败单元;验证失败单元用于:

若访问所述待验证ipv6地址失败,则确定所述bgp路由信息验证失败。

图3为本发明实施例提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑命令,以执行如下方法:确定本自治域之外的任一自治域的bgp路由信息;基于所述任一自治域的bgp路由信息,生成待验证ipv6地址;访问所述待验证ipv6地址,得到所述待验证ipv6地址对应可信任网站所提供的验证信息;基于所述验证信息,验证所述bgp路由信息。

此外,上述的存储器330中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:确定本自治域之外的任一自治域的bgp路由信息;基于所述任一自治域的bgp路由信息,生成待验证ipv6地址;访问所述待验证ipv6地址,得到所述待验证ipv6地址对应可信任网站所提供的验证信息;基于所述验证信息,验证所述bgp路由信息。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1