CN117714081A - 一种基于智能合约的路由起源验证方法及系统 - Google Patents

一种基于智能合约的路由起源验证方法及系统 Download PDF

Info

Publication number
CN117714081A
CN117714081A CN202410167376.5A CN202410167376A CN117714081A CN 117714081 A CN117714081 A CN 117714081A CN 202410167376 A CN202410167376 A CN 202410167376A CN 117714081 A CN117714081 A CN 117714081A
Authority
CN
China
Prior art keywords
route
verification
route origin
intelligent contract
information
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.)
Granted
Application number
CN202410167376.5A
Other languages
English (en)
Other versions
CN117714081B (zh
Inventor
李琪
徐恪
李琦
刘卓涛
姜盛林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongguancun Laboratory
Original Assignee
Beijing Zhongguancun Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongguancun Laboratory filed Critical Beijing Zhongguancun Laboratory
Priority to CN202410167376.5A priority Critical patent/CN117714081B/zh
Publication of CN117714081A publication Critical patent/CN117714081A/zh
Application granted granted Critical
Publication of CN117714081B publication Critical patent/CN117714081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及网络安全领域,具体提出一种基于智能合约的路由起源验证方法及系统,其中方法包括通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入该联盟;若发现网络中存在未曾验证的路由起源信息,则ISP或AS管理者向智能合约提出验证请求;智能合约基于验证请求将未曾验证的路由起源信息存储在路由起源字典树中,若发生碰撞,则智能合约采用基于优先级的碰撞判定方法确定字典树中对应节点的最终状态以得到目标路由起源信息;利用路径压缩方法和节点压缩方法对路由起源字典树进行优化,并验证和广播目标路由起源信息;本发明能够避免路由源验证机制的单点失效风险,同时解决路由起源信息的不一致性问题,保证路由源验证的有效性和一致性。

Description

一种基于智能合约的路由起源验证方法及系统
技术领域
本发明涉及网络安全领域,特别是域间路由安全领域,尤其涉及一种基于智能合约的路由起源验证方法及系统。
背景技术
随着互联网的不断发展和扩展,网络安全问题逐渐成为信息社会中的一个严峻挑战。在网络通信中,边界路由协议(Border Gateway Protocol,BGP)作为连接不同自治域(Autonomous System, AS)的重要桥梁,扮演着数据传输和通信的关键角色。然而,BGP设计之初并没有充分考虑安全性,使得其存在诸多缺陷。其中最严重的一个缺陷是 BGP 路由真实性的不可验证。这一缺陷使得路由器无法分辨,收到的路由通告是否真实由声明的AS发出。因此,攻击者可以通过发起错误的路由宣告实现路由重定向,即路由源劫持攻击。路由源劫持攻击对于互联网的基础架构和信任模型构成了严重威胁,它不仅会影响网络性能,还会导致信息泄露、身份伪装等安全问题。
为了应对路由源劫持带来的潜在风险,研究者们提出了很多防御方法,主要思路是通过密码学提供路由起源的真实性保障。其中最具影响力的技术是资源公钥基础设施(Resource Public Key Infrastructure,RPKI)。通过建立数字签名和验证机制来确保路由信息的可信性。RPKI基于公钥基础设施的理念,允许拥有IP地址空间的组织发布数字证书对象(Route Origin Authorization,ROA)。ROA将IP地址块映射到特定的AS,并确保只有授权的AS才能合法地宣告对该IP地址块的路由。ROA可以由互联网服务提供商(InternetService Provider,ISP)和路由器使用,以验证路由更新的真实性,从而提高域间路由的安全性,防范潜在的网络攻击。
然而,由于RPKI遵循中心化的部署规则,其体系结构存在固有缺陷,因此会产生信任集中化、权利不对等、单点失效、难以扩展等问题。随着RPKI部署率的上升,这些问题带来的影响将被进一步放大,引发网络鲁邦性差、管理复杂性高、性能遭遇瓶颈等一系列潜在挑战。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于智能合约的路由起源验证方法,主要目的在于避免路由源验证机制中的单点失效风险,同时解决路由起源信息的不一致性问题,保证路由源验证的有效性和一致性。
本发明的第二个目的在于提出一种基于智能合约的路由起源验证系统。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种基于智能合约的路由起源验证方法,包括以下步骤:
通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入所述域间路由源验证信任联盟;
若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;
智能合约基于所述验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定所述路由起源字典树对应节点的最终状态,以得到目标路由起源信息;
对所述目标路由起源信息进行验证并在域间路由源验证信任联盟广播所述目标路由起源信息。
在本发明的第一方面的方法中,所述未曾验证的路由起源信息的存储过程通过路由起源插入函数实现,所述路由起源插入函数包括5个输入值,分别是IP地址前缀、宣告该IP地址前缀的AS号、AS号宣告的IP地址前缀的起始子网长度、最长子网长度和验证方式。
在本发明的第一方面的方法中,对所述目标路由起源信息进行验证之前,还包括利用优化方法对路由起源字典树进行优化,其中优化方法包括路径压缩方法和节点压缩方法。
在本发明的第一方面的方法中,所述目标路由起源信息的验证分为三种情况,分别是:通过ROA验证、通过预言机查询地址资源验证和通过投票验证。
在本发明的第一方面的方法中,基于优先级的碰撞判定方法包括多个优先级,分别是:0级对应初始化状态;1级对应根据ROA信息判断;2级对应根据RIR(RegionalInternet Registry,地区性 Internet 注册机构)下发的资源分配情况判断;3级对应根据信任联盟中的参与方投票判断。
在本发明的第一方面的方法中,优先级为2级时,利用碰撞处理合约、资源管理合约、部署在链下的预言机和RIR仓库确定碰撞结果,若碰撞结果为无法判断,则使用更高优先级的方法进行处理。
在本发明的第一方面的方法中,优先级为3级时,利用碰撞处理合约、投票合约确定投票结果,进而得到碰撞结果,其中以ISP或AS管理者的信誉值为对应选票的权重,从而得到所述投票结果。
为达上述目的,本发明第二方面实施例提出了一种基于智能合约的路由起源验证系统,包括:
成员管理模块,用于通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入所述域间路由源验证信任联盟;
验证请求模块,用于若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;
路由存储模块,用于智能合约基于所述验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,还用于对所述目标路由起源信息进行验证;
碰撞处理模块,用于若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定所述路由起源字典树对应节点的最终状态,以得到目标路由起源信息;
消息发布模块,用于在域间路由源验证信任联盟广播所述目标路由起源信息。
为达上述目的,本发明第三方面实施例提出了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现本发明第一方面提出的方法。
为达上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现本发明第一方面提出的方法。
本发明提供的基于智能合约的路由起源验证方法、系统、电子设备及存储介质,通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入域间路由源验证信任联盟;若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;智能合约基于验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定路由起源字典树对应节点的最终状态,以得到目标路由起源信息;对目标路由起源信息进行验证并在域间路由源验证信任联盟广播目标路由起源信息。在这种情况下,使用路由起源字典树在智能合约中存储目标路由起源信息,可以同时对接RPKI证书体系和自主的域间路由认证证书体系;使用智能合约对ISP或AS管理者发起的路由源的验证请求可以实现联盟内多节点共识性源验证,从而避免路由源验证机制中的单点失效风险,提升域间路由源验证的可扩展性。另外基于优先级的碰撞判定方法,判断发生碰撞的目标路由起源信息属于合法碰撞还是非法碰撞,实现了联盟内多节点共识性源验证,保障了验证有效性、一致性的同时,避免了少数节点故障或恶意攻击带来的潜在危害,解决了路由起源信息的不一致性问题。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种基于智能合约的路由起源验证方法的流程示意图;
图2为本发明实施例所提供的路由起源字典树的示意图;
图3为本发明实施例所提供的路径压缩方法示意图;
图4为本发明实施例所提供的节点压缩方法示意图;
图5为本发明实施例所提供的基于优先级的碰撞判定方法中优先级为2级时对应根据RIR下发的资源分配情况判断的方法示意图;
图6为本发明实施例所提供的基于优先级的碰撞判定方法中优先级为3级时对应根据信任联盟中的参与方投票判断的方法示意图;
图7为本发明实施例所提供的一种基于智能合约的路由起源验证系统的模块图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于智能合约的路由起源验证方法和系统。
本发明实施例提供了基于智能合约的路由起源验证方法,主要目的在于避免路由源验证机制中的单点失效风险,同时解决路由起源信息的不一致性问题,保证路由源验证的有效性和一致性。
图1为本发明实施例所提供的一种基于智能合约的路由起源验证方法的流程示意图。
如图1所示,该基于智能合约的路由起源验证方法包括以下步骤:
步骤S101,通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入域间路由源验证信任联盟。
在步骤S101中,通过智能合约建立域间路由源验证信任联盟,能够搭建去中心化的分布式信任机制,实现路由源验证的证书多接入与验证性能扩展,避免路由源验证机制中的单点失效风险,同时解决路由起源信息的不一致性问题,保证路由源验证的有效性和一致性。
在步骤S101中,将ISP或AS管理者加入域间路由源验证信任联盟,ISP或AS管理者即可获得智能合约中被验证过的路由起源信息。
步骤S102,若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求。
在步骤S102中,ISP或AS管理者若发现区块链网络中存在智能合约中未曾验证的路由起源信息,则向智能合约提出验证请求,验证请求包括未曾验证的路由起源信息。
步骤S103,智能合约基于验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定路由起源字典树对应节点的最终状态,以得到目标路由起源信息。
在步骤S103中,首先描述路由起源字典树。路由起源字典树是一个二叉树,每个节点的左孩子定义为IP地址中的二进制位“0”,右孩子定义为IP地址中的二进制位“1”。树高为IP地址的长度。例如,存储IPv4(Internet Protocol Version 4)路由起源信息的字典树高度为232,存储IPv6(Internet Protocol version 6)路由起源信息的字典树高度为2128。路由起源字典树中每一个节点的位置代表了IP地址的一个前缀,即从根节点到该节点的路径,其路径长度即为前缀长度。路由起源字典树的根节点为空,不存储任何信息,其他节点存储路由起源信息。为了节省存储空间,在初始化状态下,路由起源字典树只有根节点;随着ISP或AS管理者向路由起源字典树提出插入信息请求,字典树才会根据IP地址前缀,创建向对应的分支。
路由起源字典树的节点表示如下:
Node{Uint64 NodeID;List(Uint64) ASN;mapping(Uint64, String) Type;//ROA, Oracle, Vote, …mapping(Uint64, String) Proof;String CompressedPath;String CompressedNode;}
其中,Uint64是数据结构的类型,List是列表,mapping(Uint64, String)是变量的类型,这个变量的类型是字典,且字典的键是Uint64类型,值是String字符串类型。其中验证方式(Type)这个变量中的值(字符串)可能包括三种情况,分别是ROA, Oracle, Vote。String是字符串类型,CompressedPath是压缩路径,CompressedNode是压缩节点。
路由起源字典树的节点包括6个字段,分别是:节点编号(NodeID),ASN列表(ASN),验证方式(Type)、验证证明(Proof)、压缩路径(CompressedPath),和压缩节点(CompressedNode)。
其中,节点编号是该节点独一无二的ID,由该节点代表的IP地址前缀计算生成。
ASN列表存储声明该IP地址前缀的AS号。
验证方式表示验证该AS号和IP地址前缀对应正确的方式的名称。信息类型可分为三种,通过ROA验证(ROA)、通过预言机查询地址资源验证(Oracle)和通过投票验证(Vote)。
验证证明表示可以验证该AS号和IP地址前缀对应正确的证明。当信息类型为ROA时,证明为ROA证书;当信息类型为Oracle时,验证证明是提供信息的Oracle的签名;当信息类型为投票验证时,验证信息为投票结果对应的交易ID。
压缩路径表示当路由起源字典树被压缩时,该节点所代表的字符串。
压缩节点表示当路由起源字典树被压缩时,该节点所代表的路由宣告的最大长度(MaxLength)。
其中,在本发明的一个实施例中,上述节点编号的计算方法如下:
1、将该节点对应的IP地址前缀的无类别域间路由(Classless Inter-DomainRouting,CIDR)格式转换为2进制表示。例如,IP前缀192.168.0.0/24可表示为:11000000.10101000.00000000.00000000/11000。
2、将二进制表示形式拼接起来。例如,IP前缀192.168.0.0/24可以表示为:1100000010101000000000000000000011000。
3、将该二进制串转换为10进制。例如IP前缀192.168.0.0/24可以表示为:103431536664;
4、如果前缀中的子网部分有多个子网长度,例如192.168.0.0/22-24,则以第一个子网长度为准。
图2为本发明实施例所提供的路由起源字典树的示意图。未曾验证的路由起源信息存储在如图2所示的路由起源字典树中。图2所示的是一个未经优化方法压缩的路由起源字典树。图中R为根节点,虚线节点和虚线是当前还未生成的节点,虚线节点外的其他实线节点是当前存储在智能合约中的节点。
在本发明的一个实施例中,步骤S103中的未曾验证的路由起源信息的存储过程通过路由起源插入函数(RouteOriginInsert)实现。路由起源插入函数包括5个输入值,分别是IP地址前缀(IP)、宣告该IP地址前缀的AS号(ASN)、AS号宣告的IP地址前缀的起始子网长度(Start)、最长子网长度(End)和验证方式(Type)。通过路由起源插入函数可以将未曾验证的路由起源信息存储在路由起源字典树中。
路由起源插入函数(RouteOriginInsert)的处理过程如下:
1)初始化指针指向根节点。初始化碰撞列表为空。
2)指针从树的根节点开始,按照IP地址前缀向下移动。对于IP地址的每一位,检查是0还是1。根据这一位的值,向左或向右移动到下一个节点。如果是0,向左移动;如果是1,向右移动。如果此时节点不存在,则创建空节点,并继续移动。
3)当到指针走过的路径长度等于Start时,检查该节点是否为空。如果该节点不为空,则将此次插入的信息和节点中现存的信息构建一个碰撞,存储在碰撞列表中;否则,将信息插入该节点。
4)继续移动指针并重复步骤3中的操作,直至指针走过的路径长度等于End时为止。
5)如果碰撞列表为空,则返回1,表示操作成功;否则返回0,并调用基于优先级的碰撞判定方法解决碰撞,以得到路由起源字典树对应节点的最终状态(即最后一次修改该节点的优先级),各节点的最终状态对应的路由起信息即为目标路由起源信息。
6)在域间路由源验证信任联盟中广播路由起源插入事件,事件内容包括所有插入信息的节点编号及步骤5)中的返回值。该返回值指的是目标路由起源信息。
图3为本发明实施例所提供的路径压缩方法示意图。其中白色节点为空节点。图4为本发明实施例所提供的节点压缩方法示意图。
为了降低路由起源字典树的存储开销,在本实施例中,步骤S103中还采用优化方法对路由起源字典树进行压缩。其中,优化方法分别为路径压缩方法和节点压缩方法。在路由起源插入函数执行完成后,利用优化方法将对刚刚插入的路径进行优化。
具体地,路径压缩方法的目的是将路径中的空节点压缩,从而降低存储空间。路径压缩方法的步骤包括:从根节点向叶子节点遍历刚刚插入的路径,如果遇到某个节点为空且只有一个子节点,则进行路径压缩,该路径压缩的过程是将当前节点与其唯一的子节点合并,并更新当前节点的值为其子节点值。重复该过程直到叶子节点。如图3的左图所示,从根节点R向左孩子方向的叶子节点遍历刚刚插入的路径,其中该方向有2个节点为空且该2个空节点均只有一个子节点,进行路径压缩后,如图3的右图所示,根节点R的左子节点的值为010;从根节点R向右孩子方向的叶子节点遍历刚刚插入的路径,其中该方向上根节点R的右子节点为空且该空节点只有一个子节点,进行路径压缩后,如图3的右图所示,根节点R的右子节点的值为10。
节点压缩方法的目的是当同一个子树中节点完全相同时,将这些相同的节点压缩到一起,从而降低存储空间。节点压缩方法的步骤包括:从叶子节点向根节点回溯刚刚插入的路径,如果该节点的信息与其父节点和兄弟节点的信息相同,则修改其父节点,将其“压缩节点”字段后添加其子节点所对应的子网前缀。更新完成后,删除该父节点的左右子节点。如图4的左图所示,从子网长度24所在的叶子节点向根节点回溯刚刚插入的路径,其中子网长度24所在的叶子节点的信息与其父节点(子网长度23所在的叶子节点)和兄弟节点的信息相同,则修改其父节点(即子网长度23所在的叶子节点),将子网长度23所在的叶子节点“压缩节点”字段后添加其子节点所对应的子网前缀(即改为23-34)。更新完成后,删除该父节点的左右子节点(如图4的右图所示)。
在实际操作中,路径压缩方法可与路由起源插入函数同步进行。同时,如果在路由起源插入函数中未发生碰撞,则可以在插入时直接插入执行完节点压缩方法后的节点,而不需要在路由起源插入函数执行完成后,再回溯路径执行压缩方法。
需要说明的是,智能合约的存储合约除了路由起源插入函数(RouteOriginInsert),该包括路由起源查找函数(RouteOriginRetrieve),路由起源查找函数在后续需要获取路由起源字典树中存储的路由起源信息时使用。
在本发明的一个实施例中,路由起源查找函数包括2个输入值,分别是IP地址前缀(IP)和ASN宣告的子网长度(Length)。
路由起源查找函数(RouteOriginRetrieve)的处理过程如下:
1)初始化指针指向根节点。
2)指针从树的根节点开始,按照IP地址前缀向下移动。对于IP地址的每一位,检查是0还是1。根据这一位的值,向左或向右移动到下一个节点。如果是0,向左移动;如果是1,向右移动。
3)如果指针移动次数等于Length之前,出现空节点,则算法结束,返回一个空节点。如果指针成功移动Length次,且该节点存在,则返回节点信息。
在步骤S103中,路由起源插入函数中调用基于优先级的碰撞判定方法解决碰撞。即当路由起源信息发生碰撞时,即同一个IP地址前缀对应多个路由起源AS号,使用该方法进判定。基于优先级的碰撞判定方法包括多个优先级,分别是:0级对应初始化状态;1级对应根据ROA信息判断;2级对应根据地区性 Internet 注册机构(Regional InternetRegistry,RIR)下发的资源分配情况判断;3级对应根据信任联盟中的参与方投票判断。其中,优先级为2级时,利用碰撞处理合约、资源管理合约、部署在链下的预言机和RIR仓库确定碰撞结果,若碰撞结果为无法判断,则使用更高优先级的方法进行处理。优先级为3级时,利用碰撞处理合约、投票合约确定投票结果,进而得到碰撞结果,其中以ISP或AS管理者的信誉值为对应选票的权重,从而得到投票结果。
具体地,路由起源字典树中的节点状态为最后一次修改该节点的优先级。初始化状态下,所有节点的状态都为0级。参与方(即ISP或AS管理者)可以使用高优先级的方法可以修改优先级低状态下的节点。如果状态修改后(例如改为1级)信息正确,则节点状态改为更高优先级(即对应修改为1级);否则,节点退回修改前的状态。
优先级为1级时的修改方法为根据ROA解析得到的路由起源信息,直接修改路由起源字典树对应节点并在域间路由源验证信任联盟(可简称为信任联盟)中广播该事件。事件的载核(payload)包括该节点的ID和节点更新后的状态。
若优先级为1级时无法解决碰撞问题,则利用优先级为2级时的判定方法。
图5为本发明实施例所提供的基于优先级的碰撞判定方法中优先级为2级时对应根据RIR下发的资源分配情况判断的方法示意图。优先级为2级时的节点状态修改方法如图5所示:
步骤0:在系统启动时,部署在链下的预言机(Oracle Service)开始监听链上事件。
步骤1:当ISP或AS管理者提交的信息与路由起源字典树中的1级节点发生碰撞时,碰撞处理合约向资源管理合约提出请求。
步骤2:资源管理合约在区块链网络中广播事件,事件的载核(payload)包括相碰撞的两个AS即对应的IP前缀信息。
步骤3:链下的预言机监听到事件后,向RIR仓库发起查询请求。RIR仓库将查询到的结果反馈给预言机。
步骤4:预言机调用智能合约中的碰撞处理函数,将分析结果返回给资源管理合约。
步骤5:资源管理合约分析各个预言机返回的结果得到结论。如果各个预言机返回的结果一致,则保留该结果;否则,使用少数服从多数原则,保留多数一致的结果。如果所有预言机均返回不一致结果,则设定结果为无法判断(Unknown)。
步骤6:资源管理合约将结论返回给碰撞处理合约。如果结果为无法判断,则使用更高优先级的方法进行处理。否则,保留当前优先级方法的处理结果为该节点状态,并在联盟中广播该事件。事件的载核(payload)包括该节点的ID和节点更新后的状态。
在本发明的一个实施例中,步骤4中的调用的碰撞处理函数的处理过程如下:假设前缀(Prefix p)对应的两方AS号(如AS x和AS y)出现碰撞,则分别查询Prefix p、AS x、ASy对应的资源分配情况,并按照如下规则判断:若AS x和AS y均与Prefix p的资源分配情况一致,则返回无法判断(Unknown);若AS x和AS y中其中一个与Prefix p的资源分配情况一致(假设为AS x与Prefix p的资源分配情况一致),则返回AS x;若AS x和AS y中其中一个与Prefix p的资源分配情况一致(假设为AS x与Prefix p的资源分配情况一致),另一个资源分配情况未知,则返回AS x;若AS x和AS y均与Prefix p的资源分配情况不一致,则返回无法判断(Unknown)。需要说明的是,当两方发生碰撞时,每一方的AS号的个数可能不止有一个,具体地,一方的AS号AS x可以包括x个AS号,此时AS x可以表示为AS{x},x取正整数;另一方的AS号AS y可以包括y个AS号,此时AS y可以表示为AS{y},y取正整数。
若优先级为2级时无法解决碰撞问题,则利用优先级为3级时的判定方法。
图6为本发明实施例所提供的基于优先级的碰撞判定方法中优先级为3级时对应根据信任联盟中的参与方投票判断的方法示意图。优先级为3级时节点状态的修改方法如图6所示。
当ISP(或AS管理者)提交的信息与路由起源字典树中的2级节点发生碰撞时,或采用优先级为2级时的修改方法无法得到明确结果时,碰撞处理合约向投票合约提出请求。投票合约在联盟内发起一个投票任务,选票由三个选项组成,分别是Prefix p与AS{x}构成的第一前缀起源对正确;Prefix p与AS{y}构成的第二前缀起源对正确;上述两种情况均合理(Both),该碰撞为合法碰撞。选票还包括一个载核(payload)字段,参与投票的ISP需要提供投票依据和签名。其中投票依据为organization时是根据AS号所属的组织进行推断;投票依据为route table时是根据AS号的路由表进行推断。最终投票结果的统计方法是,根据投票ISP的信誉值进行加权计算,即每个选票的权重为投出该选票的ISP的信誉值。
投票合约在规定时间内收集选票,进而根据得票最高的选项修改路由起源字典树中的节点状态。同时,投票合约将按照选票顺序构建默克尔哈希树(Merkle Tree),并将默克尔哈希树根(Merkle Tree Root, MTR)记录在路由起源字典树中的对应节点上。
攻击者(恶意Pair)的信誉值较低。
在本发明的一个实施例中,ISP(或AS管理者)信誉值的计算方法如下:
信誉值用于激励参与方提交证明和验证证明,信誉值更高的参与方在基于优先级的碰撞判定方法中将获得更高的投票权重。信誉值的计算方法分为针对提交路由起源的参与方和针对验证路由起源的参与方两部分。如果证明的被验证为正确,提交证明的参与方和验证证明的参与方都将增加信誉值;反之,如果验证失败,提交证明的参与方降低信誉值,验证证明的参与方增加信誉值。信誉值的计算方法如下:
设参与方作为路由起源提交者时,基于历史验证的数据,验证正确的次数为P s,验证失败的次数为P f;参与方作为路由起源验证者时,成功参与验证的次数为V s,提交验证请求但未成功参与验证的次数为V f。参与方的信誉值R的计算方法如下:
其中k1和k2是智能合约初始化时设定的参数,建议k 1k 2k 1+k 2=1。
步骤S103,通过基于优先级的碰撞判定方法,判定未曾验证的路由起源信息的正确性。若信息正确,则更新智能合约中的路由起源字典树的对应节点的最终状态,从而得到了对应节点的最终状态对应的目标路由起源信息。
步骤S104,对目标路由起源信息进行验证并在域间路由源验证信任联盟广播目标路由起源信息。
在步骤S104中,目标路由起源信息的验证分为三种情况,分别是:通过ROA验证、通过预言机查询地址资源验证和通过投票验证。
具体地,路由起源信息的验证分为三种情况:通过ROA验证(记作“ROA情况”)、通过预言机查询地址资源验证(记作“Oracle情况”)和通过投票验证(记作“Vote情况”)。
当处于ROA情况时:验证者运行智能合约上的验证函数,提交ROA对应的公钥,函数将逐级验证ROA签名的正确性,如果全部验证成功则返回1,否则返回0。
当处于Oracle情况时:验证者运行智能合约上的验证函数,提交Oracle的公钥,函数将分别验证各个Oracle签名的正确性,如果全部验证成功则返回1,否则返回0。
当处于Vote情况时:验证者运行智能合约上的验证函数,提交所有投票的交易ID,函数将按照交易ID的先后顺序构建交易ID的默克尔树(Merkle Tree),如果默克尔树根验证正确,则返回1,否则返回0。
在步骤S104中,若验证通过,则目标路由起源信息合法,并在源验证信任联盟广播目标路由起源信息;若未通过,则目标路由起源信息确定为攻击信息,在信任联盟中广播。
为了实现上述实施例,本发明还提出一种基于智能合约的路由起源验证系统,火电厂配置的混合储能装置包括液流电池和超级电容器。
图7为本发明实施例所提供的一种基于智能合约的路由起源验证系统的模块图。
如图7所示,该基于智能合约的路由起源验证系统10包括成员管理模块100、验证请求模块200、路由存储模块300、碰撞处理模块400和消息发布模块500,其中:
成员管理模块100,用于通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入域间路由源验证信任联盟;
验证请求模块200,用于若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;
路由存储模块300,用于智能合约基于验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,还用于对目标路由起源信息进行验证;
碰撞处理模块400,用于若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定路由起源字典树对应节点的最终状态,以得到目标路由起源信息;
消息发布模块500,用于在域间路由源验证信任联盟广播目标路由起源信息。
进一步地,在本发明实施例的一种可能的实现方式中,路由存储模块300中,未曾验证的路由起源信息的存储过程通过路由起源插入函数实现。
进一步地,在本发明实施例的一种可能的实现方式中,路由存储模块300中,路由起源插入函数包括5个输入值,分别是IP地址前缀、宣告该IP地址前缀的AS号、AS号宣告的IP地址前缀的起始子网长度、最长子网长度和验证方式。
进一步地,在本发明实施例的一种可能的实现方式中,路由存储模块300中,目标路由起源信息的验证分为三种情况,分别是:通过ROA验证、通过预言机查询地址资源验证和通过投票验证。
进一步地,在本发明实施例的一种可能的实现方式中,碰撞处理模块400中,基于优先级的碰撞判定方法包括多个优先级,分别是:0级对应初始化状态;1级对应根据ROA信息判断;2级对应根据RIR(Regional Internet Registry,地区性 Internet 注册机构)下发的资源分配情况判断;3级对应根据信任联盟中的参与方投票判断。
进一步地,在本发明实施例的一种可能的实现方式中,碰撞处理模块400中,优先级为2级时,利用碰撞处理合约、资源管理合约、部署在链下的预言机和RIR仓库确定碰撞结果,若碰撞结果为无法判断,则使用更高优先级的方法进行处理。
进一步地,在本发明实施例的一种可能的实现方式中,碰撞处理模块400中,优先级为3级时,利用碰撞处理合约、投票合约确定投票结果,进而得到碰撞结果,其中以ISP或AS管理者的信誉值为对应选票的权重,从而得到投票结果。
需要说明的是,前述对基于智能合约的路由起源验证方法实施例的解释说明也适用于该实施例的基于智能合约的路由起源验证系统,此处不再赘述。
本发明实施例中,通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入域间路由源验证信任联盟;若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;智能合约基于验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定路由起源字典树对应节点的最终状态,以得到目标路由起源信息;对目标路由起源信息进行验证并在域间路由源验证信任联盟广播目标路由起源信息。在这种情况下,使用路由起源字典树在智能合约中存储目标路由起源信息,可以同时对接RPKI证书体系和自主的域间路由认证证书体系;使用智能合约对ISP或AS管理者发起的路由源的验证请求可以实现联盟内多节点共识性源验证,从而避免路由源验证机制中的单点失效风险,提升域间路由源验证的可扩展性。另外基于优先级的碰撞判定方法,判断发生碰撞的目标路由起源信息属于合法碰撞还是非法碰撞,实现了联盟内多节点共识性源验证,保障了验证有效性、一致性的同时,避免了少数节点故障或恶意攻击带来的潜在危害,解决了路由起源信息的不一致性问题。
本发明的方法通过智能合约建立域间路由源验证信任联盟,搭建去中心化的分布式信任机制,实现路由源验证的证书多接入与验证性能扩展,避免路由源验证机制中的单点失效风险,同时解决路由起源信息的不一致性问题,保证路由源验证的有效性和一致性。具体地说,包括两个方法:路由起源的存储及验证方法和基于优先级的碰撞判定方法。其中路由起源的存储及验证方法,使用路由起源字典树在智能合约中存储路由起源信息,可以同时对接RPKI证书体系和自主的域间路由认证证书体系;使用智能合约对ISP发起的路由源验证请求实现联盟内多节点共识性源验证。避免路由源验证机制中的单点失效风险,提升域间路由源验证的可扩展性。基于优先级的碰撞判定方法,根据优先级策略使用多种碰撞判定策略,判断发生碰撞的路由起源信息属于合法碰撞还是非法碰撞,实现联盟内多节点共识性源验证,保障验证有效性、一致性的同时,避免少数节点故障或恶意攻击带来的潜在危害。
为了实现上述实施例,本发明还提出一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现执行前述实施例所提供的方法。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现前述实施例所提供的方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述实施例所提供的方法。
本发明中所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
需要说明的是,来自用户的个人信息应当被收集用于合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享,包括但不限于在用户使用该功能前,通知用户阅读用户协议/用户通知,并签署包括授权相关用户信息的协议/授权。此外,还需采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。
本发明预期可提供用户选择性阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件和/或软件,以防止或阻止对此类个人信息数据的访问。一旦不再需要个人信息数据,通过限制数据收集和删除数据可最小化风险。此外,在适用时,对此类个人信息去除个人标识,以保护用户的隐私。
在前述各实施例描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于智能合约的路由起源验证方法,其特征在于,包括以下步骤:
通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入所述域间路由源验证信任联盟;
若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;
智能合约基于所述验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定所述路由起源字典树对应节点的最终状态,以得到目标路由起源信息;
对所述目标路由起源信息进行验证并在域间路由源验证信任联盟广播所述目标路由起源信息。
2.根据权利要求1所述的基于智能合约的路由起源验证方法,其特征在于,所述未曾验证的路由起源信息的存储过程通过路由起源插入函数实现,所述路由起源插入函数包括5个输入值,分别是IP地址前缀、宣告该IP地址前缀的AS号、AS号宣告的IP地址前缀的起始子网长度、最长子网长度和验证方式。
3.根据权利要求1所述的基于智能合约的路由起源验证方法,其特征在于,对所述目标路由起源信息进行验证之前,还包括利用优化方法对路由起源字典树进行优化,其中优化方法包括路径压缩方法和节点压缩方法。
4.根据权利要求1所述的基于智能合约的路由起源验证方法,其特征在于,所述目标路由起源信息的验证分为三种情况,分别是:通过ROA验证、通过预言机查询地址资源验证和通过投票验证。
5.根据权利要求1所述的基于智能合约的路由起源验证方法,其特征在于,基于优先级的碰撞判定方法包括多个优先级,分别是:0级对应初始化状态;1级对应根据ROA信息判断;2级对应根据RIR下发的资源分配情况判断;3级对应根据信任联盟中的参与方投票判断。
6.根据权利要求5所述的基于智能合约的路由起源验证方法,其特征在于,优先级为2级时,利用碰撞处理合约、资源管理合约、部署在链下的预言机和RIR仓库确定碰撞结果,若碰撞结果为无法判断,则使用更高优先级的方法进行处理。
7.根据权利要求5所述的基于智能合约的路由起源验证方法,其特征在于,优先级为3级时,利用碰撞处理合约、投票合约确定投票结果,进而得到碰撞结果,其中以ISP或AS管理者的信誉值为对应选票的权重,从而得到所述投票结果。
8.一种基于智能合约的路由起源验证系统,其特征在于,包括:
成员管理模块,用于通过智能合约建立域间路由源验证信任联盟,将ISP或AS管理者加入所述域间路由源验证信任联盟;
验证请求模块,用于若发现网络中存在智能合约中未曾验证的路由起源信息,则ISP或AS管理者基于未曾验证的路由起源信息向智能合约提出验证请求;
路由存储模块,用于智能合约基于所述验证请求,将未曾验证的路由起源信息存储在路由起源字典树中,还用于对目标路由起源信息进行验证;
碰撞处理模块,用于若未曾验证的路由起源信息与智能合约中已有路由起源信息发生碰撞,则智能合约采用基于优先级的碰撞判定方法,确定所述路由起源字典树对应节点的最终状态,以得到目标路由起源信息;
消息发布模块,用于在域间路由源验证信任联盟广播所述目标路由起源信息。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
CN202410167376.5A 2024-02-06 2024-02-06 一种基于智能合约的路由起源验证方法及系统 Active CN117714081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410167376.5A CN117714081B (zh) 2024-02-06 2024-02-06 一种基于智能合约的路由起源验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410167376.5A CN117714081B (zh) 2024-02-06 2024-02-06 一种基于智能合约的路由起源验证方法及系统

