CN110912707B - 基于区块链的数字证书处理方法、装置、设备及存储介质 - Google Patents

基于区块链的数字证书处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110912707B
CN110912707B CN201911161892.2A CN201911161892A CN110912707B CN 110912707 B CN110912707 B CN 110912707B CN 201911161892 A CN201911161892 A CN 201911161892A CN 110912707 B CN110912707 B CN 110912707B
Authority
CN
China
Prior art keywords
node
digital certificate
transaction data
updated
data
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
CN201911161892.2A
Other languages
English (en)
Other versions
CN110912707A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911161892.2A priority Critical patent/CN110912707B/zh
Publication of CN110912707A publication Critical patent/CN110912707A/zh
Application granted granted Critical
Publication of CN110912707B publication Critical patent/CN110912707B/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
    • 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
    • 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/3265Cryptographic 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 chains, trees or paths; Hierarchical trust model
    • 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]
    • 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/50Cryptographic 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)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种基于区块链的数字证书处理方法、相关设备及计算机可读存储介质。其中方法包括:区块链网络中的节点设备获取交易数据集合,根据交易数据集合生成区块数据,并对区块数据执行上链处理,根据交易数据集合中的交易数据生成默克尔树,为默克尔树上的目标叶子节点生成验证数据。本申请实施例可较好地对数字证书进行管理。

Description

