基于区块链的边界网关路由的更新方法转让专利

申请号 : CN202110995814.3

文献号 : CN113726665B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毕可骏李强

申请人 : 四川启睿克科技有限公司

摘要 :

本发明公开了基于区块链的边界网关路由的更新方法,构建包含IR节点、ABR节点、ER节点、ASBR节点、RIR节点和CA节点的区块链网络基础设施;在区块链网络基础设施实现基础组件,构建和部署去中心化的联盟链平台;在联盟链平台上根据路由规则在多个虚拟对等方节点之间构建通道,构建私有链平台;各个虚拟对等方节点加入通道并在通道中部署链码;通道初始化,通道内的各个节点接收路由请求并进行路由验证;将通过路由验证的新路由信息进行转发并向通道提交交易。创建基于参与自治系统AS共识的去中心化的不可变数据库以构建区块链,在收到每个边界网关路由的更新时都会根据区块链分布式数据库的内容进行验证,降低了安全风险。

权利要求 :

1.一种基于区块链的边界网关路由的更新方法,其特征在于,包括:

步骤S100、构建区块链网络基础设施,区块链网络基础设施包括路由节点、区域性互联网注册机构节点和CA证书颁发机构节点;路由节点包括内部路由器节点、区域边界路由器节点、边界路由器节点、自治系统边界路由器节点和骨干路由器节点;

步骤S200、在所述区块链网络基础设施实现所有必须的基础组件,构建和部署去中心化的联盟链平台;

步骤S300、在所述联盟链平台上根据路由规则,在多个虚拟对等方节点vPeer之间构建通道vChannel,构建私有链平台;

步骤S400、各个所述虚拟对等方节点vPeer加入通道vChannel,并在通道vChannel中部署链码;

步骤S500、通道vChannel初始化,通道vChannel内的各个节点接收路由请求并进行路由验证;

步骤S600、将通过路由验证的新路由信息进行转发并向通道提交交易;

所步骤S100中内部路由器节点的所有接口均在同一个区域中,属于同一个虚拟对等方节点vPeer且具有相同的链路信息的分类账副本;所述区域边界路由器节点位于一个或多个OSPF区域,用于连接该OSPF区域到骨干网络,区域边界路由器节点有骨干网络拓扑路由表和OSPF区域拓扑路由表;属于同一个通道vChannel的区域边界路由器节点有相同的分类账副本;所述边界路由器节点用于将局域网接入广域网并在局域网与广域网之间转发IP报文,属于同一个通道vChannel的边界路由器节点有相同的分类账副本;所述自治系统边界路由器节点位于OSPF自主系统和非OPSF网络之间,运行RIP协议或OSPF协议,用于与其他协议路由器交换路由信息,属于同一个通道vChannel的自治系统边界路由器节点有相同的分类账副本;所述骨干路由器节点至少有一个接口和骨干区域相连;所述区域性互联网注册机构用于向各个节点提供IP地址和AS号码分配;所述CA证书颁发机构节点为区块链网络中的自建节,用于向各节点发放和管理数字证书;除区域性互联网注册机构节点外的其他节点均需要通过CA证书颁发机构节点验证身份,获得自身的CA证书;所述的内部路由器节点、区域边界路由器节点、边界路由器节点、自治系统边界路由器节点、区域性互联网注册机构节点、CA证书颁发机构节点均安装了联盟链守护进程软件,用于实现区块链网络基础设施;

所述联盟链守护进程软件为包含实时消息通信的通信应用程序,用于以后台服务的方式运行于节点的操作系统上。

2.根据权利要求1所述的基于区块链的边界网关路由的更新方法,其特征在于,所述步骤S200具体包括:

构建联盟链平台所需的虚拟对等方节点vPeer,根据节点的区域属性和归属属性,将内部路由器节点、区域边界路由器节点、边界路由器节点、自治系统边界路由器节点划分为不同的虚拟对等方节点vPeer;虚拟对等方节点vPeer用于管理其内部节点的操作;