Publications (2)

Publication Number Publication Date
CN117714081A true CN117714081A (zh) 2024-03-15
CN117714081B CN117714081B (zh) 2024-04-16

Family

ID=90157495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410167376.5A Active CN117714081B (zh) 2024-02-06 2024-02-06 一种基于智能合约的路由起源验证方法及系统

Country Status (1)

Country Link
CN (1) CN117714081B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060014A (zh) * 2016-05-18 2016-10-26 中国互联网络信息中心 一种同时解决前缀劫持、路径劫持及路由泄露攻击的方法
CN112003822A (zh) * 2020-07-15 2020-11-27 互联网域名系统北京市工程研究中心有限公司 路由起源授权的质量检测方法和装置
CN113055288A (zh) * 2021-02-25 2021-06-29 互联网域名系统北京市工程研究中心有限公司 基于事实所有权的有效路由起源同步方法及系统
CN113794724A (zh) * 2021-09-15 2021-12-14 中国科学院计算机网络信息中心 一种路由起源授权压缩的编码和解码方法及系统
US20230054738A1 (en) * 2021-08-19 2023-02-23 Cisco Technology, Inc. Advertising bgp destination secure path requirement in global internet

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060014A (zh) * 2016-05-18 2016-10-26 中国互联网络信息中心 一种同时解决前缀劫持、路径劫持及路由泄露攻击的方法
CN112003822A (zh) * 2020-07-15 2020-11-27 互联网域名系统北京市工程研究中心有限公司 路由起源授权的质量检测方法和装置
CN113055288A (zh) * 2021-02-25 2021-06-29 互联网域名系统北京市工程研究中心有限公司 基于事实所有权的有效路由起源同步方法及系统
US20230054738A1 (en) * 2021-08-19 2023-02-23 Cisco Technology, Inc. Advertising bgp destination secure path requirement in global internet
CN113794724A (zh) * 2021-09-15 2021-12-14 中国科学院计算机网络信息中心 一种路由起源授权压缩的编码和解码方法及系统

