一种区块链资源公钥基础设施的路由配置验证方法

文档序号:39726368发布日期:2024-10-22 13:26阅读:45来源:国知局
一种区块链资源公钥基础设施的路由配置验证方法

本发明属于网络通信设备与信息安全领域,尤其涉及一种区块链资源公钥基础设施的路由配置验证方法。


背景技术:

1、bgp(border gateway protocol,即边界网关协议)是internet中的域间路由协议。但是,传统的bgp协议容易受到许多安全威胁攻击,最常见的bgp攻击之一是前缀劫持。通过伪造bgp路由通告信息中的起源as(autonomous system,即自治系统)(起源as,即发起路由通告信息的as),导致对应这些ip地址前缀的流量被劫持者的as拦截或丢弃。资源公钥基础设施(即rpki,resource public key infrastructure)是用于支持ip地址前缀起源验证的基础设施,它能提供授权的ip地址前缀与起源as的可信映射。ip地址等于网络地址加上主机地址,ip地址前缀是指ip地址中与其网络部分相对应的地址部分,即ip地址的网络地址,用来唯一地标识着连入internet的一个网络的网络号。ip地址={<地址前缀>,<主机号>}。为了区分地址前缀,通常采用"斜线记法",即ip地址/网络前缀所占比特数。例如:192.168.24.0/22表示32位的地址中,前22位为网络前缀,后10(32-22=10)位代表主机号。在换算中,192.168.24.0/22对应的二进制为:

2、1100 0000(192),1010 1000(168),0001 1000(24),0000 0000(0)

3、rpki依附于inr(internet numbers resources,即internet数字资源)的分配过程,inr包括ip地址资源和as号资源,即机构所拥有的ip地址和as号,以区域互联网注册管理机构rir(regional internet registry)作为最上层的资源颁发者,rir又可以将自己的internet号码资源向下级资源颁发者如本地互联网注册机构(local internet registry,lir)、国家级互联网注册机构(national internet registry,nir)和互联网服务提供商(internet service provider,isp)分配,然后下级资源颁发者再依次逐级向下分配,通过自上而下的权限层次结构提供可验证的ip地址前缀与起源as的映射库。rpki由三个组件组成:基于公钥基础设施的证书对象,用于表示路由起源授权roa(route originauthorization)的签名对象,以及用于保存对象的分布式存储系统。rp(relying party,即依赖方)是rpki的使用者,rp获取签名对象集合的副本,验证签名,生成有效roa列表,并定期检查在分布式存储系统中签名对象的更新,并同步这些更新。roa是ip地址所有者授权as为其进行路由通告的授权信息,包含一个as号码以及一个或多个ip地址前缀之间的“绑定关系”。

4、roa可以被rp用来验证为某一特定ip地址前缀发起路由的as是否被地址所有者所授权。bgp路由器使用rpki中rp提供的有效roa列表信息来区分合法起源as发起的bgp路由以及可能被劫持的bgp路由。同时,bgp路由器可使用rpki中的ee(end entity,即终端实体)证书来进行路由信息中as path的路径认证,以防止路径信息伪造。

5、然而rpki自身也面临安全风险。虽然rpki的许多规范讨论了rpki如何验证bgp路由,但是rpki的正确运行取决于rp能否提供正确的、全面的有效roa信息。rpki的自身主要安全问题是:恶意授权机构可以通过在rpki上对于各类资源证书rc(resourcecertificate)的恶意操作(rc的内容包括标准rfc 5280的x.509证书,并附有rfc 3779的ip地址和as扩展标识符,用来担保ip地址前缀和as号的分配),导致某些合法bgp路由不合法。或者恶意授权机构操纵不同的资源证书视图给不同的rp,从而达到某些合法ip地址在路由转发层面就被阻断或者被重新定向到不同的转发路径上达到非法吸引流量的目的。

6、同时rpki并不直接对路由配置进行验证,然而路由配置的安全性及正确性直接影响着网络的整体性能、稳定性和安全性。攻击者可能通过欺骗或其他手段,在bgp环境中注入非法路由,引导流量绕过正常的路径,进入攻击者控制的网络,造成数据泄露或服务中断。因此,强化路由配置的安全管理,对于构建健壮、安全的网络环境至关重要。

7、针对上述问题,当前的rpki很难区分各种资源证书对象或者路由配置信息的操作是由于机构管理员操作错误还是受到攻击的恶意行为,还是资源证书的颁发者与被颁发者之间达成的正常合约。上述安全问题,现有rpki架构与机制难以解决。

8、区块链一般用于解决中心化导致的信任问题,2008年,中本聪在《bitcoin:apeer-to-peer electronic cash system》(即《比特币:一种点对点的电子现金系统》)一文中将区块链作为比特币的底层技术提出。区块链由多个区块(规定第一个区块叫做创世区块)按照生成交易的时间戳顺序连成。区块链一般用于解决节点依赖问题,作为一种去中心化的技术允许交易双方在线直接交易,而不需要通过第三方管理机构,没有中心管制,所有节点能够在系统中自动安全的验证、交换数据。区块链技术将信任存于网络而不是某个中心机构。负责维护网络运行的终端称为节点。区块链是去中心化的分布式数据库,他不依托于哪一个中心化的服务器,而是由众多“小服务器”组成,只要服务器安装了区块链客户端,该服务器就变成了众多“小服务器”中的一员,那么该服务器就是一个节点。

9、智能合约这一概念在1994年被计算机学家nick szabo首次提出,nick szabo在当时自己的网站上发表了几篇文章,文章中提到了智能合约这个理念。他写道:“智能合约的总体目标是满足共同的合同条件(例如付款项、留置权、保密性,甚至强制执行),最大限度地减少异常以及对可信中介的需求。相关的经济目标包括减少欺诈损失、仲裁和执行成本以及其他交易成本。数字形式的智能合约意味着合约是通过计算机代码实现的。在智能合约中,只要参与方达成协定,智能合约就会建立起各方的权利和义务。然后通过计算机网络实行合约。

10、区块链操作原语是指在区块链网络中,对基本的区块链功能进行的操作、交互和处理,通过外部程序调用区块链操作原语,实现对整个区块链网络的操作和管理。常见的区块链原语操作包括:加入区块链原语、退出区块链原语、分布式账本操作原语、分布式账本读取原语、调用智能合约原语等。

11、区块链报文是指外部程序调用区块链操作原语时,外部程序与区块链节点交互所采用的报文格式。区块链报文是外部应用与区块链节点交互的媒介格式,它定义了调用智能合约或其他链上操作的标准请求和响应格式。

12、联盟链是多个私有区块链组成的集群,由多个机构共同参与管理区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。联盟链的各个节点通常由与之对应的实体机构组织,通过联盟链管理方授权后加入与退出区块链。各个机构组织组成利益相关的联盟,共同维护区块链的健康运转。

13、路由器要能保证域间路由协议的安全性,防范路由前缀劫持攻击、路径信息篡改攻击、分配不合规资源的资源证书导致的路由前缀劫持攻击、未经资源拥有者同意的资源证书撤销导致的网络不可达攻击和网络引流攻击,依靠rpki不能达到防范上述安全威胁模型。还未见有公开文献涉及利用区块链来解决上述域间路由协议的安全问题,也未见有公开文献涉及利用基于区块链的资源公钥基础设施解决路由配置的验证问题的技术方案。

14、如何对路由配置进行验证以解决域间路由协议的安全性问题,防范路由前缀劫持攻击、路径信息篡改攻击、分配不合规资源的资源证书导致的路由前缀劫持攻击、未经资源拥有者同意的资源证书撤销导致的网络不可达攻击和网络引流攻击,是本领域技术人员极为关注的技术问题。


技术实现思路

1、本发明要解决的技术问题是提供一种区块链资源公钥基础设施的路由配置验证方法。增强域间路由协议安全性,使域间路由能够防范路由前缀劫持攻击、路径信息篡改攻击和未经资源拥有者同意的资源证书撤销导致的网络不可达攻击等攻击。