每个虚拟对等方节点vPeer包含多重签名密钥的钱包组件vWallet,钱包组件vWallet组件用于实现对联盟链平台的访问、管理私钥和地址、跟踪vPeer节点的账户信息以及创建并签名交易;

每个虚拟对等方节点vPeer均有分类账同步服务和分类账副本;分类账副本用于使用分类账同步服务实现通道vChannel中分类账数据的同步。

3.根据权利要求2所述的基于区块链的边界网关路由的更新方法,其特征在于,所述步骤S300中每个通道内的第一个虚拟对等方节点vPeer节点指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点担任该通道的CA服务组件;每个通道内构建分类账组件,分类账组件由一个区块链和一个状态数据库组成;每个通道内构建排序服务,排序服务由通道内的第一个vPeer节点所指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点来担任;每个通道内构建成员服务,成员服务由通道内的第一个虚拟对等方节点vPeer节点所指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点来担任,用于实现对该通道中的虚拟对等方节点vPeer节点的增加、删除、修改、查询功能。

4.根据权利要求1所述的基于区块链的边界网关路由的更新方法,其特征在于,所述链码是指部署于通道内路由节点上的智能合约程序,智能合约程序用于规定交易的访问和修改的方法。

说明书 :

基于区块链的边界网关路由的更新方法

技术领域

[0001] 本发明涉及区块链技术领域,具体的说,是一种基于区块链的边界网关路由的更新方法。

背景技术

[0002] 区块链是一个去中心化的共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特性。基于这些特性,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,故区块链技术一般用于解决中心化导致的信任问题。根据区块链网络中心化程度的不同,区块链从整体上可分为三类:公有链、联盟链和私有链,其中,允许授权的节点加入网络,可根据权限查看信息,往往被用于机构间或行业内的区块链,称为联盟链或行业链。而所有网络中的节点都掌握在一家机构手中,称为私有链。联盟链和私有链也统称为许可链,公有链称为非许可链。
[0003] 边界网关协议BGP(Border Gateway Protocol)是运行于TCP上的一种自治系统的路由协议,是唯一一个用于处理互联网规模级别的网络协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP构建于外部网关协议(Exterior Gateway Protocol,简称EGP)的经验之上。BGP系统的主要功能是和其它BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(Autonomous System,简称AS)的信息,这些信息有效地构造了自治系统AS互联的拓扑图并由此清除了路由环路,同时在AS级别上可实施策略决策。互联网由无数个独自运维的AS节点构成。BGP实际上是这些AS节点之间的报文转发路径的控制者,它们的安全性和可靠性对整个互联网是否可靠运行有着及其重要的影响。
[0004] 在边界网关路由数据的存储和更新方面,现有的解决方案都是利用集中式数据库,以及集中式公钥基础设施(Public Key Infrastructure,简称PKI)和某些常规PGP(Pretty Good Privacy,优良保密协议)加密变体作为其安全性机制。这些解决方案在面临现有的黑客攻击技术都有可能被攻破,并且在边界网关路由数据的更新时通常会使用已建立数据库来验证路由数据的更新,而没有适当的方法来验证存储在该数据库中的数据。这种边界网关路由器的数据库验证机制存在一定的风险点。
[0005] 现有技术中尚没有利用区块链技术来解决和实现边界网关路由数据的存储和更新的问题。

发明内容

