[发明专利]一种基于区块链的可验证域间路由验证方法有效

专利信息
申请号: 201911154492.9 申请日: 2019-11-22
公开(公告)号: CN110855565B 公开(公告)日: 2021-07-20
发明(设计)人: 刘亚萍;方滨兴;张硕;李哲;李清源 申请(专利权)人: 广州大学
主分类号: H04L12/721 分类号: H04L12/721;H04L29/06;H04L9/32
代理公司: 长沙中科启明知识产权代理事务所(普通合伙) 43226 代理人: 匡治兵
地址: 510006 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 区块 验证 路由 方法
【权利要求书】:

1.一种基于区块链的可验证域间路由验证方法,其特征在于包括以下步骤:

第一步,构建基于区块链的可验证域间路由系统,基于区块链的可验证域间路由系统由可验证域间路由子系统和路由行为验证子系统组成,它们之间通过网络相连;

可验证域间路由子系统由多个自治域组成,每个自治域中有多个路由器,在域间路由器路由软件系统中增加路由行为验证代理模块,路由行为验证代理模块与路由软件系统的其他模块通过进程间调用通信;路由行为验证代理模块与路由行为验证子系统的路由行为验证终端通过网络相连,路由行为验证代理模块根据路由软件系统发送的路由信息构造路由基本信息和路由证据,生成路由验证请求信息,将路由证据、路由验证请求信息发送到路由行为验证终端;路由证据由路由基本信息、前向路由证据PRP、路由信息标识IDR、路由接收者签名和公钥、路由发送者签名和公钥这五部分组成,前向路由证据PRP指向已存储在路由证据区块链中的一个路由证据;路由信息标识IDR是路由信息的唯一标识,在路由验证过程中代替路由信息;路由接收者签名指路由接收者收到路由信息时的签名,路由接收者公钥指用来进行非对称加密的公钥;路由发送者签名指路由发送者发送路由证据时的签名,路由发送者公钥指用来进行非对称加密的公钥;路由证据签名指路由发送者对路由信息进行的签名;路由验证请求信息包括待验证的路由基本信息;

路由行为验证子系统由路由行为验证终端和路由验证区块链系统组成;路由行为验证终端部署在自治域内,路由行为验证终端与路由行为验证代理模块、路由验证区块链系统相连,路由行为验证终端从路由行为验证代理模块接收路由证据和路由验证请求信息,根据路由证据构造路由证据验证提案,将路由证据验证提案、路由证据交易和路由验证请求信息发送给路由验证区块链系统,所述路由证据交易内容包括路由证据及各背书节点签名;路由行为验证终端由路由证据处理模块、路由验证请求处理模块组成;

路由验证区块链系统接收并处理路由证据验证提案,验证路由证据是否正确;接收并处理路由证据交易,将交易打包成区块,将区块存入路由证据区块链;验证路由验证请求信息并将验证结果反馈给路由行为验证代理模块;

路由验证区块链系统与路由行为验证终端相连,由背书节点、排序节点、提交节点、路由证据区块链、配置文件组成;

背书节点上安装路由证据验证链码,从路由行为验证终端接收路由证据验证提案和路由验证请求信息,路由证据验证链码是验证路由证据的程序,它检查路由证据的路由基本信息、路由证据签名是否正确,检查路由证据对应的路由信息是否是最佳路由,为通过验证的路由证据进行背书;排序节点接收从路由行为验证终端发送来的路由证据交易;排序节点对路由证据交易进行共识操作,共识完成后构造区块、将区块发给提交节点;提交节点从排序节点接收区块并将区块放到路由证据区块链中;路由证据区块链由区块组成,一个区块分为两大部分:区块头和区块体,区块头里面存储着区块的头信息,包含区块大小、上一区块的哈希值,本区块体的哈希值,区块ID以及时间戳,区块体存储交易计数和交易,交易中存放路由证据;配置文件存储在每个节点上,配置文件存放路由验证区块链系统的配置信息,配置文件包含背书节点、排序节点、提交节点的数量,以及这些节点的网络拓扑信息,网络拓扑信息包括节点的地址、节点之间的连接关系;第二步,启动路由行为验证子系统,方法是:

2.1启动路由验证区块链系统:

2.1.1根据路由验证区块链系统中的配置文件,启动配置文件指定数量的背书节点、提交节点、排序节点;

2.1.2背书节点、提交节点和排序节点根据配置文件中网络拓扑信息里的地址信息,自动配置地址,并根据配置文件中网络拓扑信息建立通信连接;

