CN110851843A - 基于区块链的数据管理方法及装置 - Google Patents
基于区块链的数据管理方法及装置 Download PDFInfo
- Publication number
- CN110851843A CN110851843A CN201910949871.0A CN201910949871A CN110851843A CN 110851843 A CN110851843 A CN 110851843A CN 201910949871 A CN201910949871 A CN 201910949871A CN 110851843 A CN110851843 A CN 110851843A
- Authority
- CN
- China
- Prior art keywords
- data
- target data
- identification information
- block chain
- index
- 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 62
- 238000013523 data management Methods 0.000 title claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种基于区块链的数据管理方法及装置,基于区块链的数据管理方法及装置应用于终端设备,方法至少可以包括:确定待存储到区块链的目标数据以及所述目标数据的标识信息;根据预设的摘要算法计算所述目标数据的第一摘要值;利用第一密钥对所述目标数据进行加密以形成密文数据;将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。通过本说明书实施例的技术方案,可更为有效的避免数据被入侵者窃取和篡改,从而提高数据的安全性。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及基于区块链的数据管理方法及装置。
背景技术
区块链利用链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据在各个分布式节点之间传输和访问的安全。区块链技术本质上是一种去中心化的分布式数据库技术,数据被公开透明的存储在区块链网络的每个记账节点中,从而使得存储至区块链的数据具有不可篡改的特性。
对于普通用户而言,用户的数据被公开透明的存储在区块链网络的每个记账节点,会增大用户的数据被入侵者恶意窃取的风险。而且,用户日常使用的终端设备通常能够对区块链网络进行访问,但其自身可能并不会作为区块链网络的一个节点加入到区块链网络中;如此,入侵者还可能在终端设备从区块链获取数据的过程中,为了达到特定的业务目的而对数据进行篡改。
因此,如何更为有效的避免数据被入侵者窃取和篡改,从而提高数据的安全性则成为亟待解决的问题。
发明内容
本说明书实施例中提供了一种基于区块链数据管理方法及装置,可更为有效的避免数据被入侵者窃取和篡改,从而提高数据的安全性。
第一方面,提供了一种基于区块链的数据管理方法,所述方法应用于终端设备,所述方法包括:
确定待存储到区块链的目标数据以及所述目标数据的标识信息;
根据预设的摘要算法计算所述目标数据的第一摘要值;
利用第一密钥对所述目标数据进行加密以形成密文数据;
将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
在一种可能的实施方式中,
在所述将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链之后,所述方法还包括:将所述标识信息作为一个索引项添加到数据索引表。
在一种可能的实施方式中,
所述标识信息包括:所述目标数据对应的文件名称,以及确定所述目标数据时所对应的第一时刻。
在一种可能的实施方式中,
所述将所述标识信息作为一个索引项添加到数据索引表,包括:
检测所述数据索引表包含的各个所述索引项中是否存在第一索引项,所述第一索引项中包含所述文件名称;
如果存在所述第一索引项,将所述第一索引项中包含的第二时刻更新为所述第一时刻。
在一种可能的实施方式中,
所述将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链,包括:
将所述密文数据、所述第一摘要值和所述标识信息写入一个交易的数据字段,并通过区块链网络的节点将所述交易发布到区块链网络,使得所述交易被打包到一个区块中,所述区块被添加到所述区块链。
第二方面,提供了一种基于区块链的数据管理方法,所述方法应用于终端设备,所述方法包括:
确定待获取的目标数据的标识信息;
从区块链中获取与所述标识信息关联的密文数据和第一摘要值;
利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;
根据预设的摘要算法计算所述目标数据的第二摘要值;
在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
在一种可能的实施方式中,
在所述确定待获取的目标数据的标识信息之前,所述方法还包括:向用户提供数据索引表,所述数据索引表包含至少一个索引项;
所述确定待获取的目标数据的标识信息,包括:响应于用户对所述至少一个索引项中的第二索引项的触发,确定所述第二索引项为待获取的目标数据的标识信息。
第三方面,提供了一种基于区块链的数据管理装置,所述装置应用于终端设备,所述装置包括:
信息确定单元,配置为确定待存储到区块链的目标数据以及所述目标数据的标识信息;
摘要计算单元,配置为根据预设的摘要算法计算所述目标数据的第一摘要值;
加密处理单元,配置为利用第一密钥对所述目标数据进行加密以形成密文数据;
存储处理单元,配置为将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
在一种可能的实施方式中,
所述装置还包括:索引管理单元,配置为将所述标识信息作为一个索引项添加到数据索引表。
第四方面,提供了一种基于区块链的数据管理装置,所述装置应用于终端设备,所述装置包括:
信息确定单元,配置为确定待获取的目标数据的标识信息;
数据获取单元,配置为从区块链中获取与所述标识信息关联的密文数据和第一摘要值;
解密处理单元,配置为利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;
摘要计算单元,配置为根据预设的摘要算法计算所述目标数据的第二摘要值;
数据提供单元,配置为在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,所述计算设备实现如第一方面、第二方面中任一项所述的方法。
第六方面,提供了一种终端设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面、第二方面中任一项所述的方法。
通过本说明书实施例中提供的数据管理方法及装置,一方面,区块链中并不直接存储目标数据,即使入侵者能够从区块链获取到目标数据的密文数据,也将因无法得知用于解密密文数据所需的密钥而无法窃取目标数据;另一方面,密文数据、第一摘要值及标识信息关联存储至区块链,使得终端设备可以基于标识信息从区块链中获取与其关联的密文数据和第一摘要值,而第一摘要值可以用于对密文数据所对应的目标数据的完整性进行验证,有利于降低入侵者对目标数据进行篡改的可能性。综上所述,本说明书实施例中提供的技术方案,可更为有效的避免数据被入侵者窃取和篡改,从而提高数据的安全性。
附图说明
图1为本说明书实施例的***框架示意图;
图2为本说明书实施例中提供的一种基于区块链的数据管理方法的流程图;
图3为本说明书实施例中提供的另一种基于区块链的数据管理方法的流程图;
图4为本说明书实施例中提供的另一种基于区块链的数据管理方法的流程图;
图5为本说明书实施例中提供的一种基于区块链的数据管理装置的结构示意图;
图6为本说明书实施例中提供的另一种基于区块链的数据管理装置的结构示意图;
图7为本说明书实施例中提供的另一种基于区块链的数据管理装置的结构示意图。
具体实施方式
图1示出了本说明书实施例的***框架示意图。如图1所示,区块链网络(或者称为区块链***)10可以包括多个区块链节点101;区块链网络10的每个区块链节点101,具有将包含数据的交易广播到整个区块链网络10的能力;作为记账节点的区块链节点101可以将其接收的交易打包成区块,并添加到区块链中,实现将数据存储到区块链。
在区块链网络10包含的各个区块链节点101中,每个节点都会存储相同的交易,即区块链网络10的每个节点均存储相同的数据;并且,在节点存储的区块链所包含的相邻两个区块中,在后打包的区块与在先打包的区块相关联。如此,使得存储至区块链中的数据具有不可篡改的特性。
用户使用的终端设备20可能作为一个区块链节点101加入区块链网络10,还可能与区块链网络10的一个或多个区块链节点101连接。当终端设备20与区块链网络10的一个区块链节点101连接时,终端设备20可以向与其连接的区块链节点101发送包含数据的交易,通过该节点101将包含数据的交易发布到区块链网络10,最终使得包含数据的交易被存储到区块链中。
相应的,终端设备20还能够通过与其连接的区块链节点101,获取区块链中存储的包含于各个交易的数据。
可以理解的,每个区块链节点101可以为一个或多个具有一定数据存储能力、一定计算能力的计算设备,比如为一台服务器。
可以理解的,用户使用的终端设备20包括但不限于笔记本电脑、平板电脑、智能手机等各种形式的、能够与作为区块链节点101的计算设备进行通信的电子设备。
可以理解的,对于区块链网络10,各个区块链节点101自身及其连接的终端设备20均能够对区块链中存储的数据进行查询,且区块链节点101可能由不同的托管方(企业、组织机构或个人)进行托管。如果入侵者成功入侵某一个终端设备20或者某一个区块链节点101,则能够直接窃取公开透明的存储在区块链网络10的各个节点上的数据;而且,在终端设备20未作为区块链节点101加入区块链网络10的情况下,数据在终端设备20与其连接的区块链节点101之间传输的过程中,也可能被入侵者窃取或篡改,数据的安全性较低。
有鉴于此,本申请实施例中至少提供了一种基于区块链的数据管理方法及装置,以期更为有效的避免数据被入侵者窃取和篡改,从而提高数据的安全性。
下面结合上述***框架,对本说明书实施例的技术方案进行详细描述。
图2为本说明书实施例中提供的一种基于区块链的数据管理方法的流程图。该方法由终端设备20执行,如图2所示,该方法至少可以包括如下步骤21至步骤27:步骤21,确定待存储到区块链的目标数据以及所述目标数据的标识信息;步骤23,根据预设的摘要算法计算所述目标数据的第一摘要值;步骤25,利用第一密钥对所述目标数据进行加密以形成密文数据;步骤27,将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
首先,在步骤21,确定待存储到区块链的目标数据以及所述目标数据的标识信息。
本说明书实施例中,目标数据包括但不限于音频、视频、文档等各种格式的文件。
本说明书实施例中,目标数据的标识信息应当能够用于对目标数据进行唯一标识,以便该目标数据的相关信息在后续过程中被存储到区块链之后,能够通过该目标数据的标识信息,在区块链中查询到该目标数据的相关信息。
对于不允许用户编辑或者通常不会被用户编辑的文件,该文件的文件名称通常能够用于对该文件进行唯一标识。因此,在一种可能的实施方式中,目标数据的标识信息可以包括目标数据的文件名称。
然而,当一个文件被用户编辑时,编辑之前和编辑之后的文件可能文件名相同而文件内容不完全相同,那么不管是在终端设备中还是在区块链中,很难仅仅利用该文件的文件名称来唯一标识编辑之前、编辑之后的文件。举例来说,对于一个文件名称为“XXX”的文本文件,用户可能在T1~T2时间段内对该文件进行编辑,比如在该文本文件中增加、修改或删除相应的文本内容;如果该文件在时刻T1之前的一个时刻T0被确定为需要进行存储的目标数据,且在时刻T2之后的一个时刻Ti再次被确定为需要进行存储的目标数据,该文件的文件名称则无法用于在终端设备或区块链中唯一标识这两个包含不同文本内容的目标数据。
因此,在另一种可能的实施方式中,目标数据的标识信息还可以包括确定该目标数据时对应的第一时刻。举例来说,文件名称为“XXX”的文件在T0时刻被确定为需要进行存储的目标数据,即可利用文件名称“XXX”和第一时刻T0的组合,作为该目标数据的标识信息。
接着,在步骤23,根据预设的摘要算法计算所述目标数据的第一摘要值。
可以理解的,预设的摘要算法包括但不限于MD5算法、SHA-1算法及其各种形式的变体。
可以理解的,第一摘要值可以用于对目标数据的完整性进行校验。
接着,在步骤25,利用第一密钥对所述目标数据进行加密以形成密文数据。
对于加密目标数据所使用的加密算法,既可以是各种形式的对称加密算法,也可以是各种形式的非对称加密算法,本说明书实施例中并不会对加密目标数据时使用的加密算法进行限定。
对于加密目标数据所使用的第一密钥,如果加密目标数据所使用的加密算法为对称加密算法,该第一密钥可以为针对该目标数据随机生成的一个随机数。对于加密目标数据所使用的第一密钥,如果加密目标数据所使用的加密算法为非对称加密算法,该第一密钥可以为针对该目标数据随机生成的两个随机数中的一个;两个随机数中的另一个作为与该第一密钥相对应的第二密钥,可以用于在后续过程中对该目标数据所对应的密文数据进行解密以得到该目标数据。如此,对于任意两个需要进行存储处理的目标数据,可能使用不同的第一密钥对其进行加密以形成其各自对应的密文数据,避免入侵者在得知用于加密某个目标数据的第一密钥或解密某个目标数据所需的第二密钥之后,利用大量的第二密钥继续窃取或篡改其他的目标数据。
接着,在步骤27,将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
具体地,终端设备可以将该密文数据、第一摘要值和标识信息写入一个交易的数据字段,并将该交易发送至区块链网络中与其连接的一个区块链节点101,从而通过与其连接的区块链节点101将该交易发布到整个区块链网络10,使得区块链网络10中作为记账节点的各个区块链节点101将该交易打包到一个区块中,并将该区块添加到区块链。
这里,将目标数据对应的密文数据及其第一摘要值、标识信息关联存储至区块链,便于用户通过该目标数据的标识信息,从区块链中获取该目标数据所对应的密文数据和第一摘要值。
相应的,为了使用户能够通过该目标数据的标识信息,从区块链中获取该目标数据所对应的密文数据和第一摘要值,如图3所示,在一种可能的实施方式中,所述方法还可以包括如下步骤29:将所述标识信息作为一个索引项添加到数据索引表。
在一个较为具体的示例中,可以将该目标数据的标识信息作为一个新的索引项增加到数据索引表中。以目标数据的标识信息包括目标数据的文件名称,可选的包括确定该目标数据时所对应的第一时刻为例,请参考如下表1所示的数据索引表:
表1
文件名称 | 时刻 |
XXX | T<sub>i</sub> |
ZZZ | NULL |
XXX | T<sub>j</sub> |
如上表1所示,对于一个名称为“XXX”的文件,该文件在第一时刻Ti首次被确定为目标数据,且该文件包含的数据内容可能在Ti时刻之后的某个时间段内被用户编辑,那么,即可将该文件的文件名称“XXX”和时刻“Ti”组合成一个索引项新增到数据索引表;对于一个名称为“ZZZ”的文件,该文件在第一时刻Tn首次被确定为目标数据,但是该文件包含的数据内容并不允许用户编辑或者用户通常不会在时刻Tn之后对该文件进行编辑,那么,即可将该文件的文件名称“ZZZ”作为该数据对应的索引项新增到数据索引表。假设用户在时刻Ti之后针对该文件名称为“XXX”的文件所包含的数据内容进行编辑,在时刻Tj再次将该文件确定为目标数据,则可将该文件的文件名称“XXX”和时刻“Tj”组合成一个索引项新增到数据索引表。
如此,对于用户侧而言,可方便用户通过数据索引表来获取文件名称相同却包含有不同数据内容的目标数据,即方便用户通过数据索引表来获取各个版本的文件。
在另一个较为具体的示例中,还可以检测数据索引表包含的各个索引项中是否存在包含目标数据的文件名称的第一索引项,如果存在第一索引项,则将第一索引项中包含的第二时刻更新为确定该目标数据时所对应的第一时刻。以目标数据的标识信息包括目标数据的文件名称,可选的包括确定该目标数据时所对应的第一时刻为例,请参考如下表2所示的数据索引表:
表2
文件名称 | 时刻 |
XXX | T<sub>j</sub> |
ZZZ | NULL |
如上表2所示,对于一个名称为“XXX”的文件,该文件在第一时刻Ti首次被确定为目标数据,且该文件包含的数据内容可能在Ti时刻之后的某个时间段内被用户编辑,那么,即可将该文件的文件名称“XXX”和时刻“Ti”组合成一个索引项新增到数据索引表;对于一个名称为“ZZZ”的文件,该文件在第一时刻Tn首次被确定为目标数据,但是该文件包含的数据内容并不允许用户编辑或者用户通常不会在时刻Tn之后对该文件进行编辑,那么,即可将该文件的文件名称“ZZZ”作为该数据对应的索引项新增到数据索引表。假设用户在时刻Ti之后针对该文件名称为“XXX”的文件所包含的数据内容进行编辑,在时刻Tj再次将该文件确定为目标数据;此时,数据索引表中已经存在一个第一索引项包含文件名称“XXX”,可以利用Tj直接替换该第一索引项包含的时刻“Ti”。
如此,对于用户侧而言,即使用户针对某个文件频繁进行编辑,并在不同的时刻将该文件确定为目标数据进行存储,数据索引表中也仅存储一个相关于该文件的索引项,且用户能够通过该数据索引表查询到最近一次编辑的文件,如此,使得数据索引表更加简洁,用户体验较好。
前述各个方法实施例中重点描述了基于区块链来存储数据的过程,与前述存储数据的过程相对应的,本申请实施例中还提供了另一种基于区块链的数据管理方法,该方法由终端设备20执行,如图4所示,该方法至少可以包括如下步骤41至步骤49:步骤41,确定待获取的目标数据的标识信息;步骤43,从区块链中获取与所述标识信息关联的密文数据和第一摘要值;步骤45,利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;步骤47,根据预设的摘要算法计算所述目标数据的第二摘要值;步骤49,在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
首先,在步骤41,确定待获取的目标数据的标识信息。
在一种可能的实施方式中,终端设备可以向用户提供数据索引表,数据索引表包含至少一个索引项。数据索引表和数据索引项的具体内容参考前述各个实施例,这里不再对其进行赘述。
相应的,对于步骤41,可以在终端设备接收到用户对至少一个索引项中的第二索引项的触发时,确定用户触发的第二索引为待获取的目标数据的标识信息。
接着,在步骤43,从区块链中获取与所述标识信息关联的密文数据和第一摘要值。
具体而言,终端设备20可以直接的或者通过与其连接的区块链节点间接的针对区块链上记录的各个交易进行查询,从而直接的或者通过与其连接的区块链节点101间接的实现从区块链中获取与标识信息关联的密文数据和第一摘要值。
接着,在步骤45,利用第二密钥对所述密文数据进行解密以获取所述目标数据。
其中,第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应。具体而言,如果终端设备20利用第一密钥加密目标数据以形成密文数据时使用的加密算法为对称加密算法,则该第二密钥与该第一密钥相同;如果终端设备20利用第一密钥加密目标数据以形成密文数据时使用的加密算法为非对称加密算法,则该第二密钥与该第一密钥相对应。
接着,在步骤47,根据预设的摘要算法计算所述目标数据的第二摘要值。
需要说明的是,计算目标数据的第二摘要值时使用的摘要算法,与计算目标数据的第一摘要值时使用的摘要算法应当完全相同。
这里,如果密文数据和第一摘要值从区块链网络传输至终端设备的过程中,入侵者利用其获知的、用于解密该密文数据的第二密钥解密了密文数据,针对解密得到的目标数据进行篡改之后,重新计算了篡改后的目标数据的第一摘要值,并利用其获知的第一密钥重新加密了篡改后的目标数据以形成新的密文数据;那么,也将由于入侵者无法得知终端设备实际使用的用于计算目标数据的预设的摘要算法,导致终端设备计算的第二摘要值与入侵者重新计算的第一摘要值并不相同。即如果终端设备计算的第二摘要值与第一摘要值不同,则说明入侵者成功篡改了目标数据。
相应的,在步骤49,在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。即在确认目标数据未被篡改的情况下,才向用户提供准确的、未被篡改的目标数据,以便用户查阅该目标数据或对该目标数据进行编辑。
在一种可能的实施方式中,由于区块链中存储的目标数据的密文数据和第一摘要值并不会被篡改,如果终端设备计算的第二摘要值与第一摘要值不同,那就意味着,目标数据在从区块链网络到终端设备的传输过程中被入侵者篡改,此时终端设备可以提示用户目标数据已经被入侵者篡改,以便用户触发终端设备重新获取区块链中存储的、该目标数据的密文数据和第一摘要值。
如此,终端设备20能够确定目标数据是否被入侵者篡改,即使入侵者为了达到特定业务目的而恶意篡改目标数据,也会被终端设备发现而导致其业务目的无法达成,从而降低入侵者在密文数据和第一摘要值从区块链网络10传输至终端设备20的过程中篡改目标数据的可能性。
与前述一个或多个方法实施例对应的,本说明书实施例中还提供了一种基于区块链的数据管理装置50,该数据管理装置50可部署在终端设备20上,使得终端设备20实现前述一个或多个实施例中所述的基于区块链的数据管理方法。如图5所示,在软件层面而言,该基于区块链的数据管理装置50可以包括:
信息确定单元51,配置为确定待存储到区块链的目标数据以及所述目标数据的标识信息;
摘要计算单元53,配置为根据预设的摘要算法计算所述目标数据的第一摘要值;
加密处理单元55,配置为利用第一密钥对所述目标数据进行加密以形成密文数据;
存储处理单元57,配置为将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
在一种可能的实施方式中,如图6所示,基于区块链的数据管理装置50还可以包括:索引管理单元59,配置为将所述标识信息作为一个索引项添加到数据索引表。
与前述一个或多个方法实施例对应的,本说明书实施例中还提供了另一种基于区块链的数据管理装置70,该数据管理装置70可部署在终端设备20上,使得终端设备20实现前述一个或多个实施例中所述的基于区块链的数据管理方法。如图7所示,在软件层面而言,该基于区块链的数据管理装置70可以包括:
信息确定单元71,配置为确定待获取的目标数据的标识信息;
数据获取单元73,配置为从区块链中获取与所述标识信息关联的密文数据和第一摘要值;
解密处理单元75,配置为利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;
摘要计算单元77,配置为根据预设的摘要算法计算所述目标数据的第二摘要值;
数据提供单元79,配置为在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
在一种可能的实施方式中,该数据管理装置70还可以包括:索引管理单元;其中,
所述索引管理单元,配置为向用户提供数据索引表,所述数据索引表包含至少一个索引项;
所述信息确定单元71,配置为响应于用户对所述至少一个索引项中的第二索引项的触发,确定所述第二索引项为待获取的目标数据的标识信息。
需要说明的是,上述基于区块链的数据管理装置50和基于区块链的数据管理装置70可以集成为同一个数据管理装置,并且部署于终端设备20中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能所对应的计算机程序存储在计算机可读介质中,或者作为计算机可读介质上的一个或多个指令/代码进行传输,以便这些功能所对应的计算机程序被计算机执行时,通过计算机实现本发明任意一个实施例中所述的方法。
具体而言,本说明书实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,所述计算设备实现本说明书任意一个实施例中提供的基于区块链的数据管理方法。
本说明书实施例中还提供了一种终端设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任意一个实施例中提供的基于区块链的数据管理方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例中相同、相似的部分互相参见即可,每个实施例均重点说明其与其他实施例的不同之处。尤其,对于装置/设备/***实施例而言,其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种基于区块链的数据管理方法,应用于终端设备,其特征在于,所述方法包括:
确定待存储到区块链的目标数据以及所述目标数据的标识信息;
根据预设的摘要算法计算所述目标数据的第一摘要值;
利用第一密钥对所述目标数据进行加密以形成密文数据;
将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
2.根据权利要求1所述的方法,其特征在于,
在所述将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链之后,所述方法还包括:将所述标识信息作为一个索引项添加到数据索引表。
3.根据权利要求2所述的方法,其特征在于,
所述标识信息包括:所述目标数据对应的文件名称,以及确定所述目标数据时所对应的第一时刻。
4.根据权利要求3所述的方法,其特征在于,
所述将所述标识信息作为一个索引项添加到数据索引表,包括:
检测所述数据索引表包含的各个所述索引项中是否存在第一索引项,所述第一索引项中包含所述文件名称;
如果存在所述第一索引项,将所述第一索引项中包含的第二时刻更新为所述第一时刻。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链,包括:
将所述密文数据、所述第一摘要值和所述标识信息写入一个交易的数据字段,并通过区块链网络的节点将所述交易发布到区块链网络,使得所述交易被打包到一个区块中,所述区块被添加到所述区块链。
6.一种基于区块链的数据管理方法,应用于终端设备,其特征在于,包括:
确定待获取的目标数据的标识信息;
从区块链中获取与所述标识信息关联的密文数据和第一摘要值;
利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;
根据预设的摘要算法计算所述目标数据的第二摘要值;
在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
7.根据权利要求6所述的方法,其特征在于,
在所述确定待获取的目标数据的标识信息之前,所述方法还包括:向用户提供数据索引表,所述数据索引表包含至少一个索引项;
所述确定待获取的目标数据的标识信息,包括:响应于用户对所述至少一个索引项中的第二索引项的触发,确定所述第二索引项为待获取的目标数据的标识信息。
8.一种基于区块链的数据管理装置,应用于终端设备,其特征在于,包括:
信息确定单元,配置为确定待存储到区块链的目标数据以及所述目标数据的标识信息;
摘要计算单元,配置为根据预设的摘要算法计算所述目标数据的第一摘要值;
加密处理单元,配置为利用第一密钥对所述目标数据进行加密以形成密文数据;
存储处理单元,配置为将所述密文数据、所述第一摘要值和所述标识信息关联存储至区块链。
9.根据权利要求8所述的装置,其特征在于,
所述装置还包括:索引管理单元,配置为将所述标识信息作为一个索引项添加到数据索引表。
10.一种基于区块链的数据管理装置,应用于终端设备,其特征在于,包括:
信息确定单元,配置为确定待获取的目标数据的标识信息;
数据获取单元,配置为从区块链中获取与所述标识信息关联的密文数据和第一摘要值;
解密处理单元,配置为利用第二密钥对所述密文数据进行解密以获取所述目标数据,其中,所述第二密钥与加密所述目标数据以形成所述密文数据时使用的第一密钥相同或相对应;
摘要计算单元,配置为根据预设的摘要算法计算所述目标数据的第二摘要值;
数据提供单元,配置为在所述第一摘要值和所述第二摘要值相同的情况下,确定所述目标数据未被篡改,并提供所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910949871.0A CN110851843A (zh) | 2019-10-08 | 2019-10-08 | 基于区块链的数据管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910949871.0A CN110851843A (zh) | 2019-10-08 | 2019-10-08 | 基于区块链的数据管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110851843A true CN110851843A (zh) | 2020-02-28 |
Family
ID=69597320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910949871.0A Pending CN110851843A (zh) | 2019-10-08 | 2019-10-08 | 基于区块链的数据管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851843A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429643A (zh) * | 2020-03-18 | 2020-07-17 | 南京巨公科技有限公司 | 一种摇号的方法、装置以及存储介质 |
CN111565185A (zh) * | 2020-04-29 | 2020-08-21 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及*** |
CN112000730A (zh) * | 2020-07-10 | 2020-11-27 | 邦邦汽车销售服务(北京)有限公司 | 基于区块链的溯源信息写入、溯源信息验证的方法、*** |
CN112491878A (zh) * | 2020-11-26 | 2021-03-12 | 杭州安恒信息技术股份有限公司 | 一种mitm攻击的检测方法、装置及*** |
CN112966022A (zh) * | 2021-03-10 | 2021-06-15 | 安徽航天信息科技有限公司 | 一种数据交易平台的信息查询方法、装置及*** |
CN114124356A (zh) * | 2021-11-24 | 2022-03-01 | 中国银行股份有限公司 | 应用于区块链的密文生成方法、服务器、介质及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881262A (zh) * | 2018-07-02 | 2018-11-23 | 北京市天元网络技术股份有限公司 | 基于区块链的文件流转方法、装置和*** |
CN109522681A (zh) * | 2018-09-19 | 2019-03-26 | 北京非对称区块链科技有限公司 | 数字内容确权方法、装置及存储介质 |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
-
2019
- 2019-10-08 CN CN201910949871.0A patent/CN110851843A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881262A (zh) * | 2018-07-02 | 2018-11-23 | 北京市天元网络技术股份有限公司 | 基于区块链的文件流转方法、装置和*** |
CN109522681A (zh) * | 2018-09-19 | 2019-03-26 | 北京非对称区块链科技有限公司 | 数字内容确权方法、装置及存储介质 |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429643A (zh) * | 2020-03-18 | 2020-07-17 | 南京巨公科技有限公司 | 一种摇号的方法、装置以及存储介质 |
CN111565185A (zh) * | 2020-04-29 | 2020-08-21 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及*** |
CN111565185B (zh) * | 2020-04-29 | 2023-05-12 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及*** |
CN112000730A (zh) * | 2020-07-10 | 2020-11-27 | 邦邦汽车销售服务(北京)有限公司 | 基于区块链的溯源信息写入、溯源信息验证的方法、*** |
CN112491878A (zh) * | 2020-11-26 | 2021-03-12 | 杭州安恒信息技术股份有限公司 | 一种mitm攻击的检测方法、装置及*** |
CN112966022A (zh) * | 2021-03-10 | 2021-06-15 | 安徽航天信息科技有限公司 | 一种数据交易平台的信息查询方法、装置及*** |
CN112966022B (zh) * | 2021-03-10 | 2024-04-05 | 安徽航天信息科技有限公司 | 一种数据交易平台的信息查询方法、装置及*** |
CN114124356A (zh) * | 2021-11-24 | 2022-03-01 | 中国银行股份有限公司 | 应用于区块链的密文生成方法、服务器、介质及装置 |
CN114124356B (zh) * | 2021-11-24 | 2024-01-26 | 中国银行股份有限公司 | 应用于区块链的密文生成方法、服务器、介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851843A (zh) | 基于区块链的数据管理方法及装置 | |
US10600050B1 (en) | Secure custody of a ledger token and/or a quantity of cryptocurrency of a distributed ledger network through binding to a possession token | |
US5343527A (en) | Hybrid encryption method and system for protecting reusable software components | |
US8527769B2 (en) | Secure messaging with read-undeniability and deletion-verifiability | |
US11223482B2 (en) | Secure data exchange | |
US8769675B2 (en) | Clock roll forward detection | |
US20120317414A1 (en) | Method and system for securing documents on a remote shared storage resource | |
US8369521B2 (en) | Smart card based encryption key and password generation and management | |
US20090296926A1 (en) | Key management using derived keys | |
US20170005791A1 (en) | Method and apparatus for providing content | |
CN104995621A (zh) | 服务器装置、隐匿检索程序、记录介质以及隐匿检索*** | |
US11720689B2 (en) | Data registration method, data decryption method, data structure, computer, and program | |
CN109660352B (zh) | 一种基于区块链的分销关系记录方法、装置及终端设备 | |
CN109754226B (zh) | 数据管理方法、设备和存储介质 | |
CN107040520B (zh) | 一种云计算数据共享***及方法 | |
US8972732B2 (en) | Offline data access using trusted hardware | |
US9641328B1 (en) | Generation of public-private key pairs | |
US20080010468A1 (en) | Method and technique for enforcing transience and propagation constraints on data transmitted by one entity to another entity by means of data division and retention | |
CN110490741B (zh) | 一种区块链中数据有效性及可控性管理的装置与方法 | |
CN102845017A (zh) | 数字数据内容证明***、数据证明装置、用户终端、计算机程序以及方法 | |
CN111324901A (zh) | 一种用于创建和解密企业安全加密文件的方法 | |
CN110347678B (zh) | 一种金融数据的存储方法、***、装置及设备 | |
CN111309812A (zh) | 基于区块链的函件传输方法及相关设备 | |
CN114826736A (zh) | 信息共享方法、装置、设备及存储介质 | |
US20170200020A1 (en) | Data management system, program recording medium, communication terminal, and data management server |
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 |