基于区块链的数字证书处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数字证书处理方法、装置、设备及计算机可读存储介质。
背景技术
节点之间进行信息交互的过程中,通常需要对对方的数字证书进行验证。数字证书可以是由证书颁发机构(Certificate Authority, CA)在对申请用户的私钥和公钥以及用户信息进行验证、并在验证通过后向申请用户发送的。计算机网络上的其他设备可以通过用户的数字证书验证用户的身份。如何有效地对诸如CA证书进行管理以便于实现证书验证成为研究的热点问题。
发明内容
本申请实施例公开了一种基于区块链的数字证书处理方法、装置、设备及计算机可读存储介质,可较好地对数字证书进行管理。
第一方面,本申请实施例提供了一种基于区块链的数字证书处理方法,该方法包括:
获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理;
根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的;
为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
第二方面,本申请提供了一种基于区块链的数字证书处理装置,所述基于区块链的数字证书处理装置包括:
获取单元,用于获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
处理单元,用于根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理,根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的,为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
第三方面,本申请提供了一种基于区块链的数字证书处理设备,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面所述的基于区块链的数字证书处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述第一方面所述的基于区块链的数字证书处理方法。
本申请实施例中,由区块链网络中的节点设备获取交易数据集合,根据交易数据集合生成区块数据,并对区块数据执行上链处理,根据交易数据集合中的交易数据生成默克尔树,为默克尔树上的目标叶子节点生成验证数据。本申请实施例通过将数字证书状态存储到区块链中,保证了证书状态的可靠性。通过生成存储证书状态的默克尔树,使得其他节点能够从默克尔树、待验证的交易数据、以及验证数据出发,准确地实现数字证书的验证。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理系统的架构图;
图2a示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理方法的数据流向图;
图2b示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理方法的流程图;
图3示出了本申请一个示例性实施例提供的默克尔树的结构图;
图4示出了本申请一个示例性实施例提供的另一种基于区块链的数字证书处理方法的流程图;
图5示出了本申请一个示例性实施例提供的又一种基于区块链的数字证书处理方法的流程图;
图6示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理装置的结构示意图;
图7示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理设备的结构示意图。
具体实施例
本申请实施例涉及区块链和区块链网络,其中,区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务以及智能合约等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑。
区块链网络是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。一般地,区块链网络中包括彼此连接的多台计算机,这些计算机又称为区块链网络的节点设备。在区块链网络环境中,这些彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用;又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。
图1示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理系统的架构图。如图1所示,该数字证书处理系统可包括多个请求设备101,区块链网络的多个节点设备102,证书管理设备103和验证设备104。图1所示的基于区块链的数字证书处理系统中的各设备数量仅为举例,例如:证书管理设备的数量可以为多个,节点设备的数量可以为3个或3个以下或以上,请求设备和验证设备的数量可以为2个或2个以下或以上,本申请并不对各设备数量进行限定。
请求设备101是将数字证书信息存储到区块链网络的设备,该请求设备可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(MobileInternetDevices,简称MID)等设备,本申请实施例不做限定。
区块链网络中的节点设备102具体可以是客户端或者服务器,本申请实施例不做限定。其中,客户端可以为以下任一种:终端、独立的应用程序、应用程序编程接口(Application Programming Interface,简称API)或者软件开发工具包(SoftwareDevelopment Kit,简称SDK)。其中,终端可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、MID等设备,本申请实施例不做限定。节点设备的类型可以包括但不限于全节点、简单支付验证(simplified payment verification,简称SPV)节点、或者区块链网络中其他节点类型。其中,全节点是指存储有完整区块链的节点,全节点能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。全节点通常是高性能的计算设备。SPV节点也可称为轻型节点。SPV节点是指只保存了区块链的一部分的节点;例如,SPV节点只存储了区块链中所有的区块头信息以及与自身信息相关的区块信息,并不存储完整的区块链。SPV节点是依靠全节点存在的节点,不用为区块链网络提供算力。因此,SPV节点多为移动终端,例如为智能手机、平板电脑或移动计算机等。
证书管理设备103负责发放和管理数字证书,数字证书是证书颁发机构(Certificate Authority,简称CA)在对申请用户的私钥和公钥以及用户信息进行验证,在验证通过后向申请用户发送的证书。数字证书的实质是一串能够唯一标识用户身份信息的数字,即每个数字证书都是不同的,且每个证书的可信度也存在一定差异。计算机网络上的其他设备可以通过用户的数字证书验证用户的身份,即在获得数字证书后,用户可以将数字证书作为证明自身身份的依据。数字证书当中包括了用户基本信息及公钥信息,还可包括经认证中心签名的相关信息。
验证设备104是需要对请求设备提供的数字证书有效性进行验证的设备,该验证设备可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、MID等设备,本申请实施例不做限定。
在一种实施例中,证书管理设备103可以部署在区块链网络中,即证书管理设备可以是区块链网络中的节点设备。在另一种实施例中,证书管理设备也可以是区块链网络之外的设备,其可以与区块链网络中的节点设备相连接来进行数据通信。同理,请求设备101和验证设备104也可以部署在区块链网络中,作为区块链网络中的节点设备;或者,请求设备101和验证设备104可以是区块链网络之外的设备,其可以与区块链网络中的节点设备进行数据通信。
在图1所示的基于区块链的数字证书处理系统中,数字证书处理流程主要包括:证书管理设备可以将某一时间段内的授权的数字证书的标识及数字证书的状态信息打包为一个交易数据集发送给区块链网络中的节点设备,该交易数据集中的交易信息用于指示数字证书状态为有效(即证明拥有数字证书的设备的密钥,公钥以及设备信息是通过验证的);节点设备在接收到证书管理设备发送的交易数据集后,将该交易数据集存储至区块链网络中;节点设备采用构造算法将交易数据集中的交易数据的指纹数据构造为一个默克尔树,并将交易数据集合中的交易数据及对应的指纹数据关联存储在证书索引表中,在需要查找目标叶子节点时,通过数字证书的标识可以确定目标叶子节点;为默克尔树上的各个叶子节点生成验证数据,验证数据包括了目标叶子节点关联节点数据集合;例如:默克尔树为高度为4的完全二叉树,则验证数据包括了目标叶子节点的兄弟节点记录的数据,目标叶子节点父节点的兄弟节点的哈希值,目标叶子节点父节点的父节点的兄弟节点的哈希值。也就是说,验证数据包括了目标叶子节点的兄弟节点以及各级父节点的兄弟节点。
为了使得其他节点能够从默克尔树、待验证的交易数据、以及验证数据出发,准确地实现对目标设备的数字证书的验证,本申请实施例提供了一种基于区块链的数字证书处理方法,下面进行详细介绍。
请参考图2a,图2a示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理方法的数据流向图。该方法可以由图1所示的请求设备101,节点设备102与证书管理设备103之间进行交互实现;如图2a所示,基于区块链的数字证书处理方法的数据流向包括但不限于如下步骤S201~步骤S204。
S201:请求设备向证书管理设备发送数字证书获取请求。其中,获取请求包括了请求设备的私钥和公钥以及请求设备自身信息。请求设备自身信息包括但不限于请求设备标识,请求设备标识可用于指示请求设备身份。
S202:证书管理设备向请求设备发送数字证书。其中,证书管理设备对请求设备发送的获取请求进行验证。验证包括但不限于对请求设备私钥和公钥进行验证,对请求设备自身信息进行验证。若验证通过,则证书管理设备向请求设备发送授权的数字证书,并记录该数字证书授权的时间等相关信息。授权的数字证书中包括但不限于请求设备的公钥,请求设备的自身信息及证书状态。数字证书的状态用于指示与它关联的数字证书为有效或者无效。在对请求设备授权后,证书管理设备会将数字证书的标识及状态信息打包存储为一条交易数据。若验证不通过,则证书管理设备向请求设备返回信息有误的提示信息。
S203:证书管理设备向节点设备发送交易数据集合。其中,交易数据集合为证书管理设备在一个时间段内生成的所有交易数据的集合,包括一个或者多个请求设备发送的交易数据。每个数字证书的标识都唯一标识一个对应的目标数字证书。
在一个实施例中,证书管理设备每隔一个时间段会将该时间段内记录的交易数据打包为一个交易数据集合发送给节点设备。例如,证书管理设备以24小时为一个时间段,每隔24小时证书管理设备会将24小时内记录的交易数据打包为一个交易数据集合发送给节点设备。
节点设备在接收到交易数据集合后,会进行数字证书处理。在一个实施例中,数字证书处理包括对上述提及的交易数据集合中的交易数据进行上链处理,以及生成验证数据的处理。上链处理具体可以包括将交易数据生成区块数据、广播区块数据进行共识、共识通过后记录到区块链中等处理。生成验证数据则主要包括生成默克尔树以及根据默克尔树生成验证数据的过程。
S204:节点设备将验证数据发送给请求设备。验证数据用于对数字证书进行校验。每一个数字证书都会有一个与之关联的验证数据。节点设备生成的验证数据发送给请求设备,以便于请求设备在与网络中其他节点交互时将验证数据提供给网络中其他节点。其他节点可以根据验证数据在不与证书管理设备通信的情况下对请求设备的数字证书进行验证。
请参考图2b,图2b示出了本申请实施例提供的一种基于区块链的数字证书处理方法的流程示意图,本申请实施例的所述方法可以通过区块链网络中的一个节点设备来执行,例如可以是上述提及的节点设备来执行。本申请实施例的所述方法包括如下步骤S301~步骤S304。
S301:节点设备获取交易数据集合。节点设备在获取交易数据集合后,对发送该交易数据集合的证书管理设备的身份进行校验,以确保交易数据集合的正确性和有效性。
S302:节点设备根据交易数据集合生成区块数据,并对区块数据执行上链处理。节点设备对接收到的交易数据集合进行验证,并将验证通过的交易数据集合存储至区块链网络中。验证过程具体可以包括将交易数据生成区块数据、广播区块数据进行共识等处理。
S303:节点设备根据交易数据集合中的交易数据生成默克尔树。默克尔树(MerkleTree)通常也被称作哈希树(Hash Tree),即存储哈希值的一棵树。默克尔树的叶子节点是各个交易数据的哈希值。非叶子节点是其对应的子节点串联字符串的哈希值。任一叶子节点的改变都会导致根节点记录的哈希值的变化。
在一个实施例中,节点设备采用哈希算法对各个交易数据的哈希值进行计算,得到与各个交易数据相关联的指纹数据。具体的,指纹数据可以为采用哈希算法对数字证书的标识及状态信息进行计算得到的哈希值。将N个指纹数据分为一组,N为大于或者等于2的正整数。将每组的指纹数据进行串联得到串联后的串联值,然后再次采用哈希算法计算串联值的哈希值。重复执行上述步骤直至将各个交易数据的哈希值构造为一个默克尔树。在生成默克尔树后,节点设备会生成该默克尔树的证书索引表。证书索引表中记录了与该默克尔树中存储的指纹数据相关联的数字证书的标识,状态信息及数字证书的标识对应的指纹数据。数字证书标识和指纹数据都具有索引功能。
在一个实施例中,如图3所示,假设交易数据集包括8条交易数据。节点设备采用哈希算法分别计算各个交易数据的指纹数据,然后将各个交易数据的指纹数据两两分为一组。将节点4.1和节点4.2的指纹数据串联得到串联值。假设节点4.1的指纹数据为845,节点4.2的指纹数据为735,则将节点4.1和节点4.2的指纹数据串联得到串联值为845735。然后采用哈希算法计算串联值的哈希值,该哈希值为节点3.1的哈希值。按照相同方法可以依次计算节点3.2,节点2.1,节点2.2的哈希值,最终根节点记录的哈希值为采用哈希算法对节点2.1和节点2.2的串联值进行计算得到。在生成默克尔树后,节点设备会生成该默克尔树的证书索引表。假设节点4.1对应的数字证书标识为57641346,节点4.2对应的数字证书标识为67836544,则证书索引表可以包括但不限于如表1所示的方式:
表1
Figure 793835DEST_PATH_IMAGE001
上述表1中,通过指纹数据可以确定与之对应的数字证书标识及状态信息,通过数字证书标识可以确定与之对应的状态信息及指纹数据。状态信息中“Yes”表示数字证书状态为有效,“No”表示数字证书状态为无效。上述表1仅为举例,数字证书标识、状态信息、指纹数据还可以通过其他方式表示,比如状态信息还可以将“Yes”替换为“1”,“ok”等表示有效,而“No”也可以替换为“0”,“revoked”等表示无效。而指纹数据可以是对数字证书的标识进行哈希计算后得到的一个哈希值,而非表1中的三位数字。
S304:节点设备为默克尔树上的目标叶子节点生成验证数据。目标叶子节点可以是默克尔树上的任一叶子节点,也可以是某一个指定的叶子节点。验证数据包括与目标叶子节点相关联的关联节点数据集合。具体的,关联节点数据集合包括:关联节点的哈希值。目标叶子节点的关联节点是从根节点到目标叶子节点的最短路径上除根节点外所有节点的兄弟节点。兄弟节点是指有同一父节点的节点。例如,如图3所示,假设目标叶子节点为节点4.1,根节点到节点4.1的最短路径为:根节点—节点2.1—节点3.1—节点4.1。其中,节点4.1和节点4.2的父节点为3.1,节点4.1的兄弟节点为4.2;节点3.1和节点3.2的父节点为2.1,节点3.1的兄弟节点为3.2;节点2.1和节点2.2的父节点为根节点,节点2.1的兄弟节点为2.2。因此,目标叶子节点4.1的关联节点为节点2.2,节点3.2和节点4.2。
在一个实施例中,节点设备通过关联算法确定目标叶子节点的关联节点,然后将关联节点的哈希值打包为验证数据。
在一种可选的实施方式中,节点设备中存储有权限表和交易池,权限表中记录了具备状态更新权限的节点设备信息,即证书管理设备的信息。交易池用于存储交易数据集合中的各个交易数据。节点设备将交易数据集合存储至交易池中,并记录交易数据存储到交易池的时间,将交易数据存储到交易池的时间作为时间信息发送给权限表中记录的节点设备。节点设备采用哈希算法对一个时间段内存入交易池中各个交易数据的哈希值进行计算,得到与各个交易数据相关联的指纹数据。将各个交易数据的指纹数据构造为一个默克尔树。具体构造默克尔树的实现方式与上述实施例中相同,在此不再赘述。
在一个实施例中,节点设备接收请求设备发送的请求数据。请求数据为请求设备自身数字证书的标识及数字证书的状态信息。节点设备在收到请求数据后,会首先用区块链中对应的交易数据对请求数据进行验证,验证通过后将请求数据存储至交易池中。
本申请实施例中,由区块链网络中的节点设备获取交易数据集合,根据交易数据集合生成区块数据,并对区块数据执行上链处理,根据交易数据集合中的交易数据生成默克尔树,为默克尔树上的目标叶子节点生成验证数据。本申请实施例通过将数字证书状态存储到区块链中,保证了证书状态的可靠性。通过生成存储证书状态的默克尔树,使得其他节点能够从默克尔树、待验证的交易数据、以及验证数据出发,准确地实现数字证书的验证。
图4示出了本申请一个示例性实施例提供的另一种基于区块链的数字证书处理方法的流程图。该方法可以由图1所示的请求设备101,节点设备102与证书管理设备103之间进行交互实现;如图4所示,基于区块链的数字证书处理方法包括但不限于如下步骤S401~步骤S407。
S401:证书管理设备向节点设备发送状态更新请求。状态更新请求包括目标数字证书的标识信息及证书状态更新信息。状态更新请求用于指示节点设备对目标证书的证书状态进行更改。例如,证书管理设备需要吊销目标请求设备的数字证书时,可以将目标请求者的数字证书状态从有效改为无效,则证书管理设备将需要吊销的目标请求设备的数字证书的标识及证书状态更新信息发送给节点设备,证书状态更新信息用于指示将目标请求设备的数字证书的状态更改为无效。
S402:节点设备接收到状态更新请求,根据状态更新请求包括的数字证书的标识在默克尔树上查找确定待更新的叶子节点。在一个实施例中,节点设备中存储有权限表,权限表中记录了具备状态更新权限的节点设备信息,即证书管理设备的信息。节点设备在接收到状态更新请求后,会根据权限表确认发送状态更新请求的设备是否为证书管理设备。例如,将发送状态更新请求的设备的标识与权限表中记录的具备状态更新权限的节点的标识进行匹配验证。若发送状态更新请求的设备为证书管理设备,则节点设备继续执行根据状态更新请求包括的数字证书的标识在默克尔树上查找确定待更新的叶子节点的步骤。若发送状态更新请求的设备不是证书管理设备,则节点设备丢弃该状态更新请求。
在一个实施例中,各个证书索引表中还记录了与其对应的默克尔树的标识。节点设备确认状态更新请求的发送者具备状态更新权限后,在存储的证书索引表中对待更新的数字证书的标识进行查找。在找到与待更新的数字证书的标识相匹配的数字证书标识后,将该数字证书标识的证书索引表确定为目标证书索引表。通过目标证书索引表确定与待更新数字证书的标识对应的状态信息及待更新指纹数据。将待更新数字证书的状态信息更新为状态更新信息。从目标证书索引表中获取与其对应的默克尔树的标识。通过默克尔数的标识从节点设备存储的各个默克尔树中确定待更新的默克尔树。在待更新的默克尔树中对待更新指纹数据进行查找,将存储的指纹数据与待更新指纹数据相匹配的叶子节点确定为待更新的叶子节点。
例如,假设待更新的数字证书标识为57641346,更新状态信息为“No”。节点设备根据待更新的数字证书标识57641346在如表1所示的证书索引表中找到与之匹配的数字证书标识,将证书索引表1确定为目标证书索引表。通过表1确定待更新数字证书的状态信息为“Yes”,待更新指纹数据为“845”。将状态信息“Yes”改为更新状态信息“No”。若从证书索引表1中获取的与其对应的默克尔树的标识为“20181231”,则节点设备根据该标识确定待更新的默克尔树。根据待更新指纹数据“845”,在待更新的默克尔树中对待更新指纹数据进行查找,将存储的指纹数据“845”的叶子节点确定为待更新的叶子节点。
S403:节点设备根据状态更新请求包括的数字证书的标识及状态更新信息计算更新指纹数据。节点设备采用哈希算法对数字证书的标识及状态更新信息进行计算,得到更新请求对应的更新指纹数据。
S404:节点设备将待更新的叶子节点中的指纹数据更新为更新指纹数据,得到更新后的叶子节点。节点设备用更新指纹数据对待更新的叶子节点中的指纹数据进行更新。
S405:节点设备根据待更新的叶子节点中更新指纹数据,对默克尔树进行更新,生成更新后的默克尔树。由于待更新叶子节点中指纹数据发生变化,且父节点的哈希值是通过对各个子节点的串联值进行哈希计算得到的。根节点到待更新叶子节点的最短路径上的节点的哈希值都随着待更新叶子节点的变化发生变化。因此,在待更新叶子节点指纹数据更新后,节点设备需要结合待更新叶子节点的验证数据对根节点到待更新叶子节点的最短路径上的节点的哈希值进行更新。具体的,通过待更新叶子节点和待更新叶子节点的兄弟节点的哈希值对待更新叶子节点的父节点的哈希值进行更新。按照上述方法对待更新叶子节点的父节点的父节点的哈希值进行更新,直至完成根节点的更新。
例如,如图3所示,假设待更新的叶子节点为节点4.1。节点4.1更新后,会导致根节点到节点4.1的最短路径上的节点的哈希值都发生变化。即节点3.1,节点2.1和根节点。节点设备将更新后的节点4.1的哈希值与验证数据中节点4.2的哈希值进行串联得到第一串联值,然后采用哈希算法计算第一串联值的哈希值,得到节点3.1更新后的哈希值。同理,节点设备将更新后的节点3.1的哈希值与验证数据中节点3.2的哈希值进行串联得到第二串联值,然后采用哈希算法计算第二串联值的哈希值,得到节点2.1更新后的哈希值。同理,节点设备将更新后的节点2.1的哈希值与验证数据中节点2.2的哈希值进行串联得到第三串联值,然后采用哈希算法计算第三串联值的哈希值,最终得到根节点更新后的哈希值。至此整个默克尔树更新完成。
S406:节点设备基于更新后的默克尔树生成更新后的叶子节点的验证数据。
步骤S406的具体实现方式可参考图2b步骤S304的具体实现方式,在此不再赘述。
S407:节点设备向请求设备发送更新后的验证数据。
步骤S407的具体实现方式可参考图2a步骤S204的具体实现方式,在此不再赘述。
实施图4所描述的方法在实施图2b的基础上,证书管理设备通过向节点设备发送状态更新请求能够对节点设备中的默克尔树中的数字证书的状态进行修改。从而确保在对数字证书状态更新后,其他设备仍然能通过默克尔树对证书状态信息进行验证。
图5示出了本申请一个示例性实施例提供的又一种基于区块链的数字证书处理方法的流程图。该方法可以由图1所示的节点设备102或验证设备104实现,下面以节点设备102实现该方法为例进行介绍;如图5所示,基于区块链的数字证书处理方法包括但不限于如下步骤S501~步骤S503。
S501:节点设备接收其他节点设备发送的验证请求信息。其他节点可以是网络中除节点设备外的任一节点设备。验证请求信息用于验证数字证书的状态是否为有效。验证请求信息包括待验证的目标数字证书的交易数据及目标关联节点数据集合。
S502:节点设备采用哈希算法对待验证的交易数据及目标关联节点数据集合进行运算处理,得到目标验证值。目标验证值为根据请求信息中目标数字证书的交易数据及目标关联节点数据集合进行哈希计算得到的根节点的哈希值。
节点设备采用哈希算法对待验证的目标数字证书的交易数据及目标关联节点数据集合进行运算处理,得到目标验证值的具体实现方式与图4步骤S405中根据待更新叶子节点更新后的指纹数据计算更新后的根节点的哈希值的实现方式相同,在此不再赘述。
S503:节点设备根据与待验证的交易数据相关联的默克尔树的根节点记录的哈希值,对目标验证值进行验证,得到验证结果。由于步骤502中目标验证值是通过验证请求信息中的待验证的目标数字证书的交易数据及目标关联节点数据集合进行哈希计算得到的,为了确定目标数字证书的状态信息是否有效,需要将目标验证值与节点设备中存储待验证的目标数字证书的默克尔树的根节点记录的哈希值进行比较。若目标验证值与节点设备中存储待验证的目标数字证书的默克尔树的根节点记录的哈希值相同,则验证结果为待验证的目标数字证书有效。若目标验证值与节点设备中存储待验证的目标数字证书的默克尔树的根节点记录的哈希值不相同,则验证结果为待验证的目标数字证书无效。
可见,实施图5所描述的方法在实施图4的基础上,节点设备能够通过验证数据对数字证书的状态进行验证。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图6,图6示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理装置的结构示意图,该装置可以搭载在上述方法实施例中的节点设备上。图6所示的基于区块链的数字证书处理装置可以用于执行上述图2b,图4和图5所描述的方法实施例中的部分或全部功能。其中,各个单元的详细描述如下:
获取单元601,用于获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
处理单元602,用于根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理,根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的,为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
在一个实施例中,所述处理单元602,还用于:若所述获取单元601接收到状态更新请求,则根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点;根据所述状态更新请求包括的数字证书的标识及状态更新信息计算更新指纹数据;将所述待更新的叶子节点中的指纹数据更新为所述更新指纹数据,得到更新后的叶子节点;根据所述待更新的叶子节点中所述更新指纹数据,对所述默克尔树进行更新,生成更新后的默克尔树;基于所述更新后的默克尔树生成所述更新后的叶子节点的验证数据。
在一个实施例中,所述节点设备存储有多个默克尔树,不同的默克尔树是根据不同时间收到的交易数据集合生成的;每一个默克尔树对应一个证书索引表,所述证书索引表记录了数字证书的标识,状态信息及数字证书的标识对应的指纹数据;
所述处理单元602,具体用于通过所述获取单元601接收状态更新请求,所述状态更新请求中包括:待更新的数字证书的标识及状态更新信息;根据所述待更新的数字证书的标识,从多个默克尔树中确定出待更新默克尔树;根据所述待更新的数字证书的标识在证书索引表中查找对应的状态信息及指纹数据;根据查找到的指纹数据确定所述待更新默克尔树中的待更新的叶子节点。
在一个实施例中,所述节点设备中存储有权限表,所述权限表记录了具备状态更新权限的节点设备信息;在接收到状态更新请求之后,所述处理单元602,还用于根据权限表对所述状态更新请求的请求设备权限进行确认;若所述请求设备具备状态更新权限,则执行根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点。
在一个实施例中,所述证书索引表还记录了默克尔树标识;所述处理单元602,具体用于:将所述待更新的数字证书的标识所在的证书索引表作为目标证书索引表;根据所述目标证书索引表中记录的默克尔树标识从多个默克尔树中确定出待更新默克尔树。
在一个实施例中,所述处理单元602,具体用于对所述交易数据集合中的交易数据进行哈希计算,得到与所述交易数据集合中各个交易数据相关联的指纹数据;采用构造算法将各个指纹数据构造为默克尔树。
在一个实施例中,所述处理单元602,还用于通过所述获取单元601接收其他节点设备发送的验证请求信息,所述验证请求信息包括:待验证的交易数据及目标关联节点数据集合;采用哈希算法对所述待验证的交易数据及所述目标关联节点数据集合进行运算处理,得到目标验证值;根据与所述待验证的交易数据相关联的默克尔树的根节点记录的哈希值,对所述目标验证值进行验证,得到验证结果。
在一个实施例中,所述处理单元602,具体用于若与所述待验证的目标数字证书相关联的默克尔树的根节点记录的哈希值与所述目标验证值相同,则验证结果为所述待验证的目标数字证书有效;若与所述待验证的目标数字证书相关联的默克尔树的根节点记录的哈希值与所述目标验证值不相同,则验证结果为所述待验证的目标数字证书无效。
根据本申请的一个实施例,图2b,图4和图5所示的基于区块链的数字证书处理方法所涉及的部分步骤可由图6所示的基于区块链的数字证书处理装置中的各个单元来执行。例如,图2b中所示的步骤S301可由图6所示的获取单元601执行,步骤S302~步骤S304可由图6所示的处理单元602执行。图4中所示的步骤S402可由图6所示的获取单元601和处理单元602共同执行,步骤S403~步骤S407可由图6所示的处理单元602执行。图6所示的基于区块链的数字证书处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于区块链的数字证书处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图2b,图4和图5中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的基于区块链的数字证书处理装置,以及来实现本申请实施例的基于区块链的数字证书处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的基于区块链的数字证书处理装置解决问题的原理与有益效果与本申请方法实施例中基于区块链的数字证书处理装置解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图7,图7示出了本申请一个示例性实施例提供的一种基于区块链的数字证书处理设备的结构示意图,所述基于区块链的数字证书处理设备至少包括处理器701、通信接口702和存储器703。其中,处理器701、通信接口702和存储器703可通过总线或其他方式连接。其中,处理器701(或称中央处理器(Central Processing Unit,CPU))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据,例如:CPU可以用于解析用户向终端所发送的开关机指令,并控制终端进行开关机操作;再如:CPU可以在终端内部结构之间传输各类交互数据,等等。通信接口702可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器701的控制可以用于收发数据;通信接口702还可以用于终端内部数据的传输以及交互。存储器703(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器703既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器703提供存储空间,该存储空间存储了终端的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,处理器701通过运行存储器703中的可执行程序代码,执行如下操作:
通过通信接口702获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理;
根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的;
为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
作为一种可选的实施例,处理器701通过运行存储器703中的可执行程序代码,还执行如下操作:
若通过通信接口702接收到状态更新请求,则根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点;
根据所述状态更新请求包括的数字证书的标识及状态更新信息计算更新指纹数据;
将所述待更新的叶子节点中的指纹数据更新为所述更新指纹数据,得到更新后的叶子节点;
根据所述待更新的叶子节点中所述更新指纹数据,对所述默克尔树进行更新,生成更新后的默克尔树;
基于所述更新后的默克尔树生成所述更新后的叶子节点的验证数据。
作为一种可选的实施例,所述节点设备存储有多个默克尔树,不同的默克尔树是根据不同时间收到的交易数据集合生成的;每一个默克尔树对应一个证书索引表,所述证书索引表记录了数字证书的标识,状态信息及数字证书的标识对应的指纹数据;处理器701,具体执行如下操作:
通过通信接口702接收状态更新请求,所述状态更新请求中包括:待更新的数字证书的标识及状态更新信息;
根据所述待更新的数字证书的标识,从多个默克尔树中确定出待更新默克尔树;
根据所述待更新的数字证书的标识在证书索引表中查找对应的状态信息及指纹数据;
根据查找到的指纹数据确定所述待更新默克尔树中的待更新的叶子节点。
作为一种可选的实施例,所述节点设备中存储有权限表,所述权限表记录了具备状态更新权限的节点设备信息;在接收到状态更新请求之后,处理器701还执行如下操作:
根据权限表对所述状态更新请求的请求设备权限进行确认;
若所述请求设备具备状态更新权限,则执行根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点的步骤。
作为一种可选的实施例,所述证书索引表还记录了默克尔树标识;处理器701,具体执行如下操作:
将所述待更新的数字证书的标识所在的证书索引表作为目标证书索引表;
根据所述目标证书索引表中记录的默克尔树标识从多个默克尔树中确定出待更新默克尔树。
作为一种可选的实施例,处理器701,具体执行如下操作:
对所述交易数据集合中的交易数据进行哈希计算,得到与所述交易数据集合中各个交易数据相关联的指纹数据;
采用构造算法将各个指纹数据构造为默克尔树。
作为一种可选的实施例,处理器701还执行如下操作:
通过通信接口702接收其他节点设备发送的验证请求信息,所述验证请求信息包括:待验证的交易数据及目标关联节点数据集合;
采用哈希算法对所述待验证的交易数据及所述目标关联节点数据集合进行运算处理,得到目标验证值;
根据与所述待验证的交易数据相关联的默克尔树的根节点记录的哈希值,对所述目标验证值进行验证,得到验证结果。
作为一种可选的实施例,处理器701采用与所述待验证的目标数字证书的标识相关联的默克尔树的根节点记录的哈希值对所述目标验证值进行验证,得到验证结果的具体实施例为:
若与所述待验证的目标数字证书相关联的默克尔树的根节点记录的哈希值与所述目标验证值相同,则验证结果为所述待验证的目标数字证书有效;
若与所述待验证的目标数字证书相关联的默克尔树的根节点记录的哈希值与所述目标验证值不相同,则验证结果为所述待验证的目标数字证书无效。
基于同一发明构思,本申请实施例中提供的基于区块链的数字证书处理装置解决问题的原理与有益效果与本申请方法实施例中基于区块链的数字证书处理装置解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述方法实施例所述的基于区块链的数字证书处理方法。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的基于区块链的数字证书处理方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory ,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种基于区块链的数字证书处理方法,其特征在于,应用于区块链网络的节点设备,所述方法包括:
获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理;
根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的;
为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到状态更新请求,则根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点;
根据所述状态更新请求包括的数字证书的标识及状态更新信息计算得到更新指纹数据;
将所述待更新的叶子节点中的指纹数据更新为所述更新指纹数据,得到更新后的叶子节点;
根据所述更新后的叶子节点中的所述更新指纹数据,对所述默克尔树进行更新,生成更新后的默克尔树;
基于所述更新后的默克尔树生成所述目标叶子节点的验证数据。
3.如权利要求2所述的方法,其特征在于,所述节点设备存储有多个默克尔树,不同的默克尔树是根据不同时间收到的交易数据集合生成的;每一个默克尔树对应一个证书索引表,所述证书索引表记录了数字证书的标识和所述数字证书的标识对应的指纹数据,以及所述数字证书的状态信息;
所述若接收到状态更新请求,则根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点,包括:
接收状态更新请求,所述状态更新请求中包括:待更新的数字证书的标识及状态更新信息;
根据所述待更新的数字证书的标识,从多个默克尔树中确定出待更新默克尔树;
根据所述待更新的数字证书的标识在证书索引表中查找对应的指纹数据;
根据查找到的指纹数据确定所述待更新默克尔树中的待更新的叶子节点。
4.如权利要求3所述的方法,其特征在于,所述节点设备中存储有权限表,所述权限表记录了具备状态更新权限的节点设备信息;
在接收到状态更新请求之后,所述方法还包括:
根据权限表对发起所述状态更新请求的请求设备的权限进行确认;
若所述请求设备具备状态更新权限,则执行所述根据所述状态更新请求包括的数字证书的标识在所述默克尔树上查找确定待更新的叶子节点的步骤。
5.如权利要求3所述的方法,其特征在于,所述证书索引表还记录了默克尔树标识;所述根据所述待更新的数字证书的标识,从多个默克尔树中确定出待更新默克尔树,包括:
将所述待更新的数字证书的标识所在的证书索引表作为目标证书索引表;
根据所述目标证书索引表中记录的默克尔树标识,从多个默克尔树中确定出待更新默克尔树。
6.如权利要求1-5任一项所述的方法,其特征在于,所述根据所述交易数据集合中的交易数据生成默克尔树,包括:
对所述交易数据集合中的交易数据进行哈希计算,得到与所述交易数据集合中各个交易数据相关联的指纹数据;
采用构造算法将各个指纹数据构造为默克尔树。
7.如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
接收其他节点设备发送的验证请求信息,所述验证请求信息包括:待验证的交易数据及目标关联节点数据集合;
采用哈希算法对所述待验证的交易数据及所述目标关联节点数据集合进行运算处理,得到目标验证值;
若与所述待验证的交易数据相关联的默克尔树的根节点记录的哈希值与所述目标验证值相同,则验证结果为所述待验证的交易数据所对应的数字证书有效;
若与所述待验证的交易数据相关联的默克尔树的根节点记录的哈希值与所述目标验证值不相同,则验证结果为所述待验证的交易数据所对应的数字证书无效。
8.一种基于区块链的数字证书处理装置,其特征在于,包括:
获取单元,用于获取交易数据集合,所述交易数据集合中包括多个交易数据,所述交易数据包括:数字证书的标识及状态信息;
处理单元,用于根据所述交易数据集合生成区块数据,并对所述区块数据执行上链处理,根据所述交易数据集合中的交易数据生成默克尔树,所述交易数据集合中的交易数据的指纹数据被记录在所述默克尔树的各个叶子节点中,所述指纹数据是对各个交易数据进行哈希计算得到的,为所述默克尔树上的目标叶子节点生成验证数据,所述验证数据包括:关联节点数据集合,所述关联节点数据集合中包括在所述默克尔树上的与所述目标叶子节点关联的关联节点中记录的节点数据。
9.一种智能终端,其特征在于,包括处理器、存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至7中任一项所述的基于区块链的数字证书处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1至7中任一项所述的基于区块链的数字证书处理方法。
CN201911161892.2A 2019-11-22 2019-11-22 基于区块链的数字证书处理方法、装置、设备及存储介质 Active CN110912707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911161892.2A CN110912707B (zh) 2019-11-22 2019-11-22 基于区块链的数字证书处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911161892.2A CN110912707B (zh) 2019-11-22 2019-11-22 基于区块链的数字证书处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110912707A CN110912707A (zh) 2020-03-24
CN110912707B true CN110912707B (zh) 2021-09-10

Family

ID=69818991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911161892.2A Active CN110912707B (zh) 2019-11-22 2019-11-22 基于区块链的数字证书处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110912707B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111741062B (zh) * 2020-05-12 2023-04-18 湖南半岛医疗科技有限公司 一种基于区块链技术的电子设备局域管理系统
CN111666289A (zh) * 2020-06-23 2020-09-15 中信银行股份有限公司 数据的存储与查询方法、装置、电子设备及可读存储介质
CN111865967B (zh) * 2020-07-16 2023-05-16 北京市建筑设计研究院有限公司 一种基于区块链的设备认证方法
CN114362974B (zh) * 2020-09-27 2024-06-14 中国电信股份有限公司 基于哈希树的数据资源的授权和鉴权方法、装置和系统
CN112085504B (zh) * 2020-11-16 2021-02-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112487484A (zh) * 2020-12-15 2021-03-12 深圳壹账通智能科技有限公司 区块链网络中节点权限的动态配置方法、装置
CN112653767B (zh) * 2020-12-25 2022-07-12 北京天融信网络安全技术有限公司 数字身份管理方法、装置、电子设备和可读存储介质
CN112989405A (zh) * 2021-02-05 2021-06-18 武汉北大高科软件股份有限公司 一种数据存证的可信化存储方法、装置、设备和存储介质
CN113364847B (zh) * 2021-05-31 2022-07-19 新疆大学 区块链节点的数据同步方法、装置及存储介质
CN113411189B (zh) * 2021-06-16 2022-12-02 北京沃东天骏信息技术有限公司 数据处理方法及装置、溯源方法及装置、电子设备
US20230231712A1 (en) * 2022-01-14 2023-07-20 Micron Technology, Inc. Embedded tls protocol for lightweight devices
CN114490874A (zh) * 2022-01-25 2022-05-13 鼎链数字科技(厦门)有限公司 一种区块链智能合约调用管理方法
CN114328544B (zh) * 2022-03-02 2022-05-24 人民法院信息技术服务中心 基于区块链的司法数据存储方法、系统、设备及存储介质
CN114866262B (zh) * 2022-07-07 2022-11-22 万商云集(成都)科技股份有限公司 一种数据证书文件的存储取用方法、装置、设备和介质
CN115086067B (zh) * 2022-07-19 2022-11-15 江西农业大学 一种数据处理方法、网关、传感器及系统
CN115150103B (zh) * 2022-08-29 2022-11-29 人民法院信息技术服务中心 基于区块链的数字凭证离线验证方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977109B1 (ko) * 2015-11-17 2019-08-28 (주)마크애니 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
CN107769925B (zh) * 2017-09-15 2020-06-19 山东大学 基于区块链的公钥基础设施系统及其证书管理方法
CN109034809B (zh) * 2018-08-16 2021-08-17 北京京东尚科信息技术有限公司 区块链的生成方法、装置、区块链节点及存储介质
CN110149322A (zh) * 2019-05-06 2019-08-20 山东公链信息科技有限公司 一种不可逆的动态失效重验重建的区块链加密方法

Also Published As

Publication number Publication date
CN110912707A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110912707B (zh) 基于区块链的数字证书处理方法、装置、设备及存储介质
CN109327528B (zh) 一种基于区块链的节点管理方法和装置
EP3726804B1 (en) Device authentication method, service access control method, device, and non-transitory computer-readable recording medium
CA3053316C (en) Method for providing simplified account registration service and user authentication service, and authentication server using same
US20230208630A1 (en) Credential generation and distribution method and system for a blockchain network
Omar et al. Identity management in IoT networks using blockchain and smart contracts
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
JP2019185775A (ja) ブロックチェーン基盤の権限認証方法、端末及びこれを利用したサーバ
CN109493052B (zh) 一种基于主链加并行多子链的跨链合约系统
TW202226802A (zh) 分布式帳本系統
CN110730081B (zh) 基于区块链网络的证书吊销方法、相关设备及介质
CN110910110B (zh) 一种数据处理方法、装置及计算机存储介质
CN110990790B (zh) 一种数据处理方法及设备
US11902426B2 (en) Efficient storage of blockchain in embedded device
KR20190114422A (ko) 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR102353808B1 (ko) 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
CN111339189A (zh) 一种数据处理方法、装置及计算机可读存储介质
US12107966B2 (en) Device authentication using blockchain
US20220417030A1 (en) Device Authentication using Blockchain
Diallo et al. Efficient Block replication to optimize the blockchain resources
CN115276998A (zh) 物联网身份认证方法、装置和物联网设备
CN117333175A (zh) 区块链系统、智能合约同步方法、计算机设备及存储介质
CN118101206A (zh) 数据处理方法、装置、设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021422

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant