CN115021930B - 一种基于资源公钥基础设施区块链的路由器证书颁发方法 - Google Patents

一种基于资源公钥基础设施区块链的路由器证书颁发方法 Download PDF

Info

Publication number
CN115021930B
CN115021930B CN202210595590.1A CN202210595590A CN115021930B CN 115021930 B CN115021930 B CN 115021930B CN 202210595590 A CN202210595590 A CN 202210595590A CN 115021930 B CN115021930 B CN 115021930B
Authority
CN
China
Prior art keywords
transaction
certificate
resource
issuer
module
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.)
Active
Application number
CN202210595590.1A
Other languages
English (en)
Other versions
CN115021930A (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.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN202210595590.1A priority Critical patent/CN115021930B/zh
Publication of CN115021930A publication Critical patent/CN115021930A/zh
Application granted granted Critical
Publication of CN115021930B publication Critical patent/CN115021930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开了一种基于资源公钥基础设施区块链的路由器证书颁发方法,以实现基于区块链的EE证书颁发。技术方案是:构建由安装有资源交易应用客户端的资源颁发者和资源接收者、区块链网络、验证节点组成的RPKIB,资源交易应用客户端的资源交易模块将颁发、撤销、获取EE证书的操作转化为区块链上的交易,根据验证结点的共识结果判断交易是否成功;验证节点运行资源证书交易智能合约对EE证书交易进行验证,运行共识算法对EE证书交易达成共识;路由器通构建和更新EE证书列表,根据EE证书列表查找对应EE证书,获取EE证书公钥,验证路由路径签名数据正确性;采用本发明能成功完成EE证书的颁发,支持域间路由协议的路径认证。

Description

一种基于资源公钥基础设施区块链的路由器证书颁发方法
技术领域
本发明属于网络信息安全领域,尤其涉及一种为支持安全域间路由协议 BGPSEC的路径认证功能而提供的基于区块链的AS路由器证书颁发方法,用于支撑安全域间路由协议。
背景技术
BGP(Border Gateway Protocol,即边界网关协议)是Internet中的域间路由协议。但是,传统的BGP协议容易受到许多安全威胁攻击,最常见的BGP攻击之一是前缀劫持。通过伪造BGP路由通告信息中的起源AS(Autonomous system,即自治系统)(起源AS,即发起路由通告信息的AS),导致对应这些IP地址前缀的流量被劫持者的AS拦截或丢弃。资源公钥基础设施(即RPKI)是用于支持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对应的二进制为:
1100 0000(192),1010 1000(168),0001 1000(24),0000 0000(0)
RPKI依附于Internet数字资源INR(InternetNumbersResources)的分配过程,INR包括IP地址资源和AS号资源,即机构所拥有的IP地址和AS号,以互联网注册管理机构RIR(Regional Internet Registry)作为最上层的资源颁发者,RIR又可以将自己的Internet号码资源向下级资源颁发者如本地互联网注册机构(LocalInternetRegistry,LIR)、国家级互联网注册机构 (NationalInternetRegistry,NIR)和互联网服务提供商(InternetServiceProvider,ISP)分配,然后下级资源颁发者再依次逐级向下分配,通过自上而下的权限层次结构提供可验证的IP地址前缀与起源AS的映射库。RPKI由三个组件组成:基于公钥基础设施的证书对象,用于表示路由起源授权ROA(Route OriginAuthorization)的签名对象,以及用于保存对象的分布式存储系统。RP(Relying Party即依赖方)是RPKI的使用者,RP获取签名对象集合的副本,验证签名,生成有效ROA列表,并定期检查在分布式存储系统中签名对象的更新,并同步这些更新。ROA是IP地址所有者授权AS为其进行路由通告的授权信息,包含一个AS号码以及一个或多个IP地址前缀之间的“绑定关系”。ROA可以被RP用来验证为某一特定IP地址前缀发起路由的AS是否被地址所有者所授权。BGP路由器使用RPKI中RP提供的有效ROA列表信息来区分合法起源AS发起的BGP路由以及可能被劫持的BGP路由。
BGP常见攻击之一是路径伪造。通过伪造BGP路由通告信息中的路径信息AS PATH,影响BGP路由器的选择过程,从而导致对应这些IP地址前缀的流量被劫持者的AS拦截或丢弃。
BGPSEC协议在BGP协议的基础上增加了路由前缀起源认证功能以防御前缀劫持,通过BGP路由器对AS PATH的签名来抵御路径伪造攻击。但这都依赖于 RPKI中ROA以及路由器证书的通告。代表AS的路由器证书作为端实体证书(即自治域路由器证书,以下简称EE(End Entity)证书),可以依赖于RPKI系统进行通告。
然而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地址在路由转发层面就被阻断或者被重新定向到不同的转发路径上达到非法吸引流量的目的。针对上述问题,当前的RPKI很难区分各种资源证书对象的操作是由于机构管理员操作错误还是受到攻击的恶意行为,还是资源证书的颁发者与被颁发者之间达成的正常合约。上述安全问题,现有RPKI架构与机制难以解决。
区块链一般用于解决中心化导致的信任问题,区块链由多个区块(规定第一个区块叫做创世区块)按照生成交易的时间戳顺序连成。区块链一般用于解决节点依赖问题,作为一种去中心化的技术允许交易双方在线直接交易,而不需要通过第三方管理机构,没有中心管制,所有节点能够在系统中自动安全的验证、交换数据。区块链技术将信任存于网络而不是某个中心机构。负责维护网络运行的终端就可以称之为——节点。区块链是去中心化的分布式数据库,他不依托于哪一个中心化的服务器,而是由众多“小服务器”组成,只要服务器安装了区块链客户端,该服务器就变成了众多“小服务器”中的一员,那么该服务器就是一个节点。
智能合约这一概念在1994年被计算机学家Nick Szabo首次提出,NickSzabo 在当时自己的网站上发表了几篇文章,文章中提到了智能合约这个理念。他写道:“智能合约的总体目标是满足共同的合同条件(例如付款项、留置权、保密性,甚至强制执行),最大限度地减少异常以及对可信中介的需求。相关的经济目标包括减少欺诈损失、仲裁和执行成本以及其他交易成本。数字形式的智能合约意味着合约是通过计算机代码实现的。在智能合约中,只要参与方达成协定,智能合约就会建立起各方的权利和义务。然后通过计算机网络实行合约。
还未见有公开文献涉及利用区块链来解决EE证书的颁发问题。
如何解决安全域间路由协议所依赖的EE证书的颁发问题是保证安全域间路由协议路径认证正确执行的基础,是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题是提供一种基于区块链的EE证书的颁发方法,以支持安全域间路由协议路径认证功能的实施。
本发明的技术方案是:更改当前RPKI的工作架构,构建由安装有资源交易应用客户端的资源颁发者和资源接收者、区块链网络、验证节点组成的RPKIB,资源交易应用客户端的资源交易模块将颁发EE证书、撤销EE证书以及获取EE 证书的操作转化为区块链上的交易,根据验证结点的共识结果判断交易是否成功;验证节点运行资源证书交易智能合约以对EE证书交易进行验证,并运行共识算法以对EE证书交易达成共识;路由器通构建和更新EE证书列表,根据EE证书列表,查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证;采用本发明能成功完成EE证书的颁发,有效支持域间路由协议的路径认证。
本发明包含如下步骤:
第一步,构建资源公钥基础设施区块链系统即RPKIB(RPKI Blockchain)系统。它由资源颁发者、资源交易应用客户端、资源接收者、区块链网络、验证节点组成。路由器上安装区块链客户端,作为RPKIB系统的普通用户加入RPKIB系统。RPKIB系统中的资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端依据分布式账本中的EE证书交易记录分别构建EE证书列表。路由器区块链客户端能读取RPKIB系统中分布式账本中EE证书交易记录并根据EE证书交易记录构建EE证书列表,路由器运行安全域间路由协议进行路径验证时,根据EE证书列表中的证书信息对路径签名数据的正确性进行验证。本发明虽然叫做EE证书的颁发方法,其实同本领域的常识一致,包括 EE证书的颁发、EE证书的撤销、EE证书的到期自动撤销以及路由器获取EE证书的整个流程。
区块链网络是一种去中心化的系统,区块链网络中的各个节点都是对等的,对等节点既可以作为资源颁发者也可以作为资源接收者。区块链网络通过去中心化机制消除原RPKI对中心节点的依赖问题,区块链网络与资源颁发者、资源接收者相连。资源颁发者、资源接收者与区块链网络相连后即成为区块链网络的一个普通节点。验证节点是区块链网络中的与普通节点(即资源颁发者、资源接收者)不同的另一类节点,是对资源颁发者发起的资源交易进行验证的服务器,其上安装有资源证书交易智能合约。资源颁发者与资源接收者将资源证书以及路由起源授权ROA的各种操作均作为交易通过区块链网络进行,并将交易记录保存在分布式账本中。分布式账本存在于所有区块链节点中。
资源颁发者是服务器,其上安装有资源交易应用客户端,资源颁发者连接到区块链网络后成为区块链网络的普通节点。资源颁发者与资源接收者作为交易双方,经过双向授权获得交易双方(即资源颁发者、资源接收者)的同意之后,资源颁发者将交易发送给区块链网络。
资源接收者是服务器,其上安装有资源交易应用客户端,与区块链相连。资源接收者连到区块链网络,成为区块链网络的普通节点。
资源交易应用客户端安装在资源颁发者和资源接收者上,由资源交易模块、资源证书生成模块、显示模块组成。
资源证书生成模块与资源交易模块相连;资源证书生成模块从资源交易模块接收预颁发的资源证书RC的信息、ROA的信息,以及EE证书(即自治域路由器证书),根据预颁发的RC的信息生成与RPKI定义相同的资源证书RC,资源证书 RC的内容包括标准RFC 5280的X.509证书,并附有RFC 3779标准的IP地址和的AS扩展标识符。资源证书生成模块根据预颁发的ROA信息(包括一个AS号和一个或多个IP地址前缀)对资源接收者所持有的资源创建路由起源授权(ROA),一个有效的ROA包括三个部分:一个AS号、一个IP地址前缀列表、对IP地址前缀进行限制的可选内容。EE证书采用标准RFC 5280定义的X.509证书,其内容包括AS号、证书号、公钥、过期时间、以及资源颁发者CA(Certification Authority)的签名信息等。自治域路由器可自行生成公私钥对,EE证书是由资源颁发者CA生成的证书。
资源交易模块与资源证书生成模块、显示模块、区块链网络相连。资源交易模块从资源证书生成模块接收RC或ROA,从资源颁发者(或资源接收者)接收关于RC或ROA的操作指令,通过区块链网络进行交易,为资源颁发者(或资源接收者)提供RC或ROA资源交易的各种操作服务,如:将RC和ROA颁发给资源接收者;将RC和ROA从资源接收者撤销;对RC和ROA进行修改(ROA修改发生在需要对已经设定的ROA扩展项即IP地址前缀和AS号进行修改的情况下,修改通过签发新证书来实现);对RC进行更新操作(更新是指在旧证书到期之前使用新的证书替换旧证书,在旧证书更新过程中,只有证书有效期和序列号(证书的序列号)发生变化);RC更新操作只需要对旧证书的有效期和序列号进行更改,而不涉及证书携带的IP地址前缀和AS号;而RC修改操作涉及证书携带的IP地址前缀和AS号;一个操作即为RPKIB中的一笔交易。交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将RC、ROA发送给显示模块。在上述RPKIB基本功能的基础上,资源交易模块从资源颁发者(或资源接收者)接收关于EE证书的操作指令,通过区块链网络进行交易,为资源颁发者(或资源接收者)提供EE证书资源交易的各种操作服务,包括颁发操作和撤销操作,交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将EE证书发送给显示模块。
显示模块与资源交易模块相连,它从资源交易模块接收交易成功消息或交易不成功时的冲突原因、操作失败原因、交易结果,并显示出来;在撤销操作时从资源交易模块接收RC、ROA、EE证书,并将RC、ROA、EE证书的具体内容显示出来。
验证节点是对资源颁发者发给区块链的资源交易进行验证的服务器,其上安装有资源证书交易智能合约。验证节点运行资源证书交易智能合约对交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中。
资源证书交易智能合约由资源颁发者、资源接收者共同制定,是以数字形式定义的承诺,数字形式意味着合约是一段计算机可读的代码,用于解决资源颁发者和资源接收者之间的交易行为。
第二步,定义资源交易结构。
资源交易结构包括交易发起者,交易接收者,交易类型,交易的属性,交易的内容,交易的证据,交易签名。交易发起者指资源颁发者地址,交易接收者即为资源接收者地址。交易类型指进行什么类型的交易,与EE证书相关的交易类型包括三种,分别为:EE证书颁发、EE证书撤销、因EE证书过期的EE证书自动撤销。交易的内容是与交易相对应的EE证书的内容,包括版本、序列号、签名算法、发行人、持有人、有效期、持有者公钥信息、资源证书扩展、证书策略、 IP资源、AS资源。交易的属性包括传递属性、过期属性,交易的属性仅对RC、ROA有意义,EE证书交易中交易的属性为空;交易的证据指资源颁发者和资源接收者双方同意的证据,由双方交易的报文以及随机数构成,在EE证书颁发交易、 EE证书撤销交易中交易的证据为空,在EE证书自动撤销交易中交易的证据为交易发起者的当前时间戳;交易签名指在区块链网络中由交易发起者对所发起的交易所进行的数字签名。
第三步,定义EE证书列表:EE证书列表记录当前有效的所有EE证书。通过保存在区块链分布式账本中的EE证书的交易记录,还原当前有效的所有EE证书资源。EE证书列表是一个数组,数组下标为AS号减1,数组中的每个元素存储一个有效的EE证书或为空。每个在互联网上已经分配的AS号都有一个有效的 EE证书,未分配使用的AS号在数组中该项为空。
资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端在资源颁发的过程中均会使用EE证书列表。资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端分别各自初始化自身的EE证书列表,依据分布式账本中的EE证书交易记录构建和更新EE证书列表,分布式账本的一致性保证了资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端更新后的EE证书列表完全相同。
第四步,基于区块链的资源公钥基础设施系统RPKIB中的资源交易模块和验证结点相互配合,完成资源颁发者对EE证书的颁发操作、撤消操作、以及自动撤销操作。路由器上的区块链客户端加入RPKIB区块链平台,实时获取分布式账本,通过读取分布式账本中的EE证书交易记录,构建和更新EE证书列表。路由器的区块链客户端中运行的安全域间路由协议在进行协议路径验证时,依据 EE证书列表中的EE证书,对路由路径签名数据的正确性进行验证。
方法是:资源交易模块按4.1~4.7的流程将对EE证书的操作转化为区块链上相应的交易,根据从验证结点收到的共识结果判断交易是否成功,将成功与否的结果在显示模块中显示;同时验证节点按4.8~4.12的流程运行资源证书交易智能合约对EE证书交易进行验证,并运行共识算法以对EE证书交易达成共识,将共识结果发送给资源交易模块;验证节点达成共识后将EE证书的交易成功信息记录在分布式账本中;同时路由器上安装了区块链的客户端按4.13流程通过实时获取分布式账本中的EE证书交易记录,构建和更新EE证书列表,获取 EE证书公钥,对路由路径签名数据的正确性进行验证。
4.1初始化EE证书列表为空,从区块链平台获取分布式账本,依据分布式账本中的EE证书操作的交易记录更新EE证书列表:在分布式账本中,依据AS 号检索对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.2;如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.2;
4.2资源交易模块若从资源颁发者接收到第一EE证书(令为EE1)的颁发消息,转4.3;若从资源颁发者接收到第二EE证书(令为EE2)的撤消消息,转 4.4;若从资源颁发者接收到第三EE证书(令为EE3)自动撤销的消息,转4.5;若从区块链平台收到分布式账本更新事件,转4.6;
4.3此时资源交易模块从所属资源颁发者接收到EE1颁发消息,EE1颁发消息中包含资源接收者的IP地址、AS号(令为AS1),按4.3.1~4.3.5所述证书颁发方法颁发证书EE1:
4.3.1资源交易模块设置一条EE1颁发指令,EE1颁发指令包括AS1。
4.3.2资源交易模块按照EE1颁发指令,以AS1-1作为EE证书列表下标,检索EE证书列表,查看AS1对应的EE证书是否存在;
4.3.3如果AS1对应的EE证书存在于EE证书列表,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因(即“预颁发的EE证书已存在”),转第4.7步;如果AS1对应的EE 证书不存在于EE证书列表,资源交易模块依据资源交易结构构造EE1的颁发交易报文ee_issue,ee_issue的内容包括交易发起者(此为EE1证书的颁发者)、交易接收者(此为EE1证书的接收者)、交易类型(此为EE证书颁发)、交易的内容(此为EE证书的具体内容)、交易的属性(为空)、交易的证据(为空),EE1 的资源颁发者对交易的签名;资源交易模块将ee_issue通过区块链网络发送给资源接收者的资源交易模块和验证节点。
4.3.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.3.5;若未收到,转4.3.4继续等待。
4.3.5资源颁发者的资源交易模块根据从验证节点收到的交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,将EE1证书加入到EE 证书列表中,转4.7;若从验证节点收到共识结果失败消息(由于未收到交易共识消息而发生超时的情况,区块链平台会统一处理位为共识失败消息,因此不用单独考虑未收到共识结果消息的情况),则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7。
4.4若资源交易模块从所属资源颁发者接收到EE2撤销消息,EE2撤销消息中包含资源接收者的IP地址、EE2证书号,AS号(令为AS2),按4.4.1~4.4.5 所述证书撤销方法撤销证书EE2:
4.4.1资源交易模块设置一条EE2撤销指令,EE2撤销指令包括EE2证书号,AS号。
4.4.2资源交易模块按照EE2撤销指令,以AS2-1作为EE证书列表下标,检索EE证书列表,查看EE证书列表是否有与AS2对应的EE证书;
4.4.3如果EE证书列表中没有与AS2对应的EE证书,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因(即“预撤销的EE证书不存在”),转4.7;如果EE证书列表中有与 AS2对应的EE证书,资源颁发者的资源交易模块依据资源交易结构,构造EE2的撤销交易报文ee_revoke,ee_revoke的内容包括交易发起者(此为EE2的颁发者)、交易接收者(此为EE2的接收者)、交易类型(此为EE证书撤销)、交易的内容(此为EE2证书号、AS2)、交易的属性(为空)、交易的证据(为空),EE2 的资源颁发者对交易的签名;资源颁发者的资源交易模块将ee_revoke通过区块链网络发送给资源接收者和验证节点。
4.4.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.4.5;若未收到,转4.4.4继续等待。
4.4.5资源颁发者的资源交易模块根据交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”;同时,资源交易模块将EE证书列表中的EE2证书删除,转4.7;若收到共识结果失败消息(由于未收到交易共识消息而发生超时的情况,区块链平台会统一处理为共识失败消息,因此不用单独考虑未收到共识结果消息的情况),则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7。
4.5资源交易模块从资源颁发者接收到EE证书(令为EE3)自动撤销的消息(说明EE3证书时间到期),资源交易模块构造EE3自动撤销消息,EE3自动撤销消息中包含资源接收者的IP地址、EE3证书号,AS号(令为AS3),当前时间戳,按4.5.1~4.5.2所述证书撤销方法撤销证书EE3:
4.5.1资源交易模块依据资源交易结构,构造EE3的自动撤销交易报文 ee_revoke2,ee_revoke2的内容包括交易发起者(此为EE3的颁发者)、交易接收者(此为EE3的接收者)、交易类型(此为EE证书自动撤销)、交易的内容(此为EE3证书号、AS3)、交易的属性(为空)、交易的证据(此为当前时间戳),EE3 的资源颁发者对交易的签名;资源颁发者将ee_revoke2通过区块链网络发送给资源接收者的资源交易模块和验证节点。
4.5.2资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.5.3;若未收到,转4.5.2继续等待。
4.5.3资源颁发者的资源交易模块根据交易共识的结果分别进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,资源交易模块将EE证书列表中的EE3证书删除,转4.7;若收到共识结果失败消息(由于未收到交易共识消息而发生超时的情况,区块链平台会统一处理为共识失败消息,因此不用单独考虑未收到共识结果消息的情况),则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7。
4.6若从区块链平台收到分布式账本更新事件,如果该事件是EE证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.7;如果该事件是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该 AS下标对应的元素中删除原有的EE证书,转4.7;
4.7转4.2,资源颁发者的资源交易模块处理下一个EE证书操作交易消息和分布式账本变更事件。
4.8验证节点采用资源证书交易智能合约对EE证书列表进行初始化:首先数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录,构建 EE证书列表:依据AS号分布式账本中检索对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.9,如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.9;
4.9验证节点采用资源证书交易智能合约对从资源颁发者的资源交易模块收到的交易报文进行验证:验证节点运行的资源证书交易智能合约依据从资源颁发者的资源交易模块发送的交易报文,根据交易报文中的交易类型验证交易格式、交易签名以及交易的合规性,同时监测智能合约运行中自身是否产生EE证书过期定时器超时事件,方法如下:
4.9.1资源证书交易智能合约根据交易报文判断交易的类型,如果交易报文类型是ee_issue,转4.9.2;如果交易报文类型是ee_revoke,转4.9.3;如果是ee_revoke2,转4.9.4;如果监测到发生EE证书过期定时器超时事件,转 4.12;
4.9.2判断收到的ee_issue交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_issue交易中的EE1 证书,如果不存在,则验证通过,转4.10;否则验证不通过,转4.9.5;
4.9.3判断收到的ee_revoke交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的 EE2证书,如果存在,则验证通过,取消EE2过期时间定时器,转4.10;否则验证不通过,转4.9.5;
4.9.4判断收到的ee_revoke2交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的 EE3证书,如果EE3存在且过期,则验证通过,取消EE3过期时间定时器,转 4.10;否则验证不通过,转4.9.5;
4.9.5资源证书交易智能合约验证失败,在区块链平台中广播并通知交易颁发者,转4.9,监听处理是否有下一条EE证书交易报文到达;
4.10验证节点运行共识算法,对EE证书交易拟达成共识,将共识成功的交易记录到分布式账本中,并将共识结果在区块链平台中播报;
4.11资源证书交易智能合约依据共识算法结果更新EE证书列表:如果共识成功,转4.11.1;如果共识不成功,转4.11.2。
4.11.1若是ee_issue交易,在EE证书列表中记录对应的EE1证书,并根据EE1过期时间,启动EE1过期时间定时器;若是ee_revoke交易和ee_revoke2 交易,说明撤销操作已经得到验证,在EE证书列表中删除对应的EE2或EE3,转4.9。
4.11.2若是ee_issue交易,说明颁发操作不通过,无需更新EE证书列表,转4.9;若是ee_revoke交易或ee_revoke2交易,说明删除操作不通过,在EE 证书列表中保留对应的EE2或EE3,并根据EE2或EE3过期时间,重新启动EE2 或EE3过期时间定时器;转4.9。
4.12此时资源证书交易智能合约监测到EE证书过期定时器超时事件,触发EE证书的自动撤销交易,方法如下:
4.12.1依据资源交易结构,构造EE证书(令为EE4,对应AS令为AS4)的自动撤销交易(交易类型是ee_revoke2)的报文,该报文的内容包括资源颁发者 (此为验证节点)、资源接收者、交易类型(此为EE证书自动撤销)、交易内容(此为EE4证书号,AS4)、交易属性(此为空)、交易的证据(此为当前时间戳),验证节点对交易的签名;
4.12.2验证节点上的资源证书交易智能合约将EE证书自动撤销交易报文通过区块链网络发送给资源接收者的资源交易模块和验证节点(由于区块链中有多个验证节点,该交易除提交的验证节点收到外,会被多个验证节点收到),转 4.9;
4.13路由器上安装区块链客户端加入区块链平台获取EE证书交易记录,构建和更新EE证书列表,路由器上的安全域间路由协议根据EE证书列表查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证,具体步骤如下:
4.13.1路由器上安装区块链客户端加入RPKIB区块链平台;
4.13.2路由器上的区块链客户端依据RPKIB区块链平台提供的操作获取分布式账本,并构建EE证书列表:首先EE证书列表数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录构建EE证书列表:依据AS号检索分布式账本中对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.13.3;如果最近的EE证书操作交易记录是 EE证书撤销操作或自动撤销操作,则不做处理,直接转4.13.3;
4.13.3路由器上的区块链客户端通过区块链的交易记录读取操作获取分布式账本中EE证书交易记录,依据EE证书交易记录更新EE证书列表:如果是EE 证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.13.4;如果是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该AS下标对应的元素中删除原有的EE证书,转4.13.4;
4.13.4路由器运行的安全域间路由协议进行路径验证,方法是:依据EE证书编号标识在EE证书列表中查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证。
采用本发明可以达到以下技术效果:
1.本发明是一种构建RPKI区块链系统RPKIB的的EE证书颁发方法,能成功完成EE证书的颁发、EE证书的撤销、EE证书的到期自动撤销以及路由器获取EE 证书的整个流程,有效支持域间路由协议的路径认证功能。通过交易验证智能合约,EE证书的颁发、撤销等各种操作转换为区块链上的资源交易操作,通过区块链平台验证节点运行资源证书交易智能合约对交易进行检验,可以有效避免在 RPKIB系统中,EE证书操作的不合规导致的安全威胁。
2.本发明使用了区块链技术,由于区块链网络所具有的容错性,一些节点出错后不会导致整个区块链网络出错,使得第一步构建的RPKIB也具有一定的容错性。
附图说明
图1是本发明第一步构建的基于区块链的资源公钥基础设施的交易验证系统RPKIB的总体结构图;
图2是本发明第二步所述的资源交易结构的结构图;
图3是本发明第三步所述的EE证书的结构图;
图4是本发明总体流程图;
图5是资源交易模块将对EE证书的操作转化为区块链上相应的交易,根据从验证结点收到的共识结果判断交易是否成功的流程图;
图6是验证节点运行资源证书交易智能合约对EE证书交易进行验证,并运行共识算法以对EE证书交易达成共识的流程图;
图7是路由器上安装了区块链的客户端对路由路径签名数据的正确性进行验证的流程图。
具体实施方式
如图4所示,本发明包括以下步骤:
第一步,构建资源公钥基础设施区块链系统即RPKIB系统。RPKIB系统如图 1所示,由资源颁发者、资源交易应用客户端、资源接收者、区块链网络、验证节点组成。路由器上安装区块链客户端,作为RPKIB系统的普通用户加入RPKIB 系统。RPKIB系统中的资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端依据分布式账本中的EE证书交易记录分别构建EE证书列表。路由器区块链客户端能读取RPKIB系统中分布式账本中EE证书交易记录并根据EE证书交易记录构建EE证书列表,路由器运行安全域间路由协议进行路径验证时,根据EE证书列表中的证书信息对路径签名数据的正确性进行验证。本发明虽然叫做EE证书的颁发方法,其实同本领域的常识一致,包括EE证书的颁发、EE证书的撤销、EE证书的到期自动撤销以及路由器获取EE 证书的整个流程。
区块链网络是一种去中心化的系统,区块链网络中的各个节点都是对等的,对等节点既可以作为资源颁发者也可以作为资源接收者。区块链网络通过去中心化机制消除原RPKI对中心节点的依赖问题,区块链网络与资源颁发者、资源接收者相连。资源颁发者、资源接收者与区块链网络相连后即成为区块链网络的一个普通节点。验证节点是区块链网络中的与普通节点(即资源颁发者、资源接收者)不同的另一类节点,是对资源颁发者发起的资源交易进行验证的服务器,其上安装有资源证书交易智能合约。资源颁发者与资源接收者将资源证书以及路由起源授权ROA的各种操作均作为交易通过区块链网络进行,并将交易记录保存在分布式账本中。分布式账本存在于所有区块链节点中。
资源颁发者是服务器,其上安装有资源交易应用客户端,资源颁发者连接到区块链网络后成为区块链网络的普通节点。资源颁发者与资源接收者作为交易双方,经过双向授权获得交易双方(即资源颁发者、资源接收者)的同意之后,资源颁发者将交易发送给区块链网络。
资源接收者是服务器,其上安装有资源交易应用客户端,与区块链相连。资源接收者连到区块链网络,成为区块链网络的普通节点。
资源交易应用客户端安装在资源颁发者和资源接收者上,由资源交易模块、资源证书生成模块、显示模块组成。
资源证书生成模块与资源交易模块相连;资源证书生成模块从资源交易模块接收预颁发的资源证书RC的信息、ROA的信息,以及EE证书(即自治域路由器证书),根据预颁发的RC的信息生成与RPKI定义相同的资源证书RC,资源证书 RC的内容包括标准RFC 5280的X.509证书,并附有RFC 3779标准的IP地址和的AS扩展标识符。资源证书生成模块根据预颁发的ROA信息(包括一个AS号和一个或多个IP地址前缀)对资源接收者所持有的资源创建路由起源授权(ROA),一个有效的ROA包括三个部分:一个AS号、一个IP地址前缀列表、对IP地址前缀进行限制的可选内容。EE证书采用标准RFC 5280定义的X.509证书,其内容包括AS号、证书号、公钥、过期时间、以及资源颁发者CA的签名信息等。自治域路由器可自行生成公私钥对,EE证书是由资源颁发者CA生成的证书。
资源交易模块与资源证书生成模块、显示模块、区块链网络相连。资源交易模块从资源证书生成模块接收RC或ROA,从资源颁发者(或资源接收者)接收关于RC或ROA的操作指令,通过区块链网络进行交易,为资源颁发者(或资源接收者)提供RC或ROA资源交易的各种操作服务;一个操作即为RPKIB中的一笔交易。交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将RC、ROA发送给显示模块。在上述RPKIB基本功能的基础上,资源交易模块从资源颁发者(或资源接收者)接收关于EE证书的操作指令,通过区块链网络进行交易,为资源颁发者(或资源接收者)提供EE证书资源交易的各种操作服务,包括颁发操作和撤销操作,交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将EE证书发送给显示模块。
显示模块与资源交易模块相连,它从资源交易模块接收交易成功消息或交易不成功时的冲突原因、操作失败原因、交易结果,并显示出来;在撤销操作时从资源交易模块接收RC、ROA、EE证书,并将RC、ROA、EE证书的具体内容显示出来。
验证节点是对资源颁发者发给区块链的资源交易进行验证的服务器,其上安装有资源证书交易智能合约。验证节点运行资源证书交易智能合约对交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中。
资源证书交易智能合约由资源颁发者、资源接收者共同制定,是以数字形式定义的承诺,数字形式意味着合约是一段计算机可读的代码,用于解决资源颁发者和资源接收者之间的交易行为。
第二步,定义资源交易结构。
资源交易结构如图2所示,包括交易发起者,交易接收者,交易类型,交易的属性,交易的内容,交易的证据,交易签名。交易发起者指资源颁发者地址,交易接收者即为资源接收者地址。交易类型指进行什么类型的交易,与EE证书相关的交易类型包括三种,分别为:EE证书颁发、EE证书撤销、因EE证书过期的EE证书自动撤销。交易的内容是与交易相对应的EE证书的内容,包括版本、序列号、签名算法、发行人、持有人、有效期、持有者公钥信息、资源证书扩展、证书策略、IP资源、AS资源。交易的属性包括传递属性、过期属性,交易的属性仅对RC、ROA有意义,EE证书交易中交易的属性为空;交易的证据指资源颁发者和资源接收者双方同意的证据,由双方交易的报文以及随机数构成,在EE 证书颁发交易、EE证书撤销交易中交易的证据为空,在EE证书自动撤销交易中交易的证据为交易发起者的当前时间戳;交易签名指在区块链网络中由交易发起者对所发起的交易所进行的数字签名。
第三步,定义EE证书列表:EE证书列表如图3所示,记录当前有效的所有 EE证书。通过保存在区块链分布式账本中的EE证书的交易记录,还原当前有效的所有EE证书资源。EE证书列表是一个数组,数组下标为AS号减1,数组中的每个元素存储一个有效的EE证书或为空。每个在互联网上已经分配的AS号都有一个有效的EE证书,未分配使用的AS号在数组中该项为空。
资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端在资源颁发的过程中均会使用EE证书列表。资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端分别各自初始化自身的EE证书列表,依据分布式账本中的EE证书交易记录构建和更新EE证书列表。
第四步,基于区块链的资源公钥基础设施系统RPKIB中的资源交易模块和验证结点相互配合,完成资源颁发者对EE证书的颁发操作、撤消操作、以及自动撤销操作。路由器上的区块链客户端加入RPKIB区块链平台,实时获取分布式账本,通过读取分布式账本中的EE证书交易记录,构建和更新EE证书列表。路由器的区块链客户端中运行的安全域间路由协议在进行协议路径验证时,依据 EE证书列表中的EE证书,对路由路径签名数据的正确性进行验证。
方法是:资源交易模块按4.1~4.7的流程(如图5所示)将对EE证书的操作转化为区块链上相应的交易,根据从验证结点收到的共识结果判断交易是否成功,将成功与否的结果在显示模块中显示;同时验证节点按4.8~4.12的流程(如图6所示)运行资源证书交易智能合约对EE证书交易进行验证,并运行共识算法以对EE证书交易达成共识,将共识结果发送给资源交易模块;验证节点达成共识后将EE证书的交易成功信息记录在分布式账本中;同时路由器上安装了区块链的客户端按4.13流程(如图7所示)通过实时获取分布式账本中的 EE证书交易记录,构建和更新EE证书列表,获取EE证书公钥,对路由路径签名数据的正确性进行验证。
4.1初始化EE证书列表为空,从区块链平台获取分布式账本,依据分布式账本中的EE证书操作的交易记录更新EE证书列表:在分布式账本中,依据AS 号检索对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.2;如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.2;
4.2资源交易模块若从资源颁发者接收到第一EE证书(令为EE1)的颁发消息,转4.3;若从资源颁发者接收到第二EE证书(令为EE2)的撤消消息,转 4.4;若从资源颁发者接收到第三EE证书(令为EE3)自动撤销的消息,转4.5;若从区块链平台收到分布式账本更新事件,转4.6;
4.3此时资源交易模块从所属资源颁发者接收到EE1颁发消息,EE1颁发消息中包含资源接收者的IP地址、AS号(令为AS1),按4.3.1~4.3.5所述证书颁发方法颁发证书EE1:
4.3.1资源交易模块设置一条EE1颁发指令,EE1颁发指令包括AS1。
4.3.2资源交易模块按照EE1颁发指令,以AS1-1作为EE证书列表下标,检索EE证书列表,查看AS1对应的EE证书是否存在;
4.3.3如果AS1对应的EE证书存在于EE证书列表,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因(即“预颁发的EE证书已存在”),转第4.7步;如果AS1对应的EE 证书不存在于EE证书列表,资源交易模块依据资源交易结构构造EE1的颁发交易报文ee_issue,ee_issue的内容包括交易发起者(此为EE1证书的颁发者)、交易接收者(此为EE1证书的接收者)、交易类型(此为EE证书颁发)、交易的内容(此为EE证书的具体内容)、交易的属性(为空)、交易的证据(为空),EE1 的资源颁发者对交易的签名;资源交易模块将ee_issue通过区块链网络发送给资源接收者的资源交易模块和验证节点。
4.3.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.3.5;若未收到,转4.3.4继续等待。
4.3.5资源颁发者的资源交易模块根据从验证节点收到的交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,将EE1证书加入到EE 证书列表中,转4.7;若从验证节点收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转 4.7。
4.4若资源交易模块从所属资源颁发者接收到EE2撤销消息,EE2撤销消息中包含资源接收者的IP地址、EE2证书号,AS号(令为AS2),按4.4.1~4.4.5 所述证书撤销方法撤销证书EE2:
4.4.1资源交易模块设置一条EE2撤销指令,EE2撤销指令包括EE2证书号,AS号。
4.4.2资源交易模块按照EE2撤销指令,以AS2-1作为EE证书列表下标,检索EE证书列表,查看EE证书列表是否有与AS2对应的EE证书;
4.4.3如果EE证书列表中没有与AS2对应的EE证书,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因(即“预撤销的EE证书不存在”),转4.7;如果EE证书列表中有与 AS2对应的EE证书,资源颁发者的资源交易模块依据资源交易结构,构造EE2的撤销交易报文ee_revoke,ee_revoke的内容包括交易发起者(此为EE2的颁发者)、交易接收者(此为EE2的接收者)、交易类型(此为EE证书撤销)、交易的内容(此为EE2证书号、AS2)、交易的属性(为空)、交易的证据(为空),EE2 的资源颁发者对交易的签名;资源颁发者的资源交易模块将ee_revoke通过区块链网络发送给资源接收者和验证节点。
4.4.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.4.5;若未收到,转4.4.4继续等待。
4.4.5资源颁发者的资源交易模块根据交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”;同时,资源交易模块将EE证书列表中的EE2证书删除,转4.7;若收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转 4.7。
4.5资源交易模块从资源颁发者接收到EE证书(令为EE3)自动撤销的消息(说明EE3证书时间到期),资源交易模块构造EE3自动撤销消息,EE3自动撤销消息中包含资源接收者的IP地址、EE3证书号,AS号(令为AS3),当前时间戳,按4.5.1~4.5.2所述证书撤销方法撤销证书EE3:
4.5.1资源交易模块依据资源交易结构,构造EE3的自动撤销交易报文 ee_revoke2,ee_revoke2的内容包括交易发起者(此为EE3的颁发者)、交易接收者(此为EE3的接收者)、交易类型(此为EE证书自动撤销)、交易的内容(此为EE3证书号、AS3)、交易的属性(为空)、交易的证据(此为当前时间戳),EE3 的资源颁发者对交易的签名;资源颁发者将ee_revoke2通过区块链网络发送给资源接收者的资源交易模块和验证节点。
4.5.2资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.5.3;若未收到,转4.5.2继续等待。
4.5.3资源颁发者的资源交易模块根据交易共识的结果分别进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,资源交易模块将EE证书列表中的EE3证书删除,转4.7;若收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7。
4.6若从区块链平台收到分布式账本更新事件,如果该事件是EE证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.7;如果该事件是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该 AS下标对应的元素中删除原有的EE证书,转4.7;
4.7转4.2,资源颁发者的资源交易模块处理下一个EE证书操作交易消息和分布式账本变更事件。
4.8验证节点采用资源证书交易智能合约对EE证书列表进行初始化:首先数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录,构建 EE证书列表:依据AS号分布式账本中检索对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.9,如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.9;
4.9验证节点采用资源证书交易智能合约对从资源颁发者的资源交易模块收到的交易报文进行验证:验证节点运行的资源证书交易智能合约依据从资源颁发者的资源交易模块发送的交易报文,根据交易报文中的交易类型验证交易格式、交易签名以及交易的合规性,同时监测智能合约运行中自身是否产生EE证书过期定时器超时事件,方法如下:
4.9.1资源证书交易智能合约根据交易报文判断交易的类型,如果交易报文类型是ee_issue,转4.9.2;如果交易报文类型是ee_revoke,转4.9.3;如果是ee_revoke2,转4.9.4;如果监测到发生EE证书过期定时器超时事件,转 4.12;
4.9.2判断收到的ee_issue交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_issue交易中的EE1 证书,如果不存在,则验证通过,转4.10;否则验证不通过,转4.9.5;
4.9.3判断收到的ee_revoke交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的 EE2证书,如果存在,则验证通过,取消EE2过期时间定时器,转4.10;否则验证不通过,转4.9.5;
4.9.4判断收到的ee_revoke2交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的 EE3证书,如果EE3存在且过期,则验证通过,取消EE3过期时间定时器,转 4.10;否则验证不通过,转4.9.5;
4.9.5资源证书交易智能合约验证失败,在区块链平台中广播并通知交易颁发者,转4.9,监听处理是否有下一条EE证书交易报文到达;
4.10验证节点运行共识算法,对EE证书交易拟达成共识,将共识成功的交易记录到分布式账本中,并将共识结果在区块链平台中播报;
4.11资源证书交易智能合约依据共识算法结果更新EE证书列表:如果共识成功,转4.11.1;如果共识不成功,转4.11.2。
4.11.1若是ee_issue交易,在EE证书列表中记录对应的EE1证书,并根据EE1过期时间,启动EE1过期时间定时器;若是ee_revoke交易和ee_revoke2 交易,说明撤销操作已经得到验证,在EE证书列表中删除对应的EE2或EE3,转4.9。
4.11.2若是ee_issue交易,说明颁发操作不通过,无需更新EE证书列表,转4.9;若是ee_revoke交易或ee_revoke2交易,说明删除操作不通过,在EE 证书列表中保留对应的EE2或EE3,并根据EE2或EE3过期时间,重新启动EE2 或EE3过期时间定时器;转4.9。
4.12此时资源证书交易智能合约监测到EE证书过期定时器超时事件,触发EE证书的自动撤销交易,方法如下:
4.12.1依据资源交易结构,构造EE证书(令为EE4,对应AS令为AS4)的自动撤销交易(交易类型是ee_revoke2)的报文,该报文的内容包括资源颁发者 (此为验证节点)、资源接收者、交易类型(此为EE证书自动撤销)、交易内容 (此为EE4证书号,AS4)、交易属性(此为空)、交易的证据(此为当前时间戳),验证节点对交易的签名;
4.12.2验证节点上的资源证书交易智能合约将EE证书自动撤销交易报文通过区块链网络发送给资源接收者的资源交易模块和验证节点(由于区块链中有多个验证节点,该交易除提交的验证节点收到外,会被多个验证节点收到),转 4.9;
4.13路由器上安装的区块链客户端加入区块链平台获取EE证书交易记录,构建和更新EE证书列表,路由器上的安全域间路由协议根据EE证书列表查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证,具体步骤如下:
4.13.1路由器上安装区块链客户端加入RPKIB区块链平台;
4.13.2路由器上的区块链客户端依据RPKIB区块链平台提供的操作获取分布式账本,并构建EE证书列表:首先EE证书列表数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录构建EE证书列表:依据AS号检索分布式账本中对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.13.3;如果最近的EE证书操作交易记录是 EE证书撤销操作或自动撤销操作,则不做处理,直接转4.13.3;
4.13.3路由器上的区块链客户端通过区块链的交易记录读取操作获取分布式账本中EE证书交易记录,依据EE证书交易记录更新EE证书列表:如果是EE 证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.13.4;如果是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该AS下标对应的元素中删除原有的EE证书,转4.13.4;
4.13.4路由器运行的安全域间路由协议进行路径验证,方法是:依据EE证书编号标识在EE证书列表中查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证。

Claims (8)

1.一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于包括以下步骤:
第一步,构建资源公钥基础设施区块链系统即RPKIB系统;它由资源颁发者、资源交易应用客户端、资源接收者、区块链网络、验证节点组成;路由器上安装区块链客户端,作为RPKIB系统的普通用户加入RPKIB系统;RPKIB系统中的资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端依据分布式账本中的EE证书交易记录分别构建EE证书列表;
区块链网络与资源颁发者、资源接收者相连;资源颁发者、资源接收者与区块链网络相连后即成为区块链网络的一个普通节点;验证节点是区块链网络中的与普通节点即资源颁发者、资源接收者不同的另一类节点,是对资源颁发者发起的资源交易进行验证的服务器,其上安装有资源证书交易智能合约;资源颁发者与资源接收者将资源证书以及路由起源授权ROA的各种操作均作为交易通过区块链网络进行,并将交易记录保存在分布式账本中;分布式账本存在于所有区块链节点中;
资源颁发者是服务器,其上安装有资源交易应用客户端,资源颁发者连接到区块链网络后成为区块链网络的普通节点;资源颁发者与资源接收者作为交易双方,经过双向授权获得交易双方即资源颁发者、资源接收者的同意之后,资源颁发者将交易发送给区块链网络;
资源接收者是服务器,其上安装有资源交易应用客户端,与区块链相连;资源接收者连到区块链网络,成为区块链网络的普通节点;
资源交易应用客户端由资源交易模块、资源证书生成模块、显示模块组成;
资源证书生成模块与资源交易模块相连;资源证书生成模块从资源交易模块接收预颁发的资源证书RC的信息、ROA的信息,以及自治域路由器证书即EE证书,根据预颁发的RC的信息生成与资源公钥基础设施RPKI定义相同的资源证书RC,根据预颁发的ROA信息对资源接收者所持有的资源创建路由起源授权ROA;
资源交易模块与资源证书生成模块、显示模块、区块链网络相连;资源交易模块从资源证书生成模块接收RC或ROA,从资源颁发者或资源接收者接收关于RC或ROA的操作指令,通过区块链网络进行交易,为资源颁发者或资源接收者提供RC或ROA资源交易的各种操作服务,一个操作即为RPKIB中的一笔交易;交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将RC、ROA发送给显示模块;在RPKIB基本功能的基础上,资源交易模块从资源颁发者或资源接收者接收关于EE证书的操作指令,通过区块链网络进行交易,为资源颁发者或资源接收者提供EE证书资源交易的颁发操作和撤销操作,交易成功时资源交易模块将成功消息发送到显示模块,交易不成功时资源交易模块将冲突检测到的冲突原因、操作失败原因、交易结果发送到显示模块,在撤销操作时将EE证书发送给显示模块;
显示模块与资源交易模块相连,它从资源交易模块接收交易成功消息或交易不成功时的冲突原因、操作失败原因、交易结果,并显示出来;在撤销操作时从资源交易模块接收RC、ROA、EE证书,并将RC、ROA、EE证书的具体内容显示出来;
验证节点是对资源颁发者发给区块链的资源交易进行验证的服务器,其上安装有资源证书交易智能合约;验证节点运行资源证书交易智能合约对交易进行验证,验证交易的签名、交易的内容是否符合资源颁发者的权限,交易的内容是否与当前已分配的资源没有冲突,将通过验证的交易记录到分布式账本中;
资源证书交易智能合约由资源颁发者、资源接收者共同制定,是以数字形式定义的承诺,用于解决资源颁发者和资源接收者之间的交易行为;
第二步,定义资源交易结构;资源交易结构包括交易发起者,交易接收者,交易类型,交易的属性,交易的内容,交易的证据,交易签名;
第三步,定义EE证书列表:EE证书列表记录当前有效的所有EE证书;EE证书列表是一个数组,数组下标为AS号减1,数组中的每个元素存储一个有效的EE证书或为空;
第四步,基于区块链的资源公钥基础设施系统RPKIB中的资源交易模块和验证结点相互配合,完成资源颁发者对EE证书的颁发操作、撤消操作、以及自动撤销操作;路由器上的区块链客户端加入RPKIB区块链平台,实时获取分布式账本,通过读取分布式账本中的EE证书交易记录,构建和更新EE证书列表;路由器的区块链客户端中运行的安全域间路由协议在进行协议路径验证时,依据EE证书列表中的EE证书,对路由路径签名数据的正确性进行验证;方法是:资源交易模块按4.1~4.7的流程将对EE证书的操作转化为区块链上相应的交易,根据从验证结点收到的共识结果判断交易是否成功,将成功与否的结果在显示模块中显示;同时验证节点按4.8~4.12的流程运行资源证书交易智能合约以对EE证书交易进行验证,并运行共识算法以对EE证书交易达成共识,将共识结果发送给资源交易模块;验证节点达成共识后将EE证书的交易成功信息记录在分布式账本中;同时路由器上安装了区块链的客户端按4.13流程通过实时获取分布式账本中的EE证书交易记录,构建和更新EE证书列表,获取EE证书公钥,对路由路径签名数据的正确性进行验证;
4.1初始化EE证书列表为空,从区块链平台获取分布式账本,依据分布式账本中的EE证书操作的交易记录更新EE证书列表:在分布式账本中,依据AS号检索对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.2;如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.2;
4.2资源交易模块若从资源颁发者接收到第一EE证书EE1的颁发消息,转4.3;若从资源颁发者接收到第二EE证书EE2的撤消消息,转4.4;若从资源颁发者接收到第三EE证书EE3自动撤销的消息,转4.5;若从区块链平台收到分布式账本更新事件,转4.6;
4.3此时资源交易模块从所属资源颁发者接收到EE1颁发消息,EE1颁发消息中包含资源接收者的IP地址、AS号即AS1,按4.3.1~4.3.5所述证书颁发方法颁发证书EE1:
4.3.1资源交易模块设置一条EE1颁发指令,EE1颁发指令包括AS1;
4.3.2资源交易模块按照EE1颁发指令,以AS1-1作为EE证书列表下标,检索EE证书列表,查看AS1对应的EE证书是否存在;
4.3.3如果AS1对应的EE证书存在于EE证书列表,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因即“预颁发的EE证书已存在”,转第4.7步;如果AS1对应的EE证书不存在于EE证书列表,资源交易模块依据资源交易结构构造EE1的颁发交易报文ee_issue,ee_issue的内容包括交易发起者即EE1证书的颁发者、交易接收者即EE1证书的接收者、交易类型即EE证书颁发、交易的内容即EE证书的具体内容、交易的属性、交易的证据,EE1的资源颁发者对交易的签名;此时交易的属性、交易的证据均为空;资源交易模块将ee_issue通过区块链网络发送给资源接收者的资源交易模块和验证节点;
4.3.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.3.5;若未收到,转4.3.4继续等待;
4.3.5资源颁发者的资源交易模块根据从验证节点收到的交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,将EE1证书加入到EE证书列表中,转4.7;若从验证节点收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7;
4.4若资源交易模块从所属资源颁发者接收到EE2撤销消息,EE2撤销消息中包含资源接收者的IP地址、EE2证书号,AS号即AS2,按4.4.1~4.4.5所述证书撤销方法撤销证书EE2:
4.4.1资源交易模块设置一条EE2撤销指令,EE2撤销指令包括EE2证书号,AS号;
4.4.2资源交易模块按照EE2撤销指令,以AS2-1作为EE证书列表下标,检索EE证书列表,查看EE证书列表是否有与AS2对应的EE证书;
4.4.3如果EE证书列表中没有与AS2对应的EE证书,资源交易模块将“资源冲突”消息发送给显示模块,显示模块显示“资源冲突”消息,消息中包含资源冲突原因即“预撤销的EE证书不存在”,转4.7;如果EE证书列表中有与AS2对应的EE证书,资源颁发者的资源交易模块依据资源交易结构,构造EE2的撤销交易报文ee_revoke,ee_revoke的内容包括交易发起者即EE2的颁发者、交易接收者即EE2的接收者、交易类型即EE证书撤销、交易的内容即EE2证书号和AS2、交易的属性、交易的证据,EE2的资源颁发者对交易的签名,此时交易的属性、交易的证据均为空;资源颁发者的资源交易模块将ee_revoke通过区块链网络发送给资源接收者和验证节点;
4.4.4资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.4.5;若未收到,转4.4.4继续等待;
4.4.5资源颁发者的资源交易模块根据交易共识的结果进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”;同时,资源交易模块将EE证书列表中的EE2证书删除,转4.7;若收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7;
4.5资源交易模块从资源颁发者接收到EE证书EE3自动撤销的消息,资源交易模块构造EE3自动撤销消息,EE3自动撤销消息中包含资源接收者的IP地址、EE3证书号,AS号即AS3,当前时间戳,按4.5.1~4.5.2所述证书撤销方法撤销证书EE3:
4.5.1资源交易模块依据资源交易结构,构造EE3的自动撤销交易报文ee_revoke2,ee_revoke2的内容包括交易发起者即EE3的颁发者、交易接收者即EE3的接收者、交易类型即EE证书自动撤销、交易的内容即EE3证书号和AS3、交易的属性、交易的证据即当前时间戳,EE3的资源颁发者对交易的签名,此时交易的属性为空;资源颁发者将ee_revoke2通过区块链网络发送给资源接收者的资源交易模块和验证节点;
4.5.2资源颁发者的资源交易模块监控是否从验证节点收到交易共识的结果,若收到,转4.5.3;若未收到,转4.5.2继续等待;
4.5.3资源颁发者的资源交易模块根据交易共识的结果分别进行处理:若从验证节点收到共识结果成功消息,则资源颁发者的资源交易模块向显示模块发送“交易成功”消息,显示模块显示“交易成功”,同时,资源交易模块将EE证书列表中的EE3证书删除,转4.7;若收到共识结果失败消息,则资源颁发者的资源交易模块向显示模块发送“交易失败”消息,显示模块显示“交易失败”,转4.7;
4.6若从区块链平台收到分布式账本更新事件,如果该事件是EE证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.7;如果该事件是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该AS下标对应的元素中删除原有的EE证书,转4.7;
4.7转4.2,资源颁发者的资源交易模块处理下一个EE证书操作交易消息和分布式账本变更事件;
4.8验证节点采用资源证书交易智能合约对EE证书列表进行初始化:首先数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录,构建EE证书列表:依据AS号检索分布式账本中对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.9,如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.9;
4.9验证节点采用资源证书交易智能合约对从资源颁发者的资源交易模块收到的交易报文进行验证:验证节点运行的资源证书交易智能合约依据从资源颁发者的资源交易模块发送的交易报文,根据交易报文中的交易类型验证交易格式、交易签名以及交易的合规性,同时监测智能合约运行中自身是否产生EE证书过期定时器超时事件,如果监测到发生EE证书过期定时器超时事件,转4.12;如果验证通过,取消相应EE证书过期时间定时器,转4.10;如果验证不通过,则资源证书交易智能合约验证失败,在区块链平台中广播并通知交易颁发者,转4.9,监听是否有下一条EE证书交易报文到达;
4.10验证节点运行共识算法,对EE证书交易拟达成共识,将共识成功的交易记录到分布式账本中,并将共识结果在区块链平台中播报;
4.11资源证书交易智能合约依据共识算法结果更新EE证书列表:如果共识成功,转4.11.1;如果共识不成功,转4.11.2;
4.11.1若是ee_issue交易,在EE证书列表中记录对应的EE1证书,并根据EE1过期时间,启动EE1过期时间定时器;若是ee_revoke交易和ee_revoke2交易,说明撤销操作已经得到验证,在EE证书列表中删除对应的EE2或EE3,转4.9;
4.11.2若是ee_issue交易,说明颁发操作不通过,无需更新EE证书列表,转4.9;若是ee_revoke交易或ee_revoke2交易,说明删除操作不通过,在EE证书列表中保留对应的EE2或EE3,并根据EE2或EE3过期时间,重新启动EE2或EE3过期时间定时器;转4.9;
4.12此时资源证书交易智能合约监测到EE证书过期定时器超时事件,触发EE证书的自动撤销交易,方法如下:
4.12.1依据资源交易结构,构造EE证书EE4自动撤销交易的报文,对应AS令为AS4,该报文的内容包括资源颁发者即验证节点、资源接收者、交易类型即EE证书自动撤销、交易内容即EE4证书号和AS4)、交易属性、交易的证据即当前时间戳,验证节点对交易的签名,此时交易属性为空;
4.12.2验证节点上的资源证书交易智能合约将EE证书自动撤销交易报文通过区块链网络发送给资源接收者的资源交易模块和验证节点,转4.9;
4.13路由器上安装区块链客户端加入区块链平台获取EE证书交易记录,构建和更新EE证书列表,路由器上的安全域间路由协议根据EE证书列表查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证。
2.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于所述资源证书生成模块生成的资源证书RC的内容包括标准RFC 5280的X.509证书,并附有RFC 3779标准的IP地址和的AS扩展标识符;所述资源证书生成模块生成的ROA包括三个部分:一个AS号、一个IP地址前缀列表、对IP地址前缀进行限制的可选内容。
3.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于所述EE证书是由资源颁发者CA生成的采用标准RFC 5280定义的X.509证书,其内容包括AS号、证书号、公钥、过期时间、以及资源颁发者CA的签名信息。
4.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于所述资源交易模块为资源颁发者或资源接收者提供RC或ROA资源交易的操作服务包括:将RC和ROA颁发给资源接收者;将RC和ROA从资源接收者撤销;对RC和ROA进行修改;对RC进行更新操作;RC更新操作指对旧证书的有效期和序列号进行更改,不涉及证书携带的IP地址前缀和AS号;RC修改操作涉及证书携带的IP地址前缀和AS号。
5.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于第二步所述资源交易结构中的交易发起者指资源颁发者地址,交易接收者即为资源接收者地址;交易类型指进行什么类型的交易,与EE证书相关的交易类型包括三种,分别为:EE证书颁发、EE证书撤销、因EE证书过期的EE证书自动撤销;交易的内容是与交易相对应的EE证书的内容,包括版本、序列号、签名算法、发行人、持有人、有效期、持有者公钥信息、资源证书扩展、证书策略、IP资源、AS资源;交易的属性包括传递属性、过期属性,交易的属性仅对RC、ROA有意义,EE证书交易中交易的属性为空;交易的证据指资源颁发者和资源接收者双方同意的证据,由双方交易的报文以及随机数构成,在EE证书颁发交易、EE证书撤销交易中交易的证据为空,在EE证书自动撤销交易中交易的证据为交易发起者的当前时间戳;交易签名指在区块链网络中由交易发起者对所发起的交易所进行的数字签名。
6.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端分别各自初始化自身的EE证书列表,依据分布式账本中的EE证书交易记录构建和更新EE证书列表,资源颁发者中的资源交易模块、验证节点中资源证书交易智能合约以及路由器的区块链客户端更新后的EE证书列表完全相同。
7.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于4.9步所述验证节点采用资源证书交易智能合约对从资源颁发者的资源交易模块收到的交易报文进行验证的具体方法是:
4.9.1资源证书交易智能合约根据交易报文判断交易的类型,如果交易报文类型是ee_issue,转4.9.2;如果交易报文类型是ee_revoke,转4.9.3;如果是ee_revoke2,转4.9.4;
4.9.2判断收到的ee_issue交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_issue交易中的EE1证书,如果不存在,则验证通过,结束;否则验证不通过,转4.9.5;
4.9.3判断收到的ee_revoke交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的EE2证书,如果存在,则验证通过,取消EE2过期时间定时器,结束;否则验证不通过,转4.9.5;
4.9.4判断收到的ee_revoke2交易格式是否正确,验证交易的签名是否正确,查找EE证书列表,判断在EE证书列表中是否已经存在ee_revoke交易中的EE3证书,如果EE3存在且过期,则验证通过,取消EE3过期时间定时器,结束,转4.10;否则验证不通过,转4.9.5;
4.9.5资源证书交易智能合约验证失败,结束。
8.如权利要求1所述的一种基于资源公钥基础设施区块链的路由器证书颁发方法,其特征在于4.13步路由器上安装区块链客户端加入区块链平台构建和更新EE证书列表,路由器上的安全域间路由协议根据EE证书列表查找对应EE证书,获取EE证书公钥,对路由路径签名数据的正确性进行验证的方法是:
4.13.1路由器上安装区块链客户端加入RPKIB区块链平台;
4.13.2路由器上的区块链客户端依据RPKIB区块链平台提供的操作获取分布式账本,并构建EE证书列表:首先EE证书列表数组中每个元素为空,然后依据分布式账本中的EE证书操作的交易记录构建EE证书列表:依据AS号检索分布式账本中对应的EE证书操作交易记录,获取最新的EE证书操作交易记录,如果最新的EE证书操作交易记录是EE证书颁发操作,则在EE证书列表中该AS下标对应的元素中记录EE证书,转4.13.3;如果最近的EE证书操作交易记录是EE证书撤销操作或自动撤销操作,则不做处理,直接转4.13.3;
4.13.3路由器上的区块链客户端通过区块链的交易记录读取操作获取分布式账本中EE证书交易记录,依据EE证书交易记录更新EE证书列表:如果是EE证书颁发交易记录,则在EE证书列表中该AS下标对应的元素中记录该EE证书,转4.13.4;如果是EE证书撤销操作或自动撤销操作交易记录,则在EE证书列表中该AS下标对应的元素中删除原有的EE证书,转4.13.4;
4.13.4路由器运行的安全域间路由协议进行路径验证,方法是:依据EE证书编号标识在EE证书列表中查找对应EE证书,获取EE证书公钥,对路由路径的签名数据的正确性进行验证。
CN202210595590.1A 2022-05-30 2022-05-30 一种基于资源公钥基础设施区块链的路由器证书颁发方法 Active CN115021930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210595590.1A CN115021930B (zh) 2022-05-30 2022-05-30 一种基于资源公钥基础设施区块链的路由器证书颁发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210595590.1A CN115021930B (zh) 2022-05-30 2022-05-30 一种基于资源公钥基础设施区块链的路由器证书颁发方法