2.1.3路由证据区块链中的所有背书节点设置背书策略;

2.1.4初始化路由证据区块链为空;

2.1.5排序节点根据配置文件指定的网络拓扑信息构建共识网络,共识网络中的所有排序节点等待从背书节点发来的路由证据交易;

2.1.6提交节点等待接收排序节点发来的区块;

2.2启动可验证域间路由子系统所有自治域中的所有路由行为验证终端,任意一台路由行为验证终端Tp的启动过程是:

2.2.1路由行为验证终端Tp初始化,包括设置自治域编号、设置路由验证区块链系统中将与Tp相连的背书节点地址、设置路由验证区块链系统中将与Tp相连的排序节点地址;

2.2.2根据2.2.1设置的与Tp相连的背书节点地址,Tp向该背书节点进行身份认证,如果身份认证通过,向该背书节点发送连接申请,转2.2.3;如果身份认证未通过,则启动失败,转2.2.5;

2.2.3背书节点向Tp发送“同意建立连接”消息;

2.2.4Tp从背书节点接收“同意建立连接”消息,启动工作完成,转第三步;

2.2.5Tp启动失败,转2.2.1;

第三步,令可验证域间路由子系统中任意一个自治域AS1内的所有成功启动的路由行为验证终端为n1个,n1个成功启动的路由行为验证终端侦听来自可验证域间路由子系统的信息,确认是否与其路由行为验证代理模块建立连接,n1≤n,n为AS1中的路由行为验证终端的个数,n为正整数;

3.1令可验证域间路由子系统中有M台域间路由器,M台域间路由器启动路由软件系统启动路由软件系统,M为正整数;

3.2可验证域间路由子系统中所有域间路由器启动路由行为验证代理模块,M台域间路由器并行向路由行为验证终端发送自治域信息、路由器信息,任意一个自治域AS1中任意一台域间路由器R1向路由行为验证终端发送自治域信息、路由器信息的方法是:

3.2.1R1的路由行为验证代理模块进行初始化,包括设置路由行为验证代理模块所在路由器即R1、所属自治域AS1信息即AS1的自治域编号、设置路由器R1的ID、设置AS1内的n个路由行为验证终端的IP地址;

3.2.2路由行为验证代理模块将自治域AS1信息、路由器R1信息发送给AS1内的n1个成功启动的路由行为验证终端,申请与AS1内的任意一个成功启动的路由行为验证终端RT1-1建立连接,将自治域AS1信息及路由器R1信息发送给路由行为验证终端RT1-1;

3.3RT1-1的路由验证请求处理模块侦听来自AS1的消息;

3.4RT1-1的路由验证请求处理模块通过从AS1收到的自治域信息及路由器R1信息判定路由器R1是否属于AS1,若属于AS1,则记录路由器R1信息,同意与R1的路由行为验证代理模块建立连接,转第四步;如果不属于,则拒绝与R1的路由行为验证代理模块建立连接,转3.3;

第四步,自治域AS1中的任意一台路由器R1向自治域AS2中的一台路由器T发送路由信息RI;

第五步,路由器T接收来自R1的路由信息RI,根据情况,发送路由信息确认报文,方法如下:

5.1路由器T检查RI的正确性,如果检查正确,转5.2;如果检查有错误,则丢弃RI,转第六步;

5.2路由器T构造路由信息确认报文RIQ并将RIQ发送给路由器R1,转第六步;

第六步,R1等待从路由器T接收RIQ,如果R1收到从路由器T发来的RIQ,转第七步;如果在设置的时间阈值δ内仍未收到路由信息确认报文RIQ,转第四步;

第七步,R1、AS1的路由行为验证终端RT1-1、路由验证区块链系统相互配合按第八步~第十四步的流程构造路由证据、构造路由证据验证提案、对路由证据验证提案进行验证、对路由证据验证提案进行背书、判断有背书节点签名的路由证据验证提案是否满足背书策略、生成路由证据交易、对路由证据交易进行共识排序、生成区块并更新路由验证区块链;同时路由器T、AS2的路由行为验证终端RT2-1、路由验证区块链系统相互配合按第十五步~第二十步的流程构造验证路由请求报文、检查验证路由请求报文是否正确、在路由验证区块链检索是否存在路由请求对应的路由证据、向路由器T反馈路由信息的验证结果;

第八步,R1的路由行为验证代理模块根据RI构造路由证据,将路由证据发送给路由行为验证子系统,方法是:

