CN114500051B - 一种基于区块链的证书管理方法及系统 - Google Patents

一种基于区块链的证书管理方法及系统 Download PDF

Info

Publication number
CN114500051B
CN114500051B CN202210096517.XA CN202210096517A CN114500051B CN 114500051 B CN114500051 B CN 114500051B CN 202210096517 A CN202210096517 A CN 202210096517A CN 114500051 B CN114500051 B CN 114500051B
Authority
CN
China
Prior art keywords
certificate
peer node
fingerprint
block chain
validcertcf
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
CN202210096517.XA
Other languages
English (en)
Other versions
CN114500051A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202210096517.XA priority Critical patent/CN114500051B/zh
Publication of CN114500051A publication Critical patent/CN114500051A/zh
Application granted granted Critical
Publication of CN114500051B publication Critical patent/CN114500051B/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • 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

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

本发明涉及一种基于区块链的证书管理方法及系统,其方法包括:S1:服务器在证书注册申请过程中用私钥向CA发送签名,CA使用私钥进行签名,然后发给区块链的peer节点;peer节点验证服务器和CA对证书的签名均正确后,生成CertInfo数据结构,并将证书指纹插入到validCertCF中;S2:服务器或CA发现待撤销证书时,签名后发给peer节点;peer节点验证签名之一正确后,peer节点将证书指纹从validCertCF删除后插入revokedCertCF;S3:客户端向peer节点发送证书验证请求,peer节点根据Hashcert查询revokedCertCF或validCertCF是否存在证书指纹,结合区块链交易信息确定证书状态;S4:CA将删除请求发送给peer节点,peer节点验证证书的有效期后,将过期证书的指纹从validCertCF或revokedCertCF中删除。

Description