2、本发明的技术方案是:构建区块链资源公钥基础设施(rpkib,resource publickey infrastructure blockchain,即区块链资源公钥基础设施)总系统,区块链资源公钥基础设施总系统由资源颁发者、资源接收者、路由器网络、区块链网络组成。资源颁发者和资源接收者中安装有资源交易应用客户端和区块链交易软件,区块链交易软件实现资源交易验证以及资源证书上链功能;资源交易应用客户端由资源证书生成模块、资源交易模块、显示模块组成,实现资源证书授权功能。路由器网络中的路由器中安装有rpkib客户端软件和域间路由协议,域间路由协议由基本功能模块和安全增强模块组成;rpkib客户端软件安装在路由器操作系统上,用于同步资源颁发者(certification authority,ca)发布的所有有效的roa证书和ee证书;安全增强模块具有路由配置验证功能,安全增强模块通过与rpkib客户端软件、区块链网络交互,提交路由协议加密配置命令,实现路由配置验证功能;区块链网络的区块链节点安装有资源交易验证合约、路由配置验证合约、分布式帐本,资源交易验证合约使用区块链智能合约验证资源交易的合规性;其中,资源交易应用客户端、区块链交易软件、rpkib客户端软件、资源交易验证合约和分布式账本构成路由证书授权系统(routing authority blockchain,rab)。rpkib客户端软件、安全增强模块、路由配置验证合约和分布式账本构成路由配置验证区块链系统(routing config verificationblockchain,rcvb。rab完成资源证书授权、资源交易验证、资源证书上链。rcvb完成路由配置验证。基本功能模块是路由器生产厂家给路由器配置的,实现路由器路由、转发、隔离广播域等基本功能。

3、本发明的技术方案包含如下步骤:

4、第一步,构建区块链资源公钥基础设施(即rpkib)总系统,该总系统由资源颁发者、资源接收者、路由器网络、区块链网络组成。资源颁发者和资源接收者中安装有资源交易应用客户端和区块链交易软件,区块链交易软件实现资源交易验证以及资源证书上链功能;资源交易应用客户端由资源证书生成模块、资源交易模块、显示模块组成,实现资源证书授权功能。路由器网络中的路由器中安装有rpkib客户端软件和域间路由协议,域间路由协议由基本功能模块(是路由器生产厂家给路由器配置的,实现路由器路由、转发、隔离广播域等基本功能的软件模块)和安全增强模块组成;rpkib客户端软件安装在路由器操作系统之上,用于同步资源颁发者(certification authority,ca)发布的所有有效的roa和ee证书;安全增强模块具有路由配置验证功能,安全增强模块通过与rpkib客户端软件、区块链网络交互,提交路由协议加密配置命令,实现路由配置验证功能;区块链网络的区块链节点安装有资源交易验证合约、路由配置验证合约、分布式帐本,资源交易验证合约使用区块链智能合约验证资源交易的合规性。

5、路由证书授权系统(routingauthorityblockchain,rab)属于区块链资源公钥基础设施rpkib总系统的一部分,也由资源颁发者、资源接收者、路由器网络、区块链网络组成,具体包括资源颁发者、资源接收者上的资源交易应用客户端、区块链交易软件,路由器网络中的rpkib客户端软件,区块链网络中的资源交易验证合约和分布式账本。其中,资源颁发者的区块链交易软件将资源交易应用客户端生成的证书上交给区块链节点,用于验证颁发证书的合规性;区块链节点通过资源交易验证合约分析后,将能否将当前资源颁发给资源接收者的信息返回给资源颁发者的区块链交易软件,资源交易应用客户端根据区块链交易软件提供的信息来决定是否将资源颁发给资源接收者;另外,资源接收者也会通过区块链交易软件与区块链节点的资源交易验证合约进行交互来验证颁发的证书的合规性,通过后,正式将资源证书上交给资源接收者,并通过资源交易应用客户端的显示模块显示出。

6、路由配置验证区块链系统(routing config verification blockchain,rcvb)属于区块链资源公钥基础设施rpkib总系统的一部分,由路由器网络、区块链网络组成,具体包括路由器网络中的安全增强模块、rpkib客户端软件,区块链网络中的路由配置验证合约以及分布式账本,其中路由器上的rpkib客户端软件通过与域间路由协议软件交互,将路由器域间路由协议加密配置命令作为交易提交给区块链节点,用于验证路由配置的合规性。rab系统和rcvb系统采用联盟链的形式共用一个区块链,但分属不同的两个通道,两者共同构成区块链资源公钥基础设施(rpkib)总系统。

7、区块链网络是一种去中心化的系统,区块链网络中的各个节点都是对等的,对等节点既可以作为资源颁发者也可以作为资源接收者。区块链网络通过去中心化机制消除rpki对中心节点的依赖问题,区块链网络与资源颁发者、资源接收者相连。资源颁发者或资源接收者与区块链网络相连后即成为区块链网络的一个普通节点。资源颁发者与资源接收者将资源证书以及路由起源授权roa的各种操作作为交易通过区块链网络进行,并将交易记录保存在区块链网络各节点的分布式账本中。区块链网络中包含普通节点、验证节点、监测节点。

8、资源颁发者是服务器,其上安装有资源交易应用客户端以及区块链交易软件,资源颁发者连接到区块链网络后成为区块链网络的普通节点。资源颁发者与资源接收者作为交易双方,经过双向授权获得交易双方(即资源颁发者、资源接收者)的同意之后,资源颁发者将交易发送给区块链网络。

9、资源接收者是服务器,其上安装有资源交易应用客户端和区块链交易软件,资源接收者连到区块链网络后成为区块链网络的普通节点。

10、资源交易应用客户端安装在资源颁发者和资源接收者上,由资源交易模块、资源证书生成模块、显示模块组成。

11、资源证书生成模块与资源交易模块相连;资源证书生成模块从资源交易模块接收预颁发的资源证书(即rc)的信息、roa的信息、ee证书(即终端实体证书),根据ee证书验证预颁发的rc的公钥,并通过rc的公钥进一步验证roa的完整性和真实性。验证完成后,资源证书生成模块根据预颁发的rc的信息生成与rpki定义相同的rc(rc的内容包括标准rfc5280的x.509证书,并附有rfc 3779标准的ip地址和的as扩展标识符),将rc发送给资源交易模块。资源证书生成模块根据预颁发的roa信息(包括ip地址前缀、授权的自治系统号码(asn)、以及相关的最大长度(maxlength)限制等信息)对资源接收者所持有的资源创建路由起源授权(roa),将roa发送给资源交易模块。ee证书采用标准rfc 5280定义的x.509证书,其内容包括as号、证书号、公钥、过期时间、以及资源颁发者ca的签名信息等。自治域路由器可自行生成公私钥对,ee证书是由资源颁发者ca生成的证书。

12、资源交易模块与资源证书生成模块、显示模块、区块链交易软件相连。资源交易模块从资源证书生成模块接收rc或roa,从资源颁发者(或资源接收者)接收关于rc或roa的操作指令,交给区块链交易软件后通过区块链网络进行交易,为资源颁发者(或资源接收者)提供rc或roa资源交易的各种操作服务,如:将rc或roa颁发给资源接收者;将rc或roa从资源接收者撤销;对rc或roa进行修改(roa修改发生在需要对已经设定的roa扩展项即ip地址前缀和as号进行修改的情况下,修改通过签发新证书来实现);对rc进行更新操作(更新是指在旧证书到期之前使用新的证书替换旧证书,在旧证书更新过程中,只有证书有效期和序列号(证书的序列号)发生变化);rc更新操作只需要对旧证书的有效期和序列号进行更改,而不涉及证书携带的ip地址前缀和as号;而rc修改操作涉及证书携带的ip地址前缀和as号;一个操作即为rpkib中的一笔交易。在上述rpkib基本功能的基础上,资源交易模块从资源颁发者(或资源接收者)接收关于ee证书的操作指令,将任务交给区块链交易软件后通过区块链网络进行交易,为资源颁发者(或资源接收者)提供ee证书资源交易的各种操作服务,包括颁发操作和撤销操作,交易成功时区块链交易软件将成功消息通过资源交易模块发送到显示模块,交易不成功时区块链交易软件将冲突检测到的冲突原因、操作失败原因、交易结果通过资源交易模块发送给显示模块,在撤销操作时将rc或roa或ee证书通过资源交易模块发送给显示模块。

13、显示模块与资源交易模块相连,它从资源交易模块接收交易成功消息或交易不成功时的冲突原因、操作失败原因、交易结果,并显示出来;在撤销操作时从资源交易模块接收rc、roa、ee证书,并将rc、roa、ee证书的具体内容显示出来。

14、区块链网络的验证节点是对资源颁发者发给区块链的资源交易进行验证的服务器,其上安装有资源证书交易验证合约、路由配置验证合约。验证节点运行资源证书交易智能合约对交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,验证交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中。区块链网络的验证节点运行路由配置验证合约,验证路由配置交易的签名、交易的内容是否符合路由配置的正确性要求,交易的内容是否与当前已有的路由配置冲突;将通过路由配置交易验证的交易记录到分布式账本中。

15、资源证书交易验证合约由资源颁发者、资源接收者共同制定,是以数字形式定义的承诺,数字形式意味着合约是一段计算机可读的代码,用于解决资源颁发者和资源接收者之间的交易行为。

16、路由配置验证合约由路由器制定,是以数字形式定义的承诺,用于解决路由器之间的路由配置交易行为的正确性与合规性验证。

17、路由器上部署域间路由协议软件、rpkib客户端。rpkib客户端通过与域间路由协议软件交互,将路由器域间路由协议加密配置命令作为交易提交给区块链验证节点,用于验证路由配置的合规性。区块链rpkib客户端作为rpkib系统的普通用户加入rpkib系统。

18、第二步,定义rab的资源交易结构。

19、rab的资源交易结构包括交易发起者,交易接收者,交易类型,交易的属性,交易内容,交易的证据以及交易发起者给出的交易签名。交易发起者指资源颁发者地址,交易接收者指资源接收者地址。交易类型包括rc、roa以及ee证书的各类操作。交易的内容指与交易相对应的rc、roa以及ee证书的内容,包括版本、序列号、签名算法、发行人、持有人、有效期、持有者公钥信息、资源证书扩展、证书策略、ip资源、as资源。交易的属性包括传递属性、过期属性;传递属性表示分配给某一机构的ip地址资源是否可以再分配到另一个资源授权实体;传递属性为0,表示资源颁发者不希望将分配给某个机构的ip地址前缀资源进行子分配,此时该机构称为终端节点,其所拥有的ip地址资源和as号码资源不可再分,且只有终端节点才可以颁发roa;传递属性为1,表示资源颁发者希望将分配给某个机构的ip地址前缀资源进行子分配;过期属性显示ip地址资源是否具有租约期限;过期属性为0表示租约时间未到期;过期属性为1表示租约时间到期,应将ip地址资源释放返回原资源授权实体。交易的证据表示资源颁发者和资源接收者两次签名,双方同意的证据,由双方交易的报文以及随机数构成(比如在rc撤销时,交易的证据为rc_revoke_reply报文以及rc的持有者发布的随机数+1),用于克服当前rpki中因资源颁发者单方面授权协议所造成的合法ip地址可能被阻断,却难以发现攻击者或行为违规者的风险。交易发起者给出的交易签名显示交易发起者和交易接收者就此交易达成协议。对于roa操作,由于交易发起者和交易接收者相同,因此不需要双向签名的证据。对于roa相关操作交易,交易的发起者给出的交易签名字段为null。交易签名指在区块链网络中由交易发起者对所发起的交易所进行的数字签名。

20、第三步,定义资源树。

21、资源树由资源交易模块根据有效的资源证书(即rc)来构建。资源树的一个节点包括10个域,分别是:资源颁发者,资源接收者,证书标识,父证书标识,子证书标识,证书中包含的ip(internet protocol)地址前缀,证书中包含的as(autonomous system)号,子rc资源ip前缀二叉树,子rc资源as二叉树,已分配的roa中ip地址前缀。节点通过子证书标识域链接到子节点,子节点通过父证书标识域链接到父节点。证书中包含的ip地址前缀,证书中包含的as号,均由资源交易模块通过解析证书得到。资源树保存在分布式账本中,由资源颁发者和资源接收者共同维护。

22、第四步,构建资源交易有限状态机,交易的资源包括roa(包含了ip地址前缀资源和as号资源)和资源证书rc(用来证明这个roa是属于某个实体),所有资源都分别对应一个资源交易有限状态机,根据资源类型不同,资源交易有限状态机分为rc资源交易有限状态机和roa资源交易有限状态机。资源交易有限状态机的状态保存在分布式账本中,由资源颁发者、资源接收者、区块链节点共同维护。其中,区块链节点的分布式账本保存所有资源交易有限状态机的状态,资源颁发者、资源接收者仅存储与自身相关的资源交易有限状态机的状态。构建方法是:

23、4.1构建rc资源交易有限状态机:rc资源交易有限状态机包含九个状态:rc-empty状态、rc-issued状态、rc-issued_parent状态、rc-pre_overwrite状态、rc-issued_waiting状态、rc-revoked_waiting状态、rc-overwrite_waiting状态、rc-pre_overwrite_waiting状态、rc-recover_waiting状态。rc资源交易有限状态机通过九个状态之间的状态转换参与rc资源交易,状态转换过程是:rc-empty状态为空状态,表示rc资源无效或未开始颁发,可视为初始状态。资源颁发者的资源证书生成模块生成待颁发的rc资源证书信息后,通过资源交易模块向区块链提交rc颁发交易,rc资源交易状态由rc-empty状态变更为rc-issued_waiting状态,表示rc颁发交易已经提交区块链,正在等待区块链的共识结果。区块链节点中的资源交易验证合约将根据合约代码对交易进行验证,通过区块链的共识机制在多个区块链节点执行资源交易验证合约进行验证,并在全部区块链节点完成验证结果的同步,即达成共识后,完成验证过程,得到验证结果,并根据验证结果向资源交易模块发送对应的成功或失败事件,如果发送rc颁发成功事件则从rc-issued_waiting状态变更为rc-issued状态,表示该rc资源证书被成功颁发,且没有任何子节点;如果资源交易验证合约发送rc颁发失败事件则从rc-issued_waiting状态变更为rc-empty状态,表示rc资源无效。处于rc-issued状态的rc,如果资源颁发者将已拥有的资源颁发给子节点,则从rc-issued状态变更为rc-issued_parent状态,表示rc资源证书被成功颁发给子节点;处于rc-issued_parent状态下的rc,资源颁发者不能发起rc撤销操作交易,需要先撤销子节点的全部交易,变更为rc-issued状态才能执行撤销操作,即rc-issued_parent状态rc在其所有子节点的状态都变更为rc-empty时,rc才能变更为rc-issued状态(只有处于rc-issued状态的rc,资源颁发者才能发起rc撤销操作交易)。rc-issued状态或rc-issued_parent状态的rc在资源颁发者向区块链网络提交rc密钥预变更交易后,从rc-issued状态或rc-issued_parent状态变更为rc-pre_overwrite_waiting状态,表示rc密钥预变更交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送rc密钥预变更成功或失败事件,如果发送rc密钥预变更成功事件,从rc-pre_overwrite_waiting状态变更为rc-pre_overwrite状态,表示rc密钥预变更修改交易已成功;否则,向资源交易模块发送rc密钥预变更失败事件,且如果该rc子节点数为0,则从rc-pre_overwrite_waiting变更为rc-issued状态;如果该rc子节点数大于0,则变更为rc-issued_parent状态。处于rc-pre_overwrite状态的rc由资源颁发者向区块链网络提交rc密钥变更交易,从rc-pre_overwrite状态变更为rc-overwrite_waiting状态,表示rc密钥变更交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送rc密钥变更成功或失败事件,如果发送rc密钥变更失败事件,则从rc-overwrite_waiting状态回到rc-pre_overwrite状态;如果发送rc密钥变更成功事件且该rc子节点数为0,则从rc-overwrite_waiting状态变更为rc-issued状态;如果发送rc密钥变更成功事件且该rc子节点数大于0,则从rc-overwrite_waiting状态变更为rc-issued_parent状态。处于rc-pre_overwrite状态的rc也可以由资源颁发者向区块链网络提交rc密钥预变更撤销回退交易,从rc-pre_overwrite状态变更为rc-recover_waiting状态,表示密钥预变更撤销回退交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果发送rc密钥预变更撤销回退成功或失败事件,如果发送rc密钥预变更撤销回退失败事件,则从rc-recover_waiting状态回到rc-pre_overwrite状态;如果发送rc密钥预变更撤销回退成功事件且此时该rc子节点数为0,则从rc-recover_waiting状态变更为rc-issued状态;如果发送rc密钥预变更撤销回退成功事件且此时该rc子节点数大于0,则从rc-recover_waiting状态变更为rc-issued_parent状态。处于rc-issued状态的rc在资源颁发者向区块链网络提交rc撤销交易(或检测到rc资源证书过期的事件自动触发该撤销交易)后,从rc-issued状态变更为rc-revoked_waiting状态,表示rc撤销交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送rc撤销交易成功或失败事件,如果向资源交易模块发送rc撤销交易失败事件,则从rc-revoked_waiting状态回到rc-issued状态;如果向资源交易模块发送rc撤销交易成功事件则从rc-revoked_waiting状态变更为rc-empty状态,表示rc资源已经无效。资源交易验证合约在验证完成后不仅根据结果触发对应的事件,同时将验证结果作为交易记录的一部分记录在分布式账本中。rc资源交易有限状态机的状态转换过程中涉及的所有资源交易的各种操作服务都依据资源交易结构进行并记录,且根据资源树来定位相应的父节点或子节点,从而更好地执行资源交易过程。

24、4.2构建roa资源交易有限状态机:roa资源交易有限状态机包含八个状态:roa-empty状态、roa-issued状态、roa-pre_overwrite状态、roa-issued_waiting状态、roa-revoked_waiting状态、roa-overwrite_waiting状态、roa-pre_overwrite_waiting状态、roa-recover_waiting状态。roa-empty状态为空状态,表示roa资源无效或未开始颁发,可视为初始状态。资源颁发者的资源证书生成模块生成待颁发的roa资源证书信息后,通过资源交易模块向区块链提交roa颁发交易,roa资源交易状态由roa-empty状态变更为roa-issued_waiting状态,表示资源颁发者已将roa颁发交易提交区块链,正在等待区块链的共识结果。区块链节点中的资源交易验证合约根据合约代码对交易进行验证,通过区块链的共识机制在多个区块链节点执行资源交易验证合约进行验证,并在全部区块链节点完成验证结果的同步,即达成共识后,完成验证过程,得到验证结果,并根据验证结果向资源交易模块发送对应的成功或失败事件,如果发送roa颁发成功事件则从roa-issued_waiting状态变更为roa-issued状态,表示该roa资源被成功颁发;如果发送roa颁发失败事件则从roa-issued_waiting状态变更为roa-empty状态,表示roa资源无效。roa-issued状态的roa在资源颁发者向区块链网络提交roa密钥预变更交易后,从roa-issued状态变更为roa-pre_overwrite_waiting状态,表示roa密钥预变更交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送roa密钥预变更成功或失败事件,如果向资源交易模块发送roa密钥预变更成功事件,从roa-pre_overwrite_waiting状态变更为roa-pre_overwrite状态,表示roa密钥预变更修改交易已成功;否则,向资源交易模块发送roa密钥预变更失败事件,从roa-pre_overwrite_waiting状态变更为roa-issued状态。处于roa-pre_overwrite状态的roa由资源颁发者向区块链网络提交roa密钥变更交易,从roa-pre_overwrite状态变更为roa-overwrite_waiting状态,表示roa密钥变更交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送roa密钥变更成功或失败事件,如果向资源交易模块发送roa密钥变更失败事件,则从roa-overwrite_waiting状态回到roa-pre_overwrite状态;如果向资源交易模块发送roa密钥变更成功事件,则从roa-overwrite_waiting状态变更为roa-issued状态。处于roa-pre_overwrite状态的roa也可以由资源颁发者向区块链网络提交roa密钥预变更撤销回退交易,从roa-pre_overwrite状态变更为roa-recover_waiting状态,表示密钥预变更撤销回退交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送roa密钥预变更撤销回退成功或失败事件,如果发送roa密钥预变更撤销回退失败事件,则从roa-recover_waiting状态回到roa-pre_overwrite状态;如果发送roa密钥预变更撤销回退成功事件,则从roa-recover_waiting状态变更为roa-issued状态。处于roa-issued状态的roa在资源颁发者向区块链网络提交roa撤销交易(或检测到roa资源证书过期的事件自动触发该撤销交易)后,从roa-issued状态变更为roa-revoked_waiting状态,表示roa撤销交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中资源交易验证合约根据验证结果向资源交易模块发送roa撤销交易成功或失败事件,如果发送roa撤销交易失败事件,则从roa-revoked_waiting状态回到roa-issued状态;如果发送roa撤销交易成功事件则从roa-revoked_waiting状态变更为roa-empty状态,表示roa资源已经无效。资源交易验证合约在验证完成后不仅根据结果触发对应的事件,同时也将验证结果作为交易记录的一部分记录在分布式账本中。roa资源交易有限状态机的状态转换过程中涉及的所有资源交易的各种操作服务都依据资源交易结构进行并记录,且根据资源树来定位相应的父节点或子节点,从而更好地执行资源交易过程。

25、第五步,构建路由配置有限状态机,方法是:

26、在rpkib客户端软件中构建路由配置有限状态机:针对可管理的每个自治域,建立路由配置有限状态机。路由配置有限状态机用来表示每个as的路由配置验证结果的状态转换。区块链节点的分布式账本中保存着所有as的路由配置有限状态机的状态,rpkib客户端软件保存自己as的路由配置有限状态机的状态。由于每个as的路由配置信息均为加密信息,具体配置信息并不能获知,区块链节点路由配置验证合约并不能获知具体每个as的路由配置信息,as的路由配置依然可保证其私密性。

27、路由配置有限状态机包括四个状态:config-empty状态、config-valid状态、config-validation_waiting状态、config-deletation_waiting状态。路由配置有限状态机通过四个状态之间的状态转换参与路由行为验证,状态转换过程是:config-empty状态为空状态,表示该路由配置无效或不存在,用于某路由配置验证失败或路由配置被删除后,将该路由配置设置为无效状态,或用于表示未配置时的初始态。路由器的rpkib客户端软件在路由配置设置时向区块链网络提交路由配置验证交易,对应的路由配置有限状态机由config-empty状态变更为config-validation_waiting状态,表示配置验证交易已经提交区块链,正在等待区块链的共识结果。区块链节点中的路由配置验证合约根据合约代码对交易进行验证,并根据验证结果向rpkib客户端软件发送对应的成功或失败事件,如果发送路由配置验证成功事件则从config-validation_waiting状态变更为config-valid状态,表示路由配置验证交易验证成功通过共识,只有处于config-valid状态的路由配置,路由器才能提起对该路由配置验证删除交易;如果向rpkib客户端软件发送路由配置验证失败事件,则从config-validation_waiting状态变更为config-empty状态,表示该路由配置无效。config-valid状态下路由器可通过rpkib客户端软件向区块链网络提起对路由配置删除交易,此时对应的路由配置有限状态机从config-valid状态变更为config-deletation_waiting状态,表示路由配置删除交易已经提交区块链,正在等待区块链的共识结果。随后区块链节点中路由配置验证合约根据验证结果向rpkib客户端软件发送路由配置删除交易成功或失败事件,如果发送路由配置删除交易失败事件,则从config-deletation_waiting状态回到config-valid状态;如果向rpkib客户端软件发送路由配置删除交易成功事件,则从config-deletation_waiting状态变更为config-empty状态,表示该路由配置已经无效。路由配置验证合约在验证完成后不仅根据结果触发对应的事件,同时也将验证结果作为交易记录的一部分记录在分布式账本中。

28、第六步,启动区块链资源公钥基础设施总系统,方法是:

29、6.1启动所有路由器域间路由协议并组建路由器网络,方法是:

30、6.1.1按标准域间路由协议初始化路由器配置,启动基本功能模块,路由器会通过open消息(指边界网关协议(bgp)用来建立和确认两个路由器之间会话的第一个消息。)与其他路由器来协商bgp会话参数。一旦会话建立,路由器跟其他路由器互相交换各自的路由信息,并根据bgp协议的路由选择算法处理接收到的路由,选择最优路径,并将这些最优路径同步到自己的路由表中,以实现路由器域间路由的基本功能行为;

31、6.1.2.如果域间路由协议监测到各个路由器之间成功建立bgp邻接关系,并学习完路由,完成建立路由器网络,则开启安全增强模块,若安全增强模块启动成功,则启动路由配置验证功能,转6.2;若安全增强模块启动失败,则转6.1.2重复尝试启动安全增强模块,等待安全增强模块启动成功。

32、6.2启动所有区块链节点组建区块链网络,让资源颁发者、资源接收者以及rpkib客户端软件加入到区块链网络中,方法是:

33、6.2.1资源颁发者和资源接收者分别启动资源交易应用客户端和区块链交易软件,并通过区块链交易软件加入到区块链网络,作为区块链网络的普通节点,资源颁发者和资源接收者作为交易双方通过区块链网络进行交易,并将交易记录到分布式账本中;

34、6.2.2在路由器操作系统中启动rpkib客户端软件,并在rpkib客户端软件指令中指定资源颁发者、资源接收者、区块链网络的ip地址,将rpkib客户端软件加入到区块链网络中,作为区块链网络的普通节点,保证rpkib客户端软件可以和资源颁发者、资源接收者的资源交易应用客户端正常通信和交互。但rpkib客户端软件不具备资源交易的权限,只具有同步获得资源交易记录区块链分布式账本的功能,rpkib客户端软件同步区块链上ca发布的所有有效的roa证书和ee证书,并保存roa和ee证书。

35、第七步,rpkib客户端软件从区块链节点中的分布式帐本中获取有效roa和rc信息,方法是:

36、7.1rpkib客户端软件从区块链节点中的分布式帐本中获取有效roa,将分布式帐本中获取到的有效roa保存到rpkib客户端软件和安全增强模块共享的有效roa列表中,方法是:

37、7.1.1rpkib客户端软件依据区块链网络提供的分布式账本读取原语,也就是区块链节点提供的api(应用程序接口,即区块链网络提供的基本操作或数据访问的函数或接口),获取到分布式帐本中最新的roa信息,判定roa是否有效,若roa有效,将分布式帐本中获取到的有效roa保存到rpkib客户端软件和安全增强模块共享的有效roa列表中,并将roa列表中过期的roa(roa本身有包含有效期信息)信息删除,转7.1.2;若roa无效,则直接转7.1.2;判定roa是否有效的方法是:判定区块链节点中存储的roa和rc相比于rpkib客户端软件和安全增强模块共享的有效roa列表中的roa的信息的状态是否发生变化,若发生变化,说明roa有效;判定roa中as号是否被撤销或roa中ip前缀和as号的对应关系是否改变,若roa中as号被撤销或roa中ip前缀和as号的对应关系发生改变,说明roa有效;判定区块链节点中存储的roa信息中是否存在路由器中rpkib客户端软件和安全增强模块共享的有效roa列表中没有的roa信息,若存在,说明roa有效。

38、7.1.2rpkib客户端软件侦测rpkib客户端软件和安全增强模块共享的有效roa列表中的roa信息是否发生变动,若发生变动,rpkib客户端软件调用区块链网络提供的分布式账本服务,执行读取操作。rpkib客户端软件利用区块链网络提供的分布式账本读取原语,对roa信息进行验证,将经过验证的最新roa信息更新到路由器中安全增强模块和rpkib客户端软件所共享的有效roa列表中。这个过程确保了路由器在执行路由验证时依据的是最新和最可信的授权数据,从而增强了整个网络的路由安全性。

39、7.1.3路由器上的安全增强模块负责从有效roa列表中读取信息。安全增强模块使用有效roa列表对收到的bgp(border gateway protocol)路由宣告进行验证,确保每一个路由前缀的来源是合法的,并且被正确授权给声称宣告它的asn。

40、7.2rpkib客户端软件从区块链节点中的分布式帐本中获取有效rc,将分布式帐本中获取到的有效rc保存到rpkib客户端软件和安全增强模块共享的有效rc列表中,方法是:

41、7.2.1rpkib客户端软件依据区块链网络提供的分布式账本读取原语,也就是区块链节点提供的api,获取分布式帐本中最新的rc信息(包含证书持有者信息、公钥、数字签名、颁发者信息、证书序列号等信息),判定rc信息是否有效,将分布式帐本中获取到的有效rc信息保存到rpkib客户端软件和安全增强模块共享的有效rc列表中,并将rc列表中过期的rc信息删除;判定rc信息是否有效的方法是:判定区块链节点中存储的rc相比于rpkib客户端软件和安全增强模块共享的有效rc列表中的rc信息的状态是否发生变化(以区块链节点中的为准)(rc证书是否被撤销,rc证书有效期是否更新等);判定区块链节点中存储的rc信息中是否存在路由器中rpkib客户端软件和安全增强模块共享的有效rc列表中没有的rc信息,若发生变化且存在,说明rc信息有效;

42、7.2.2若rpkib客户端软件侦测到区块链网络的分布式账本中的rc信息发生变动,rpkib客户端软件通过调用区块链网络所提供的分布式账本服务,对分布式账本服务中的rc信息进行读取。rpkib客户端软件利用区块链网络的分布式账本读取原语,对rc信息进行验证,将经过验证的最新rc信息更新到路由器中安全增强模块和rpkib客户端软件所共享的有效rc列表中。这个过程确保了路由器在执行路由验证时依据的是最新和最可信的授权数据,从而增强了整个网络的路由安全性;

43、7.3若rpkib客户端软件接收到用户的“开启资源交易验证的指令”,则转第八步开启资源交易验证功能;若rpkib客户端软件未接收到用户的“开启资源交易验证的指令”,转第九步。

44、第八步,资源交易验证合约对rc或roa进行资源交易验证,方法是:

45、8.1.资源交易验证合约对rc进行资源交易验证,方法是:

46、8.1.1资源交易验证合约判定rc资源交易有限状态机是否处于rc-empty状态,若是,转8.1.2;若rc资源交易有限状态机不处于rc-empty状态,转8.1.1等待。

47、8.1.2资源颁发者的资源证书生成模块生成待颁发的rc资源证书信息,将rc资源证书信息发送给资源交易模块;

48、8.1.3资源交易模块向区块链节点的资源交易验证合约提交rc颁发交易,rc资源交易有限状态机变更为rc-issued_waiting状态。

49、8.1.4区块链节点中的资源交易验证合约根据合约代码对rc颁发交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,验证交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中。若验证结果为通过,区块链节点中的资源交易验证合约向资源交易模块发送对应的成功事件,同时rc资源交易有限状态机从rc-issued_waiting状态变更为rc-issued状态,转8.1.5;若验证结果为不通过,区块链节点中的资源交易验证合约向资源交易模块发送对应的失败事件,同时rc资源交易有限状态机从rc-issued_waiting状态变更为rc-empty状态,转8.1.1等待。

50、8.1.5处于rc-issued状态的rc,如果资源颁发者将已拥有的资源颁发给子节点,则rc资源交易有限状态机从rc-issued状态变更为rc-issued_parent状态;rc-issued_parent状态下的rc,资源交易验证合约对当前节点的所有子节点进行rc交易验证,如果最终都变更为rc-empty状态,则rc资源交易有限状态机从rc-issued_parent状态回到rc-issued状态。处于rc-issued状态或rc-issued_parent状态的rc,在资源颁发者向区块链网络提交rc密钥预变更交易后,rc资源交易有限状态机变更为rc-pre_overwrite_waiting状态,转8.1.6。

51、8.1.6区块链节点中的资源交易验证合约对rc密钥预变更交易进行验证,若验证结果是通过,则向资源交易模块发送rc密钥预变更成功事件,rc资源交易有限状态机从rc-pre_overwrite_waiting状态变更为rc-pre_overwrite状态,转8.1.7;若验证结果是不通过,则向资源交易模块发送rc密钥预变更失败事件,如果发送rc密钥预变更失败事件且该rc子节点数为0,则rc资源交易有限状态机从rc-pre_overwrite_waiting状态变更为rc-issued状态,转8.1.5等待;如果发送rc密钥预变更失败事件且该rc子节点数不为0,rc资源交易有限状态机从rc-pre_overwrite_waiting状态变更为rc-issued_parent状态,转8.1.5等待。

52、8.1.7资源颁发者向区块链网络提交rc密钥变更交易,rc资源交易有限状态机由rc-pre_overwrite状态变更为rc-overwrite_waiting状态,转8.1.8。

53、8.1.8区块链节点中的资源交易验证合约对rc密钥变更交易进行验证,若验证结果是不通过,则向资源交易模块发送rc密钥变更失败事件,rc资源交易有限状态机从rc-overwrite_waiting状态变更为rc-pre_overwrite状态,转8.1.9;若验证结果是通过,则向资源交易模块发送rc密钥变更成功事件,如果发送rc密钥变更成功事件且该rc子节点数为0,则rc资源交易有限状态机从rc-overwrite_waiting状态变更为rc-issued状态,转8.1.5等待;如果发送rc密钥变更成功事件且该rc子节点数大于0,则rc资源交易有限状态机从rc-overwrite_waiting状态变更为rc-issued_parent状态,转8.1.5等待。

54、8.1.9资源颁发者向区块链网络提交rc密钥预变更撤销回退交易,rc资源交易有限状态机从rc-pre_overwrite状态变更为rc-recover_waiting状态,转8.1.10。

55、8.1.10区块链节点中的资源交易验证合约对rc密钥预变更撤销回退交易进行验证,若验证结果为通过,资源交易验证合约向资源交易模块发送rc密钥预变更撤销回退成功事件,若验证不通过,资源交易验证合约向资源交易模块发送rc密钥预变更撤销回退失败事件。如果发送rc密钥预变更撤销回退失败事件,rc资源交易有限状态机从rc-recover_waiting状态回到rc-pre_overwrite状态,转8.1.9等待;如果发送rc密钥预变更撤销回退成功事件且该rc子节点数为0,则rc资源交易有限状态机从rc-recover_waiting状态变更为rc-issued状态,转8.1.11;如果发送rc密钥预变更撤销回退成功事件且该rc子节点数大于0,则rc资源交易有限状态机从rc-recover_waiting状态变更为rc-issued_parent状态,转8.1.5等待。

56、8.1.11处于rc-issued状态的rc在资源颁发者向区块链网络提交rc撤销交易,或检测到rc资源证书过期的事件自动触发该撤销交易时,rc资源交易有限状态机从rc-issued状态变更为rc-revoked_waiting状态,转8.1.12。

57、8.1.12区块链节点中的资源交易验证合约对rc撤销交易进行验证,若验证结果是不通过,则资源交易验证合约则向资源交易模块发送rc撤销交易失败事件,rc资源交易有限状态机从rc-revoked_waiting状态回到rc-issued状态,转8.1.11等待;若验证结果是通过,则资源交易验证合约向资源交易模块发送rc撤销交易成功事件,rc资源交易有限状态机由rc-revoked_waiting状态变更为rc-empty状态,转8.2。

58、8.2.资源交易验证合约对roa进行资源交易验证,方法是:

59、8.2.1若roa资源交易有限状态机处于roa-empty状态,转8.2.2;若roa资源交易有限状态机不处于roa-empty状态,转8.2.1等待。

60、8.2.2资源颁发者的资源证书生成模块生成待颁发的roa资源证书信息,将roa资源证书信息发送给资源交易模块;

61、8.2.3资源交易模块向区块链节点的资源交易验证合约提交roa颁发交易,roa资源交易有限状态机变更为roa-issued_waiting状态。

62、8.2.4区块链节点中的资源交易验证合约根据合约代码对roa颁发交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,且验证交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中。若验证结果为通过,资源交易验证合约向资源交易模块发送roa颁发交易成功事件,roa资源交易有限状态机从roa-issued_waiting状态变更为roa-issued状态,转8.2.5;若验证结果为不通过,资源交易验证合约向资源交易模块发送roa颁发交易失败事件,roa资源交易有限状态机从roa-issued_waiting状态变更为roa-empty状态,转8.2.1等待。

63、8.2.5处于roa-issued状态下的roa,在资源颁发者向区块链网络提交roa密钥预变更交易后,roa资源交易有限状态机变更为roa-pre_overwrite_waiting状态。

64、8.2.6区块链节点中的资源交易验证合约对roa密钥预变更交易进行验证,若验证结果是通过,向资源交易模块发送roa密钥预变更交易成功事件,roa资源交易有限状态机从roa-pre_overwrite_waiting状态变更为roa-pre_overwrite状态,转8.2.7;若验证结果是不通过,则向资源交易模块发送roa密钥预变更交易失败事件,roa资源交易有限状态机从roa-pre_overwrite_waiting状态变更为roa-issued状态,转8.2.5等待。

65、8.2.7资源颁发者向区块链网络提交roa密钥变更交易,roa资源交易有限状态机由roa-pre_overwrite状态变更为roa-overwrite_waiting状态,转8.2.8。

66、8.2.8区块链节点中的资源交易验证合约对roa密钥变更交易进行验证,若验证结果是不通过,则向资源交易模块发送roa密钥变更交易失败事件,roa资源交易有限状态机从roa-overwrite_waiting状态变更为roa-pre_overwrite状态,转8.2.9。若验证结果是通过,则向资源交易模块发送roa密钥变更交易成功事件,roa资源交易有限状态机从roa-overwrite_waiting状态变更为roa-issued状态,转8.2.5等待。

67、8.2.9资源颁发者向区块链网络提交roa密钥预变更撤销回退交易,roa资源交易有限状态机从roa-pre_overwrite状态变更为roa-recover_waiting状态,转8.2.10。

68、8.2.10区块链节点中的资源交易验证合约对roa密钥预变更撤销回退交易进行验证,若验证结果为通过,资源交易验证合约向资源交易模块发送roa密钥预变更撤销回退成功事件,若验证结果为不通过,资源交易验证合约向资源交易模块发生roa密钥预变更撤销回退失败事件。如果发送roa密钥预变更撤销回退失败事件,则roa资源交易有限状态机从roa-recover_waiting状态回到roa-pre_overwrite状态,转8.2.9等待;如果发送roa密钥预变更撤销回退成功事件,则roa资源交易有限状态机从roa-recover_waiting状态变更为roa-issued状态,转8.2.11。

69、8.2.11处于roa-issued状态的roa在资源颁发者向区块链网络提交roa撤销交易,或检测到roa资源证书过期的事件自动触发该撤销交易时,roa资源交易有限状态机从roa-issued状态变更为roa-revoked_waiting状态,转8.2.12。

70、8.2.12区块链节点中的资源交易验证合约对roa撤销交易进行验证,资源交易验证合约向资源交易模块发送roa撤销交易成功或失败事件,如果发送roa撤销交易失败事件,则roa资源交易有限状态机从roa-revoked_waiting状态回到roa-issued状态,转8.2.11等待;如果发送roa撤销交易成功事件,则roa资源交易有限状态机由roa-revoked_waiting状态变更为roa-empty状态,转第九步。

71、第九步,若rpkib客户端软件从用户接收到“路由配置验证指令”,转第十步;若rpkib客户端软件超过预设时间(范围可以是1分钟到10分钟,优选5分钟)未从用户处接收到任何指令,转第十一步。若rpkib客户端软件接收到“开启资源交易验证的指令”,转第八步。

72、第十步,路由配置验证合约对路由配置进行验证,方法是:

73、10.1若路由配置有限状态机处于config-empty状态,转10.2;若路由配置有限状态机不处于config-empty状态,转10.1等待。

74、10.2路由器中的安全增强模块路由配置信息进行基于安全多方计算算法(securemulti-party computation,简称mpc,mpc是一种密码学技术,由姚期智在1982年提出的“百万富翁问题”引入。它允许多个参与方在不泄露各自私有数据的情况下,共同计算一个函数的值,保护各方的输入数据隐私,同时确保计算结果的正确性。)的加密处理,得到加密后的路由配置信息,将加密后的路由配置信息提交给区块链交易软件,区块链交易软件再提交给区块链节点。路由配置有限状态机从config-empty状态变更为config-validation_waiting状态,转10.3。

75、10.3区块链验证节点运行路由配置验证合约,验证路由配置交易的签名、交易的内容是否符合路由配置的正确性要求,交易的内容是否与当前已有的配置冲突,依据安全多方计算算法计算加密的路由配置结果并返回给路由配置提交者,路由器的安全增强模块依据安全多方计算算法将计算得到的路由配置结果合成最终计算结果,通过区块链交易软件向区块链节点提交最终计算结果。如果最终计算结果未能通过区块链节点共识,则每个路由器操作系统上部署的区块链路由交易软件将收到路由配置验证失败消息,路由配置有限状态机从config-validation_waiting状态回到config-empty状态,转10.1等待;如果最终计算结果通过区块链节点共识,提交的加密的路由配置信息以及路由配置计算结果都存储在分布式账本中,再将路由配置信息下发到路由器上,配置生效,路由配置有限状态机从config-validation_waiting状态变更为config-valid状态,转10.4。

76、10.4处于config-valid状态的路由配置路由器通过区块链路由交易软件向区块链网络提起对路由配置删除交易,路由配置有限状态机从config-valid状态变更为config-deletation_waiting状态,转10.5。

77、10.5区块链节点中路由配置验证合约对路由配置删除交易进行验证,若验证结果为通过,路由配置验证合约向区块链路由交易软件发送路由配置删除交易成功事件,若验证结果为未通过,路由配置验证合向区块链路由交易软件发送路由配置删除交易失败事件。如果向区块链路由交易软件发送路由配置删除交易失败事件,则路由配置有限状态机从config-deletation_waiting状态回到config-valid状态,转10.4等待;如果向区块链路由交易软件发送路由配置删除交易成功事件,则路由配置有限状态机从config-deletation_waiting状态变更为config-empty状态,转第十三步。

78、第十一步,对资源证书和路由配置的验证结束。

79、采用本发明可以达到以下技术效果:

80、1.本发明基于区块链技术,通过构建路由证书授权区块链系统(rab)和路由配置验证区块链系统(rcvb),形成了一个综合性的区块链资源公钥基础设施总系统。rab完成资源证书授权、资源交易验证、资源证书上链,rcvb完成路由配置验证。不仅利用了区块链技术的去中心化和不可篡改特性,而且通过智能合约和状态机的引入,增强了整个网络路由的安全性和可靠性。

81、2.本发明是一种支持安全域间路由协议的区块链路由器的方法,基于区块链技术,在支持域间路由起源认证、路径认证的基础上,支持路由配置验证等其他安全增强功能,提升了域间路由协议的安全性。由于使用基于区块链的路由验证技术,当路由器域间路由协议被攻击时,可以限制错误路由的传播范围,从而增强互联网域间路由整体的安全性和可靠性,通过确保路由配置符合预定的安全策略和协议规范,使域间路由能够防范路由前缀劫持攻击、路径信息篡改攻击、分配不合规资源的资源证书导致的路由前缀劫持攻击和未经资源拥有者同意的资源证书撤销导致的网络不可达攻击等攻击。

82、3.本发明通过rc资源交易有限状态机,roa资源交易有限状态机和路由配置有限状态机,为资源证书(rc)和路由起源授权(roa)的交易以及路由配置的验证提供了明确的、自动化的状态转换流程。状态机的使用确保了交易和路由配置的每个步骤都经过严格的验证。同时通过构建资源树,实现了对ip地址前缀和自治系统号(as号)的精确管理和追踪。资源树的结构,结合状态机的状态转换,为资源的分配、更新、撤销等操作提供了可靠的控制机制,增强了系统的安全性和稳定性,从而提升域间路由协议的安全性。

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