8.1R1的路由行为验证代理模块从路由信息RI中提取相关内容,构造路由证据RE,方法是将路由基本信息、前向路由证据PRP、路由信息标识IDR、路由接收者签名和公钥、路由发送者签名和公钥组合成RE;具体方法是:

8.1.1构建路由基本信息,路由发送者ID由路由信息的源AS号进行哈希得到;路由接收者ID由路由信息的目的AS号进行哈希得到;路由发送时间戳由路由信息的时间戳得到,路由前缀地址由路由信息的路由前缀字段得到;路由操作设置由路由信息的路由操作字段得到;路由分类信息根据路由信息的路径长度生成,以16位二进制表示,假设路径长度是nn,则路由分类信息的第nn位二进制设置为1,其他位设置为0,nn为正整数;

8.1.2构建前向路由证据PRP,指向已存储在路由证据区块链中的一个路由证据,假设PRP所指向的路由证据对应路由信息RI’,路由信息RI’是路由器R1收到的来自其他路由器的路由信息,R1在RI’后加上自身信息,即得到路由信息RI;

8.1.3构建路由信息标识IDR,即将路由发送者ID、路由接收者ID、路由发送时间戳、路由前缀地址、路由操作、路由分类信息的哈希值组合成IDR;

8.1.4将路由接收者收到路由信息时的签名作为路由接收者签名,将路由接收者自身的公钥作为路由接收者公钥;

8.1.5将路由发送者发送路由证据时的签名作为路由发送者签名,将路由发送者自身的公钥作为路由发送者公钥;

8.2路由器R1的路由行为验证代理模块将路由证据RE发送给路由行为验证终端RT1-1;

第九步,路由行为验证终端RT1-1从路由器R1的路由行为验证代理模块接收RE,将RE构造成一个路由证据验证提案REA,将REA发送到与RT1-1有连接关系的一个背书节点BS1;

第十步,背书节点BS1监测是否从RT1-1接收到REA,若接收到REA,检查REA的完整性,若REA完整,根据背书策略将REA发送到背书策略规定的另外K个与BS1相连的背书节点,K为正整数,转第十一步;若REA不完整,转第十步继续等待;

第十一步,接收到REA的K个背书节点对REA并行进行验证:从REA提取路由证据,调用路由证据验证链码验证路由证据,得到K个路由证据验证提案结果,K个背书节点对REA进行验证的方法相同,K个背书节点中的任意一个背书节点BSi对REA进行验证的方法是:

11.1BSi从REA中提取出路由证据RE;

11.2BSi执行路由证据验证链码,对RE进行验证,方法如下:

11.2.1检查RE的路由基本信息,方法是:

11.2.1.1检查路由验证区块链中是否存在RE里面包含的前向路由证据PRP,若不存在,丢弃RE,转11.5;若存在,判定路由验证区块链中包含的PRP中的路由发送时间戳是否比RE中的路由发送时间戳要早,若早,转11.2.1.2;若不早,则丢弃RE,转11.5;

11.2.1.2检查RE中的路由前缀地址是否与路由验证区块链中包含的PRP中的路由前缀地址相同,若相同,转11.2.1.3;若不相同,丢弃RE,转11.5;

11.2.1.3检查RE中的路由分类信息是否与路由验证区块链中包含的PRP中的路由分类信息一致,若一致,转11.2.2;若不一致,丢弃RE,转11.5;

11.2.2检查RE的签名,方法是:

11.2.2.1使用RE的路由发送者公钥检查路由发送者的签名是否正确,若正确,转11.2.2.2;若不正确,丢弃RE,转11.5;

11.2.2.2使用RE的路由接收者公钥检查路由接收者的签名是否正确,若正确,转11.2.3;若不正确,丢弃RE,转11.5;

11.2.3检查RE对应的路由信息是否是最佳路由,方法是使用R1的ID、路由前缀地址作为索引,在路由验证区块链进行检索,查找是否存在满足索引条件的路由证据:若RE对应的路由信息不是最优路由,将RE丢弃,转11.5;若RE通过最优路由验证,转11.3;

11.3BSi为路由证据验证提案REA进行背书,生成路由证据验证提案结果,背书方法采用当前各类区块链平台背书的方法,路由证据验证提案结果的内容为路由证据验证提案REA和背书节点BSi签名;

11.4BSi将带有BSi签名的路由证据验证提案结果发送给路由行为验证终端RT1-1,转第十二步;

11.5BSi生成背书节点签名字段为空的路由证据验证提案结果,并将该路由证据验证提案结果发送给路由行为验证终端RT1-1,转第十二步;

