CN114465817B - 一种基于tee预言机集群和区块链的数字证书系统及方法 - Google Patents

一种基于tee预言机集群和区块链的数字证书系统及方法 Download PDF

Info

Publication number
CN114465817B
CN114465817B CN202210282621.8A CN202210282621A CN114465817B CN 114465817 B CN114465817 B CN 114465817B CN 202210282621 A CN202210282621 A CN 202210282621A CN 114465817 B CN114465817 B CN 114465817B
Authority
CN
China
Prior art keywords
certificate
predictor
blockchain
contract
root
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
CN202210282621.8A
Other languages
English (en)
Other versions
CN114465817A (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.)
Jinan University
Original Assignee
Jinan 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 Jinan University filed Critical Jinan University
Priority to CN202210282621.8A priority Critical patent/CN114465817B/zh
Publication of CN114465817A publication Critical patent/CN114465817A/zh
Application granted granted Critical
Publication of CN114465817B publication Critical patent/CN114465817B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms

Abstract

本发明公开了一种基于TEE预言机集群和区块链的数字证书系统及方法,系统包括预言机集群、用户、智能合约以及CA;系统工作时,包括智能合约初始化与CA注册阶段、证书发布与上链阶段、证书验证阶段、预言机工作节点选择阶段以及预言机同步阶段。本发明提出的数字证书系统为CA和用户管理数字证书提供了统一的平台,CA的行为记录以及数字证书的变化存储在区块链中实现了溯源和追责,同时利用TEE预言机集群为链上链下数据互通提供渠道,消除了上级CA根证书对其所发布证书的有效性的限制,同时,解决区块链查询带来的效率问题。

Description