一种基于区块链的证书管理方法及系统
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的证书管理方法及系统。
背景技术
公钥基础设施(PKI)通过使用非对称加密技术和数字证书,来保证通信数据的机密性、完整性、可用性和不可抵赖性,从而实现对网络通信过程中的敏感数据和用户隐私的保护。在PKI中,数字证书包括证书拥有者的公钥及相关身份信息,证书颁发机构(CA)对每个数字证书进行数字签名以声明证书拥有者身份与证书的绑定。由于证书私钥泄露、证书主体更改或其他原因,证书需要在有效性内被撤销。
已有方法如证书撤销列表(CRL)和在线证书状态协议(OCSP),由于是中心化架构,容易单点故障而影响证书状态验证服务的可用性。CRL周期性的发布被撤销证书的序列号,不能及时分发撤销证书的信息,而且随着云计算和物联网的发展,数字证书规模变大,CRL的长度也越来越大,导致证书验证过程中的通信开销和时延增加。此外,用于更新证书状态的CA在PKI系统中管理证书的权利过大,恶意CA会因主观或客观因素颁发虚假证书以及不能及时处理证书撤销请求。
区块链技术为分布式证书撤销方案提供了一种新的方法。利用区块链去中心化、不可篡改性、公开透明等优点可以建立一个分布式的可公开审计的证书撤销系统,以解决集中式方案带来的安全问题。证书有关操作都记录在区块链上,区块链保证了证书操作记录不被篡改,通过对证书操作记录溯源可以达到公开审计的效果。尽管现有的基于区块链的证书撤销方案在一定程度上解决了传统方案的单点故障问题,但仍有几个问题需要解决:
证书状态验证效率受到限制。已有的方法在验证证书状态时,需要检索区块链上和待验证证书相关的事务,区块链的遍历检索机制限制了证书状态的验证效率。
证书更新间隔长。现有的大多数方法在区块链上分发的证书撤销信息的来源是CRL,因此它们的更新周期与CRL相同。此外,证书的撤销对CA的依赖性较强,行为不端的CA可能会延迟分发证书撤销信息。
发明内容
为了解决上述技术问题,本发明提供一种基于区块链的证书管理方法及系统。
本发明技术解决方案为:一种基于区块链的证书管理方法,包括:
步骤S1:证书注册:服务器在证书注册申请过程中使用私钥CSKsub向CA发送签名
Figure BDA0003490997970000021
CA验证后使用私钥CSKCA对证书进行签名
Figure BDA0003490997970000022
然后发给区块链中的peer节点;所述peer节点利用公钥CPKsub和CPKCA验证所述私钥CSKsub和CSKCA的签名
Figure BDA0003490997970000023
Figure BDA0003490997970000024
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
步骤S2:证书撤销:所述服务器或CA发现待撤销证书时,使用所述私钥CSKsub或CSKCA对所述待撤销证书进行签名
Figure BDA0003490997970000025
Figure BDA0003490997970000026
后发给所述peer节点;所述peer节点利用公钥CPKsub或CPKCA验证所述签名
Figure BDA0003490997970000027
Figure BDA0003490997970000028
之一正确后,所述peer节点将所述证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将所述证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
步骤S3:证书验证:客户端向所述peer节点发送证书验证请求,所述peer节点首先根据所述证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当所述validCertCF也返回证书指纹存在时,则所述peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获所述证书的当前状态;
步骤S4:证书删除:CA将包含证书唯一标识符IDcert的删除请求发送给所述peer节点,所述peer节点查询所述证书的有效期,如果所述有效期小于当前日期,则将所述证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到所述区块链的账本中。
本发明与现有技术相比,具有以下优点:
1、本发明公开了一种基于区块链的证书管理方法,可确保证书操作记录和证书当前状态不可篡改,可溯源;提高证书状态验证的效率和可用性。
2、本发明提供的分布式证书管理方法,能够抵抗DOS攻击和单点故障引起的证书验证服务失效,分散CA在证书管理过程中的权力,可以及时分发证书撤销信息。
附图说明
图1为本发明实施例中证书操作在区块链中的存储结构示意图;
图2为本发明实施例中一种基于区块链的证书管理方法的流程图;
图3为本发明实施例中一种基于区块链的证书管理方法的系统框架示意图;
图4为本发明实施例中一种基于区块链的证书管理系统的结构框图。
具体实施方式
本发明提供了一种基于区块链的证书管理方法,提高证书状态验证和证书撤销信息分发的效率。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
为了更好理解以下实施例,首先对于本发明实施例中的证书操作在区块链中的存储结构进行说明。
如图1所示,为证书操作在区块链中的存储结构。
区块链以链的方式连接每个区块,每个区块头都包含上一个区块的哈希值;
每个区块中包含的交易的哈希值以Merkle树的方式存储;
每个区块内容包括区块头和区块体,区块头中包括区块序列号Number,前一个区块的区块头哈希值PreHash,前一个区块的区块体哈希值PreDataHash;区块体包括数据字段Data和数据的关键元信息Metadata,Data包含该区块所有交易哈希值构成的Merkle树根值MerkleRoot;
每个交易内容包括CertInfo、validCertCF和revokedCertCF。
CertInfo中包括证书唯一标识符IDcert,证书有效期Validity,证书哈希值Hashcert,证书颁发机构CA,CA事务发布公钥CPKCA,证书主体Subject,证书主体事务发布公钥CPKsub,操作码OperCode,OperCode为0时表示证书注册操作,为1时表示证书撤销操作。
validCertCF是用来存储已注册未被撤销的证书的指纹的布谷鸟过滤器,revokedCertCF是用来存储已被撤销的证书的指纹的布谷鸟过滤器。validCertCF和revokedCertCF是对偶的,即每个证书的指纹只能存储在validCertCF或者revokedCertCF其一,不能同时存在。
本发明实施例的区块链由peer节点维护,保证账本的一致性。客户端,服务器和CA都可以兼任peer节点,参与账本的维护。
实施例一
如图2所示,本发明实施例提供的一种基于区块链的证书管理方法,包括下述步骤:
步骤S1:证书注册:服务器在证书注册申请过程中使用私钥CSKsub向CA发送签名
Figure BDA0003490997970000041
CA验证后使用私钥CSKCA对证书进行签名
Figure BDA0003490997970000042
然后发给区块链中的peer节点;peer节点利用公钥CPKsub和CPKCA验证私钥CSKsub和CSKCA的签名
Figure BDA0003490997970000043
Figure BDA0003490997970000044
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到区块链的账本中;
步骤S2:证书撤销:服务器或CA发现待撤销证书时,使用私钥CSKsub或CSKCA对待撤销证书进行签名
Figure BDA0003490997970000045
Figure BDA0003490997970000046
后发给peer节点;peer节点利用公钥CPKsub或CPKCA验证签名
Figure BDA0003490997970000047
Figure BDA0003490997970000048
之一正确后,peer节点将证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到区块链的账本中;
步骤S3:证书验证:客户端向peer节点发送证书验证请求,peer节点首先根据证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当validCertCF也返回证书指纹存在时,则peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获证书的当前状态;
步骤S4:证书删除:CA将包含证书唯一标识符IDcert的删除请求发送给peer节点,peer节点查询证书的有效期,如果有效期小于当前日期,则将证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到区块链的账本中。
如图3所示,在一个实施例中,上述步骤S1:证书注册:服务器在证书注册申请过程中向CA发送签名
Figure BDA0003490997970000049
CA验证后使用私钥CSKCA对证书进行签名
Figure BDA00034909979700000410
然后发给区块链中的peer节点;peer节点利用公钥CPKsub和CPKCA验证私钥CSKsub和CSKCA的签名
Figure BDA00034909979700000411
Figure BDA00034909979700000412
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到区块链的账本中,具体包括:
步骤S11:服务器向CA发送证书注册信息;
步骤S12:CA审核证书注册信息,审核通过后,将拟发布的证书发送给服务器;
此时,CA需判断待注册的证书是否有效期内,即Validity需大于当前时间,而且还需判断证书的IDcert是否已经在区块链中存在,以判断是否通过审核。
步骤S13:服务器收到拟发布的证书后,使用私钥CSKsub向CA发送签名
Figure BDA0003490997970000051
步骤S14:CA验证后,使用私钥CSKCA对拟发布的证书进行签名
Figure BDA0003490997970000052
并将注册申请材料和签名发给区块链中的peer节点;
步骤S15:peer节点利用公钥CPKsub和CPKCA验证私钥CSKsub和CSKCA的签名
Figure BDA0003490997970000053
Figure BDA0003490997970000054
均正确后,按照证书注册信息生成CertInfo数据结构,其中,操作码OperCode置为0,并将证书指纹插入到validCertCF中;
步骤S16:将该证书注册的交易信息经peer节点广播、验证后存储到区块链的账本中。
如下所示为证书注册的伪码:
Figure BDA0003490997970000055
在一个实施例中,上述步骤S2:证书撤销:服务器或CA发现待撤销证书时,使用私钥CSKsub或CSKCA对待撤销证书进行签名
Figure BDA0003490997970000056
Figure BDA0003490997970000057
后发给peer节点;peer节点利用公钥CPKsub或CPKCA验证签名
Figure BDA0003490997970000058
Figure BDA0003490997970000059
之一正确后,peer节点将证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到区块链的账本中,具体包括:
步骤S21:服务器或CA发现待撤销证书时,使用私钥CSKsub或CSKCA对待撤销证书进行签名
Figure BDA0003490997970000061
Figure BDA0003490997970000062
将证书唯一标识符IDcert和签名发给peer节点;
步骤S22:peer节点利用公钥CPKsub或CPKCA验证签名
Figure BDA0003490997970000063
Figure BDA0003490997970000064
之一正确后,根据证书对应的CertInfo中的OperCode字段修改为1,并将证书指纹从validCertCF中删除,并插入到revokedCertCF中;
步骤S23:将该证书撤销的交易信息经peer节点广播、验证后存储到区块链的账本中。
在一个实施例中,上述步骤S3:证书验证:客户端向peer节点发送证书验证请求,peer节点首先根据证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当validCertCF也返回证书指纹存在时,则peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获证书的当前状态,具体包括:
步骤S31:客户端向peer节点发送证书验证请求;
步骤S32:peer节点根据证书唯一标识符IDcert和证书哈希值Hashcert,首先查询revokedCertCF中是否存在该证书指纹,如返回结果为无,则该证书为合法证书,否则执行步骤S33;
步骤S33:查询validCertCF中是否存在该证书指纹,如返回结果为无,则该证书已被撤销,否则执行步骤S34;
步骤S34:查询区块链中的该证书对应的CertInfo,检查其OperCode值,如为0,则表示该证书是合法证书,如为1,则表示该证书已被撤销。
如下所示为证书验证的伪码:
Figure BDA0003490997970000065
Figure BDA0003490997970000071
在一个实施例中,上述步骤S4:证书删除:CA将包含证书唯一标识符IDcert的删除请求发送给peer节点,peer节点查询证书的有效期,如果有效期小于当前日期,则将证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到区块链的账本中,具体包括:
步骤S41:CA将包含证书唯一标识符IDc。rt的删除请求发送给peer节点;
步骤S42:peer节点判断证书的IDcert在区块链中会否存在;如果存在则判断待删除的证书是否在有效期内;如果有效期小于当前时间,将证书指纹从validCertCF或revokedCertCF中删除;
步骤S43:将该证书删除的交易信息经peer节点广播、验证后存储到区块链的账本中。
本发明公开了一种基于区块链的证书管理方法,可确保证书操作记录和证书当前状态不可篡改,可溯源;提高证书状态验证的效率和可用性。本发明提供的分布式证书管理方法,能够抵抗DOS攻击和单点故障引起的证书验证服务失效,分散CA在证书管理过程中的权力,可以及时分发证书撤销信息。
实施例二
如图4所示,本发明实施例提供了一种基于区块链的证书管理系统,包括下述模块:
证书注册模块51,用于服务器在证书注册申请过程中使用私钥CSKsub向CA发送签名
Figure BDA0003490997970000072
CA验证后使用私钥CSKCA对证书进行签名
Figure BDA0003490997970000073
然后发给区块链中的peer节点;peer节点利用公钥CPKsub和CPKCA验证私钥CSKsub和CSKCA的签名
Figure BDA0003490997970000074
Figure BDA0003490997970000075
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到区块链的账本中;
证书撤销模块52,用于服务器或CA发现待撤销证书时,使用私钥CSKsub或CSKCA对待撤销证书进行签名
Figure BDA0003490997970000081
Figure BDA0003490997970000082
后发给peer节点;peer节点利用公钥CPKsub或CPKCA验证签名
Figure BDA0003490997970000083
Figure BDA0003490997970000084
之一正确后,peer节点将证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到区块链的账本中;
证书验证模块53,用于客户端向peer节点发送证书验证请求,peer节点首先根据证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当validCertCF也返回证书指纹存在时,则peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获证书的当前状态;
证书删除模块54,用于CA将包含证书唯一标识符IDcert的删除请求发送给peer节点,peer节点查询证书的有效期,如果有效期小于当前日期,则将证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到区块链的账本中。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (6)

