CN111555887B - 区块链证书兼容性处理方法、装置及计算机存储介质 - Google Patents
区块链证书兼容性处理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN111555887B CN111555887B CN202010337028.XA CN202010337028A CN111555887B CN 111555887 B CN111555887 B CN 111555887B CN 202010337028 A CN202010337028 A CN 202010337028A CN 111555887 B CN111555887 B CN 111555887B
- Authority
- CN
- China
- Prior art keywords
- certificate
- node
- user
- issued
- blockchain
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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/3268—Cryptographic 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
区块链证书兼容性处理方法、装置及计算机存储介质,包括:区块链节点向CA服务请求节点证书,若区块链节点使用的是非本平台签发的节点证书,所述请求中包括非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的节点证书对应的License文件;License文件包括节点证书ID和节点硬件信息;CA服务利用预先存储的License私钥以及请求中包括的节点证书、硬件信息和节点信息对License文件进行签发并发送给区块链节点;区块链节点根据节点证书、节点硬件信息以及节点信息校验请求验证的节点证书和License的有效性。本申请可以实现平台的自签发证书与其它机构签发的证书的兼容使用。
Description
技术领域
本申请涉及技术,具体地,涉及一种区块链证书兼容性处理方法、装置及计算机存储介质、电子设备。
背景技术
区块链技术作为一种分布式账本技术,将对金融及其他领域带来深远影响,并驱动新一轮技术变革和应用变革。CA(Certificate Authority)证书作为具备电子认证资格的凭证,天然具备私钥签名的特性,可以实现并代替用户行使签名权利。CA证书是联盟区块链的优势资源,CA电子认证联盟区块链可以结合国家密码管理局国产算法的优势,形成国家自主可控、可监管、公信力的联盟区块链,在区块链的竞争中实现巨大的先发优势。CA作为传统的密码应用解决方案的行业推动者和领导者,面对区块链的大潮,积极创新,与时代同舞,应该是一个相对正确的选择。但是各个商家的CA证书互不兼容,得到研究者的广泛关注。
现有技术中存在的问题:
在区块链技术中各商家的CA证书互不兼容,无法统一签名或验证。
发明内容
本申请实施例中提供了一种区块链证书兼容性处理方法、装置及计算机存储介质、电子设备,以解决上述技术问题。
根据本申请实施例的第一个方面,提供了一种区块链证书兼容性处理方法,包括如下步骤:
接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
将所述License文件发送给所述区块链节点。
根据本申请实施例的第二个方面,提供了一种区块链证书兼容性处理装置,包括:
第一接收模块,用于接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
签发模块,用于利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
发送模块,用于将所述License文件发送给所述区块链节点。
根据本申请实施例的第三个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述区块链证书兼容性处理方法的步骤。
根据本申请实施例的第四个方面,提供了一种电子设备,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上所述的区块链证书兼容性处理方法。
根据本申请实施例的第五个方面,提供了一种区块链证书兼容性处理方法,包括如下步骤:
接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
根据本申请实施例的第六个方面,提供了一种区块链证书兼容性处理装置,包括:
第二接收模块,用于接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
获取模块,用于获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
校验模块,用于根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
根据本申请实施例的第七个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述区块链证书兼容性处理方法的步骤。
根据本申请实施例的第八个方面,提供了一种电子设备,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上所述的区块链证书兼容性处理方法。
本申请实施例中提供的区块链证书兼容性处理方法、装置及计算机存储介质、电子设备,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例一中区块链证书兼容性处理方法实施的流程示意图;
图2示出了本申请实施例二中区块链证书兼容性处理方法实施的流程示意图;
图3示出了本申请实施例三中区块链证书兼容性处理装置的结构示意图;
图4示出了本申请实施例四中区块链证书兼容性处理装置的结构示意图;
图5示出了本申请实施例七中电子设备的结构示意图;
图6示出了本申请实施例八中电子设备的结构示意图;
图7示出了本申请实施例九中区块链实现架构示意图;
图8示出了本申请实施例九中区块链实现方法实施的流程示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
图1示出了本申请实施例一中区块链证书兼容性处理方法实施的流程示意图。
如图所示,所述区块链证书兼容性处理方法包括:
步骤101、接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
步骤102、利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
步骤103、将所述License文件发送给所述区块链节点。
本申请实施例中提供的区块链证书兼容性处理方法,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
在一种实施方式中,所述方法进一步包括:
若所述区块链节点使用的是本平台自签发的节点证书,所述请求中包括所述本平台自签发的节点证书;
根据所述本平台自签发的节点证书、根证书私钥以及有效期为所述区块链节点签发证书;
将所述本平台自签发的节点证书、节点证书ID和根证书发送给所述区块链节点。
在一种实施方式中,所述方法进一步包括:
接收用户客户端提供的用户ID、用户证书ID以及用户证书;
为所述用户客户端签发证书,并将所述用户客户端提供的用户ID、用户证书ID以及用户证书以用户ID为主键存储在用户证书列表;
将签发后的用户证书ID、用户证书以及根证书发送给所述用户客户端。
在一种实施方式中,所述方法进一步包括:
接收用户客户端提供的用户ID和所请求的匿名证书列表;
为所述用户客户端签发证书,并以用户ID为主键将所述匿名证书列表中的证书ID及对应的证书存储在用户证书列表;
将签发后的用户证书ID、用户证书发送给所述用户客户端。
在一种实施方式中,所述方法进一步包括:
接收用户客户端的证书查询请求;
查询所述用户客户端的用户ID对应的所有证书;
遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
在一种实施方式中,所述用户证书ID为用户证书的序号。
实施例二
基于同一发明构思,本申请实施例提供了一种区块链证书兼容性处理方法,为区块链节点端的实现方案,下面进行说明。
图2示出了本申请实施例二中区块链证书兼容性处理方法实施的流程示意图。
如图所示,所述区块链证书兼容性处理方法包括:
步骤201、接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
步骤202、获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
步骤203、根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
本申请实施例中提供的区块链证书兼容性处理方法,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
在一种实施方式中,在所述接收区块链节点发送的证书验证请求之前,进一步包括:
获取非本平台签发的节点证书;
在所述非本平台签发的节点证书有效时,为所述非本平台签发的节点证书生成License文件;所述License文件包括节点证书ID和节点硬件信息;
将所述License文件发送给所述区块链节点。
在一种实施方式中,所述根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性,包括以下一种或多种:
校验所述节点证书的有效性;
校验所述License的签名;
校验所述License的有效期;
校验公钥与预先存储的公钥是否一致;
校验所述区块链节点的节点硬件信息与所述License文件中的节点硬件信息是否一致;
校验所述License文件中的节点证书ID与所述请求中的节点证书ID是否匹配。
在一种实施方式中,所述方法进一步包括:
向CA服务发送用户客户端的用户ID、用户证书ID以及用户证书;
接收CA服务签发后的用户证书ID、用户证书以及根证书;
在验证证书合法后生成发送交易的匿名证书私钥;
将用户ID和所请求的匿名证书列表发送给CA服务;所述匿名证书列表中包括匿名证书ID及对应的证书;
接收CA服务签发后的用户证书ID及对应的用户证书。
在一种实施方式中,所述方法进一步包括:
在用户客户端每次进行交易时,利用相应的用户证书ID私钥对所述交易进行签名。
在一种实施方式中,所述方法进一步包括:
在用户客户端回溯相关交易时,从本地查询该用户ID的所有证书信息;
遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
实施例三
基于同一发明构思,本申请实施例提供了一种区块链证书兼容性处理装置,该装置解决技术问题的原理与实施例一所述的区块链证书兼容性处理方法相似,重复之处不再赘述。
图3示出了本申请实施例三中区块链证书兼容性处理装置的结构示意图。
如图所示,所述区块链证书兼容性处理装置包括:
第一接收模块301,用于接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
签发模块302,用于利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
发送模块303,用于将所述License文件发送给所述区块链节点。
本申请实施例中提供的区块链证书兼容性处理装置,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
在一种实施方式中,所述装置进一步包括:
本平台签发模块,用于若所述区块链节点使用的是本平台自签发的节点证书,所述请求中包括所述本平台自签发的节点证书;根据所述本平台自签发的节点证书、根证书私钥以及有效期为所述区块链节点签发证书;将所述本平台自签发的节点证书、节点证书ID和根证书发送给所述区块链节点。
在一种实施方式中,所述装置进一步包括:
用户证书签发模块,用于接收用户客户端提供的用户ID、用户证书ID以及用户证书;为所述用户客户端签发证书,并将所述用户客户端提供的用户ID、用户证书ID以及用户证书以用户ID为主键存储在用户证书列表;将签发后的用户证书ID、用户证书以及根证书发送给所述用户客户端。
在一种实施方式中,所述装置进一步包括:
用户证书签发模块,用于接收用户客户端提供的用户ID和所请求的匿名证书列表;为所述用户客户端签发证书,并以用户ID为主键将所述匿名证书列表中的证书ID及对应的证书存储在用户证书列表;将签发后的用户证书ID、用户证书发送给所述用户客户端。
在一种实施方式中,所述装置进一步包括:
第一用户交易回溯模块,用于接收用户客户端的证书查询请求;查询所述用户客户端的用户ID对应的所有证书;遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
实施例四
基于同一发明构思,本申请实施例提供了一种区块链证书兼容性处理装置,该装置解决技术问题的原理与实施例二所述的区块链证书兼容性处理方法相似,重复之处不再赘述。
图4示出了本申请实施例四中区块链证书兼容性处理装置的结构示意图。
如图所示,所述区块链证书兼容性处理装置包括:
第二接收模块401,用于接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
获取模块402,用于获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
校验模块403,用于根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
本申请实施例中提供的区块链证书兼容性处理装置,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
在一种实施方式中,在所述接收区块链节点发送的证书验证请求之前,进一步包括:
License生成模块,用于获取非本平台签发的节点证书;在所述非本平台签发的节点证书有效时,为所述非本平台签发的节点证书生成License文件;所述License文件包括节点证书ID和节点硬件信息;将所述License文件发送给所述区块链节点。
在一种实施方式中,所述装置进一步包括:
匿名证书请求模块,用于接收CA服务签发后的用户证书ID、用户证书以及根证书;在验证证书合法后生成发送交易的匿名证书私钥;将用户ID和所请求的匿名证书列表发送给CA服务;所述匿名证书列表中包括匿名证书ID及对应的证书。
在一种实施方式中,所述装置进一步包括:
用户交易签名模块,用于在用户客户端每次进行交易时,利用相应的用户证书ID私钥对所述交易进行签名。
在一种实施方式中,所述装置进一步包括:
第二用户交易回溯模块,用于在用户客户端回溯相关交易时,从本地查询该用户ID的所有证书信息;遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
实施例五
基于同一发明构思,本申请实施例还提供一种计算机存储介质,下面进行说明。
所述计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一所述方法的步骤。
本申请实施例中提供的计算机存储介质,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
实施例六
基于同一发明构思,本申请实施例还提供一种计算机存储介质,下面进行说明。
所述计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例二所述方法的步骤。
本申请实施例中提供的计算机存储介质,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
实施例七
基于同一发明构思,本申请实施例还提供一种电子设备,下面进行说明。
图5示出了本申请实施例七中电子设备的结构示意图。
如图所示,所述电子设备包括存储器501、以及一个或多个处理器502,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如实施例一所述的方法。
本申请实施例中提供的电子设备,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
实施例八
基于同一发明构思,本申请实施例还提供一种电子设备,下面进行说明。
图6示出了本申请实施例八中电子设备的结构示意图。
如图所示,所述电子设备包括存储器601、以及一个或多个处理器602,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如实施例二所述的方法。
本申请实施例中提供的电子设备,为了解决第三方签发的证书不兼容的问题,将证书ID和节点硬件信息写入License文件,实现证书与License文件的有效绑定,后续即可通过验证License文件信息内容完成CA服务端以及节点端的证书验证,实现平台的自签发证书与其它机构签发的证书的兼容性使用。
实施例九
为了便于本申请的实施,本申请实施例以一具体实例进行说明。
本申请实施例提出一种基于区块链CA证书兼容性和匿名性处理方法,基于区块链平台,通过将证书ID、硬件信息等内容写入到LICENSE文件,通过验证其LICENSE文件信息内容,实现平台的自签发证书与其它机构证书兼容。在证书的使用过程中,客户端如果一直使用同一份证书去签名交易,可以向区块链网络查询区块链所有交易信息关联出客户端的所有交易,进而暴露客户端的隐私,本申请实施例中客户端通过将证书私钥与交易id等信息集合的方式派生出新的证书,客户端通过对每笔交易都使用不同的证书去签名,从而保证客户端交易的匿名性。
图7示出了本申请实施例九中区块链实现架构示意图。
如图所示,本申请实施例区块链架构包括以下对象主体:
1)用户客户端;
2)CA服务,用于管理CA证书的服务;
3)区块链节点,区块链网络中的任一节点。
图8示出了本申请实施例九中区块链实现方法实施的流程示意图。
如图所示,本申请实施例所述的区块链CA证书兼容性和匿名性处理方法,包括以下步骤:
步骤80、节点向CA服务方请求节点证书。
节点证书的使用有两种情况,一种是用户自己提供的节点证书(可能由第三方平台签发),另一种是使用本平台(即CA服务方)自签发的节点证书。
如果使用平台CA服务自签发的节点证书,步骤80具体包括:
步骤8011、节点方向CA服务方提供身份信息;
若角色为企业,身份信息则为{企业或机构资质复印件(例如营业执照等)、法人身份信息、单位社保识别号};
若角色为个人,身份信息则为{身份证号、姓名、电话号码、身份复印件信息}。
步骤8012、CA服务方校验和审核节点方提供的身份信息的有效性;
步骤8013、节点通过节点信息NodeRequestCA(生成路径,节点名称,组织机构名称,联系邮箱,证书口令(明文))创建节点证书私钥node.pem和节点证书node.crt;
步骤8014、节点将证书发送至CA服务方,即Send(node.crt(节点证书));
步骤8015、CA服务方按照节点提供的节点证书node.crt、根证书私钥ca.pem、有效期为节点签发证书,并将证书ID、节点证书存储在CA服务,即Save(证书ID,节点证书node.crt);
步骤8016、CA服务方返回证书ID、根证书、节点证书给节点,即Send(节点证书node.crt,证书ID,根证书ca.crt)。
若节点使用的是第三方签发的证书,步骤80具体包括:
步骤8021、节点将证书提交至本平台,本平台验证所述证书的有效性(包括证书是否为权威机构签发、是否已被吊销、是否过期等),为该证书生成License文件,将所述License文件发送给节点;
具体的,License文件可以为利用签名私钥对以下内容进行签名得到:
LicenseID:License文件的序列号;
签发平台信息;
证书ID;
节点硬件信息;
有效期(格式可以为“开始时间/结束时间”);
签名公钥;
除此之外,还可以包括公司名称、版本号以及其他附加信息。
步骤8022、节点通过获取信息结构即getNodeInfo()获取以下信息并提供给CA服务:
{char_id(链id),authority(发行者信息),certificate_path(证书路径),subject(证书拥有者身份信息),hardware(节点主机硬件信息),version(版本),days(有效期),extra_data(附加信息),节点身份信息}。
步骤8023、CA服务方校验和审核节点方提供的信息的有效性;
步骤8024、CA服务方根据签发License的私钥node_key以及节点提供的信息签发License文件;
步骤8025、CA服务方将License文件发送给节点,即Send(License)。
节点请求得到证书和License文件后即可进行下一环节,即:
步骤81、区块链节点验证证书和License文件;
具体的,步骤81可以包括:
步骤811、节点程序启动;
步骤812、节点程序加载证书load(*.crt)和加载License文件load(license);
步骤813、通过getCAinfo()获取证书内容,通过getHDinfo()获取节点的CPU、网卡等硬件信息,通过getCHainNode()获取节点信息;
步骤814、校验证书和License的有效性;
具体包括:CA证书的有效性、License签名,公钥和内置是否一致,硬件是否一致,License有效期,License证书ID与CA证书的ID是否匹配等。
使用第三方签发的证书通过本平台认证,由于第三方签发证书存在格式不同等问题,通过License文件实现证书信息的有效绑定,从而达到与第三方证书兼容使用的目的。
节点验证完证书和License文件之后,即可执行下一步骤。
步骤82、用户客户端向CA服务请求用户证书;
具体实施时,步骤82具体包括:
步骤821、用户客户端需要提供身份信息,若颁发者角色为企业需要提供的身份信息为{企业或机构资质复印件(营业执照等)、法人身份信息,单位社保识别号}、为个人需要提供{身份证号,姓名,电话号码,身份复印件信息},并将以上信息提供给CA服务方;
步骤822、CA服务方校验和审核节点方提供的身份信息的有效性;
步骤823、用户客户端通过本地信息创建客户端用户证书私钥user0.pem和证书user0.crt;其中,本地信息包括{生成路径,节点名称,组织机构名称,联系邮箱,证书口令(明文)};
步骤824、用户客户端将用户证书{user_id,NO.(0),user0.crt}发送给CA服务方,其中user_id为用户id,NO.为序号,0表示用户证书,1开始为用户发送交易需要的证书,user0.crt为用户证书;
步骤825、CA服务方将用户提供证书user0.crt、根证书私钥ca.pem、有效期为节点签发证书,并将{user_id,NO.(0),证书id,user0.crt}信息以user_id为主键存储在用户证书列表user_id_list中,返回{证书文件(user0.crt),证书id,根证书ca.crt}信息给用户客户端;
步骤826、用户客户端生成发送交易的匿名证书私钥;
在生成匿名证书私钥之前先验证证书的合法性Verify(user0.crt)(包括有效期授权信息是否合法等)。
生成匿名证书私钥的具体原理如下:
利用下式为用户生成匿名私钥随机数的熵:
user1_entropy=Hash(Hash(user0.pem)+Hash(user0.crt)+Hash(user_id,1))
其中,Hash()为密码学哈希函数,定义为{0,1}*→Fq;user0.pem为用户初始证书私钥;user0.crt为用户初始证书;user.id为用户在CA服务注册使用的用户ID;1位序号,用来保持随机熵的唯一性,从而保证用户证书私钥的唯一性,间接保证用户证书的唯一性。
用户证书私钥随机数为:
user1_rand=rand(user1_entropy)
其中,rand()为随机函数,user1_entropy为随机函数rand产生随机数的唯一熵。
用户匿名证书的私钥为:
user1_key=GenerateCAKeys(user1_rand)
其中,GenerateCAKeys()为证书私钥生成函数。
out_msg=UserRequestCA(org,name,user1_key,type)
其中,org为组织名称;name为域名,例如:cn代表中国;user1_key为用户签发证书的私钥;type为PEM,以“---BEGIN...”开头、以“---END...”结尾,内容是BASE64编码,DER为二进制格式,不可读,默认采用PEM格式。
经CAFormat(out_msg)进行证书格式化之后,得到user1.pem和user1.crt。
采用本申请实施例的方法,只需要存储用户初始私钥user0.pem,其他user1.pem等私钥可以经过变换得到,通过序号保证其唯一性,进而保证不同用户证书签发交易的唯一性,达到匿名的效果。
步骤827、用户客户端发送证书请求给CA服务方,请求中包括用户ID和所请求的匿名证书列表,即Send(user_id,list{(1,user1.crt),...,(n,usern.crt)}),匿名证书列表中包括匿名证书生成的序号{1,...,n}以及用户本地生成的证书文件{user1.crt,...,usern.crt};其中,序号{1,...,n}为标识匿名证书的唯一标识符,在首次请求时序号为1~n,若非首次请求则为后续的具体序号,每生成一个证书序号自动加1;
用户客户端支持批量请求和单个请求,批量请求为n为请求证书的个数,单个请求时n为1。
步骤828、CA服务方根据用户客户端提供的证书{user1.crt,...,usern.crt}、根证书私钥ca.pem、有效期为用户签发证书,即,MakeEntity(ca.pem,day,list{user1.crt,…,usern.crt}),并将证书以用户user_id为主键,插入存储到用户证书列表user_id_list中,即:insert{user_id,list{(NO.(1),证书id1,user1.crt),…,(NO.(n),证书idn,usern.crt)}};
CA服务方返回Send(list{(证书文件(user1.crt),证书id1),…,(证书文件(usern.crt),证书idn)})发送给用户客户端。
用户客户端得到CA服务签发的证书列表后,即可进行下一步骤。
步骤83、用户客户端向区块链网络发送交易;
具体的,可以包括:
步骤831、用户客户端验证匿名证书的有效性Verify(user1.crt)(包括验证证书授权和有效期等);
步骤832、用户客户端组装交易tx={msg,sig,id};
其中,msg为交易的原始内容;sig为用户证书user1.pem私钥对msg的签名,sig=(msg,user1.pem)。
步骤833、用户客户端发送交易给区块链网络,即Send(tx);
在用户客户端想要回溯自己的交易时,可进行下一步骤。
步骤84、用户客户端回溯相关交易;
具体的,可以包括:
步骤841、用户客户端从本地服务数据库查询用户的所有证书信息,得到用户证书列表{user1.crt,…,usern.crt};
步骤842、用户客户端通过最新区块信息,遍历区块交易;
对每个区块交易验证签名信息,Verify(userx.crt,sigx);其中,userx.crt为用户签发交易证书的任一证书,sigx为区块的交易;
如果验证通过,则将交易信息和执行结果存储在本地;
步骤85、CA服务审核指定用户的相关交易;
具体的,可以包括:
步骤851、用户客户端从CA服务数据库通过user.id查询用户的所有证书信息,得到用户证书列表{user1.crt,…,usern.crt};
步骤852、CA服务方通过创世区块回放,遍历区块交易;
对每个区块交易验证签名信息,Verify(userx.crt,sigx);其中,userx.crt为用户签发交易证书的任一证书,sigx为区块的交易;
如果验证通过,则将交易信息和执行结果存储在本地;
步骤853、平台监管方通过审核用户相关交易。
本申请实施例通过License文件实现了第三方证书的兼容性,并通过序号标识用户的不同证书使该用户的交易不可链接,确保了匿名性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种区块链证书兼容性处理方法,其特征在于,包括:
接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
将签发后的所述License文件发送给所述区块链节点。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
若所述区块链节点使用的是本平台自签发的节点证书,所述请求中包括所述本平台自签发的节点证书;
根据所述本平台自签发的节点证书、根证书私钥以及有效期为所述区块链节点签发证书;
将所述本平台自签发的节点证书、节点证书ID和根证书发送给所述区块链节点。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
接收用户客户端提供的用户ID、用户证书ID以及用户证书;
为所述用户客户端签发证书,并将所述用户客户端提供的用户ID、用户证书ID以及用户证书以用户ID为主键存储在用户证书列表;
将签发后的用户证书ID、用户证书以及根证书发送给所述用户客户端。
4.根据权利要求3所述的方法,其特征在于,进一步包括:
接收用户客户端提供的用户ID和所请求的匿名证书列表;
为所述用户客户端签发证书,并以用户ID为主键将所述匿名证书列表中的证书ID及对应的证书存储在用户证书列表;
将签发后的用户证书ID、用户证书发送给所述用户客户端。
5.根据权利要求4所述的方法,其特征在于,进一步包括:
接收用户客户端的证书查询请求;
查询所述用户客户端的用户ID对应的所有证书;
遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
6.一种区块链证书兼容性处理方法,其特征在于,包括:
接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
7.根据权利要求6所述的方法,其特征在于,在所述接收区块链节点发送的证书验证请求之前,进一步包括:
获取非本平台签发的节点证书;
在所述非本平台签发的节点证书有效时,为所述非本平台签发的节点证书生成License文件;所述License文件包括节点证书ID和节点硬件信息;
将所述License文件发送给所述区块链节点。
8.根据权利要求6所述的方法,其特征在于,所述根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性,包括以下一种或多种:
校验所述节点证书的有效性;
校验所述License的签名;
校验所述License的有效期;
校验公钥与预先存储的公钥是否一致;
校验所述区块链节点的节点硬件信息与所述License文件中的节点硬件信息是否一致;
校验所述License文件中的节点证书ID与所述请求中的节点证书ID是否匹配。
9.根据权利要求6所述的方法,其特征在于,进一步包括:
向CA服务发送用户客户端的用户ID、用户证书ID以及用户证书;
接收CA服务签发后的用户证书ID、用户证书以及根证书;
在验证证书合法后生成发送交易的匿名证书私钥;
将用户ID和所请求的匿名证书列表发送给CA服务;所述匿名证书列表中包括匿名证书ID及对应的证书;
接收CA服务签发后的用户证书ID及对应的用户证书。
10.根据权利要求9所述的方法,其特征在于,进一步包括:
在用户客户端每次进行交易时,利用相应的用户证书ID私钥对所述交易进行签名。
11.根据权利要求10所述的方法,其特征在于,进一步包括:
在用户客户端回溯相关交易时,从本地查询该用户ID的所有证书信息;
遍历区块交易,验证每个区块交易中的证书,得到该用户ID的所有交易。
12.根据权利要求3或9所述的方法,其特征在于,所述用户证书ID为用户证书的序号。
13.一种区块链证书兼容性处理装置,其特征在于,包括:
第一接收模块,用于接收区块链节点发送的节点证书请求,若所述区块链节点使用的是非本平台签发的节点证书,所述请求中包括所述非本平台签发的节点证书、节点硬件信息、节点信息以及经License私钥签名的所述非本平台签发的节点证书对应的License文件;所述License文件包括节点证书ID和节点硬件信息;
签发模块,用于利用预先存储的License私钥以及所述请求中包括的所述非本平台签发的节点证书、硬件信息和节点信息对所述License文件进行签发;
发送模块,用于将签发后的所述License文件发送给所述区块链节点。
14.一种区块链证书兼容性处理装置,其特征在于,包括:
第二接收模块,用于接收区块链节点发送的证书验证请求,若所述区块链节点验证的是非本平台签发的节点证书,所述请求中包括节点证书和经License私钥签名的所述节点证书对应的License文件;所述License文件包括节点证书ID、节点硬件信息和节点信息;
获取模块,用于获取节点证书、以及所述区块链节点的节点硬件信息和节点信息;
校验模块,用于根据所述节点证书、节点硬件信息以及节点信息校验所述请求中的节点证书和License的有效性。
15.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一所述方法的步骤。
16.一种电子设备,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至5任一所述的方法。
17.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求6至12任一所述方法的步骤。
18.一种电子设备,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求6至12任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010337028.XA CN111555887B (zh) | 2020-04-26 | 2020-04-26 | 区块链证书兼容性处理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010337028.XA CN111555887B (zh) | 2020-04-26 | 2020-04-26 | 区块链证书兼容性处理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111555887A CN111555887A (zh) | 2020-08-18 |
CN111555887B true CN111555887B (zh) | 2023-08-15 |
Family
ID=72007738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010337028.XA Active CN111555887B (zh) | 2020-04-26 | 2020-04-26 | 区块链证书兼容性处理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555887B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221090A (zh) * | 2021-05-19 | 2021-08-06 | 中国银行股份有限公司 | 基于区块链的金融系统数字证书管理方法、装置及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747851B1 (en) * | 2004-09-30 | 2010-06-29 | Avaya Inc. | Certificate distribution via license files |
EP2595079A1 (en) * | 2011-11-17 | 2013-05-22 | Sony Corporation | Information processing apparatus, information storage apparatus, information processing system, information processing method, and program |
CN103491097A (zh) * | 2013-09-30 | 2014-01-01 | 华中师范大学 | 基于公钥密码体制的软件授权系统 |
CN108206821A (zh) * | 2016-12-20 | 2018-06-26 | 航天信息股份有限公司 | 一种身份认证的方法及系统 |
CN108768652A (zh) * | 2018-06-06 | 2018-11-06 | 杭州趣链科技有限公司 | 一种可抗量子攻击的联盟区块链底层加密方法 |
CN109086575A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种软件许可证的授权方法和系统 |
CN109560939A (zh) * | 2019-01-29 | 2019-04-02 | 张超 | 一种区块链的出块方法和装置 |
CN109922039A (zh) * | 2019-01-14 | 2019-06-21 | 湘潭大学 | 一种基于区块链技术的半中心化的身份管理方法 |
CN110224818A (zh) * | 2019-06-03 | 2019-09-10 | 北京信安世纪科技股份有限公司 | 跨浏览器的签名license控制方法 |
CN110268678A (zh) * | 2017-02-14 | 2019-09-20 | 科因普拉格株式会社 | 使用智能合约及区块链数据库通过基于pki的认证代理用户的登录的方法及利用其的服务器 |
CN110335147A (zh) * | 2019-05-29 | 2019-10-15 | 西安电子科技大学 | 一种基于区块链的数字资产信息交换系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159333B2 (en) * | 2018-06-25 | 2021-10-26 | Auth9, Inc. | Method, computer program product and apparatus for creating, registering, and verifying digitally sealed assets |
-
2020
- 2020-04-26 CN CN202010337028.XA patent/CN111555887B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747851B1 (en) * | 2004-09-30 | 2010-06-29 | Avaya Inc. | Certificate distribution via license files |
EP2595079A1 (en) * | 2011-11-17 | 2013-05-22 | Sony Corporation | Information processing apparatus, information storage apparatus, information processing system, information processing method, and program |
CN103491097A (zh) * | 2013-09-30 | 2014-01-01 | 华中师范大学 | 基于公钥密码体制的软件授权系统 |
CN108206821A (zh) * | 2016-12-20 | 2018-06-26 | 航天信息股份有限公司 | 一种身份认证的方法及系统 |
CN110268678A (zh) * | 2017-02-14 | 2019-09-20 | 科因普拉格株式会社 | 使用智能合约及区块链数据库通过基于pki的认证代理用户的登录的方法及利用其的服务器 |
CN108768652A (zh) * | 2018-06-06 | 2018-11-06 | 杭州趣链科技有限公司 | 一种可抗量子攻击的联盟区块链底层加密方法 |
CN109086575A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种软件许可证的授权方法和系统 |
CN109922039A (zh) * | 2019-01-14 | 2019-06-21 | 湘潭大学 | 一种基于区块链技术的半中心化的身份管理方法 |
CN109560939A (zh) * | 2019-01-29 | 2019-04-02 | 张超 | 一种区块链的出块方法和装置 |
CN110335147A (zh) * | 2019-05-29 | 2019-10-15 | 西安电子科技大学 | 一种基于区块链的数字资产信息交换系统及方法 |
CN110224818A (zh) * | 2019-06-03 | 2019-09-10 | 北京信安世纪科技股份有限公司 | 跨浏览器的签名license控制方法 |
Non-Patent Citations (1)
Title |
---|
杨慧妍 ; 赵子玉 ; .证据法视角下"区块链"存证技术认知.云南警官学院学报.2020,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111555887A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021206913B2 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
US10903996B2 (en) | Persona selection using trust scoring | |
US10382427B2 (en) | Single sign on with multiple authentication factors | |
US6438690B1 (en) | Vault controller based registration application serving web based registration authorities and end users for conducting electronic commerce in secure end-to-end distributed information system | |
US20170346639A1 (en) | Public Key Infrastructure based on the Public Certificates Ledger | |
CN109241726B (zh) | 一种用户权限控制方法及装置 | |
US9100171B1 (en) | Computer-implemented forum for enabling secure exchange of information | |
KR102280061B1 (ko) | 블록체인 기반의 did를 이용한 법인 관련 증명서 발급 시스템 및 방법 | |
US20100250955A1 (en) | Brokered information sharing system | |
CN114008971A (zh) | 将分散标识符绑定到已验证声明 | |
EP4121879A1 (en) | Access token for a verifiable claim | |
US11587084B2 (en) | Decentralized identification anchored by decentralized identifiers | |
US11411736B2 (en) | Automatic renewal of a verifiable claim | |
CN114666168B (zh) | 去中心化身份凭证验证方法、装置,以及,电子设备 | |
WO2020242584A1 (en) | Dynamic generation of pseudonymous names | |
CN111555887B (zh) | 区块链证书兼容性处理方法、装置及计算机存储介质 | |
EP4018614B1 (en) | Did delegation/revocation to another did | |
EP3991352A1 (en) | Presentation interrupt for a did attestation | |
Bang et al. | Design of personal data protection decentralized model using blockchain and IPFS | |
US12021868B2 (en) | Securing authentication flows using a decentralized identifier | |
CN117478295A (zh) | 一种区块链数字身份服务系统与方法 | |
WO2021154999A1 (en) | Issuing verifiable pairwise claims | |
CN114266574A (zh) | 一种基于区块链平台的各业务系统间权限校验方法 | |
Corella et al. | A Proposed Architecture for the NSTIC Ecosystem |
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 |