一种基于TEE预言机集群和区块链的数字证书系统及方法
技术领域
本发明属于数字证书和区块链技术领域,具体涉及一种基于TEE预言机集群和区块链的数字证书系统及方法。
背景技术
随着互联网的不断发展,在线应用场景也越来越多,其中数字政府、线上招聘会、线上医疗等应用迅猛发展带动了数字证书的应用。数字证书作为一种与网络中实体相关联的电子文档,基于数字证书进行身份认证与资格认证的应用场景也越来越多,数字证书渗透到我们生活中的方方面面,保证了我们的工作生活顺利进行。传统的数字证书管理系统是基于公钥基础设施(Public Key Infrastructure),证书认证机构(CertificationAuthority)是一个负责颁发与管理证书的中心化的组织,也是 PKI的信任基础。中心化的CA有着传统中心化信任模型的缺点,例如单点故障,这使得数字证书在使用的时候存在失效或者伪造的问题。
对于传统数字证书管理系统存在的问题,利用区块链去中心化、不可篡改等特点解决上述问题的研究在各个领域被提出,特别是在电子学历证书、电子医疗证书等方面的研究。但目前典型的基于区块链的数字证书系统是由MIT Media Lab开发的BlockCert,在数字证书颁发、验证、管理方案上并不完备,验证流程存在安全漏洞,BlockCert只是将区块链与CA相结合,将区块链运用于数字证书发布和验证过程,没有提供用户便捷管理自己证书的平台,也没有考虑使用区块链进行数字证书管理是带来的区块查找效率问题。通过TEE(Trusted Execution Environment,可信执行环境)预言机集群将数字证书上链并同步链上信息,不仅能解除CA对证书系统的限制,为用户提供便捷的证书管理平台,还能提高系统在证书查询和验证等功能上的效率。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提出一种基于TEE预言机集群和区块链的数字证书系统及方法。
为了达到上述目的,本发明采用以下技术方案:
一种基于TEE预言机集群和区块链的数字证书系统,包括预言机集群、用户、智能合约以及CA;
系统工作时,包括智能合约初始化与CA注册阶段、证书发布与上链阶段、证书验证阶段、预言机工作节点选择阶段以及预言机同步阶段;
智能合约初始化和CA注册阶段中,智能合约在布置到区块链中时要确定合约最初管理者,CA必须通过管理者授权后完成注册,注册成功后CA才能调用合约中的证书发布函数;
证书发布与上链阶段中,CA为用户生成数字证书,并调用合约将证书发布操作记录在链上,用户收到证书后,可以选择通过预言机将数字证书密文上链;
证书验证阶段中,按照数字证书里的字段信息,验证数字证书的发布者与证书真实性;
预言机工作节点选择阶段中,在预言机集群内选择部分节点对上链证书进行验证;
在预言机同步阶段中,对链上操作记录进行监听存储,并对预言机工作节点的计算结果达成共识。
本发明还包括基于提供的所述数字证书系统的数字证书方法,包括以下步骤:
S1、区块链智能合约初始化,将智能合约管理者的区块链地址记录在区块链智能合约中;
S2、管理者在链上授权CA,将CA的区块链地址以及发布数字证书的根证书记录在智能合约中,CA使用区块链地址调用智能合约发布函数并智能记录合约发布相关信息;
S3、预言机集群中,预言机选择证书验证工作节点,用户调用智能合约中的证书上链服务注册函数,将上链请求发送到工作预言机节点;
S4、预言机监听智能合约中的事件,处理事件信息并缓存,实现对链上合约状态的同步;
S5、工作的TEE预言机节点对证书进行验证和加密并对最终计算结果与智能合约状态达成共识。
进一步的,步骤S1中,区块链智能合约初始化具体为:
S11、确定证书管理者,管理者是CA联盟,将管理者的区块链公钥以及相关信息记录;
S12、合约状态变量定义,这些变量将会记录系统中CA、证书发布、上链服务列表等信息;
S13、合约函数以及相应事件的定义,合约中的事件能够让合约监听者获取感兴趣的信息。
进一步的,步骤S2中,发布证书具体包括:
S21、管理者授权CA在区块链中进行数字证书发布的权限,即将其区块链地址和发布数字证书的根证书进行绑定;
S22、CA根据多位用户的信息为他们生成基本的数字证书,将这些证书信息处理形成一棵默克尔树,即将所有证书信息进行哈希函数处理生成根哈希值),通过根哈希值可对证书信息进行真实性验证;
S23、CA用自己的根证书对默克尔树的根哈希值进行签名,将签名、证书唯一标识CertID列表、证书接收人的区块链地址列表作为参数去调用智能合约中的证书发布函数;
S24、根据合约函数执行结果,将证书发布的交易hash、CA相关信息、证书的默克尔证明也加入到证书中形成完整证书,并将证书发布给用户。
进一步的,步骤S3中,使用预言机选择机制选择证书验证工作节点具体为:
S31、确定上一次工作表现分值S和剩余可等待次数T,预言机中每个节点都维护者各节点的S、T的数值列表;
S32、各节点计算出所有节点的综合评分C,根据综合评分C对节点进行从大到小排列;其中,C=S/T;
S33、假设预言机集群中的节点数为:
N(N=3f+1)
其中,f表示预言机网络中的恶意节点数量,选择评分C在前(2f+1)的节点作为工作节点;
S34、各工作预言机节点的Enclave获取用户数字证书。
进一步的,S表示预言机节点的工作表现,数值越大表示上次正确地完成了任务;T是预言机可以不被选择成为工作节点的次数,每次没被选中T就会减少,被选中后T会根据表现重新设置。
进一步的,步骤S4中,链上合约状态的同步具体为:
S41、预言机监听合约中的事件,并将事件信息缓存;
S42、用默克尔帕特里夏树组织事件所带的信息,将监听到的信息生成用户证书的MPT、CA的MPT,用户证书的MPT以用户区块链地址和CertID作为索引,叶子节点保存这份用户证书的相关信息,CA的MPT以CA区块链地址作为索引,叶子节点保存其证书签名验证公钥的相关信息,两棵MPT的根哈希分别是Rootcert,Rootca
S43、预言机保持监听链上证书系统的智能合约事件,更新前面所提到的两棵MPT。
进一步的,步骤S5具体为:
S51、工作预言机的Enclave收到数字证书后,在Enclave中通过调用访问外部数据的接口对自己维护的MPT进行访问,可以在本地完成对数字证书的验证,不需访问区块链;
S52、证书验证通过,工作预言机对数字证书按照用户要求进行加密,对密文进行哈希获得Hm
S53、各工作预言机生成随机数r,将(r,Hm,Rootcert,Rootca)发送给集群中其它节点;
S54、其它节点获得消息后会对RootcertRootca验证,Hm如果出现次数超过工作预言机节点的一半则Hm对应密文就是要上链的证书密文;
S55、选择Hm正确且随机数最小的工作预言机将证书密文上链,上链成功后证书的有效性将不受其CA根证书有效性的限制,因为在上链时的证书验证已对其根证书进行确认,后续证书使用只需对比证书上链时间和CA根证书更新时间即可;
S56、更新集群中各预言机的表现分值S、剩余可等待次数T以及综合评分 C。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明提出一种基于TEE预言机集群和区块链的数字证书系统方案,使用预言机作为链上链下数据交互通道,为用户提供了安全的数字证书管理平台。
2、本发明使用去中心化的TEE预言机集群架构,在证书使用前对证书真实性验证并上链,解除了CA根证书有效期对其所发布证书的验证,也保证了证书上链过程的可靠性和数字证书的隐私性。
3、本发明在预言机上同步智能合约上的事件消息,在验证和查询数字证书相关信息时可以直接访问预言机的本地存储,不需要对区块链进行查询操作,提高了系统的效率。
附图说明
图1是本发明系统模型图;
图2是数字证书结构图。
具体实施方式
如图1所示,本发明,一种基于TEE预言机集群和区块链的数字证书系统,预言机集群、用户、智能合约以及CA;
系统工作时,包括智能合约初始化与CA注册阶段、证书发布与上链阶段、证书验证阶段、预言机工作节点选择阶段以及预言机同步阶段;
智能合约初始化和CA注册阶段中,智能合约在布置到区块链中时要确定合约最初管理者,CA必须通过管理者授权后完成注册,注册成功后CA才能调用合约中的证书发布函数;
证书发布与上链阶段中,CA为用户生成数字证书,并调用合约将证书发布操作记录在链上,用户收到证书后,可以选择通过预言机将数字证书密文上链;
证书验证阶段中,按照数字证书里的字段信息,验证数字证书的发布者与证书真实性;
预言机工作节点选择阶段中,在预言机集群内选择部分节点对上链证书进行验证;
在预言机同步阶段中,对链上操作记录进行监听存储,并对预言机工作节点的计算结果达成共识。
其中TEE预言机是支持Intel的SGX技术的服务器,SGX技术通过特有的 CPU指令在计算机内生成特殊的内存空间Enclave,Enclave内的数据和代码只能被当前进程通过SGXSDK提供的接口进行访问,Enclave中运行的程序能够保护数据的安全和隐私;区块链用于提高系统去中心化和公开性。
在另一个实施例中,提供了一种基于上述数字证书系统的数字证书方法,包括以下步骤:
S1、区块链智能合约初始化,将智能合约管理者的区块链地址等信息记录在区块链智能合约中;具体为:
S11、确定证书管理者,管理者可以是CA联盟,将管理者的区块链公钥以及相关信息记录;
S12、合约状态变量定义,这些变量将会记录系统中CA、证书发布、上链服务列表等信息;
S13、合约函数以及相应事件的定义,合约中的事件能够让合约监听者获取感兴趣的信息。
S2、管理者授权CA,CA的区块链地址可以在合约中发布证书,CA通过该地址记调用合约发布函数记录合约发布相关信息;发布证书具体为:
S21、管理者授权CA在区块链中进行数字证书发布的权限;
S22、CA根据多位用户的信息为他们生成基本的数字证书,将这些证书信息处理形成一棵默克尔树;
S23、CA用自己的根证书对默克尔树的根哈希值进行签名,将签名、证书唯一标识CertID列表、证书接收人的区块链地址列表作为参数去调用智能合约中的证书发布函数;
S24、根据合约函数执行结果,将证书发布的交易hash、CA相关信息、证书的默克尔证明也加入到证书中形成完整证书,并将证书发布给用户。
S3、预言机集群中,预言机选择证书验证工作节点,用户调用智能合约中的证书上链服务注册函数,将上链请求发送到工作预言机节点;使用预言机选择机制选择证书验证工作节点具体为:
S31、确定上一次工作表现分值S和剩余可等待次数T,S表示预言机节点的工作表现,数值越大表示上次正确地完成了任务。T是预言机可以不被选择成为工作节点的次数,每次没被选中T就会减少,被选中后T会根据表现重新设置。预言机中每个节点都维护者各节点的S、T的数值列表;
S32、各节点计算出所有节点的综合评分C,C=S/T,根据综合评分C对节点进行从大到小排列;
S33、假设预言机集群中的节点数为:
N(N=3f+1)
其中,f表示预言机网络中的恶意节点数量,选择评分C在前(2f+1)的节点作为工作节点;
S34、各工作预言机节点的Enclave获取用户数字证书。
S4、预言机监听智能合约中的事件,处理事件信息并缓存,实现对链上合约状态的同步;链上合约状态的同步具体为:
S41、预言机监听合约中的事件,并将事件信息缓存;
S42、用梅克尔帕特里夏树(Merkle Patricia Tree,默克尔树和前缀树的结合而成的数据结构,在默克尔树的基础上增加索引功能)组织事件所带的信息,将监听到的信息生成用户证书的MPT树、CA的MPT树,用户证书的MPT树以用户区块链地址和CertID作为索引,叶子节点保存这份用户证书的相关信息, CA的MPT树以CA区块链地址作为索引,叶子节点保存其证书签名验证公钥的相关信息,两棵MPT的根哈希分别是Rootcert,Rootca
S43、预言机保持监听链上证书系统的智能合约事件,更新前面所提到的两棵MPT。
S5、工作的TEE预言机节点对证书进行验证和加密并对最终计算结果与智能合约状态达成共识;具体为:
S51、工作预言机的Enclave收到数字证书后,在Enclave中通过调用访问外部数据的接口对自己维护的MPT进行访问,可以在本地完成对数字证书的验证,不需访问区块链;
S52、证书验证通过,工作预言机对数字证书按照用户要求进行加密,对密文进行哈希获得Hm
S53、各工作预言机生成随机数r,将(r,Hm,Rootcert,Rootca)发送给集群中其它节点;
S54、其它节点获得消息后会对Rootcert Rootca验证,Hm如果出现次数超过工作预言机节点的一半则Hm对应密文就是要上链的证书密文;
S55、选择Hm正确且随机数最小的工作预言机将证书密文上链;
S56、更新集群中各预言机的表现分值S、剩余可等待次数T以及综合评分 C。
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本实施例中,数字证书系统主要包括四种元素:用户、CA、智能合约以及 TEE预言机集群。各元素通过可信通道进行交互,其中CA根据自己的业务为用户生成数字证书,并调用智能合约中的证书发布函数进行记录;预言机通过rpc 监听合约上发出的事件获取数字证书信息;用户将获得的数字证书发送到TEE 预言机的Enclave中,Enclave在对证书进行验证和加密后调用智能合约中的证书上链函数将证书密文上链。如图2所示,为本实施例中的数字证书结构图。
假设一个证书授权中心A,其在区块链上的账号为(BPKa BSKa),区块链地址是Adressa,根证书为(PKa,SKa),TEE预言机集群已经部署成功并开始监听智能合约中的事件:
S1、A在智能合约中进行注册,调用合约中的注册函数registerCA,函数参数是A的地址Adressa和签名验证公钥PKa,在registerCA合约函数中发出事件 caRegisterEvent,事件参数和registerCA一样。
S2、预言机监听到事件caRegisterEvent,获取到了A的区块链地址Adressa和 A的签名验证公钥PKa,更新本地维护的CA-MPT:由Adressa索引到签名验证公钥PKa以及相关交易记录。
S3、用户{M1,M2,M3,...Mn}使用自己的信息以及自己的区块地址 {Adr1,Adr2,Adr3,...Adrn}向A申请数字证书,(PKi,SKi),1≤i≤n,是对应用户的区块链账号。
S4、A使用根证书为多个用户{M1,M2,M3,...Mn}生成了证书 {cert1,cert2,cert3,...,certn},certi是A所发布证书的证书ID,certi属于用户Mi
S5、A用{cert1,cert2,cert3,...,certn}对应的证书内容生成一棵Merkle Tree,假设树的根哈希值是Root,用自己的根证书私钥对PKa对Root进行签名得到 Sigr=Sig(SKa,Root)。
S6、A在区块链上调用证书发布合约函数issueCertification,参数分别是 Sigr、{Adr1,Adr2,Adr3,...Adrn}、{cert1,cert2,cert3,...,certn},并且在函数中发出事件issueEvent,事件参数处理包含issueCertification的参数外还包括 Adressa
S7、预言机监听到事件issueEvent,获取到证书{cert1,cert2,cert3,...,certn}的所有者区块链地址{Adr1,Adr2,Adr3,...Adrn},以及证书发布者Adressa,更新本地维护的Cert-MPT:由所有者区块链地址和证书唯一标识索引到证书相关交易记录。
S8、CA将调用证书发布合约函数的交易哈希、各证书组成的Merkle Tree的MerkleProof{proof1,proof2,proof3,...proofn}等验证信息也加入到证书内容中组成。
S9、用户M1收到证书标识为cert1的数字证书并选择将数字证书上链。M1调用证书上链请求合约函数requestForUpload进行服务注册,参数是cert1,并且在函数中发出事件requestUploadEvent,事件参数是交易发起者区块链地址Adr1和证书标识cert1
S10、预言机监听到事件requestEvent,获取到Adr1、cert1,并将其根据时间先后记录在本地的上链任务列表TaskList。
S11、预言机集群通过工作预言机选择算法确定工作预言机节点为 {O1,O2,O3,...,O2f+1}。
S12、用户M1将cert1对应的数字证书、cert1用SK1签名后的内容Sigc= Sig(SK1,cert1)以及自己的区块链公钥PK1作为上链请求参数发送到所有工作预言机节点的Enclave中,在交付前可以对工作预言机节点进行远程认证。
S13、以预言机O1为例,在收到上链请求后,首先Verify(Sigc,PK1)=?cert1,确定用户对区块链账号的拥有权,然后使用SHA256(PK1)获得区块链地址Adr1,判断Adr1和cert1是否在上链任务列表中。
S14、如果M1的上链请求已经在任务列表中,O1对cert1的证书进行验证,通过本地保存的事件数据,查询本地数据库即可完成数字证书验证和加密,并获得证书密文Encm
S15、预言机O1将Encm签名获得Sig1、O1随机生成的随机数r1、Cert-MPT和 CA-MPT的根哈希Rootcert Rootca、以及cert1打包成为data1在集群网络中广播。
S16、其它工作节点工作流程与O1相同,流程结束所有工作预言机节点都会收到{data1,data2,data3,...data2f+1},假设其中其中超过一半的结果和data1相同, data1就是本次上链工作的最终结果。
S17、在数据和data1相同的节点中选择生成随机数最小的那个工作预言机节点作为代理将调用证书上链合约函数,函数参数为证书密文Encm、cert1
用户M1用自己的区块链地址和证书唯一标识cert1可以从区块链中下载自己的证书密文,这时证书的有效期不受CA的根证书影响。
还需要说明的是,在本说明书中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种基于TEE预言机集群和区块链的数字证书系统,其特征在于,包括预言机集群、用户、智能合约以及CA;
系统工作时,包括智能合约初始化与CA注册阶段、证书发布与上链阶段、证书验证阶段、预言机工作节点选择阶段以及预言机同步阶段;
智能合约初始化和CA注册阶段中,智能合约在布置到区块链中时要确定合约最初管理者,CA必须通过管理者授权后完成注册,注册成功后CA才能调用合约中的证书发布函数;
证书发布与上链阶段中,CA为用户生成数字证书,并调用合约将证书发布操作记录在链上,用户收到证书后,可以选择通过预言机将数字证书密文上链;
证书验证阶段中,按照数字证书里的字段信息,验证数字证书的发布者与证书真实性;
预言机工作节点选择阶段中,在预言机集群内选择部分节点对上链证书进行验证;
在预言机同步阶段中,对链上操作记录进行监听存储,并对预言机工作节点的计算结果达成共识;
数字证书系统包括以下步骤:
S1、区块链智能合约初始化,将智能合约管理者的区块链地址记录在区块链智能合约中;
S2、管理者在链上授权CA,将CA的区块链地址以及发布数字证书的根证书记录在智能合约中,CA使用区块链地址调用智能合约发布函数并智能记录合约发布相关信息;
S3、预言机集群中,预言机选择证书验证工作节点,用户调用智能合约中的证书上链服务注册函数,将上链请求发送到工作预言机节点;
S4、预言机监听智能合约中的事件,处理事件信息并缓存,实现对链上合约状态的同步;
S5、工作的TEE预言机节点对证书进行验证和加密并对最终计算结果与智能合约状态达成共识;具体为:
S51、工作预言机的Enclave收到数字证书后,在Enclave中通过调用访问外部数据的接口对自己维护的MPT进行访问,可以在本地完成对数字证书的验证,不需访问区块链;
S52、证书验证通过,工作预言机对数字证书按照用户要求进行加密,对密文进行哈希获得Hm
S53、各工作预言机生成随机数r,将(r,Hm,Rootcert,Rootca)发送给集群中其它节点;
S54、其它节点获得消息后会对RootcertRootca验证,Hm如果出现次数超过工作预言机节点的一半则Hm对应密文就是要上链的证书密文;
S55、选择Hm正确且随机数最小的工作预言机将证书密文上链,上链成功后证书的有效性将不受其CA根证书有效性的限制,因为在上链时的证书验证已对其根证书进行确认,后续证书使用只需对比证书上链时间和CA根证书更新时间即可;
S56、更新集群中各预言机的表现分值S、剩余可等待次数T以及综合评分C。
2.根据权利要求1所述的数字证书系统,其特征在于,步骤S1中,区块链智能合约初始化具体为:
S11、确定证书管理者,管理者是CA联盟,将管理者的区块链公钥以及相关信息记录;
S12、合约状态变量定义,这些变量将会记录系统中CA、证书发布、上链服务列表等信息;
S13、合约函数以及相应事件的定义,合约中的事件能够让合约监听者获取感兴趣的信息。
3.根据权利要求1所述的数字证书系统,其特征在于,步骤S2中,发布证书具体包括:
S21、管理者授权CA在区块链中进行数字证书发布的权限,即将其区块链地址和发布数字证书的根证书进行绑定;
S22、CA根据多位用户的信息为他们生成基本的数字证书,将这些证书信息处理形成一棵默克尔树,即将所有证书信息进行哈希函数处理生成根哈希值),通过根哈希值可对证书信息进行真实性验证;
S23、CA用自己的根证书对默克尔树的根哈希值进行签名,将签名、证书唯一标识CertID列表、证书接收人的区块链地址列表作为参数去调用智能合约中的证书发布函数;
S24、根据合约函数执行结果,将证书发布的交易hash、CA相关信息、证书的默克尔证明也加入到证书中形成完整证书,并将证书发布给用户。
4.根据权利要求1所述的数字证书系统,其特征在于,步骤S3中,使用预言机选择机制选择证书验证工作节点具体为:
S31、确定上一次工作表现分值S和剩余可等待次数T,预言机中每个节点都维护者各节点的S、T的数值列表;
S32、各节点计算出所有节点的综合评分C,根据综合评分C对节点进行从大到小排列;其中,C=S/T;
S33、假设预言机集群中的节点数为:
N(N=3f+1)
其中,f表示预言机网络中的恶意节点数量,选择评分C在前(2f+1)的节点作为工作节点;
S34、各工作预言机节点的Enclave获取用户数字证书。
5.根据权利要求4所述的数字证书系统,其特征在于,S表示预言机节点的工作表现,数值越大表示上次正确地完成了任务;T是预言机可以不被选择成为工作节点的次数,每次没被选中T就会减少,被选中后T会根据表现重新设置。
6.根据权利要求1所述的数字证书系统,其特征在于,步骤S4中,链上合约状态的同步具体为:
S41、预言机监听合约中的事件,并将事件信息缓存;
S42、用默克尔帕特里夏树组织事件所带的信息,将监听到的信息生成用户证书的MPT、CA的MPT,用户证书的MPT以用户区块链地址和CertID作为索引,叶子节点保存这份用户证书的相关信息,CA的MPT以CA区块链地址作为索引,叶子节点保存其证书签名验证公钥的相关信息,两棵MPT的根哈希分别是Rootcert,Rootca
S43、预言机保持监听链上证书系统的智能合约事件,更新前面所提到的两棵MPT。
CN202210282621.8A 2022-03-22 2022-03-22 一种基于tee预言机集群和区块链的数字证书系统及方法 Active CN114465817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210282621.8A CN114465817B (zh) 2022-03-22 2022-03-22 一种基于tee预言机集群和区块链的数字证书系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210282621.8A CN114465817B (zh) 2022-03-22 2022-03-22 一种基于tee预言机集群和区块链的数字证书系统及方法

Publications (2)

Publication Number Publication Date
CN114465817A CN114465817A (zh) 2022-05-10
CN114465817B true CN114465817B (zh) 2023-06-16

Family

ID=81417690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210282621.8A Active CN114465817B (zh) 2022-03-22 2022-03-22 一种基于tee预言机集群和区块链的数字证书系统及方法

Country Status (1)

Country Link
CN (1) CN114465817B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115632835B (zh) * 2022-10-09 2023-09-26 云南大学 基于多要素哈希锁的链上链下数据传输方法
CN116055066A (zh) * 2023-03-31 2023-05-02 北京微芯感知科技有限公司 一种基于区块链和预言机的ca系统
CN116566660B (zh) * 2023-04-21 2024-02-13 石家庄铁道大学 基于医疗区块链的身份认证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768657A (zh) * 2018-04-17 2018-11-06 深圳技术大学(筹) 一种基于区块链平台的数字证书颁发系统及方法
CN111080443A (zh) * 2019-12-27 2020-04-28 腾讯科技(深圳)有限公司 基于区块链的业务处理方法、装置、设备及存储介质
CN114186288A (zh) * 2021-12-07 2022-03-15 北京工业大学 一种基于区块链的pki证书系统模型及证书管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768657A (zh) * 2018-04-17 2018-11-06 深圳技术大学(筹) 一种基于区块链平台的数字证书颁发系统及方法
CN111080443A (zh) * 2019-12-27 2020-04-28 腾讯科技(深圳)有限公司 基于区块链的业务处理方法、装置、设备及存储介质
CN114186288A (zh) * 2021-12-07 2022-03-15 北京工业大学 一种基于区块链的pki证书系统模型及证书管理方法