1.一种基于区块链的证书管理方法,其特征在于,包括:
步骤S1:证书注册:服务器在证书注册申请过程中使用私钥CSKsub向CA发送签名
Figure FDA0003490997960000011
CA验证后使用私钥CSKCA对证书进行签名
Figure FDA0003490997960000012
然后发给区块链中的peer节点;所述peer节点利用公钥CPKsub和CPKCA验证所述私钥CSKsub和CSKCA的签名
Figure FDA0003490997960000013
Figure FDA0003490997960000014
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
步骤S2:证书撤销:所述服务器或CA发现待撤销证书时,使用所述私钥CSKsub或CSKCA对所述待撤销证书进行签名
Figure FDA0003490997960000015
Figure FDA0003490997960000016
后发给所述peer节点;所述peer节点利用公钥CPKsub或CPKCA验证所述签名
Figure FDA0003490997960000017
Figure FDA0003490997960000018
之一正确后,所述peer节点将所述证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将所述证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
步骤S3:证书验证:客户端向所述peer节点发送证书验证请求,所述peer节点首先根据所述证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当所述validCertCF也返回证书指纹存在时,则所述peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获所述证书的当前状态;
步骤S4:证书删除:CA将包含证书唯一标识符IDcert的删除请求发送给所述peer节点,所述peer节点查询所述证书的有效期,如果所述有效期小于当前日期,则将所述证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到所述区块链的账本中。
2.根据权利要求1所述的基于区块链的证书管理方法,其特征在于,所述步骤S1:证书注册:服务器在证书注册申请过程中向CA发送签名
Figure FDA00034909979600000112
CA验证后使用私钥CSKCA对证书进行签名
Figure FDA0003490997960000019
然后发给区块链中的peer节点;所述peer节点利用公钥CPKsub和CPKCA验证所述私钥CSKsub和CSKCA的签名
Figure FDA00034909979600000110
Figure FDA00034909979600000111
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到所述区块链的账本中,具体包括:
步骤S11:服务器向CA发送证书注册信息;
步骤S12:CA审核所述证书注册信息,审核通过后,将拟发布的证书发送给所述服务器;
步骤S13:所述服务器收到所述拟发布的证书后,使用私钥CSKsub向CA发送签名
Figure FDA0003490997960000021
步骤S14:CA验证后,使用私钥CSKCA对所述拟发布的证书进行签名
Figure FDA0003490997960000022
并将注册申请材料和签名发给区块链中的peer节点;
步骤S15:所述peer节点利用公钥CPKsub和CPKCA验证所述私钥CSKsub和CSKCA的签名
Figure FDA0003490997960000023
Figure FDA0003490997960000024
均正确后,按照所述证书注册信息生成CertInfo数据结构,其中,操作码OperCode置为0,并将证书指纹插入到validCertCF中;
步骤S16:将该证书注册的交易信息经peer节点广播、验证后经peer节点广播、验证后存储到所述区块链的账本中。
3.根据权利要求1所述的基于区块链的证书管理方法,其特征在于,所述步骤S2:证书撤销:所述服务器或CA发现待撤销证书时,使用所述私钥CSKsub或CSKCA对所述待撤销证书进行签名
Figure FDA0003490997960000025
Figure FDA0003490997960000026
后发给所述peer节点;所述peer节点利用公钥CPKsub或CPKCA验证所述签名
Figure FDA0003490997960000027
Figure FDA0003490997960000028
之一正确后,所述peer节点将所述证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将所述证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到所述区块链的账本中,具体包括:
步骤S21:所述服务器或CA发现待撤销证书时,使用所述私钥CSKsub或CSKCA对所述待撤销证书进行签名
Figure FDA0003490997960000029
Figure FDA00034909979600000210
将证书唯一标识符IDcert和所述签名发给所述peer节点;
步骤S22:所述peer节点利用公钥CPKsub或CPKCA验证所述签名
Figure FDA00034909979600000211
Figure FDA00034909979600000212
之一正确后,根据所述证书对应的CertInfo中的OperCode字段修改为1,并将所述证书指纹从validCertCF中删除,并插入到revokedCertCF中;
步骤S23:将该证书撤销的交易信息经peer节点广播、验证后存储到所述区块链的账本中。
4.根据权利要求1所述的基于区块链的证书管理方法,其特征在于,所述步骤S3:证书验证:客户端向peer节点发送证书验证请求,peer节点根据证书唯一标识符IDcert和证书哈希值Hashcert查询revokedCertCF或validCertCF中是否存在所述证书指纹,以验证所述证书是否合法,具体包括:
步骤S31:客户端向所述peer节点发送证书验证请求;
步骤S32:所述peer节点根据证书唯一标识符IDcert和证书哈希值Hashcert,查询revokedCertCF中是否存在该证书指纹,如返回结果为无,则该证书为合法证书,否则执行步骤S33;
步骤S33:查询validCertCF中是否存在该证书指纹,如返回结果为无,则该证书已被撤销,否则执行步骤S34;
步骤S34:查询区块链中的该证书对应的CertInfo,检查其OperCode值,如为0,则表示该证书是合法证书,如为1,则表示该证书已被撤销。
5.根据权利要求1所述的基于区块链的证书管理方法,其特征在于,所述步骤S4:证书删除:CA将包含证书唯一标识符IDcert的删除请求发送给所述peer节点,所述peer节点查询所述证书的有效期,如果所述有效期小于当前日期,则将所述证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到所述区块链的账本中,具体包括:
步骤S41:CA将包含证书唯一标识符IDcert的删除请求发送给所述peer节点;
步骤S42:所述peer节点判断证书的IDcert在区块链中会否存在;如果存在则判断待删除的证书是否在有效期内;如果所述有效期小于当前时间,将所述证书指纹从validCertCF或revokedCertCF中删除;
步骤S43:将该证书删除的交易信息经peer节点广播、验证后经peer节点广播、验证后存储到所述区块链的账本中。
6.一种基于区块链的证书管理系统,其特征在于,包括下述模块:
证书注册模块,用于服务器在证书注册申请过程中使用私钥CSKsub向CA发送签名
Figure FDA0003490997960000031
CA验证后使用私钥CSKCA对证书进行签名
Figure FDA0003490997960000032
然后发给区块链中的peer节点;所述peer节点利用公钥CPKsub和CPKCA验证所述私钥CSKsub和CSKCA的签名
Figure FDA0003490997960000033
Figure FDA0003490997960000034
均正确后,根据证书注册信息生成CertInfo数据结构,并将证书指纹插入到validCertCF中,将该证书注册的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
证书撤销模块,用于所述服务器或CA发现待撤销证书时,使用所述私钥CSKsub或CSKCA对所述待撤销证书进行签名
Figure FDA0003490997960000041
Figure FDA0003490997960000042
后发给所述peer节点;所述peer节点利用公钥CPKsub或CPKCA验证所述签名
Figure FDA0003490997960000043
Figure FDA0003490997960000044
之一正确后,所述peer节点将所述证书对应的CertInfo中的OperCode字段修改为1,保存新的CertInfo,并将所述证书指纹从validCertCF中删除,并插入到revokedCertCF中,将该证书撤销的交易信息经peer节点广播、验证后存储到所述区块链的账本中;
证书验证模块,用于客户端向所述peer节点发送证书验证请求,所述peer节点首先根据所述证书的哈希值Hashcertt查询revokedCertCF,返回存在证书指纹时,继续查询validCertCF,当所述validCertCF也返回证书指纹存在时,则所述peer节点再根据IDcert查询OperCode字段的值以确定证书是否合法;当revokedCertCF或validCertCF之一返回不存在证书指纹时,获所述证书的当前状态;
证书删除模块,用于CA将包含证书唯一标识符IDcert的删除请求发送给所述peer节点,所述peer节点查询所述证书的有效期,如果所述有效期小于当前日期,则将所述证书指纹从validCertCF或revokedCertCF中删除,将该证书删除的交易信息经peer节点广播、验证后存储到所述区块链的账本中。
CN202210096517.XA 2022-01-26 2022-01-26 一种基于区块链的证书管理方法及系统 Active CN114500051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210096517.XA CN114500051B (zh) 2022-01-26 2022-01-26 一种基于区块链的证书管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210096517.XA CN114500051B (zh) 2022-01-26 2022-01-26 一种基于区块链的证书管理方法及系统

