CN110458558A - 基于区块链的数据保密方法、装置和计算机设备 - Google Patents
基于区块链的数据保密方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110458558A CN110458558A CN201910601113.XA CN201910601113A CN110458558A CN 110458558 A CN110458558 A CN 110458558A CN 201910601113 A CN201910601113 A CN 201910601113A CN 110458558 A CN110458558 A CN 110458558A
- Authority
- CN
- China
- Prior art keywords
- block chain
- digital certificate
- public
- inquiry
- private key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000007246 mechanism Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 108010001267 Protein Subunits Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本申请揭示了一种基于区块链的数据保密方法、装置、计算机设备和存储介质,所述方法包括:接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高数据的保密性。
Description
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于区块链的数据保密方法、装置、计算机设备和存储介质。
背景技术
在区块链中,交易账本对所有记账节点都是公开的,节点用户可以看到所有的数据。现有技术可以通过对称加密的方式,对账本数据进行加密,拥有钥匙(密钥)的节点可以解密以查看交易数据。这样做法不能防止钥匙丢失带来的安全问题,而且同一把钥匙也不能指定某些节点的访问查看权限。对于节点外的密钥盗窃者而言,只需要盗窃任意一个区块链节点(不需要针对特定的区块链节点)的公私钥对,即可获知全部的账本信息,因此现有技术的区块链的交易账本的保密性低,并且无法做到对特定数据(交易)的针对性加密。
发明内容
本申请的主要目的为提供一种基于区块链的数据保密方法、装置、计算机设备和存储介质,旨在提高数据的保密性。
为了实现上述发明目的,本申请提出一种基于区块链的数据保密方法,应用于密码管理平台,包括以下步骤:
接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
判断所述查询区块链节点是否记载于所述权限列表中;
若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
进一步地,所述根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表的步骤,包括:
向所述指定区块链节点发送所述交易的哈希值获取要求;
接收所述指定区块链节点发送的所述交易的哈希值;
根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
进一步地,所述接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明的步骤之后,包括:
从所述查询请求中提取出数字证明;
判断提取出的数字证明是否存储在所述密码管理平台中;
若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
进一步地,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述判断所述查询区块链节点是否记载于所述权限列表中的步骤,包括:
从所述查询请求中提取出所述加密后的数字证明;
从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;
根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;
判断所述查询区块链节点是否记载于所述权限列表中。
进一步地,所述查询请求中携带所述查询区块链节点的身份声明信息,所述从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥的步骤,包括:
根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;
使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;
判断解密后的数字证明是否存在于所述密码管理平台中;
若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
进一步地,所述若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点的步骤,包括:
若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;
将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
进一步地,所述接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表的步骤之前,包括:
采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;
基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;
以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
本申请提供一种基于区块链的数据保密装置,应用于密码管理平台,包括:
密钥生成请求接收单元,用于接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
公私密钥对生成单元,用于根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
发送单元,用于将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
查询请求接收单元,用于接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
权限列表判断单元,用于判断所述查询区块链节点是否记载于所述权限列表中;
私钥发送单元,用于若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于区块链的数据保密方法、装置、计算机设备和存储介质,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;生成公私密钥对与代表所述交易的数字证明;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高了数据的保密性。
附图说明
图1为本申请一实施例的基于区块链的数据保密方法的流程示意图;
图2为本申请一实施例的基于区块链的数据保密装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于区块链的数据保密方法,应用于密码管理平台,包括以下步骤:
S1、接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
S2、根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
S3、将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
S4、接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
S5、判断所述查询区块链节点是否记载于所述权限列表中;
S6、若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
如上述步骤S1所述,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表。本申请所述预先搭建的区块链可以是任意类型的区块链,包括公有链、私有链、联盟链等。相较于普能的区块链,本申请采用密码管理平台以存放管理区块链节点的公钥、私钥,便于管理、加强密钥的安全性、数据的安全性。本申请的执行主体为密码管理平台,密码管理平台可以为所述预先搭建的区块链中的一个节点。所述交易是指指定区块链节点要对账本数据进行修改(即进行交易操作)。所述密钥生成请求是要求密码管理平台生成用于加密或者解密所述交易的公私密钥对。所述具有查看交易权限的区块链节点的权限列表中规定了哪些区块链节点可以查询所述交易。
如上述步骤S2所述,根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。其中所述公私密钥对用于加密或者解密所述交易,所述数字证明可以为任意形式的数字证明,例如数字编号,或者是所述交易的哈希值。保存所述公私密钥对中的私钥与所述权限列表,以备区块链节点进行查询时使用。
如上述步骤S3所述,将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点。其中,所述指定区块链节点接收到所述公私密钥对中的公钥与所述数字证明后,即可对已完成的所述交易利用公钥进行加密处理,再将加密处理后的交易发送给其他区块链节点,从而即保证了分布式存储,又实现了数据加密。将所述数字证明发送给其他区块链节点,使其他区块链节点获知所述交易,在需要查询所述交易时,可以向所述密码管理平台发送具有所述数字证明的查询请求,以表明是对哪个交易进行的查询。
如上述步骤S4所述,接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明。所述查询区块链节点是指发送查询请求的的区块链节点,所述查询请求携带的所述数字证明用于确定要查询的是哪个交易。
如上述步骤S5所述,判断所述查询区块链节点是否记载于所述权限列表中。本申请的密码管理平台具有密码管理功能,根据前述接收到的权限列表,判断所述查询区块链节点是否具有查询权限,具体地,通过判断所述查询区块链节点是否记载于所述权限列表中,从而判断出所述查询区块链节点是否具有查询权限。若所述查询区块链节点是记载于所述权限列表中,则所述查询区块链节点具有查询权限。
如上述步骤S6所述,若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。若所述查询区块链节点记载于所述权限列表中,表明所述查询区块链节点具有查询权限,因此将所述公私密钥对中的私钥发送给所述查询区块链节点。由于所述查询区块链节点具有被所述公私密钥对中的公钥加密过的交易,因此利用接收到的所述公私密钥对中的私钥对交易进行解密,即可获得交易的具体信息。
在一个实施方式中,所述根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表的步骤S2,包括:
S201、向所述指定区块链节点发送所述交易的哈希值获取要求;
S202、接收所述指定区块链节点发送的所述交易的哈希值;
S203、根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
如上所述,实现了根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。本实施方式中,以所述交易的哈希值作为所述交易的数字证明。哈希值是一种从任何一种数据中创建小的数字“指纹”,其中采用的算法称为散列算法或哈希函数。哈希函数为已成熟技术,在此不再赘述。由于本申请的所述交易的哈希值是对所述交易通过哈希函数计算得到,而对于特定的交易,它的哈希函数计算结果是一个固定长度的数字,并且哈希算法是一个不可逆的单向函数,从而所述交易的哈希值能够唯一地代表所述交易,且能够防止根据所述哈希值获取所述交易的具体信息。因此根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表,提高了信息安全性。其中,哈希值采用的哈希算法可为任意算法,例如MD5、SHA。
在一个实施方式中,所述接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明的步骤S4之后,包括:
S41、从所述查询请求中提取出数字证明;
S42、判断提取出的数字证明是否存储在所述密码管理平台中;
S43、若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
如上所述,实现了确定交易,并拒绝对不存在的交易的查询请求。数字证明代表了交易,所述查询请求携带有数字证明。若所述数字证明没有存储在所述密码管理平台中,表明所述交易并未在所述密码管理平台中备案,也表明不存在所述数字证明对应的公私密钥对。因此,若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
在一个实施方式中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述判断所述查询区块链节点是否记载于所述权限列表中的步骤S5,包括:
S501、从所述查询请求中提取出所述加密后的数字证明;
S502、从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;
S503、根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;
S504、判断所述查询区块链节点是否记载于所述权限列表中。
如上所述,实现了判断所述查询区块链节点是否记载于所述权限列表中。其中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储所述指定私钥对应的公钥,从而实现了信息保密。即便所述查询请求泄漏,由于所述查询请求中的数字证明已用指定私钥进行加密,因此获得泄漏的查询请求的第三方也无法得知是哪个区块链节点要求查询。而接收到具有所述加密后的数字证明的查询请求的密码管理平台,由于存储有所述指定私钥对应的公钥,因此可以对所述加密后的数字证明进行解密,进而确定所述查询区块链节点,再判断所述查询区块链节点是否记载于所述权限列表中。
在一个实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,所述从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥的步骤S502,包括:
S5021、根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;
S5022、使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;
S5023、判断解密后的数字证明是否存在于所述密码管理平台中;
S5024、若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
如上所述,实现了从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥。其中,所述身份声明信息可以为任意形式的信息,例如为代表所述查询区块链节点的数字编号,或者为所述查询区块链节点的URI(统一资源标识符Uniform ResourceIdentifier)。本实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,从而可以根据所述身份声明信息,暂时确定所述查询区块链节点的身份,再判断与暂时确定所述查询区块链节点的身份对应的公钥(即与所述身份声明信息对应的公钥)对所述加密后的数字证明进行解密处理获得的数字证明是否存在于所述密码管理平台中,从而判断暂时确定所述查询区块链节点的身份是否正确(若解密后的数字证明存在于所述密码管理平台中,则判断正确)。本实施方式通过所述身份声明信息,直接获取对应的公钥,相较于没有身份声明信息的技术方案,更加高效并且节省算力。
在一个实施方式中,所述若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点的步骤S6,包括:
S601、若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;
S602、将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
如上所述,实现了将所述公私密钥对中的私钥发送给所述查询区块链节点。若所述查询区块链节点记载于所述权限列表中,表明所述查询区块链节点具有查询权限,应发送相应的私钥给所述查询区块链节点。因此根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易,从而获知所述查询请求携带的数字证明对应的交易相应的私钥,再将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。而接收到私钥的查询区块链节点,就能够利用私钥对交易进行解密处理,从而获得交易的具体信息。
在一个实施方式中,所述接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表的步骤S1之前,包括:
S001、采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;
S002、基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;
S003、以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
如上所述,实现了构建区块链。其中指定语言包括JAVA、C++、Python等任意可行语言。类(Class)是面向对象程序设计实现信息封装的基础。类是一种用户定义类型,也称类型。每个类包含数据说明和一组操作数据或传递消息的函数。所述区块链类即是描述区块链的类。将区块链类实例化,即是声明一个区块链类型的对象,从而获得了创世块(没有区块前的第一个区块),其中创世块中的哈希值可设置为0。再基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值,从而构成了一条具有多区块的区块链。再将同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链网络。其中,所述共识机制例如工作量证明机制、权益证明机制、股份授权证明机制等。据此,建立所述区块链网络。
本申请的基于区块链的数据保密方法,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;生成公私密钥对与代表所述交易的数字证明;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高了数据的保密性。
参照图2,本申请实施例提供一种基于区块链的数据保密装置,应用于密码管理平台,包括:
密钥生成请求接收单元10,用于接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
公私密钥对生成单元20,用于根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
发送单元30,用于将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
查询请求接收单元40,用于接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
权限列表判断单元50,用于判断所述查询区块链节点是否记载于所述权限列表中;
私钥发送单元60,用于若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
如上述单元10所述,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表。本申请所述预先搭建的区块链可以是任意类型的区块链,包括公有链、私有链、联盟链等。相较于普能的区块链,本申请采用密码管理平台以存放管理区块链节点的公钥、私钥,便于管理、加强密钥的安全性、数据的安全性。本申请的执行主体为密码管理平台,密码管理平台可以为所述预先搭建的区块链中的一个节点。所述交易是指指定区块链节点要对账本数据进行修改(即进行交易操作)。所述密钥生成请求是要求密码管理平台生成用于加密或者解密所述交易的公私密钥对。所述具有查看交易权限的区块链节点的权限列表中规定了哪些区块链节点可以查询所述交易。
如上述单元20所述,根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。其中所述公私密钥对用于加密或者解密所述交易,所述数字证明可以为任意形式的数字证明,例如数字编号,或者是所述交易的哈希值。保存所述公私密钥对中的私钥与所述权限列表,以备区块链节点进行查询时使用。
如上述单元30所述,将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点。其中,所述指定区块链节点接收到所述公私密钥对中的公钥与所述数字证明后,即可对已完成的所述交易利用公钥进行加密处理,再将加密处理后的交易发送给其他区块链节点,从而即保证了分布式存储,又实现了数据加密。将所述数字证明发送给其他区块链节点,使其他区块链节点获知所述交易,在需要查询所述交易时,可以向所述密码管理平台发送具有所述数字证明的查询请求,以表明是对哪个交易进行的查询。
如上述单元40所述,接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明。所述查询区块链节点是指发送查询请求的的区块链节点,所述查询请求携带的所述数字证明用于确定要查询的是哪个交易。
如上述单元50所述,判断所述查询区块链节点是否记载于所述权限列表中。本申请的密码管理平台具有密码管理功能,根据前述接收到的权限列表,判断所述查询区块链节点是否具有查询权限,具体地,通过判断所述查询区块链节点是否记载于所述权限列表中,从而判断出所述查询区块链节点是否具有查询权限。若所述查询区块链节点是记载于所述权限列表中,则所述查询区块链节点具有查询权限。
如上述单元60所述,若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。若所述查询区块链节点记载于所述权限列表中,表明所述查询区块链节点具有查询权限,因此将所述公私密钥对中的私钥发送给所述查询区块链节点。由于所述查询区块链节点具有被所述公私密钥对中的公钥加密过的交易,因此利用接收到的所述公私密钥对中的私钥对交易进行解密,即可获得交易的具体信息。
在一个实施方式中,所述公私密钥对生成单元20,包括:
哈希值获取要求发送子单元,用于向所述指定区块链节点发送所述交易的哈希值获取要求;
哈希值发送子单元,用于接收所述指定区块链节点发送的所述交易的哈希值;
公私密钥对生成子单元,用于根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
如上所述,实现了根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。本实施方式中,以所述交易的哈希值作为所述交易的数字证明。哈希值是一种从任何一种数据中创建小的数字“指纹”,其中采用的算法称为散列算法或哈希函数。哈希函数为已成熟技术,在此不再赘述。由于本申请的所述交易的哈希值是对所述交易通过哈希函数计算得到,而对于特定的交易,它的哈希函数计算结果是一个固定长度的数字,并且哈希算法是一个不可逆的单向函数,从而所述交易的哈希值能够唯一地代表所述交易,且能够防止根据所述哈希值获取所述交易的具体信息。因此根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表,提高了信息安全性。其中,哈希值采用的哈希算法可为任意算法,例如MD5、SHA。
在一个实施方式中,所述装置,包括:
数字证明提取单元,用于从所述查询请求中提取出数字证明;
数字证明判断单元,用于判断提取出的数字证明是否存储在所述密码管理平台中;
查询请求拒绝单元,用于若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
如上所述,实现了确定交易,并拒绝对不存在的交易的查询请求。数字证明代表了交易,所述查询请求携带有数字证明。若所述数字证明没有存储在所述密码管理平台中,表明所述交易并未在所述密码管理平台中备案,也表明不存在所述数字证明对应的公私密钥对。因此,若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
在一个实施方式中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述权限列表判断单元50,包括:
加密数字证明提取子单元,用于从所述查询请求中提取出所述加密后的数字证明;
公钥获取子单元,用于从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;
查询区块链节点确定子单元,用于根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;
权限列表判断子单元,用于判断所述查询区块链节点是否记载于所述权限列表中。
如上所述,实现了判断所述查询区块链节点是否记载于所述权限列表中。其中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储所述指定私钥对应的公钥,从而实现了信息保密。即便所述查询请求泄漏,由于所述查询请求中的数字证明已用指定私钥进行加密,因此获得泄漏的查询请求的第三方也无法得知是哪个区块链节点要求查询。而接收到具有所述加密后的数字证明的查询请求的密码管理平台,由于存储有所述指定私钥对应的公钥,因此可以对所述加密后的数字证明进行解密,进而确定所述查询区块链节点,再判断所述查询区块链节点是否记载于所述权限列表中。
在一个实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,所述公钥获取子单元,包括:
身份声明公钥提取模块,用于根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;
解密模块,用于使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;
数字证明判断模块,用于判断解密后的数字证明是否存在于所述密码管理平台中;
公钥标记模块,用于若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
如上所述,实现了从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥。其中,所述身份声明信息可以为任意形式的信息,例如为代表所述查询区块链节点的数字编号,或者为所述查询区块链节点的URI(统一资源标识符Uniform ResourceIdentifier)。本实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,从而可以根据所述身份声明信息,暂时确定所述查询区块链节点的身份,再判断与暂时确定所述查询区块链节点的身份对应的公钥(即与所述身份声明信息对应的公钥)对所述加密后的数字证明进行解密处理获得的数字证明是否存在于所述密码管理平台中,从而判断暂时确定所述查询区块链节点的身份是否正确(若解密后的数字证明存在于所述密码管理平台中,则判断正确)。本实施方式通过所述身份声明信息,直接获取对应的公钥,相较于没有身份声明信息的技术方案,更加高效并且节省算力。
在一个实施方式中,所述私钥发送单元60,包括:
交易确定子单元,用于若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;
私钥发送子单元,用于将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
如上所述,实现了将所述公私密钥对中的私钥发送给所述查询区块链节点。若所述查询区块链节点记载于所述权限列表中,表明所述查询区块链节点具有查询权限,应发送相应的私钥给所述查询区块链节点。因此根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易,从而获知所述查询请求携带的数字证明对应的交易相应的私钥,再将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。而接收到私钥的查询区块链节点,就能够利用私钥对交易进行解密处理,从而获得交易的具体信息。
在一个实施方式中,所述装置,包括:
建立创世块单元,用于采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;
生成其他区块单元,用于基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;
建立区块链单元,用于以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
如上所述,实现了构建区块链。其中指定语言包括JAVA、C++、Python等任意可行语言。类(Class)是面向对象程序设计实现信息封装的基础。类是一种用户定义类型,也称类型。每个类包含数据说明和一组操作数据或传递消息的函数。所述区块链类即是描述区块链的类。将区块链类实例化,即是声明一个区块链类型的对象,从而获得了创世块(没有区块前的第一个区块),其中创世块中的哈希值可设置为0。再基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值,从而构成了一条具有多区块的区块链。再将同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链网络。其中,所述共识机制例如工作量证明机制、权益证明机制、股份授权证明机制等。据此,建立所述区块链网络。
本申请的基于区块链的数据保密装置,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;生成公私密钥对与代表所述交易的数字证明;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高了数据的保密性。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于区块链的数据保密方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的数据保密方法。
上述处理器执行上述基于区块链的数据保密方法,应用于密码管理平台,包括以下步骤:接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;判断所述查询区块链节点是否记载于所述权限列表中;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
在一个实施方式中,所述根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表的步骤,包括:向所述指定区块链节点发送所述交易的哈希值获取要求;接收所述指定区块链节点发送的所述交易的哈希值;根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
在一个实施方式中,所述接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明的步骤之后,包括:从所述查询请求中提取出数字证明;判断提取出的数字证明是否存储在所述密码管理平台中;若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
在一个实施方式中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述判断所述查询区块链节点是否记载于所述权限列表中的步骤,包括:从所述查询请求中提取出所述加密后的数字证明;从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;判断所述查询区块链节点是否记载于所述权限列表中。
在一个实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,所述从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥的步骤,包括:根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;判断解密后的数字证明是否存在于所述密码管理平台中;若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
在一个实施方式中,所述若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点的步骤,包括:若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
在一个实施方式中,所述接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表的步骤之前,包括:采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;生成公私密钥对与代表所述交易的数字证明;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高了数据的保密性。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于区块链的数据保密方法,应用于密码管理平台,包括以下步骤:接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;判断所述查询区块链节点是否记载于所述权限列表中;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
在一个实施方式中,所述根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表的步骤,包括:向所述指定区块链节点发送所述交易的哈希值获取要求;接收所述指定区块链节点发送的所述交易的哈希值;根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
在一个实施方式中,所述接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明的步骤之后,包括:从所述查询请求中提取出数字证明;判断提取出的数字证明是否存储在所述密码管理平台中;若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
在一个实施方式中,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述判断所述查询区块链节点是否记载于所述权限列表中的步骤,包括:从所述查询请求中提取出所述加密后的数字证明;从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;判断所述查询区块链节点是否记载于所述权限列表中。
在一个实施方式中,所述查询请求中携带所述查询区块链节点的身份声明信息,所述从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥的步骤,包括:根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;判断解密后的数字证明是否存在于所述密码管理平台中;若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
在一个实施方式中,所述若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点的步骤,包括:若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
在一个实施方式中,所述接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表的步骤之前,包括:采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
本申请的计算机可读存储介质,接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求;生成公私密钥对与代表所述交易的数字证明;将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;接收查询区块链节点发送的查询请求;若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。从而提高了数据的保密性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于区块链的数据保密方法,应用于密码管理平台,其特征在于,包括:
接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
判断所述查询区块链节点是否记载于所述权限列表中;
若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
2.根据权利要求1所述的基于区块链的数据保密方法,其特征在于,所述根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表的步骤,包括:
向所述指定区块链节点发送所述交易的哈希值获取要求;
接收所述指定区块链节点发送的所述交易的哈希值;
根据所述密钥生成请求,生成公私密钥对,同时以所述交易的哈希值作为所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表。
3.根据权利要求1所述的基于区块链的数据保密方法,其特征在于,所述接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明的步骤之后,包括:
从所述查询请求中提取出数字证明;
判断提取出的数字证明是否存储在所述密码管理平台中;
若提取出的数字证明没有存储在所述密码管理平台中,则拒绝所述查询请求。
4.根据权利要求1所述的基于区块链的数据保密方法,其特征在于,所述查询请求携带的数字证明为所述查询区块链节点用指定私钥进行加密后的数字证明,所述密码管理平台存储有所述指定私钥对应的公钥,所述判断所述查询区块链节点是否记载于所述权限列表中的步骤,包括:
从所述查询请求中提取出所述加密后的数字证明;
从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥;
根据所述能够解密所述加密后的数字证明的公钥,利用预设的公钥与区块链节点的对应关系,确定所述查询区块链节点;
判断所述查询区块链节点是否记载于所述权限列表中。
5.根据权利要求4所述的基于区块链的数据保密方法,其特征在于,所述查询请求中携带所述查询区块链节点的身份声明信息,所述从存储的多个公钥中获取能够解密所述加密后的数字证明的公钥的步骤,包括:
根据所述身份声明信息,从存储的多个公钥中提取与所述身份声明信息对应的公钥;
使用所述与所述身份声明信息对应的公钥对所述加密后的数字证明进行解密处理,获得解密后的数字证明;
判断解密后的数字证明是否存在于所述密码管理平台中;
若解密后的数字证明存在于所述密码管理平台中,则将所述身份声明信息对应的公钥记为能够解密所述加密后的数字证明的公钥。
6.根据权利要求1所述的基于区块链的数据保密方法,其特征在于,所述若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点的步骤,包括:
若所述查询区块链节点记载于所述权限列表中,则根据预设的数字证明与交易的对应关系,确定所述查询请求携带的数字证明对应的交易;
将所述查询请求携带的数字证明对应的交易相应的私钥发送给所述查询区块链节点。
7.根据权利要求1所述的基于区块链的数据保密方法,其特征在于,所述接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表的步骤之前,包括:
采用指定语言在所述密码管理平台中创建区块链类,将所述区块链类实例化后建立创世块;
基于所述创世块,生成其他区块,其中所述其他区块包括前一区块的哈希值;
以同意所述区块链的预设共识机制的终端作为区块链节点,从而建立所述区块链。
8.一种基于区块链的数据保密装置,应用于密码管理平台,其特征在于,包括:
密钥生成请求接收单元,用于接收预先搭建的区块链中的指定区块链节点在进行交易之前发送的密钥生成请求,其中所述密钥生成请求携带了具有查看交易权限的区块链节点的权限列表;
公私密钥对生成单元,用于根据所述密钥生成请求,生成公私密钥对与代表所述交易的数字证明,并保存所述公私密钥对中的私钥与所述权限列表;
发送单元,用于将所述公私密钥对中的公钥与所述数字证明发送给所述指定区块链节点,并将所述数字证明发送给其他区块链节点;
查询请求接收单元,用于接收查询区块链节点发送的查询请求,其中所述查询请求携带有所述数字证明;
权限列表判断单元,用于判断所述查询区块链节点是否记载于所述权限列表中;
私钥发送单元,用于若所述查询区块链节点记载于所述权限列表中,则将所述公私密钥对中的私钥发送给所述查询区块链节点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601113.XA CN110458558A (zh) | 2019-07-04 | 2019-07-04 | 基于区块链的数据保密方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601113.XA CN110458558A (zh) | 2019-07-04 | 2019-07-04 | 基于区块链的数据保密方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110458558A true CN110458558A (zh) | 2019-11-15 |
Family
ID=68482255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910601113.XA Pending CN110458558A (zh) | 2019-07-04 | 2019-07-04 | 基于区块链的数据保密方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458558A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062058A (zh) * | 2019-12-26 | 2020-04-24 | 江西宜月鑫网络科技有限公司 | 基于区块链的密钥对处理方法、装置、终端及可读存储介质 |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN111581668A (zh) * | 2020-05-15 | 2020-08-25 | 重庆帮帮链智能科技有限公司 | 一种区块链数据管理系统 |
CN111741062A (zh) * | 2020-05-12 | 2020-10-02 | 成都芯域矩阵科技有限公司 | 一种基于区块链技术的电子设备局域管理系统 |
CN113379344A (zh) * | 2021-05-27 | 2021-09-10 | 芜湖锋珉信息科技有限公司 | 一种基于云计算处理的智能物流处理方法和系统 |
CN114666064A (zh) * | 2022-03-25 | 2022-06-24 | 广东启链科技有限公司 | 基于区块链的数字资产管理方法、装置、存储介质及设备 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
CN106685989A (zh) * | 2017-02-07 | 2017-05-17 | 杭州秘猿科技有限公司 | 一种基于许可链支持监管的隐私通信方法 |
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
CN107292181A (zh) * | 2017-06-20 | 2017-10-24 | 无锡井通网络科技有限公司 | 基于区块链的数据库系统及使用该系统的使用方法 |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
CN107301521A (zh) * | 2017-06-26 | 2017-10-27 | 深圳前海华深安信物联技术有限公司 | 一种基于区块链的仓单系统中加强仓单交易安全性的方法 |
CN108200079A (zh) * | 2018-01-19 | 2018-06-22 | 深圳四方精创资讯股份有限公司 | 基于对称和非对称混合加密的区块链隐私保护方法及装置 |
CN109034796A (zh) * | 2018-06-15 | 2018-12-18 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易监管方法、电子装置及可读存储介质 |
CN109064324A (zh) * | 2018-06-15 | 2018-12-21 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易方法、电子装置及可读存储介质 |
WO2019052281A1 (zh) * | 2017-09-12 | 2019-03-21 | 京信通信系统(中国)有限公司 | 基于区块链的移动终端认证管理方法、装置及相应的移动终端 |
CN109617698A (zh) * | 2019-01-09 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 发放数字证书的方法、数字证书颁发中心和介质 |
CN109660485A (zh) * | 2017-10-10 | 2019-04-19 | 中兴通讯股份有限公司 | 一种基于区块链交易的权限控制方法及系统 |
CN109767325A (zh) * | 2018-12-13 | 2019-05-17 | 重庆金融资产交易所有限责任公司 | 基于区块链的交易方法、装置及计算机可读存储介质 |
CN109815747A (zh) * | 2019-01-17 | 2019-05-28 | 重庆金融资产交易所有限责任公司 | 基于区块链的离线审计方法、电子装置及可读存储介质 |
KR101984254B1 (ko) * | 2018-09-21 | 2019-05-30 | 김성완 | 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
US20190173872A1 (en) * | 2017-12-04 | 2019-06-06 | Mastercard International Incorporated | Method and system for trustworthiness using digital certificates |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
-
2019
- 2019-07-04 CN CN201910601113.XA patent/CN110458558A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
CN106685989A (zh) * | 2017-02-07 | 2017-05-17 | 杭州秘猿科技有限公司 | 一种基于许可链支持监管的隐私通信方法 |
CN107292181A (zh) * | 2017-06-20 | 2017-10-24 | 无锡井通网络科技有限公司 | 基于区块链的数据库系统及使用该系统的使用方法 |
CN107301521A (zh) * | 2017-06-26 | 2017-10-27 | 深圳前海华深安信物联技术有限公司 | 一种基于区块链的仓单系统中加强仓单交易安全性的方法 |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
WO2019052281A1 (zh) * | 2017-09-12 | 2019-03-21 | 京信通信系统(中国)有限公司 | 基于区块链的移动终端认证管理方法、装置及相应的移动终端 |
CN109660485A (zh) * | 2017-10-10 | 2019-04-19 | 中兴通讯股份有限公司 | 一种基于区块链交易的权限控制方法及系统 |
US20190173872A1 (en) * | 2017-12-04 | 2019-06-06 | Mastercard International Incorporated | Method and system for trustworthiness using digital certificates |
CN108200079A (zh) * | 2018-01-19 | 2018-06-22 | 深圳四方精创资讯股份有限公司 | 基于对称和非对称混合加密的区块链隐私保护方法及装置 |
CN109064324A (zh) * | 2018-06-15 | 2018-12-21 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易方法、电子装置及可读存储介质 |
CN109034796A (zh) * | 2018-06-15 | 2018-12-18 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易监管方法、电子装置及可读存储介质 |
KR101984254B1 (ko) * | 2018-09-21 | 2019-05-30 | 김성완 | 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
CN109767325A (zh) * | 2018-12-13 | 2019-05-17 | 重庆金融资产交易所有限责任公司 | 基于区块链的交易方法、装置及计算机可读存储介质 |
CN109617698A (zh) * | 2019-01-09 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 发放数字证书的方法、数字证书颁发中心和介质 |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
CN109815747A (zh) * | 2019-01-17 | 2019-05-28 | 重庆金融资产交易所有限责任公司 | 基于区块链的离线审计方法、电子装置及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
陈葳葳;曹利;邵长虹;: "基于区块链技术的车联网高效匿名认证方案", 计算机应用 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062058A (zh) * | 2019-12-26 | 2020-04-24 | 江西宜月鑫网络科技有限公司 | 基于区块链的密钥对处理方法、装置、终端及可读存储介质 |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN111461720B (zh) * | 2020-04-15 | 2024-03-22 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN111741062A (zh) * | 2020-05-12 | 2020-10-02 | 成都芯域矩阵科技有限公司 | 一种基于区块链技术的电子设备局域管理系统 |
CN111581668A (zh) * | 2020-05-15 | 2020-08-25 | 重庆帮帮链智能科技有限公司 | 一种区块链数据管理系统 |
CN111581668B (zh) * | 2020-05-15 | 2023-05-16 | 重庆帮帮链智能科技有限公司 | 一种区块链数据管理系统 |
CN113379344A (zh) * | 2021-05-27 | 2021-09-10 | 芜湖锋珉信息科技有限公司 | 一种基于云计算处理的智能物流处理方法和系统 |
CN114666064A (zh) * | 2022-03-25 | 2022-06-24 | 广东启链科技有限公司 | 基于区块链的数字资产管理方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493020B (zh) | 基于区块链的安全交易方法和装置 | |
CN110458558A (zh) | 基于区块链的数据保密方法、装置和计算机设备 | |
CN109862041B (zh) | 一种数字身份认证方法、设备、装置、系统及存储介质 | |
CN110535833B (zh) | 一种基于区块链的数据共享控制方法 | |
CN111191286B (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
TWI722116B (zh) | 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移 | |
JP6524347B2 (ja) | 情報共有システム | |
CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
CN109325342B (zh) | 身份信息管理方法、装置、计算机设备和存储介质 | |
CN108123800A (zh) | 密钥管理方法、装置、计算机设备及存储介质 | |
US20220215355A1 (en) | Method for directly transmitting electronic coin data records between terminals and payment system | |
JP4876169B2 (ja) | データを安全に記憶するための方法、システム、およびコンピュータ・プログラム | |
CN113067699B (zh) | 基于量子密钥的数据共享方法、装置和计算机设备 | |
CN110175467A (zh) | 基于区块链的签名文件保存方法、装置和计算机设备 | |
CN112613076B (zh) | 保护隐私的多方数据处理的方法、装置和系统 | |
CN109493058A (zh) | 一种基于区块链的身份识别方法及相关设备 | |
US10949556B2 (en) | Method for encrypting data and a method for decrypting data | |
CN110489393A (zh) | 违约信息查询方法、装置、计算机设备和存储介质 | |
CN105022966A (zh) | 数据库数据加密解密方法和系统 | |
CN104484628B (zh) | 一种具有加密解密功能的多应用智能卡 | |
CN110245117A (zh) | 一种基于区块链的云上数据可信删除方法与系统 | |
CN110135175A (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
CN110442654A (zh) | 违约信息查询方法、装置、计算机设备和存储介质 | |
CA3184856A1 (en) | Method, participatant unit, transaction register, and payment system for managing transaction data sets | |
CN115333809A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191115 |