Also Published As

Publication number Publication date
CN114465817A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN114465817B (zh) 一种基于tee预言机集群和区块链的数字证书系统及方法
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
CN107292181B (zh) 基于区块链的数据库系统及使用该系统的使用方法
JP6154413B2 (ja) ルート証明書の無効化
CN107483509A (zh) 一种身份验证方法、服务器及可读存储介质
CN112187712B (zh) 一种去中心移动众包中对信任的匿名认证方法及系统
CN109146479B (zh) 基于区块链的数据加密方法
CN113824563B (zh) 一种基于区块链证书的跨域身份认证方法
CN110009349B (zh) 区块链中生成和验证可链接环签名的方法及装置
JP4699368B2 (ja) 証明書を効率的に無効にする方法及び装置
CN108965342B (zh) 数据请求方访问数据源的鉴权方法及系统
WO2018184447A1 (zh) 基于区块链的数字证书删除方法、装置及系统、存储介质
CN106991148B (zh) 一种支持全更新操作的数据库验证系统及方法
CN110289962B (zh) 一种基于utxo模型的ibe密钥更新方法及装置
CN112235260B (zh) 一种匿名数据存证方法、装置、设备和存储介质
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN104243462A (zh) 一种用于发现服务的用户身份验证方法及系统
CN113343213A (zh) 一种分散自主网络中基于区块链的多ca跨域认证方法
CN114760065A (zh) 一种在线学习平台教学资源共享的访问控制方法及装置
US20120239937A1 (en) Information processing device, computer program product, and access control system
CN115270145A (zh) 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统
CN112749417A (zh) 基于区块链的电子学位证照数据保护及共享系统
CN114691669A (zh) 一种电子存证方法、装置、电子设备及存储介质
CN110910110A (zh) 一种数据处理方法、装置及计算机存储介质
CN116366259A (zh) 一种面向密文数据的公共可验证布尔搜索系统及方法

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