Publications (2)

Publication Number Publication Date
CN115021930A CN115021930A (zh) 2022-09-06
CN115021930B true CN115021930B (zh) 2023-05-26

Family

ID=83071258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210595590.1A Active CN115021930B (zh) 2022-05-30 2022-05-30 一种基于资源公钥基础设施区块链的路由器证书颁发方法

Country Status (1)

Country Link
CN (1) CN115021930B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384236A (zh) * 2016-08-31 2017-02-08 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN107769925A (zh) * 2017-09-15 2018-03-06 山东大学 基于区块链的公钥基础设施系统及其证书管理方法
CN111106940A (zh) * 2019-11-25 2020-05-05 广州大学 一种基于区块链的资源公钥基础设施的证书交易验证方法
CN111130766A (zh) * 2019-11-25 2020-05-08 广州大学 一种基于区块链的资源公钥基础设施双向授权的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384236A (zh) * 2016-08-31 2017-02-08 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN107769925A (zh) * 2017-09-15 2018-03-06 山东大学 基于区块链的公钥基础设施系统及其证书管理方法
CN111106940A (zh) * 2019-11-25 2020-05-05 广州大学 一种基于区块链的资源公钥基础设施的证书交易验证方法
CN111130766A (zh) * 2019-11-25 2020-05-08 广州大学 一种基于区块链的资源公钥基础设施双向授权的方法