Publications (2)

Publication Number Publication Date
CN114500051A CN114500051A (zh) 2022-05-13
CN114500051B true CN114500051B (zh) 2022-10-11

Family

ID=81477481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210096517.XA Active CN114500051B (zh) 2022-01-26 2022-01-26 一种基于区块链的证书管理方法及系统

Country Status (1)

Country Link
CN (1) CN114500051B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395343A (zh) * 2017-07-10 2017-11-24 腾讯科技(深圳)有限公司 证书管理方法及系统
CN107769925A (zh) * 2017-09-15 2018-03-06 山东大学 基于区块链的公钥基础设施系统及其证书管理方法
US10547457B1 (en) * 2016-10-21 2020-01-28 Wells Fargo Bank N.A. Systems and methods for notary agent for public key infrastructure names
WO2020025128A1 (en) * 2018-08-01 2020-02-06 Nokia Technologies Oy Certificate management
CN112187455A (zh) * 2020-09-24 2021-01-05 西南交通大学 一种基于可编辑区块链的分布式公钥基础设施构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547457B1 (en) * 2016-10-21 2020-01-28 Wells Fargo Bank N.A. Systems and methods for notary agent for public key infrastructure names
CN107395343A (zh) * 2017-07-10 2017-11-24 腾讯科技(深圳)有限公司 证书管理方法及系统
CN107769925A (zh) * 2017-09-15 2018-03-06 山东大学 基于区块链的公钥基础设施系统及其证书管理方法
WO2020025128A1 (en) * 2018-08-01 2020-02-06 Nokia Technologies Oy Certificate management
CN112187455A (zh) * 2020-09-24 2021-01-05 西南交通大学 一种基于可编辑区块链的分布式公钥基础设施构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Abba Garba ; Qinwen Hu ; Zhong Chen.BB-PKI: Blockchain-Based Public Key Infrastructure Certificate Management.《IEEE Xplore》.2021, *

