CN111538786B - 区块链数据脱敏与溯源的存储方法与装置 - Google Patents
区块链数据脱敏与溯源的存储方法与装置 Download PDFInfo
- Publication number
- CN111538786B CN111538786B CN202010333046.0A CN202010333046A CN111538786B CN 111538786 B CN111538786 B CN 111538786B CN 202010333046 A CN202010333046 A CN 202010333046A CN 111538786 B CN111538786 B CN 111538786B
- Authority
- CN
- China
- Prior art keywords
- data
- hash value
- sensitive data
- sensitive
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了区块链数据脱敏与溯源的存储方法与装置,该方法包括:S1:接收数据存储请求,数据存储请求包括敏感数据与敏感数据对应的信息关联字,敏感数据为区块链的通道中节点之间访问设限的数据;S2:根据数据存储请求,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,私有数据为节点中设置访问权限的数据;S3:对敏感数据进行哈希映射,得到本次哈希值,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录。本发明解决了区块链数据脱敏问题以及敏感数据的相关溯源问题,具有隐私保护好、敏感数据可溯源及其修改记录可溯源的技术特点。
Description
技术领域
本发明属于区块链数据存储技术领域,尤其涉及区块链数据脱敏与溯源的存储方法与装置。
背景技术
现实生活中有很多场景已经应用到了区块链技术,在信息技术方面基于区块链技术,利用其不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征,实现了现实生活中的很多功能,不仅得到了安全、可靠的保障,而且极大地方便了现实生活的方方面面,但是在现实生活中,往往交易信息是携带着隐私性的信息,如用户的身份证、银行卡、房产证等证件信息,再比如采购部门与不同供应商之间的采购价格,这些隐私性的敏感数据相比于姓名、手机号、个人爱好等非敏感数据是完全不同,一旦敏感数据泄露或被不法分子利用或被行业竞争对手知晓,这对于个人或组织都会造成严重的后果,所以敏感数据在区块链中显然应该被得到保护。
在传统的信息系统中,由于往往都是采用数据库(如MySQL等独立和分布式的数据库)进行数据存储与操作,在数据存储层面是无法做到非敏感数据和敏感数据分开存储的,往往是通过限制数据库用户的权限,并将敏感数据和非敏感数据分表甚至分库存储,但是这样会导致应用程序的复杂度增加,同时往往由于应用程序实现层面的不足,容易导致敏感数据暴露,所以对于区块链上的节点并不是所有的节点均具备敏感数据的保护功能,并且由于区块链数据由区块链内所有节点使用和储存的,这对于整个区块链来讲并不能起到对敏感数据全面的隐私保护。另一方面,对于区块链数据而言,敏感数据的存储还需做到可溯源,但是由于现有技术中对所有区块链数据都是采用相同的存储方式,现需对敏感数据进行隐私保护的情况下,若对敏感数据与非敏感数据还采用相同的存储方式,其显然并不适用于敏感数据的相关溯源。
因此,本发明需要解决的是区块链数据脱敏问题以及敏感数据的相关溯源问题。
发明内容
本发明为解决上述技术问题,提供了区块链数据脱敏与溯源的存储方法与装置。
为解决上述问题,本发明的技术方案为:
一种区块链数据脱敏与溯源的存储方法,应用于区块链节点,方法包括:
S1:接收数据存储请求,数据存储请求包括敏感数据与敏感数据对应的信息关联字,敏感数据为区块链的通道中节点之间访问设限的数据;
S2:根据数据存储请求,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,私有数据为节点中设置访问权限的数据;
S3:对敏感数据进行哈希映射,得到本次哈希值,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录。
在其中一个实施例中,步骤S2中,与敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,最近哈希值为敏感数据最近一次哈希映射得到的哈希值,原始哈希值为敏感数据最初哈希映射得到的哈希值。
在其中一个实施例中,步骤S3中,本次修改记录中的数据还包括上次哈希值与下次哈希值,其中,上次哈希值为相对于本次哈希映射的前一次得到的哈希值,下次哈希值为相对于本次哈希映射的下一次得到的哈希值,下次哈希值预设为空;
步骤S3中,存储更新于私有数据中敏感数据对应的修改历史记录进一步包括:
将本次修改记录存储于私有数据中敏感数据对应的修改历史记录中,并根据本次修改记录中的本次哈希值对前一条修改记录中的下次哈希值进行更新。
在其中一个实施例中,步骤S3中,得到本次哈希值之后,还包括:
将本次哈希值关联信息关联字存储于节点所在通道账本的哈希列表中。
在其中一个实施例中,数据存储请求还包括非敏感数据,非敏感数据为区块链的通道中节点之间完全公开的数据;
步骤S2中还包括:根据数据存储请求,将非敏感数据关联信息关联字存储更新于节点所在通道的账本中;
步骤S3中还包括:通过信息关联字关联非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本非敏感数据对应的修改历史记录。
在其中一个实施例中,步骤S3执行之后还包括步骤S4:
接收数据查询请求,则根据数据查询请求进行数据查询:
若数据查询请求为对非敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点所在通道的账本进行数据查询;
若数据查询请求为对敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点对应的私有数据进行数据查询。
一种区块链数据脱敏与溯源的存储装置,包括
接收模块,用于接收数据存储请求,数据存储请求包括敏感数据与敏感数据对应的信息关联字,敏感数据为区块链的通道中节点之间访问设限的数据;
数据存储模块,用于根据数据存储请求,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,私有数据为节点中设置访问权限的数据;
修改记录模块,用于对敏感数据进行哈希映射,得到本次哈希值,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录。
在其中一个实施例中,与敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,最近哈希值为敏感数据最近一次哈希映射得到的哈希值,原始哈希值为敏感数据最初哈希映射得到的哈希值。
在其中一个实施例中,本次修改记录中的数据还包括上次哈希值与下次哈希值,其中,上次哈希值为相对于本次哈希映射的前一次得到的哈希值,下次哈希值为相对于本次哈希映射的下一次得到的哈希值,下次哈希值预设为空;
修改记录模块具体用于将本次修改记录存储于私有数据中敏感数据对应的修改历史记录中,并根据本次修改记录中的本次哈希值对前一条修改记录中的下次哈希值进行更新。
在其中一个实施例中,数据存储模块还用于将本次哈希值关联信息关联字存储于节点所在通道账本的哈希列表中。
在其中一个实施例中,数据存储请求还包括非敏感数据,非敏感数据为区块链的通道中节点之间完全公开的数据;
数据存储模块还用于根据数据存储请求,将非敏感数据关联信息关联字存储更新于节点所在通道的账本中;
修改记录模块还用于通过信息关联字关联非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本非敏感数据对应的修改历史记录。
在其中一个实施例中,接收模块还用于接收数据查询请求,装置还包括:
数据查询模块,用于根据数据查询请求进行数据查询:
若数据查询请求为对非敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点所在通道的账本进行数据查询;
若数据查询请求为对敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点对应的私有数据进行数据查询。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行述区块链数据脱敏与溯源的存储方法。
一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述区块链数据脱敏与溯源的存储方法。
本发明与现有技术相比具有以下的优点和积极效果:
1)本发明通过在区块链上的节点设置用于存储敏感数据的私有数据,通过敏感数据关联信息关联字的形式存储更新于具有访问权限的节点对应的私有数据中,其中,对于同一通道中的节点,私有数据设置了访问权限,对应的节点可以通过身份验证的方式对其私有数据中的敏感数据进行访问,而其他的节点因没有访问权限而无法查看到该私有数据中的敏感数据,使得每一节点都可以做到敏感数据的隐私保护,大大提高了敏感数据的安全性,同时,还通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,实现敏感数据存储的全程留痕、可追溯,保证了敏感数据可靠性;
2)本发明通过将最近哈希值、原始哈希值和敏感数据一同存储于节点对应的私有数据中,并且在修改记录中还存储上次哈希值与下次哈希值,具体提供了对于敏感数据的修改记录的溯源,其中,相邻的修改记录之间存在着哈希值前后联系,如此,不仅解决了现有技术不能提供对敏感数据的修改历史记录的溯源,实现了对敏感数据修改记录的溯源,而且通过上述技术手段可以同时支持从前向后和从后向前的双向溯源,既可以基于原始哈希值开始从前向后进行溯源,也可以基于最近哈希值开始从后向前进行溯源,两者进行择优选择,能够在溯源操作时可以有效减少数据的处理量;
3)本发明通过本次哈希值关联信息关联字存储于节点所在通道账本的哈希列表中,如此,可以建立了非敏感数据和敏感数据之间的一一映射关系,从而实现本发明敏感数据的另一种溯源效果。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中区块链数据脱敏与溯源的存储方法的流程图;
图2为本发明一个实施例中区块链数据脱敏与溯源的存储方法使用的区块链架构;
图3为本发明一个实施例中区块链数据脱敏与溯源的存储方法中私有数据和修改历史记录的数据存储结构图;
图4为如图3所示的数据存储结构图对应的一种存储示例;
图5为本发明一个实施例中区块链数据脱敏与溯源的存储方法的通道账本的数据存储结构图;
图6为本发明一个实施例中区块链数据脱敏与溯源的存储方法的数据查询流程图;
图7为本发明一个实施例中区块链数据脱敏与溯源的存储装置的结构框图。
附图标记说明:
1-接收模块;2-数据存储模块;3-修改记录模块;4-数据查询模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
区块链简单地说就是一种去中心化的分布式账本数据库,区块链具有去中心化、开放性、独立性、安全性、匿名性的特征,可以应用到生活的众多方面。其中,区块链数据可以直接或间接由区块链共识产生的数据,其分布存储于所有参与共识的节点处。
本发明中,将区块链数据中根据实际情况分为了非敏感数据与敏感数据,相比较而言,非敏感数据为同一通道的节点之间完全公开的数据,如姓名、手机号、爱好、公司名称等等信息,而敏感数据为节点之间访问设限的数据,如用户的身份证、银行卡、房产证等证件信息,再比如采购部门与不同供应商之间的采购价格,由于这些敏感数据一般被有限个节点使用,并且涉及到一些隐私内容,所述这就需要进行一定的隐私保护,以控制有限个节点可对敏感数据进行访问,并不是同一链上或同一通道中的所有节点都可以访问该敏感数据。
参看图1,本发明提出了一种区块链数据脱敏与溯源的存储方法,应用于区块链节点,方法包括:
S1:接收数据存储请求,数据存储请求包括敏感数据与敏感数据对应的信息关联字,敏感数据为区块链的通道中节点之间访问设限的数据;
S2:根据数据存储请求,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,私有数据为节点中设置访问权限的数据;
S3:对敏感数据进行哈希映射,得到本次哈希值,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录。
现对本实施例进行详细说明,但不仅限于此。
本实施例的区块链数据脱敏与溯源的存储方法,应用于区块链节点,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、矿机、服务器、计算机等等,这些终端都可以通过本申请的方法,实现区块链数据脱敏与溯源的存储。本实施中区块链的通道指的是区块链网络中排序节点划分和管理的私有原子广播通道,用于将通道内的数据与通道外的组织或机构进行隔离,加入同一通道的节点之间可以共同访问通道内的数据,而通道外的节点无法访问通道内的信息,从而实现通道级别的数据隐私性,值得注意的是,虽然通道实现了通道级别的数据隐私性,但是现有技术并不能在同一通道中的节点之间实现对敏感数据的隐私保护,而本实施例的数据脱敏与溯源的存储方法一方面实现了在同一通道中的节点之间实现对敏感数据的隐私保护。
参看图2,其为本实施例中区块链数据脱敏与溯源的存储方法使用的一种区块链架构,其包括:部署于区块链上的多个节点、用于节点之间数据传输的一个或多个通道;同一通道中的至少一节点配置有中心化系统,用于与节点进行数据交互;节点设有用于存储敏感数据的私有数据,敏感数据为同一通道中的节点之间访问设限的数据,私有数据为节点中设置访问权限的数据。其中,中心化系统指的是为联盟链网络中节点提供功能服务的服务设备,如服务器组,以满足节点一些所需的功能,如图2所示,本实施例的中心化系统配置有数据库与前端,前端包括微信前端、IOS应用前端、安卓应用前端、网页前端,以满足不同接口的数据交互的需求。
需要说明的是,上述区块链架构仅为本实施例区块链数据脱敏与溯源的存储方法适用的一种架构,更为广泛地,只要具有私有数据和通道特性的区块链架构均适用本申请的方法。
1)具体介绍步骤S1:
本实施例数据存储请求中的敏感数据为限制其他节点进行访问的数据,或者说是允许有限个节点进行访问的数据,该敏感数据的具体内容根据实际情况而定,如对于一家公司而言,其具有多家供应商的情况下,该公司与每一家供应商之间的采购价格等信息,其不适合于让每家供应商知晓,更不适合于对外进行公布,每一采购信息应该仅限于该家公司与对应的供应商可进行数据访问,如此,才符合该家公司的隐私保护,除此之外,现实当中还有很多这样类似的数据或信息,如面对社会的公共服务单位应用的区块链往往会涉及很多证件信息,也应该需要对这些敏感数据进行进一步隐私保护。
本实施例数据存储请求中的信息关联字为便于数据存储设定数据的字段,不仅可以便于以后数据查询等操作与管理,而且可以将分片式的数据联系起来,特别在本实施例中,非敏感数据与敏感数据均采用具有相同的信息关联字进行数据存储,如此,即使存储的数据分多处进行存储,也可以通过信息关联字联系起来。其中,本实施例采用姓名+手机号的形式进行设定如此进行数据的相关存储,更广泛地,还可以采用其他具有与用户呈对应关系的字段,如唯一设定的ID号等等。
较优地,本实施例的数据存储请求还可以包括非敏感数据,以对非敏感数据和敏感数据一同请求数据存储,相对于敏感数据,非敏感数据为区块链的同一个通道中节点之间完全公开的数据,或者说是允许同一个通道中所有节点进行访问的数据,该敏感数据的具体内容根据实际情况而定,这些非敏感数据在现实生活中就更多了,在此就不再赘述。
2)具体介绍步骤S2:
本实施例通过在区块链上的节点设置私有数据,可以用来存储该节点的敏感数据,以限制其他节点对该私有数据进行访问,也可以用来存储该节点与其他一个或多个节点之间的敏感数据,以限制其他节点对该私有数据的访问,其中,私有数据可以提供独立的权限控制,既可以仅允许单一节点具有私有数据的访问权限,也可以允许多个节点具有私有数据的访问权限,单一节点的私有数据设置于该节点中,多个节点的私有数据同时设置于该多个节点中,私有数据在多个节点之间同步,私有数据的访问权限可以通过私钥与公钥的签名验证方式设置访问权限,通过私钥与公钥进行匹配验证,验证通过才可对私有数据进行访问。具体地,本实施例的区块链架构可以基于fabric网络,也可以基于其他具有通道与私有数据的网络,还可以在区块链网络自定义创建上述的通道与私有数据,其中,在fabric网络中可以通过如下直接进行私有数据的集合定义:
其中,"policy":"OR('Org1MSP.member')"表示只有Org1的成员可以访问私有数据collectionUser。当然,也可以配置成"policy":"OR('Org1MSP.member','Org2MSP.member')",这样Org1和Org2都可以访问私有数据collectionUser。
参看图3,本实施例根据数据存储请求中的敏感数据,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,其中,敏感数据在私有数据中采用{key:value}结构存储,本实施例采用手机号+姓名的形式的信息关联字作为这里的key,这里的value为本实施例的敏感信息,较优地,对于同一类敏感信息可以通过列表的形式一同存储,如可以将身份证、房产证、银行卡号等证件信息统一存储于私有数据的证件列表中,证件列表可以具体设定为证件类型+证件号的形式。
参看图5,对于数据存储请求中的非敏感数据,将非敏感数据关联信息关联字存储更新于节点所在通道的账本中,其中,非敏感数据在通道账本中也采用{key:value}结构存储,本实施例采用手机号+姓名的形式的信息关联字作为这里的key,这里的value为本实施例的非敏感信息,例如,本实施例要存储具有姓名、手机号、爱好等非敏感数据,本实施例采用如图5所示数据结构进行存储。
参看图3,本实施例中,与敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,哈希值是对敏感数据哈希映射得到值,哈希映射算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系,但又很难找到逆向规律,具体地,如本实施例证件类对应的证件哈希可以通过对证件类型+证件号进行哈希映射得到,最近哈希值为敏感数据最近一次哈希映射得到的哈希值,即最新一次哈希映射得到哈希值,原始哈希值为敏感数据最初哈希映射得到的哈希值,即敏感数据第一次存储时哈希映射得到哈希值。
3)具体介绍步骤S3
本实施例中,每次进行敏感数据的存储时,都需要对敏感数据进行哈希映射,对于每一次敏感数据存储的时候得到哈希映射得到哈希值,本实施例称为本次哈希值,即当前进行存储的敏感数据对应的哈希值。在得到本次哈希值之后,参看图3,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录,其中,本实施例对于修改历史记录同样采用{key:value}结构存储,不同的是,本实施例通过信息关联字与本次哈希值结合作为这里的key,而value包括敏感信息的序列化数据,本实施例在修改历史记录存入敏感信息时会进行序列化,得到敏感信息的序列化数据,具体地,该序列化数据本实施例采用的是Json数据结构,如此,便于于查询人员在修改历史记录查询时查阅。
参看图3,较优地,本实施例修改记录中的数据还包括上次哈希值与下次哈希值,其中,上次哈希值为相对于本次哈希映射的前一次得到的哈希值,下次哈希值为相对于本次哈希映射的下一次得到的哈希值,下次哈希值预设为空,上次哈希值通过调取前一条修改记录获取,下次哈希值则待下次敏感数据存储时更新,具体而言,将本次修改记录存储于私有数据中敏感数据对应的修改历史记录中,并根据本次修改记录中的本次哈希值对前一条修改记录中的下次哈希值进行更新。
本实施例对于非敏感数据,通过信息关联字关联非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本非敏感数据对应的修改历史记录,对于非敏感数据的修改历史记录同样也采用{key:value}结构存储于通道账本中,不同的是非敏感数据的key采用信息关联字,value可以为非敏感数据本身即可。
本实施例通过查询获取账本中信息关联字对应的修改历史记录,从而达到对非敏感数据的溯源效果。而对于敏感数据,由于存储的私有数据本身并不会进入区块中,所以现有的区块链本身并不能够提供对私有数据中敏感数据修改记录的溯源,而通过上述本实施例的敏感信息修改记录的存储方式可以做到这一点。
参看图4,现通过一个修改历史记录的存储示例对敏感数据修改记录的溯源进行说明,其中,本实施例在修改历史记录中采用姓名+手机号作为信息关联字,在私有数据中存储有最近哈希值(TxHash35)、原始哈希值(TxHash1)、以及当前存储的敏感数据,在修改历史记录中存储有35条修改记录,TxHash1~35均为哈希值,Value1~35均为敏感数据的序列化数据,每一修改记录都存储有对应的信息关联字、对应修改时的哈希值、前一条修改记录的哈希值、后一条修改记录的哈希值、以及敏感数据的序列化数据,如此,本实施例可以对敏感数据修改记录进行溯源:
若想要知道修改历史记录中最新一次的修改记录,可以根据私有数据中的TxHash35关联姓名+手机号就可以直接找到所要的修改记录;若想要知道修改历史记录中最初敏感数据存储时的修改记录,可以根据私有数据中的TxHash1关联姓名+手机号就可以直接找到所要的修改记录;若想要知道修改历史记录中敏感数据最初存储之后、最新存储之前的中间某一次的修改记录,基于相邻的修改记录之间存在着哈希值前后联系,既可以根据私有数据中的TxHash1对应的修改记录从前向后溯源,也可以根据私有数据中的TxHash35对应的修改记录从后向前溯源。
较优地,本实施例对于从前向后溯源还是从后向前溯源可以根据溯源的处理量进行优化选择,具体根据相距原始哈希值、最近哈希值对应的修改记录的修改条数,选择相距修改条数较少的一侧进行溯源,以降低溯源操作的处理量,提高溯源操作的处理速度。
基于上述说明,通过将最近哈希值、原始哈希值和敏感数据一同存储于节点对应的私有数据中,并且在修改记录中还存储上次哈希值与下次哈希值,基于相邻的修改记录之间存在着哈希值前后联系,不仅解决了现有技术不能提供对敏感数据的修改历史记录的溯源,实现了对敏感数据修改记录的溯源,而且通过上述技术手段可以同时支持从前向后和从后向前的双向溯源,既可以基于原始哈希值开始从前向后进行溯源,也可以基于最近哈希值开始从后向前进行溯源,两者进行择优选择,能够在溯源操作时可以有效减少数据的处理量。
本实施例通过在区块链上的节点设置用于存储敏感数据的私有数据,通过敏感数据关联信息关联字的形式存储更新于具有访问权限的节点对应的私有数据中,其中,对于同一通道中的节点,私有数据设置了访问权限,对应的节点可以通过身份验证的方式对其私有数据中的敏感数据进行访问,而其他的节点因没有访问权限而无法查看到该私有数据中的敏感数据,使得每一节点都可以做到敏感数据的隐私保护,大大提高了敏感数据的安全性,同时,还通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,实现敏感数据存储的全程留痕、可追溯,保证了敏感数据可靠性。
较优地,参看图5,得到本次哈希值之后,还包括:将本次哈希值关联信息关联字存储于节点所在通道账本的哈希列表中。这里,本实施例额外存储哈希列表可以提供非敏感信息和敏感信息之间的一个溯源关系。如,每次在敏感信息中存储{证件类型、证件号}时,都在非敏感信息中对应存储证件哈希,而根据Hash({证件类型+证件号})=证件哈希可以建立两者之间的一一映射关系,从而达到溯源效果。
具体地,参看图6,步骤S3执行之后还包括步骤S4:接收数据查询请求,则根据数据查询请求进行数据查询:若数据查询请求为对非敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点所在通道的账本进行数据查询;若数据查询请求为对敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点对应的私有数据进行数据查询。
本实施例通过上述巧妙的设计敏感数据的存储数据结构,不仅实现了区块链数据脱敏存储,而且还提供了两种溯源,一种溯源是非敏感数据和敏感数据之间的映射关系,另一种是敏感数据本身修改记录的溯源。
本发明还提供一种基于上述方法的区块链数据脱敏与溯源的存储装置,参看图7,该装置包括:
接收模块1,用于接收数据存储请求,数据存储请求包括敏感数据与敏感数据对应的信息关联字,敏感数据为区块链的通道中节点之间访问设限的数据;
数据存储模块2,用于根据数据存储请求,将敏感数据关联信息关联字存储更新于节点对应的私有数据中,私有数据为节点中设置访问权限的数据;
修改记录模块3,用于对敏感数据进行哈希映射,得到本次哈希值,通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,存储更新于私有数据中敏感数据对应的修改历史记录。
本实施例中,与敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,最近哈希值为敏感数据最近一次哈希映射得到的哈希值,原始哈希值为敏感数据最初哈希映射得到的哈希值。
本实施例中,本次修改记录中的数据还包括上次哈希值与下次哈希值,其中,上次哈希值为相对于本次哈希映射的前一次得到的哈希值,下次哈希值为相对于本次哈希映射的下一次得到的哈希值,下次哈希值预设为空;修改记录模块具体用于将本次修改记录存储于私有数据中敏感数据对应的修改历史记录中,并根据本次修改记录中的本次哈希值对前一条修改记录中的下次哈希值进行更新。
本实施例中,数据存储模块还用于将本次哈希值关联信息关联字存储于节点所在通道账本的哈希列表中。数据存储请求还包括非敏感数据,非敏感数据为区块链的通道中节点之间完全公开的数据;数据存储模块还用于根据数据存储请求,将非敏感数据关联信息关联字存储更新于节点所在通道的账本中;修改记录模块还用于通过信息关联字关联非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本非敏感数据对应的修改历史记录。
本实施例中,接收模块还用于接收数据查询请求,装置还包括:数据查询模块,用于根据数据查询请求进行数据查询:若数据查询请求为对非敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点所在通道的账本进行数据查询;若数据查询请求为对敏感数据查询,则验证数据查询请求中请求方的签名,验证通过后根据信息关联字对节点对应的私有数据进行数据查询。
具体地,本实施例的区块链数据脱敏与溯源的存储装置设定有一系列的接口,以便于每一个区块链节点进行调用,以实现区块链数据脱敏与溯源的存储,其中,本实施例设有:
非敏感数据查询接口,查询通道中信息关联字对应的非敏感数据
敏感数据查询接口,查询私有数据中信息关联字对应的敏感数据;
非敏感数据和敏感数据的存储接口,非敏感数据通过普通参数传递,敏感信息需要通过瞬态参数传递,通过将敏感数据关联信息关联字存储更新于节点对应的私有数据中,并通过信息关联字与本次哈希值结合关联敏感数据的序列化数据形成本次修改记录,每次存储时时设置最近哈希值和原始哈希值的值,注意,原始哈希值只在第一次新增时设置,通过将非敏感数据关联信息关联字存储更新于节点所在通道的账本中,并通过信息关联字关联非敏感数据的序列化数据形成修改记录;
所有数据查询接口,查询用户的所有数据,包含非敏感信息和敏感信息。其中,非敏感信息可以直接在账本中查询到,而敏感信息需要到私有数据中查询,最终将非敏感信息和敏感信息结合成最后的结果。
修改记录查询接口,首先根据信息关联字,去账本中用户非敏感信息的修改记录列表,然后根据用户敏感信息和用户敏感信息修改记录,查询用户敏感信息修改记录列表,将非敏感信息和敏感信息的修改记录列表结合成最终结果返回,可以用于溯源。
本发明还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述实施例所提及的区块链数据脱敏与溯源的存储方法。
本发明提出了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中所提及的区块链数据脱敏与溯源的存储方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种区块链数据脱敏与溯源的存储方法,其特征在于,应用于区块链节点,所述方法包括:
S1:接收数据存储请求,所述数据存储请求包括敏感数据与所述敏感数据对应的信息关联字,所述敏感数据为区块链的通道中节点之间访问设限的数据;
S2:根据所述数据存储请求,将所述敏感数据关联所述信息关联字存储更新于节点对应的私有数据中,所述私有数据为节点中设置访问权限的数据;
S3:对所述敏感数据进行哈希映射,得到本次哈希值,通过所述信息关联字与所述本次哈希值结合关联所述敏感数据的序列化数据形成本次修改记录,存储更新于所述私有数据中所述敏感数据对应的修改历史记录;
所述步骤S2中,与所述敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,所述最近哈希值为所述敏感数据最近一次哈希映射得到的哈希值,所述原始哈希值为所述敏感数据最初哈希映射得到的哈希值;
所述步骤S3中,所述本次修改记录中的数据还包括上次哈希值与下次哈希值,其中,所述上次哈希值为相对于本次哈希映射的前一次得到的哈希值,所述下次哈希值为相对于本次哈希映射的下一次得到的哈希值,所述下次哈希值预设为空;
所述步骤S3中,所述存储更新于所述私有数据中所述敏感数据对应的修改历史记录进一步包括:
将所述本次修改记录存储于所述私有数据中所述敏感数据对应的修改历史记录中,并根据所述本次修改记录中的所述本次哈希值对前一条修改记录中的所述下次哈希值进行更新。
2.根据权利要求1所述的区块链数据脱敏与溯源的存储方法,其特征在于,所述步骤S3中,所述得到本次哈希值之后,还包括:
将所述本次哈希值关联所述信息关联字存储于节点所在通道账本的哈希列表中。
3.根据权利要求2所述的区块链数据脱敏与溯源的存储方法,其特征在于,所述数据存储请求还包括非敏感数据,所述非敏感数据为区块链的通道中节点之间完全公开的数据;
所述步骤S2中还包括:根据所述数据存储请求,将所述非敏感数据关联所述信息关联字存储更新于节点所在通道的账本中;
所述步骤S3中还包括:通过所述信息关联字关联所述非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本所述非敏感数据对应的修改历史记录。
4.根据权利要求3所述的区块链数据脱敏与溯源的存储方法,其特征在于,所述步骤S3执行之后还包括步骤S4:
接收数据查询请求,则根据所述数据查询请求进行数据查询:
若所述数据查询请求为对所述非敏感数据查询,则验证所述数据查询请求中请求方的签名,验证通过后根据所述信息关联字对节点所在通道的账本进行数据查询;
若所述数据查询请求为对所述敏感数据查询,则验证所述数据查询请求中请求方的签名,验证通过后根据所述信息关联字对节点对应的所述私有数据进行数据查询。
5.一种区块链数据脱敏与溯源的存储装置,其特征在于,包括
接收模块,用于接收数据存储请求,所述数据存储请求包括敏感数据与所述敏感数据对应的信息关联字,所述敏感数据为区块链的通道中节点之间访问设限的数据;
数据存储模块,用于根据所述数据存储请求,将所述敏感数据关联所述信息关联字存储更新于节点对应的私有数据中,所述私有数据为节点中设置访问权限的数据;
修改记录模块,用于对所述敏感数据进行哈希映射,得到本次哈希值,通过所述信息关联字与所述本次哈希值结合关联所述敏感数据的序列化数据形成本次修改记录,存储更新于所述私有数据中所述敏感数据对应的修改历史记录;
与所述敏感数据一同存储于节点对应的私有数据中的数据还包括最近哈希值、原始哈希值,其中,所述最近哈希值为所述敏感数据最近一次哈希映射得到的哈希值,所述原始哈希值为所述敏感数据最初哈希映射得到的哈希值;
所述本次修改记录中的数据还包括上次哈希值与下次哈希值,其中,所述上次哈希值为相对于本次哈希映射的前一次得到的哈希值,所述下次哈希值为相对于本次哈希映射的下一次得到的哈希值,所述下次哈希值预设为空;
所述修改记录模块具体用于将所述本次修改记录存储于所述私有数据中所述敏感数据对应的修改历史记录中,并根据所述本次修改记录中的所述本次哈希值对前一条修改记录中的所述下次哈希值进行更新。
6.根据权利要求5所述的区块链数据脱敏与溯源的存储装置,其特征在于,所述数据存储模块还用于将所述本次哈希值关联所述信息关联字存储于节点所在通道账本的哈希列表中。
7.根据权利要求6所述的区块链数据脱敏与溯源的存储装置,其特征在于,所述数据存储请求还包括非敏感数据,所述非敏感数据为区块链的通道中节点之间完全公开的数据;
所述数据存储模块还用于根据所述数据存储请求,将所述非敏感数据关联所述信息关联字存储更新于节点所在通道的账本中;
所述修改记录模块还用于通过所述信息关联字关联所述非敏感数据的序列化数据形成修改记录,存储更新于节点所在通道的账本所述非敏感数据对应的修改历史记录。
8.根据权利要求7所述的区块链数据脱敏与溯源的存储装置,其特征在于,所述接收模块还用于接收数据查询请求,所述装置还包括:
数据查询模块,用于根据所述数据查询请求进行数据查询:
若所述数据查询请求为对所述非敏感数据查询,则验证所述数据查询请求中请求方的签名,验证通过后根据所述信息关联字对节点所在通道的账本进行数据查询;
若所述数据查询请求为对所述敏感数据查询,则验证所述数据查询请求中请求方的签名,验证通过后根据所述信息关联字对节点对应的所述私有数据进行数据查询。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至4中任一项所述的区块链数据脱敏与溯源的存储方法。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至4中任一项所述的区块链数据脱敏与溯源的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010333046.0A CN111538786B (zh) | 2020-04-24 | 2020-04-24 | 区块链数据脱敏与溯源的存储方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010333046.0A CN111538786B (zh) | 2020-04-24 | 2020-04-24 | 区块链数据脱敏与溯源的存储方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538786A CN111538786A (zh) | 2020-08-14 |
CN111538786B true CN111538786B (zh) | 2021-01-05 |
Family
ID=71973237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010333046.0A Active CN111538786B (zh) | 2020-04-24 | 2020-04-24 | 区块链数据脱敏与溯源的存储方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538786B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286881B (zh) * | 2020-10-28 | 2024-04-05 | 金蝶云科技有限公司 | 一种文档的认证溯源方法及装置 |
CN114547664B (zh) * | 2020-11-18 | 2024-07-23 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN112966021B (zh) * | 2021-03-09 | 2023-12-19 | 安徽超清科技股份有限公司 | 一种基于区块链的数据溯源系统 |
CN113379547A (zh) * | 2021-06-24 | 2021-09-10 | 华南理工大学 | 一种基于双链的供应链交易数据安全监管方法及系统 |
CN113488128B (zh) * | 2021-07-28 | 2024-07-05 | 深圳平安智慧医健科技有限公司 | 基于区块链的电子病历调阅方法、装置及相关设备 |
CN113792330B (zh) * | 2021-08-13 | 2024-05-03 | 唯品会(广州)软件有限公司 | 一种敏感数据追踪方法和系统 |
CN114638604B (zh) * | 2022-03-22 | 2024-08-27 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
CN114708990B (zh) * | 2022-06-07 | 2022-09-06 | 肺诊网(苏州)网络科技有限公司 | 一种基于5g互联网的远程数字媒体共享方法和系统 |
CN115208896B (zh) * | 2022-07-19 | 2024-07-05 | 南京中科源享软件有限公司 | 一种基于区块链技术的工作流程管理溯源方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769031A (zh) * | 2018-05-31 | 2018-11-06 | 中化能源科技有限公司 | 基于区块链的边缘计算服务的实物存证溯源系统 |
CN110096551A (zh) * | 2019-04-23 | 2019-08-06 | 浙江泰链科技有限公司 | 基于区块链的信用数据存储方法、装置、设备及介质 |
CN110457929A (zh) * | 2019-08-16 | 2019-11-15 | 重庆华医康道科技有限公司 | 异构his大数据实时加解密压缩上链的共享方法及系统 |
CN110661776A (zh) * | 2019-07-29 | 2020-01-07 | 奇安信科技集团股份有限公司 | 敏感数据溯源方法、装置、安全网关及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017044554A1 (en) * | 2015-09-11 | 2017-03-16 | Aware, Inc. | Biometric verification of a blockchain database transaction contributor |
EP3466137B1 (en) * | 2016-05-25 | 2022-04-27 | Nokia Technologies Oy | Method, device and system for utilizing block chain to define trusted circle |
CN106503574B (zh) * | 2016-09-13 | 2019-11-05 | 中国电子科技集团公司第三十二研究所 | 区块链安全存储方法 |
WO2018057510A1 (en) * | 2016-09-20 | 2018-03-29 | United States Postal Service | Methods and systems for a digital trust architecture |
CN106656509B (zh) * | 2016-12-29 | 2019-11-29 | 深圳市检验检疫科学研究院 | 一种用于输港食品监控的rfid联盟链协同认证方法 |
US10958417B2 (en) * | 2017-12-18 | 2021-03-23 | International Business Machines Corporation | Protecting sensitive data in a distributed ledger system using blockchain hierarchies |
CN108494605A (zh) * | 2018-04-16 | 2018-09-04 | 华东师范大学 | 一种基于区块链的能源网联监控方法及存储介质 |
CN108494090B (zh) * | 2018-04-16 | 2020-10-02 | 华东师范大学 | 一种基于区块链的能源网联智能装置及系统 |
US11374736B2 (en) * | 2018-06-20 | 2022-06-28 | Clemson University | System and method for homomorphic encryption |
CN109101830A (zh) * | 2018-09-03 | 2018-12-28 | 安徽太阳石科技有限公司 | 基于区块链的实时数据安全防护方法和系统 |
KR101993293B1 (ko) * | 2018-10-05 | 2019-09-30 | 비즈플레이 주식회사 | 블록체인 기반의 경비처리 데이터 관리 시스템과 방법 및 이를 위한 컴퓨터 프로그램 |
CN109246137B (zh) * | 2018-10-23 | 2020-08-04 | 北京航空航天大学 | 基于区块链的海上作战数据的安全防护方法及装置 |
CN110046517B (zh) * | 2018-11-07 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 一种对写入区块链的交易进行隐匿的方法及装置 |
CN109492432A (zh) * | 2018-11-08 | 2019-03-19 | 安徽太阳石科技有限公司 | 基于区块链的实时数据安全防护方法和系统 |
CN109525671B (zh) * | 2018-11-26 | 2021-05-14 | 远光软件股份有限公司 | 基于区块链的数据存储方法、电子设备及存储介质 |
-
2020
- 2020-04-24 CN CN202010333046.0A patent/CN111538786B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769031A (zh) * | 2018-05-31 | 2018-11-06 | 中化能源科技有限公司 | 基于区块链的边缘计算服务的实物存证溯源系统 |
CN110096551A (zh) * | 2019-04-23 | 2019-08-06 | 浙江泰链科技有限公司 | 基于区块链的信用数据存储方法、装置、设备及介质 |
CN110661776A (zh) * | 2019-07-29 | 2020-01-07 | 奇安信科技集团股份有限公司 | 敏感数据溯源方法、装置、安全网关及系统 |
CN110457929A (zh) * | 2019-08-16 | 2019-11-15 | 重庆华医康道科技有限公司 | 异构his大数据实时加解密压缩上链的共享方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111538786A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538786B (zh) | 区块链数据脱敏与溯源的存储方法与装置 | |
US11431696B2 (en) | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment | |
KR102155462B1 (ko) | 데이터 액세스를 위한 방법, 시스템 및 장치 | |
EP3560143B1 (en) | Data isolation in a blockchain network | |
US11341490B2 (en) | Carbon footprint blockchain network | |
US11194961B2 (en) | Systems, methods, and apparatuses for adding a document history graph and corresponding hash value to a blockchain in a cloud based computing environment | |
US20190230073A1 (en) | Attestation management | |
CN111898139B (zh) | 数据读写方法及装置、电子设备 | |
US9792454B2 (en) | Record level data security | |
EP3561710A1 (en) | Data processing system utilising distributed ledger technology | |
JP2019537318A (ja) | ブロックチェーンを介したアイデンティティと証明書の保護及び検証とのための方法及びシステム | |
US20150026462A1 (en) | Method and system for access-controlled decryption in big data stores | |
WO2021208762A1 (zh) | 数据存储、查询 | |
US11212263B2 (en) | Dynamic generation of pseudonymous names | |
CN109271564A (zh) | 保单查询方法及设备 | |
CN109840250A (zh) | 中间字段的访问权限管理方法、装置、设备和存储介质 | |
CN114896633A (zh) | 敏感数据的处理方法、装置及计算机可读存储介质 | |
CN115208630A (zh) | 基于区块链的数据获取方法、系统及区块链系统 | |
CN115145976A (zh) | 基于区块链的数据处理方法、装置、计算机设备和介质 | |
CN113221164A (zh) | 基于区块链的数据核验方法及装置、电子设备 | |
CN113987566B (zh) | 基于Hyperledger Fabric的内部桥接跨链方法、装置、设备和介质 | |
CN112822207B (zh) | 一种区块链数据的管理方法及系统 | |
CN113987568B (zh) | 基于Hyperledger Fabric的基础跨链方法、装置、设备和介质 | |
Rosoon et al. | Decentralized Trusted Database Approach to Online Product Reviews | |
Li | Research on blockchain construction in medical data privacy protection |
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 |