第十二步,路由行为验证终端RT1-1陆续接收来自于K个背书节点的路由证据验证提案结果,判断从K个背书节点陆续收到的路由证据验证提案结果中通过验证的路由证据验证提案是否满足背书策略,方法是:

12.1检查陆续收到的K个路由证据验证提案结果中带有背书节点签名字段的路由证据验证提案结果数是否大于等于K1,如满足,转12.2;如果不满足,则表示没有K1个背书节点为路由证据验证提案进行背书签名,不满足背书策略,表示此轮域间路由证据无法存入区块链,转第二十一步;K1由背书策略中规定,即至少有K1个背书节点签名的路由证据,才可以向排序节点提交路由证据交易,1≤K1≤K;

12.2路由行为验证终端RT1-1将K1个路由证据验证提案结果打包成一个路由证据交易路由证据交易结构中交易内容存放路由证据及各背书节点签名,将路由证据交易发送给与RT1-1通信的任意一个排序节点PX1,转第十三步;

第十三步,排序节点PX1判断是否从RT1-1接收到路由证据交易,若接收到路由证据交易,转13.1;若未接收到,转第十三步等待;

13.1检查交易内容是否符合背书策略,如果不符合,转13.5;如果符合,转13.2;

13.2排序节点PX1将路由证据交易发送到路由验证区块链系统中其它所有的排序节点;

13.3路由验证区块链系统中所有排序节点对接收到的路由证据交易进行共识排序;如果达成共识,转13.4;如果没有达成共识,则转13.5;

13.4路由验证区块链系统中所有排序节点采用区块生成方法,将路由证据交易生成新的区块,N个排序节点生成的区块相同,将该区块广播到路由验证区块链系统中所有提交节点,转第十四步;

13.5路由验证区块链系统中所有排序节点丢弃路由证据交易,转第二十一步;

第十四步,路由验证区块链系统中所有提交节点从与之相连的排序节点接收新的区块,将区块加入到路由证据验证区块链中,检查区块里的交易是否有效即验证交易的签名是否有效、交易是否满足背书策略;如果检查有效,说明该交易是经背书节点签名背书过的,路由验证区块链系统中所有提交节点将区块加入本地路由验证区块链中,转第二十一步;如果检查无效,则丢弃该区块,转第二十一步;

第十五步,路由器T验证路由信息RI,方法如下:

15.1路由器T的路由行为验证代理模块构造验证路由请求,并将验证路由请求发送给T所属自治域AS2的路由行为验证终端,方法如下:

15.1.1路由行为验证代理模块从RI中提取路由基本信息;

15.1.2路由行为验证代理模块构造RI的验证路由请求报文RIQB,RIQB的内容包括RI的路由基本信息、路由器T公钥、路由器T对RI的路由基本信息的签名;

15.1.3路由行为验证代理模块将RIQB发送给AS2的路由行为验证终端RT2-1;

第十六步,AS2的路由行为验证终端RT2-1收到来自路由器T的RIQB,检查RIQB的签名是否正确,如果正确,则将RIQB发送给路由验证区块链系统的与RT2-1相连的背书节点,转第十八步;如果签名不正确,转第十七步;

第十七步,丢弃验证路由请求报文RIQB,转第二十一步;

第十八步,路由验证区块链系统的与RT2-1相连的任意一个背书节点接收RIQB,对RIQB进行验证:

18.1检查RIQB的签名是否正确,如果签名正确,转18.2;如果签名不正确,转第十七步;

18.2从RIQB中提取路由信息标识IDR;

18.3在路由证据区块链中检索IDR,如果在路由证据区块链中找到一个与IDR相同的匹配项,则验证通过,转18.4;否则,验证失败,转18.6;

18.4构造一个路由信息验证成功报文RIYC,即在RIQB尾部加上验证成功标记、背书节点签名,将RIYC反馈给路由行为验证终端RT2-1;

18.5RT2-1将RIYC转发给路由器T,转第十九步;

18.6构造一个路由信息验证失败报文RIYS,即在RIQB尾部加上验证失败标记、背书节点签名,将路由信息验证失败报文反馈给路由行为验证终端RT2-1;

18.7RT2-1将RIYS转发给路由器T,转第二十步;

第十九步,路由器T接收RIYC,认为路由信息RI符合路由策略,从RI学习到新的路由,将新的路由添加到路由表中,转第二十一步;

第二十步,路由器T接收RIYS,认为路由信息RI违反路由策略,丢弃RI,转第二十一步;

第二十一步,转第四步。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911154492.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top