Also Published As

Publication number Publication date
CN114500051A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
Yakubov et al. A blockchain-based PKI management framework
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
CN107769925B (zh) 基于区块链的公钥基础设施系统及其证书管理方法
CN106972931B (zh) 一种pki中证书透明化的方法
EP0858702B1 (en) Tree-based certificate revocation system
CN108696358B (zh) 数字证书的管理方法、装置、可读存储介质及服务终端
WO2019201246A1 (zh) 一种基于区块链平台的数字证书颁发系统及方法
CN106877998B (zh) 电子证据管理方法和系统
CN111884815A (zh) 一种基于区块链的分布式数字证书认证系统
CN113824563B (zh) 一种基于区块链证书的跨域身份认证方法
US7120793B2 (en) System and method for electronic certificate revocation
CN109886036B (zh) 基于区块链的域名分布式认证方法、装置及区块链网络
CN109146479B (zh) 基于区块链的数据加密方法
EP3966997B1 (en) Methods and devices for public key management using a blockchain
CN114465817B (zh) 一种基于tee预言机集群和区块链的数字证书系统及方法
CN113343213A (zh) 一种分散自主网络中基于区块链的多ca跨域认证方法
KR100844436B1 (ko) 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템
US20220294647A1 (en) Distributed ledger-based methods and systems for certificate authentication
CN114500051B (zh) 一种基于区块链的证书管理方法及系统
Laurie et al. RFC 9162: Certificate Transparency Version 2.0
CN112182009A (zh) 区块链的数据更新方法及装置、可读存储介质
CN114422138B (zh) 一种域名所有者自定义验证策略的证书透明化方法和系统
CN111083122A (zh) 一种基于区块链的电子证据处理方法、系统及存储介质
CN114928450B (zh) 一种基于联盟链的数字证书生命周期管理方法
CN111209255A (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