[0006] 本发明的目的在于提供一种基于区块链的边界网关路由的更新方法,用于解决现有技术中边界网关路由数据的更新时通常会使用已建立数据库来验证路由数据的更新,而没有验证存储在该数据库中的数据导致存在安全风险的问题。
[0007] 本发明通过下述技术方案解决上述问题:
[0008] 一种基于区块链的边界网关路由的更新方法,包括:
[0009] 步骤S100、构建区块链网络基础设施,区块链网络基础设施包括路由节点、区域性互联网注册机构(Regional Internet Registry,简称RIR)节点和CA证书颁发机构(Certificate Authority,简称CA)节点;路由节点包括内部路由器(Internal Router,简称IR)节点、区域边界路由器(Area Border Router,简称ABR)节点、边界路由器(Edge Router,简称ER)节点、自治系统边界路由器(Autonomous System Border Router,简称ASBR)节点和骨干路由器节点(Backbone Router,简称BR);
[0010] 步骤S200、在所述区块链网络基础设施实现所有必须的基础组件,构建和部署去中心化的联盟链平台;
[0011] 步骤S300、在所述联盟链平台上根据路由规则,在多个虚拟对等方节点vPeer之间构建通道vChannel,构建私有链平台;
[0012] 步骤S400、各个所述虚拟对等方节点vPeer加入通道vChannel,并在通道vChannel中部署链码;
[0013] 步骤S500、通道vChannel初始化,通道vChannel内的各个节点接收路由请求并进行路由验证;
[0014] 步骤S600、将通过路由验证的新路由信息进行转发并向通道提交交易。
[0015] 创建基于参与自治系统AS共识的去中心化的不可变数据库,以构建此区块链。自治系统AS对等方在收到的每个边界网关路由的更新时都会根据区块链分布式数据库的内容进行验证,以检测具有伪造的路径和来源信息的更新,降低安全风险。
[0016] 所步骤S100中内部路由器节点的所有接口均在同一个区域中,属于同一个虚拟对等方节点vPeer且具有相同的链路信息的分类账副本;所述区域边界路由器节点位于一个或多个OSPF区域,用于连接该OSPF区域到骨干网络,区域边界路由器节点即有骨干网络拓扑路由表也有OSPF区域拓扑路由表;属于同一个通道vChannel的区域边界路由器节点有相同的分类账副本;所述边界路由器节点用于将局域网接入广域网并在局域网与广域网之间转发IP报文,属于同一个通道vChannel的边界路由器节点有相同的分类账副本;所述自治系统边界路由器节点位于OSPF自主系统和非OPSF网络之间,运行RIP协议或OSPF协议,用于与其他协议路由器交换路由信息,属于同一个通道vChannel的自治系统边界路由器节点有相同的分类账副本;所述骨干路由器节点至少有一个接口和骨干区域相连;所述区域性互联网注册机构用于向各个节点提供IP地址和AS号码分配;所述CA证书颁发机构节点为区块链网络中的自建节,用于向各节点发放和管理数字证书;除区域性互联网注册机构节点外的其他节点均需要通过CA证书颁发机构节点验证身份,获得自身的CA证书;所述的内部路由器节点、区域边界路由器节点、边界路由器节点、自治系统边界路由器节点、区域性互联网注册机构节点、CA证书颁发机构节点均安装了联盟链守护进程软件,用于实现区块链网络基础设施;所述联盟链守护进程软件为包含实时消息通信的通信应用程序,用于以后台服务的方式运行于节点的操作系统上。
[0017] 所述步骤S200具体包括:
[0018] 构建联盟链平台所需的虚拟对等方节点vPeer,根据节点的区域属性和归属属性,将内部路由器节点、区域边界路由器节点、边界路由器节点、自治系统边界路由器节点划分为不同的虚拟对等方节点vPeer;虚拟对等方节点vPeer用于管理其内部节点的操作;
[0019] 每个虚拟对等方节点vPeer包含多重签名密钥的钱包组件vWallet,钱包组件vWallet组件用于实现对联盟链平台的访问、管理私钥和地址、跟踪vPeer节点的账户信息和创建并签名交易;
[0020] 每个虚拟对等方节点vPeer均有分类账同步服务和分类账副本;分类账副本用于使用分类账同步服务实现通道vChannel中分类账数据的同步。
[0021] 所述步骤S300中每个通道内的第一个虚拟对等方节点vPeer节点指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点担任该通道的CA服务组件;每个通道内构建分类账组件,分类账组件由一个区块链和一个状态数据库组成;每个通道内构建排序服务,排序服务由通道内的第一个vPeer节点所指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点来担任;每个通道内构建成员服务,成员服务由通道内的第一个虚拟对等方节点vPeer节点所指定的一个或多个区域边界路由器节点或边界路由器节点或自治系统边界路由器节点来担任,用于实现对该通道中的虚拟对等方节点vPeer节点的增加、删除、修改、查询功能。
[0022] 所述链码是指部署于通道内路由节点上的智能合约程序,智能合约程序用于规定交易的访问和修改的方法。
[0023] 本发明与现有技术相比,具有以下优点及有益效果:
[0024] (1)本发明创建基于参与自治系统AS共识的去中心化的不可变数据库,以构建区块链。自治系统AS对等方在收到的每个边界网关路由的更新时都会根据区块链分布式数据库的内容进行验证,用于检测具有伪造的路径和来源信息的更新。解决了现有技术中没有验证存储在该数据库中的数据导致存在安全风险的问题,降低了安全风险。
[0025] (2)由于存储在分布式分类帐中的数据的频率或变化率远低于区块链交易率,因此本发明不受与区块链相关联的吞吐量和可伸缩性的局限性,不会影响整个区块链网络以及互联网的性能。
[0026] (3)本发明比现有的边界网关路由的更新方法更安全可靠,且性能方面没有衰减和损失,在成本方面也与传统解决方案相差无几。
[0027] (4)本发明消除了集中式PKI根信任节点,且自治系统AS现在能够实时检测和缓解IP前缀劫持攻击,而无需将此服务外包给第三方。
[0028] (5)本发明在区域网络发生故障时,不存在大规模重新计算路由的问题;本发明对各路由器节点的管理和组织非常有序,同样适用于较大的网络规模;没有路由防环的烦恼。