Also Published As

Publication number Publication date
CN115021930A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US11831772B2 (en) Blockchain multi-party shared-governance-based system for maintaining domain name information
CN111130766B (zh) 一种基于区块链的资源公钥基础设施双向授权的方法
Oorschot et al. On interdomain routing security and pretty secure BGP (psBGP)
CN111106940B (zh) 一种基于区块链的资源公钥基础设施的证书交易验证方法
CN111031010B (zh) 一种基于区块链的资源公钥基础设施的证书交易告警方法
CN111262860B (zh) 跨链模式下的身份认证方法及装置
CN113824563B (zh) 一种基于区块链证书的跨域身份认证方法
CN113328997B (zh) 联盟链跨链系统及方法
US20230006840A1 (en) Methods and devices for automated digital certificate verification
CN114338242B (zh) 一种基于区块链技术的跨域单点登录访问方法及系统
US20220094542A1 (en) Methods and devices for public key management using a blockchain
CN113672942B (zh) 一种基于区块链的pki证书跨域认证方法
Ahmed et al. Turning trust around: smart contract-assisted public key infrastructure
Kent Securing the border gateway protocol: A status update
CN112865979B (zh) 一种基于区块链的资源公钥基础设施的资源冲突检测方法
WO2018235085A1 (en) METHOD OF CERTIFYING ADDRESS PROPERTIES AND ASSOCIATED SYSTEM
Paillisse et al. Decentralized trust in the inter-domain routing infrastructure
CN115021930B (zh) 一种基于资源公钥基础设施区块链的路由器证书颁发方法
CN114079632B (zh) 一种基于区块链的可信域间路由方法及系统
Sfirakis et al. Validating IP prefixes and AS-paths with blockchains
García-Martínez et al. Design and implementation of inblock—a distributed ip address registration system
CN101656661B (zh) 实现可信信息传递的方法、系统和设备
CN112583953B (zh) 一种基于区块链对域间路由进行保护的方法及系统
CN115208817B (zh) 一种基于跨链网关和Floyd算法的可信跨链路由方法
CN117834108A (zh) 一种基于区块链的bgp域间路由认证方法和系统

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