Also Published As

Publication number Publication date
CN117714081B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
Cui et al. An efficient message-authentication scheme based on edge computing for vehicular ad hoc networks
CN109902074B (zh) 基于数据中心的日志存储方法和系统
US7299351B2 (en) Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
EP2356792B1 (en) Network nodes and methods for data authorization in distributed storage networks
CN102265581B (zh) 对等网络的分布式散列表中的安全节点标识符指派
CN101534309B (zh) 节点注册方法、路由更新方法、通讯系统以及相关设备
CN110430061B (zh) 一种基于区块链技术的车联网设备身份认证方法
CN113194469A (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
KR101479973B1 (ko) 부정 통신을 검출하면서 통신 무결성 및 익명성을 제공하는 공개-키 인프라스트럭처에 대한 방법
CN113806699B (zh) 一种云际计算环境中跨区块链身份验证方法及系统
CN114139203B (zh) 基于区块链的异构身份联盟风险评估系统、方法及终端
CN112003822B (zh) 路由起源授权的质量检测方法和装置
Benarous et al. Blockchain-based privacy-aware pseudonym management framework for vehicular networks
CN109118775B (zh) 一种隐私保护及错误数据包过滤的交通监测方法及系统
CN111106940A (zh) 一种基于区块链的资源公钥基础设施的证书交易验证方法
CN111260348B (zh) 一种车联网中基于智能合约的公平支付系统及其工作方法
CN112600672B (zh) 基于真实身份的域间可信度共识方法和装置
CN111786776A (zh) 一种基于车联网技术的安全通信管理系统
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
CN117714081B (zh) 一种基于智能合约的路由起源验证方法及系统
CN113591161B (zh) 一种联盟链管理方法、装置、设备及存储介质
CN113556730B (zh) 一种车联网身份隐私的保护方法、保护系统及存储介质
CN114302390A (zh) 一种车载自组网中群内认证密钥协商方法
CN114666789B (zh) 一种车联网场景下的容错聚合认证方法
Israr et al. Credible BGP–extensions to BGP for secure networking

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