附图说明

[0029] 图1为本发明的流程图;
[0030] 图2为本发明中各路由器节点的组网示意图;
[0031] 图3为本发明中通道私有链组成结构示意图。

具体实施方式

[0032] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0033] 实施例:
[0034] 结合附图1、图2和图3所示,一种基于区块链的边界网关路由的更新方法,步骤包括:
[0035] 步骤101,构建一个包含IR节点(内部路由器节点)、ABR节点(区域边界路由器节点)、ER节点(边界路由器界节点)、ASBR节点(自治系统边界路由器节点)、BR节点(骨干路由器节点)、RIR节点(区域性互联网注册机构节点)、CA节点(CA证书颁发机构节点)的区块链网络基础设施。
[0036] 其中,IR节点所有接口均在同一个区域中,而同一区域中的所有IR节点属于同一个虚拟对等方节点(用vPeer表示),有相同的链路信息的分类账副本;
[0037] ABR节点位于一个或多个OSPF区域,其职能为连接所在区域到骨干网络;ABR节点既有骨干拓扑也有其他区域的拓扑路由表,属于同一个通道(用vChannel表示)中的ABR节点有相同的分类账副本;
[0038] ER节点负责将企业、学校、家庭的局域网接入到广域网,在局域网和广域网之间转发IP报文。ER节点通常执行路由信息协议(Routing Information Protocol,简称RIP)或开放式最短路径优先协议(Open Shortest Path First,简称OSPF)。RIP是基于最短距离(跳数)的网关协议,而OSPF基于最短路径优先的路由协议。ER路由器根据路由协议建立路由表,维持到达其它网络的路由,属于同一个vChannel通道中的ER路由器有相同的分类账副本;
[0039] ASBR节点位于OSPF自主系统和非OSPF网络之间,并与其他协议的路由器交换路由信息的路由器。ASBR路由器同样可以运行RIP协议或OSPF协议,属于同一个vChannel通道中的ASBR路由器有相同的分类账副本;
[0040] BR节点指至少有一个接口是和骨干区域相连的路由器。在一些场景下,ABR路由器也可以承担BR路由器的功能,从而被视为BR路由器。
[0041] RIR节点负责向各路由节点提供IP(IPv4及IPv6)地址和AS(自治系统)号码分配,可直接使用国家级注册机构,也即中国互联网络信息中心CNNIC。
[0042] CA节点为区块链网络中的自建节点,负责向各路由节点发放和管理数字证书。优选地,CA节点可以由兼有CA功能的路由节点代替。在具体的实施例中,一个CA服务可能包含一到多个CA节点,如果为多个CA节点,则这些CA节点处于集群状态,有公共的访问入口。一个CA服务通常位于一个vChannel通道中。
[0043] 上述各个节点,除了RIR节点,均需要通过CA节点验证身份,获得自身的CA证书。
[0044] IR节点、ABR节点、ER节点、ASBR节点、RIR节点、CA节点均安装了联盟链守护进程软件,以此实现区块链网络基础设施。联盟链守护进程软件是包含了实时消息通信的通信应用程序,以后台服务的方式运行于节点的操作系统上。
[0045] 步骤102,在上述区块链网络中实现所有必须的基础组件,构建和部署去中心化的联盟链平台。要构建和部署联盟链智能合约平台,需要:
[0046] 构建联盟链智能合约平台所需的vPeer节点:根据各路由器的区域属性和归属属性,将各IR节点、ABR节点、ER节点、ASBR节点划分为不同的vPeer节点。根据实际组网情况的复杂性,一个vPeer节点可包含1至多个IR节点、0至多个ABR节点、0至多个ER节点、0至多个ASBR节点、0至多个BR节点。
[0047] vPeer节点负责管理其内的IR节点、ABR节点、ER节点、ASBR节点,可以对这些节点进行添加、删除等操作。
[0048] 每一个vPeer节点需要有一个包含多重签名密钥的钱包组件,多重签名密钥的钱包组件(用vWallet表示)是一个软件服务,可由vPeer节点内指定的一到多个ABR节点或ER节点或ASBR节点来担任,如果是多个节点,则这些节点构成集群,提供钱包服务的统一入口。vWallet组件实现了对联盟链网络的访问、管理私钥和地址、跟踪vPeer节点的账户信息、创建并签名交易等功能。多重签名密钥是指参与交易提议的区块链解决方案的每个vPeer节点都采用并使用了更安全的Multisig钱包来存储多重签名密钥。所有的vPeer节点必须配置了vWallet组件才能参与vChannel通道中的交易处理。
[0049] 每一个vPeer节点需要有一个分类账同步服务,分类账同步服务由vPeer节点内部的指定的一到多个ABR节点或ER节点或ASBR节点来担任,如果是多个节点,则这些节点构成集群,提供分类账同步服务服务的统一入口。每一个vPeer节点会持有一份分类账的副本,该副本需要使用分类账同步服务实现vChannel通道中分类账数据的同步。
[0050] 步骤103,在联盟链平台上根据路由规则,在多个虚拟对等方节点之间构建通道,构建私有链平台。其中:
[0051] 路由规则是指根据不同的路由协议,比如RIP协议或OSPF协议等,以及域间路由的分配、域内路由的分配,决定vPeer节点是否应属于同一通道。
[0052] vChannel通道是一个逻辑概念,是一个包含了多个vPeer节点且实现了私有链功能的通信网络,vChannel通道之间实现了数据隔离和保证了机密性。一个vChannel通道即一个私有区块链。一个vChannel通道中包含了多个vPeer节点,而同一个vPeer节点,又可能属于多个vChannel通道,也即同一个vPeer节点可以参与多个私有区块链的交易处理。一个vChannel通道需要实现如下组件模块:
[0053] 构建通道所需的CA服务组件,一个vChannel通道中的CA服务组件由通道内的第一个vPeer节点所指定的一个或多个ABR节点或ER节点或ASBR节点来担任。
[0054] 构建通道所需的分类账组件,分类账组件(用vLedger表示)由两个部分组成:一个区块链和一个状态数据库。其中,区块链用于存储路由信息的历史日志,该记录是不可变的,只能追加新记录。也就是说,一个区块,一旦添加到链中,就再也无法更改。与之相反,状态数据库用于存储最新的路由信息,其中包含了路由信息键值对集合的当前值,这些键值对可以被区块链中的交易集合实现添加、修改或删除操作,并且这些交易集合都需要经过验证、确认和背书。
[0055] 构建通道所需的排序服务,一个vChannel通道中的排序服务(用vOrder表示)由通道内的第一个vPeer节点所指定的一个或多个ABR节点或ER节点或ASBR节点来担任。如果为多个节点,则这些节点处于集群状态,有公共的vOrder服务访问入口。vOrder服务负责将一个周期内的交易排序为一个区块,然后将该区块分发给vChannel通道中的所有vPeer节点进行验证和确认。要确定交易的顺序,交易排序的实施例通常使用先到先服务FCFS(First Come First Serve)算法或确定性共识算法(Deterministic Consensus Algorithm,简称DCA)实现。所述的周期可以是固定的时间间隔,还可以是固定的数据量大小。vPeer节点收到区块信息会进行验证和确认操作,一旦确认,会返回已确认信息。一个Channel通道由vOrder服务负责管理。
[0056] 构建通道所需的成员服务,一个vChannel通道中的成员服务通常由通道内的第一个vPeer节点所指定的一个或多个ABR节点或ER节点或ASBR节点来担任,如果为多个节点,则这些节点处于集群状态,有公共的vOrder服务访问入口。一个vChannel通道中成员服务实现了对该通道中的vPeer节点的增加、删除、修改、查询功能。
[0057] 步骤104,各vPeer节点加入通道,并在通道中部署链码。
[0058] 由于一个vChannel通道中包含了CA证书服务,且加入通道的各个vPeer节点均携带了该证书服务颁发的CA证书,各个vPeer节点经过验证后,整个vChannel通道形成了一个可信的私有链区块链网络。链码是指部署于通道内各路由节点上的智能合约程序,它规定了交易的访问和修改的方法。对于各路由节点来说,已有的路由信息是固定的,很少改变,而每一条需要更新的路由信息则被视为一条交易事务,会提交到vChannel通道进行处理。通道中的各vPeer节点会共享同一个vLedger账本,也即各vPeer节点会分别持有一份账本的副本,且账本的数据由包含账本同步功能的节点来完成。
[0059] 步骤105,通道初始化,通道内的各节点接收路由请求并进行处理和验证。
[0060] 一个vChannel通道初始化后,整个通道构成的私有区块链网络开始工作,通道内的各个vPeer节点在接到路由请求时,会判断是否为新路由信息,如果可以从vLedger账本副本中检索到该路由信息,则直接路由转发请求;如果未检索到该路由信息,则认为是一条新路由信息,对新路由信息需要进行验证,在逻辑上需要验证两部分信息:
[0061] 第一部分信息包括AS编号和IP前缀信息。AS编号和IP前缀信息构成了一个映射表。其中,AS编号为区域互联网注册管理机构RIR所分配。第一部分验证每个边界路由网关公告路由IP前缀信息的真实性。然后将边界网关路由公告信息传递到第二部分,以进行进一步的验证。
[0062] 第二部分信息包括AS编号和与之直连的AS编号。同样,AS编号和与之直连的AS编号也构成了一个映射表,且它们之间为多对多关系。第二部分验证边界网关路由公告的AS路径信息的真实性。
[0063] 如果两部分验证的任一部分验证为假或两个验证过程的结果均为假,则将该公告信息视为恶意尝试的IP前缀劫持攻击。然后通过日志记录该公告信息。
[0064] 步骤106,通过验证的新路由信息通过交易事务完成处理。
[0065] 通过了路由验证的新路由信息,然后一边路由转发请求,一边将将该路由信息认为是新交易事务,向vChannel通道提交交易。
[0066] vOrder排序服务管理vChannel通道,将该交易分发给通道中的所有vPeer节点处理。各vPeer节点需要确认并对此交易进行背书,并将确认和背书信息返回给vOrder排序服务。在一个周期后,vOrder排序服务将所有经过通道vPeer节点确认和背书的交易信息排序并打包成一个新的区块,存储到vLedger分类账中。各vPeer节点的分类账同步服务会将新区块的数据同步到自己的分类账副本中。
[0067] 尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。