CN113392427A - 数据存储方法、装置、电子设备和存储介质 - Google Patents
数据存储方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113392427A CN113392427A CN202110497107.1A CN202110497107A CN113392427A CN 113392427 A CN113392427 A CN 113392427A CN 202110497107 A CN202110497107 A CN 202110497107A CN 113392427 A CN113392427 A CN 113392427A
- Authority
- CN
- China
- Prior art keywords
- key
- client
- attribute set
- ciphertext data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013500 data storage Methods 0.000 title claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical 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/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
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种数据存储方法、装置、电子设备和存储介质,应用于区块链节点,包括:接收客户端发送的用户注册请求;根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种数据存储方法、装置、电子设备和存储介质。
背景技术
相关技术可以用单体架构或者传统的分布式方案部署数据库,将数据存放在公用的数据库中。在设定用户查看权限时,通常通过在数据库中设定权限对应表,根据用户标识(Identity,ID),查询该表来判断用户的权限,从而给予能否访问的判定,但是,一旦用户密钥泄露或者权限对应表被篡改,将存在文件泄露的风险。如果使用属性基加密的方式直接加密明文数据,效率较低,远不如传统的对称加密。
发明内容
有鉴于此,本发明实施例提供一种数据存储方法、装置、电子设备和存储介质。
本发明实施例技术方案是这样实现的:
本发明实施例提供一种数据存储方法,应用于区块链节点,包括:
接收客户端发送的用户注册请求;
根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
存储所述第一密文数据和所述第二密文数据;
其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
上述方案中,所述接收客户端发送的用户注册请求之前,所述方法还包括:
向中心节点发送节点注册请求;所述节点注册请求用于向中心节点请求注册为注册节点。
上述方案中,所述根据所述用户注册请求,为所述客户端分配属性集合,包括:
所述用户注册请求包括:用户身份信息和业务信息;
根据所述用户身份信息和业务信息,对用户进行分类后,为所述客户端分配相应的属性集合。
上述方案中,所述方法还包括:
接收所述客户端发送的身份更新请求;
根据所述身份更新请求,更新为所述客户端分配的属性集合。
本发明实施例还提供了一种数据查询方法,应用于区块链节点中,包括:接收客户端发送的属性集合和客户端私钥;
根据所述客户端私钥和所述属性集合,确定第二密钥;
根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
上述方案中,所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据,包括:
根据所述属性集合,确定是否存在与所述属性集合相匹配的第二密文数据,以验证发送所述属性集合的客户端是否具有访问第一密文数据的访问权限;
在确定存在与所述属性集合相匹配的第二密文数据时,确定发送所述属性集合的客户端具有访问所述第一密文数据的访问权限。
本发明实施例还提供了一种数据存储装置,所述装置包括:第一接收模块、分配模块、生成模块、加密模块和存储模块;
所述第一接收模块,用于接收客户端发送的用户注册请求;
所述分配模块,用于根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
所述生成模块,用于生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
所述加密模块,用于根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
所述存储模块,用于存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
本发明实施例还提供了一种数据查询装置,所述装置包括:第二接收模块、第一确定模块、第二确定模块、第三确定模块和发送模块;
所述第二接收模块,用于接收客户端发送的属性集合和客户端私钥;
所述第一确定模块,用于根据所述客户端私钥和所述属性集合,确定第二密钥;
所述第二确定模块,用于根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
所述第三确定模块,用于根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
所述发送模块,用于发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
本发明实施例还提供了一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行上述任一项实施例提供的方法。
本发明实施例还提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现上述任一项实施例提供的方法。
本发明实施例中,生成第一密钥和第二密钥,用第一密钥对明文数据进行加密生成第一密文数据,基于不同的用户身份信息和业务信息对用户分类后,生成的不同的属性集合,不同用户具有不同的属性集合,根据不同的用户对加密明文数据的第一密钥进行加密,生成第二密文数据,在减少加密次数的基础上,加密安全性更高;在用户想要访问第一密文数据时,必须先获得第一密钥,而通过用户提供的属性集合可以对用户进行身份认证,实现对用户访问权限的控制;在认证通过后,才能对所述第二密文数据进行解密以获得第一密钥,进而才能解密想要访问的第一密文数据,如此,减少了现有技术中通过权限对应表确定用户访问权限存在用户密钥泄露或者权限对应表被篡改,导致文件泄露的风险;同时,将第二密文数据和第一密文数据分开存储,保障了即使第一密文数据泄露或者被截取,在没有第一密钥的情况下,也无法获取所述第一密文数据对应的明文信息,实现了在提高了文件存储的安全性的同时,也提高了属性基加密的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明提供的数据存储方法的流程示意图;
图2为本发明提供的数据查询方法的流程示意图;
图3为本发明提供的一种数据存储装置的结构示意图;
图4为本发明提供的一种数据查询装置的结构示意图;
图5为本发明提供的一种电子设备的结构示意图;
图6为本发明提供的数据存储和数据查询方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
本发明实施例提供一种数据存储方法。图1为本发明提供的数据存储方法的流程示意图;如图1所示,所述方法应用于区块链节点中,包括:
步骤S101:接收客户端发送的用户注册请求;
步骤S102:根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
步骤S103:生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
步骤S104:根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
步骤S105:存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
在本实施例中,所述方法应用于区块链节点中,在所述步骤S101之前,所述区块链节点向中心节点发送节点注册请求;所述节点注册请求用于向中心节点请求注册为注册节点。
具体地,所述节点注册请求中包含所述区块链节点的身份信息,所述身份信息包括所述区块链节点的身份标识,如ID或IP地址等,这里不做具体限定。
具体来说,所述中心节点在接收到所述区块链节点发送的节点注册请求,且同意授权所述区块链节点成为注册节点后,发布身份注册合约,在所述身份注册合约中添加用户身份注册和身份认证的流程;所述身份注册合约中还部署了属性基加密的密钥管理系统;根据所述节点注册请求中包含的所述区块链节点的身份信息,将所述身份注册合约发送至对应的区块链节点;所述区块链节点在接收到奥身份注册合约后,成为注册节点。
需要说明的是,本申请中通过注册节点和中心节点来对用户身份以及用户访问权限进行注册、更新、认证等管控,以保障访问密文数据的安全性,在不影响原系统业务的基础上,提高了数据存储和查询的安全性。
进一步地,在本实施例中,所述步骤S102中,所述用户注册请求包括:用户身份信息和业务信息;根据所述用户身份信息和业务信息,对用户进行分类后,为所述客户端分配相应的属性集合。
具体地,所述属性值为表征用户身份或业务信息的一个或多个属性参数;为所述客户端分配相应的属性集合,所述属性集合可以为一个属性值,也可以为多个属性值;所述属性值均根据所述用户身份信息和业务信息确定,所述属性值可以为用户名称标识、用户设备标识、用户注册编码、用户社区编号和用户数据操作权限(修改、只读)等,这里不做具体限定。
具体来说,所述区块链节点在接收到用户注册请求后,根据所述用户注册请求中的用户身份信息和业务信息,对用户进行分类,在对用户进行分类后,为所述客户端分配不同的属性集合;这里,不同的属性集合即表征不同的访问权限。
在一些实施例中,所述区块链节点根据用户注册请求,对用户进行分类,不同分类的用户分配不同的属性集合,使得不同分类的用户获得不同的访问权限;同一分类中的不同用户可以拥有不同的属性值,也可以拥有相同的属性值,可以拥有一个属性值,也可以拥有多个属性值。不同用户具有不同的属性集合,因此,不同用户的属性集合对第一密钥进行加密,
需要说明的是,通过将多个用户进行分类后分配不同的属性集合,对用户进行分类后分配属性集合对第一密钥进行可以大大减少加密次数,提高属性基加密的效率;不同用户具有不同的属性集合,根据不同的用户对加密明文数据的第一密钥进行加密,加密安全性更高;同时,根据用户提供的所述属性集合,对用户身份的认证,如此,实现了对用户访问权限的控制,减少了现有技术中通过权限对应表确定用户访问权限存在用户密钥泄露或者权限对应表被篡改,导致文件泄露的风险,大大提高了文件存储的安全性。
在本实施例中,步骤S103可包括:生成第一密钥可以为基于对称加密算法生成加密密钥即第一密钥;对称加密算法中加密密钥和解密密钥相同;这里所述对称加密算法可以为高级加密标准算法(Advanced Encryption Standard,AES)、也可以为数据加密标准算法(Data Encryption Standard,DES)等,这里不做具体限定。
具体来说,在一实施例中,所述区块链节点通过AES加密算法,生成加密密钥即第一密钥,通过所述第一密钥,对明文数据进行加密后,生成第一密文数据并存储到区块链数据库中。
在本实施例中,生成第二密钥可以为根据所述身份注册合约中部署的基于属性基加密的密钥管理系统,生成第二密钥,这里所述第二密钥,用于对所述属性集合进行加密后,生成客户端私钥,并发送给所述客户端。
具体来说,所述身份注册合约中部署属性基加密的密钥管理系统时,所述中心节点设定属性基加密的密钥管理系统的安全参数,并生成所述属性基加密的密钥管理系统的公钥和私钥;这里的公钥即为所述第二密钥,通过所述第二密钥和私钥对用户的属性集合进行加密,生成客户端私钥。
在本实施例中,步骤S105中,存储所述第一密文数据和所述第二密文数据可以为:所述第一密文数据通过分布式存储的方式存储于区块链数据库中;所述第二密文数据与加密所述第一密钥的所述属性集合相关联,用于在进行数据查询时,接收到所述用户客户端发送的所述属性集合后,通过将所述属性集合中的属性值与所述第二密文数据进行匹配,从而确定所述第一密钥;
在一些实施例中,所述接收到所述用户客户端发送的所述属性集合可以为:接收到所述用户客户端属性集合中的一个属性值,也可以为接收到所述用户客户端属性集合中的多个属性值。
需要说明的是,本发明实施例中,生成第一密钥和第二密钥,用第一密钥对明文数据进行加密生成第一密文数据,在对不同的用户身份信息和业务信息进行分类后生成不同的属性集合,根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据,通过属性集合仅对加密明文数据的第一密钥进行加密,避免了用属性基加密明文数据效率低的情况;同时,将第二密文数据和第一密文数据分开存储,保障了即使第一密文数据泄露或者被截取,在没有第一密钥的情况下,也无法获取所述第一密文数据对应的明文信息,实现了在提高了文件存储的安全性的同时,也提高了属性基加密的效率。
进一步地,所述方法还包括:接收所述客户端发送的身份更新请求;根据所述身份更新请求,更新为所述客户端分配的属性集合。
所述区块链节点除了可以控制客户端用户身份的注册和认证外,还可以对所述客户端的身份进行更新;具体地,所述区块链节点接收到所述客户端发送的身份更新请求,所述身份更新请求中包括修改后的用户身份信息,和/或,修改后的业务信息;根据接收到的所述身份更新请求中的所述用户身份信息和业务信息,对用户重新进行分类后,再次为所述客户端分配相应的属性集合,并将重新分配好的属性集合发送至所述客户端。同时,对所述区块链节点中与所述属性集合相关的信息进行对应的更新。
在用户忘记所述客户端私钥或属性集合时,可以通过提交身份更新请求来更新身份信息,和/或,业务信息从而获得新的属性集合和客户端私钥。
本发明实施例提供一种数据查询方法。图2为本发明提供的数据查询方法的流程示意图;如图2所示,所述方法应用于区块链节点中,包括:
步骤S201:接收客户端发送的属性集合和客户端私钥;
步骤S202:根据所述客户端私钥和所述属性集合,确定第二密钥;
步骤S203:根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
步骤S204:根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
步骤S205:发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
在本实施例中,步骤S201中,所述属性集合中包括至少一个属性值;
具体地,所述接收客户端发送的属性集合可以为接收所述属性集合中的一个属性值,也可以为所述属性集合中的多个属性值。
在一实施例中,步骤S202中根据所述客户端私钥和所述属性集合确定第二密钥可以为:所述区块链节点根据接收到的所述客户端私钥和所述属性集合,通过所述属性基加密的密钥管理系统对客户端私钥进行解密,生成所述第二密钥。
在所述步骤S203中,所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据可以为:在接收到所述属性集合后,根据存储所述第二密文数据时建立的关联关系,从存储所述第二密文数据的所述区块链数据库中,查询与所述属性集合中的属性值相匹配的所述第二密文数据。
具体来说,在一实施例中,当所述属性集合中仅包括一个属性值时,查询与所述属性集合相匹配的所述第二密文数据,确定与所述属性集合相匹配的第二密文数据;在另一些实施例中,当所述属性集合中包括至少两个属性值时,查询与所述属性集合中任意一个或多个属性值相匹配的所述第二密文数据,确定与所述属性集合相匹配的第二密文数据。
进一步地,所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据,包括:根据所述属性集合,确定是否存在与所述属性集合相匹配的第二密文数据,以验证发送所述属性集合的客户端是否具有访问第一密文数据的访问权限;在确定存在与所述属性集合相匹配的第二密文数据时,确定发送所述属性集合的客户端具有访问所述第一密文数据的访问权限。
具体来说,在一些实施例中,在所述区块链数据库中,确定查询到存在与所述属性集合相匹配的第二密文数据,即确定发送所述属性集合的客户端具有访问第一密文数据的访问权限,即用户身份认证成功,返回所述第二密文数据;
在另一些实施例中,在确定查询到不存在与所述属性集合相匹配的第二密文数据,即确定发送所述属性集合的客户端不具有访问第一密文数据的访问权限,即用户身份认证失败;所述用户客户端无法获得解密要访问的第一密文数据的第一密钥。
需要说明的是,本实施例中,通过对用户提供的属性集合进行验证,来对用户访问权限进行认证,减少了现有技术中通过权限对应表确定用户访问权限存在用户密钥泄露或者权限对应表被篡改,导致文件泄露的风险,大大提高了文件存储的安全性。
在步骤S204中,在确定与所述属性集合相匹配的所述第二密文数据后,根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥可以为:根据所述属性集合、所述第二密钥对所述密文数据进行解密,以获得所述第一密钥。
在本实施例中,根据所述属性集合和所述客户端私钥,解密获得所述第二密钥;根据所述第二密钥、基于所述属性集合查询得到的所述第二密文数据和所述属性集合,解密获得所述第一密钥,从而对用户想要访问的第一密文数据进行解密,以获得明文数据。
需要说明的是,基于属性集合和客户端私钥,对于所述属性集合相匹配的所述第二密文数据进行解密,以获得所述第一密钥,避免了用属性基解密明文数据效率低的情况,在提高了文件存储的安全性的同时,也提高了解密明文数据的效率。
以下,以一个具体示例对本发明实施例的数据存储和数据查询方法进行说明,图6为本发明提供的数据存储和数据查询方法的流程示意图,如图6所示:
步骤S601:区块链节点注册成为注册节点,具体包括一下步骤S1至S3。
S1:区块链节点向中心节点发送节点注册请求,所述节点注册请求中包含所述区块链节点的身份信息。
S2:中心节点发布身份注册合约,在身份注册合约中添加用户身份注册和身份认证的流程,并部署基于属性基加密的密钥管理系统。
具体地,中心节点设置所述基于属性基加密的密钥管理系统中属性基加密算法中的安全系数d,属性基加密算法根据安全系数d,生成系统公钥PK和主私钥MK,这里的系统公钥PK即为步骤6中加密属性集合的第二密钥。
S3:根据所述区块链节点的身份信息,将所述身份注册合约发送所述区块链节点,成为注册节点。
步骤S602:用户身份注册,具体包括一下步骤S4至S9。
S4:用户通过客户端向所述注册节点发送用户注册请求,所述用户注册请求包括:用户身份信息和业务信息。
S5:注册节点根据身份注册合约,对用户注册请求中的用户身份信息和业务信息进行分类,根据不同的分类情况,为客户端分配不同的属性集合,这里,所述属性集合用W表示。
S6:注册节点通过属性基加密系统生成的第二密钥PK、主私钥MK和属性集合W,生成用户客户端私钥SK,并发送给用户客户端。
S7:注册节点生成第一密钥AES对明文数据进行加密,生成第一密文数据CT1。
S8:注册节点根据第二密钥PK、属性基W对第一密钥AES进行加密,生成第二密文数据CT2。
S9:存储第一密文数据CT1和第二密文数据CT2。
步骤S603:用户身份认证和数据查询,具体包括一下步骤S10至S14。
S10:注册节点接收用户客户端发送的属性集合W和客户端私钥SK。
S11:注册节点基于身份注册合约中部署的基于属性基加密的密钥管理系统对客户端私钥SK进行解密,并基于属性集合W确定第二密钥PK。
S12:根据属性集合W,查询区块链数据库中是否存在与所述属性集合W相匹配的第二密文数据CT2;如果存在与所述属性集合W相匹配的第二密文数据CT2,则执行步骤S13;如果不存在与所述属性集合W相匹配的第二密文数据CT2,则执行步骤S14。
S13:对确定的第二密文数据CT2进行解密,并根据属性基W和确定的第二密钥PK,确定出第一密钥AES,并发送给用户客户端存储,用于对用户想要访问的第一密文数据CT1进行解密,以获得明文数据。
S14:返回用户身份认证失败。
步骤S604:用户身份更新,具体包括以下步骤S15至S16。
S15:接收用户客户端发送的身份更新请求,所述包括修改后的用户身份信息,和/或,修改后的业务信息。
S16:注册节点根据身份更新请求中包括修改后的用户身份信息,和/或,业务信息重复上述步骤S5至S12。
如图3所示,为本发明实施例提供的一种数据存储装置的结构示意图,该数据存储装置包括:第一接收模块301、分配模块302、生成模块303、加密模块304和存储模块305。其中,
所述第一接收模块301,用于接收客户端发送的用户注册请求;
所述分配模块302,用于根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
所述生成模块303,用于生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
所述加密模块304,用于根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
所述存储模块305,用于存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
如图4所示,为本发明实施例提供的一种数据查询装置,所述数据查询装置包括:第二接收模块401、第一确定模块402、第二确定模块403、第三确定模块404和发送模块405;
所述第二接收模块401,用于接收客户端发送的属性集合和客户端私钥;
所述第一确定模块402,用于根据所述客户端私钥和所述属性集合,确定第二密钥;
所述第二确定模块403,用于根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
所述第三确定模块404,用于根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
所述发送模块405,用于发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
图5为本发明提供的一种电子设备的结构示意图,如图5所示,所述电子设备50包括处理器501和用于存储能够在处理器上运行的计算机程序的存储器502;
其中,所述处理器501用于运行所述计算机程序时,执行:接收客户端发送的用户注册请求;根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:向中心节点发送节点注册请求;所述节点注册请求用于向中心节点请求注册为注册节点。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:所述根据所述用户注册请求,为所述客户端分配属性集合,包括:所述用户注册请求包括:用户身份信息和业务信息;根据所述用户身份信息和业务信息,对用户进行分类后,为所述客户端分配相应的属性集合。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:接收所述客户端发送的身份更新请求;根据所述身份更新请求,更新为所述客户端分配的属性集合。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:接收客户端发送的属性集合和客户端私钥;根据所述客户端私钥和所述属性集合,确定第二密钥;根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据,包括:根据所述属性集合,确定是否存在与所述属性集合相匹配的第二密文数据,以验证发送所述属性集合的客户端是否具有访问第一密文数据的访问权限;在确定存在与所述属性集合相匹配的第二密文数据时,确定发送所述属性集合的客户端具有访问所述第一密文数据的访问权限。
需要说明的是:上述实施例提供的电子设备与数据存储和数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
当然,实际应用时,如图5所示,该设备50还可以包括:至少一个网络接口503。电子设备50中的各个组件通过总线系统504耦合在一起。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统504。其中,所述处理器501的个数可以为至少一个。网络接口503用于电子设备50与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器502用于存储各种类型的数据以支持电子设备50的操作。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备50可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器502,上述计算机程序可由电子设备50的处理器501执行,以完成前述方法所述步骤。
具体地,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行:接收客户端发送的用户注册请求;根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
在一实施例中,所述计算机程序被处理器运行时,执行:向中心节点发送节点注册请求;所述节点注册请求用于向中心节点请求注册为注册节点。
在一实施例中,所述计算机程序被处理器运行时,执行:所述根据所述用户注册请求,为所述客户端分配属性集合,包括:所述用户注册请求包括:用户身份信息和业务信息;根据所述用户身份信息和业务信息,对用户进行分类后,为所述客户端分配相应的属性集合。
在一实施例中,所述计算机程序被处理器运行时,执行:接收所述客户端发送的身份更新请求;根据所述身份更新请求,更新为所述客户端分配的属性集合。
在一实施例中,所述计算机程序被处理器运行时,执行:接收客户端发送的属性集合和客户端私钥;根据所述客户端私钥和所述属性集合,确定第二密钥;根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
在一实施例中,所述计算机程序被处理器运行时,执行:所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据,包括:根据所述属性集合,确定是否存在与所述属性集合相匹配的第二密文数据,以验证发送所述属性集合的客户端是否具有访问第一密文数据的访问权限;在确定存在与所述属性集合相匹配的第二密文数据时,确定发送所述属性集合的客户端具有访问所述第一密文数据的访问权限。
需要说明的是:本发明实施例提供的计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,应用于区块链节点,包括:
接收客户端发送的用户注册请求;
根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
存储所述第一密文数据和所述第二密文数据;
其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的用户注册请求之前,所述方法还包括:
向中心节点发送节点注册请求;所述节点注册请求用于向中心节点请求注册为注册节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户注册请求,为所述客户端分配属性集合,包括:
所述用户注册请求包括:用户身份信息和业务信息;
根据所述用户身份信息和业务信息,对用户进行分类后,为所述客户端分配相应的属性集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的身份更新请求;
根据所述身份更新请求,更新为所述客户端分配的属性集合。
5.一种数据查询方法,其特征在于,应用于区块链节点中,包括:
接收客户端发送的属性集合和客户端私钥;
根据所述客户端私钥和所述属性集合,确定第二密钥;
根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
6.根据权利要求5所述的方法,其特征在于,所述根据所述属性集合,确定与所述属性集合相匹配的第二密文数据,包括:
根据所述属性集合,确定是否存在与所述属性集合相匹配的第二密文数据,以验证发送所述属性集合的客户端是否具有访问第一密文数据的访问权限;
在确定存在与所述属性集合相匹配的第二密文数据时,确定发送所述属性集合的客户端具有访问所述第一密文数据的访问权限。
7.一种数据存储装置,其特征在于,所述装置包括:第一接收模块、分配模块、生成模块、加密模块和存储模块;
所述第一接收模块,用于接收客户端发送的用户注册请求;
所述分配模块,用于根据所述用户注册请求,为所述客户端分配属性集合;其中,所述属性集合包括至少一个属性值;
所述生成模块,用于生成第一密钥和第二密钥;所述第一密钥,用于对明文数据进行加密,生成第一密文数据;所述第二密钥,用于对所述属性集合进行加密;
所述加密模块,用于根据所述属性集合和所述第二密钥,对所述第一密钥进行加密,生成第二密文数据;
所述存储模块,用于存储所述第一密文数据和所述第二密文数据;其中,所述第二密文数据,用于在数据查询过程中通过与所述客户端提供的所述属性集合进行匹配确定所述第一密钥。
8.一种数据查询装置,其特征在于,所述装置包括:第二接收模块、第一确定模块、第二确定模块、第三确定模块和发送模块;
所述第二接收模块,用于接收客户端发送的属性集合和客户端私钥;
所述第一确定模块,用于根据所述客户端私钥和所述属性集合,确定第二密钥;
所述第二确定模块,用于根据所述属性集合,确定与所述属性集合相匹配的第二密文数据;
所述第三确定模块,用于根据所述属性集合、所述第二密钥和所述第二密文数据,确定第一密钥;
所述发送模块,用于发送所述第一密钥至所述客户端,所述第一密钥用于供所述客户端对要访问的第一密文数据进行解密。
9.一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至4任一项所述方法的步骤,或者,用于执行权利要求5至6所述方法的步骤。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤;或者,所述计算机程序被处理器执行时实现权利要求5至6所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110497107.1A CN113392427A (zh) | 2021-05-07 | 2021-05-07 | 数据存储方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110497107.1A CN113392427A (zh) | 2021-05-07 | 2021-05-07 | 数据存储方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392427A true CN113392427A (zh) | 2021-09-14 |
Family
ID=77616947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110497107.1A Pending CN113392427A (zh) | 2021-05-07 | 2021-05-07 | 数据存储方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392427A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624522A (zh) * | 2012-03-30 | 2012-08-01 | 华中科技大学 | 一种基于文件属性的密钥加密方法 |
WO2016182509A1 (en) * | 2015-05-13 | 2016-11-17 | Agency For Science, Technology And Research | Network system, and methods of encrypting data, decrypting encrypted data in the same |
WO2017107047A1 (zh) * | 2015-12-22 | 2017-06-29 | 华为技术有限公司 | 一种用户属性匹配方法及终端 |
WO2017181911A1 (zh) * | 2016-04-18 | 2017-10-26 | 深圳大学 | 基于公钥可搜索加密的文件存储、搜索方法及存储系统 |
CN108200079A (zh) * | 2018-01-19 | 2018-06-22 | 深圳四方精创资讯股份有限公司 | 基于对称和非对称混合加密的区块链隐私保护方法及装置 |
CN109559124A (zh) * | 2018-12-17 | 2019-04-02 | 重庆大学 | 一种基于区块链的云数据安全共享方法 |
CN111163036A (zh) * | 2018-11-07 | 2020-05-15 | 中移(苏州)软件技术有限公司 | 一种数据共享方法、装置、客户端、存储介质及系统 |
CN111371561A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 基于cp-abe算法的联盟区块链数据访问控制方法 |
-
2021
- 2021-05-07 CN CN202110497107.1A patent/CN113392427A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624522A (zh) * | 2012-03-30 | 2012-08-01 | 华中科技大学 | 一种基于文件属性的密钥加密方法 |
WO2016182509A1 (en) * | 2015-05-13 | 2016-11-17 | Agency For Science, Technology And Research | Network system, and methods of encrypting data, decrypting encrypted data in the same |
WO2017107047A1 (zh) * | 2015-12-22 | 2017-06-29 | 华为技术有限公司 | 一种用户属性匹配方法及终端 |
WO2017181911A1 (zh) * | 2016-04-18 | 2017-10-26 | 深圳大学 | 基于公钥可搜索加密的文件存储、搜索方法及存储系统 |
CN108200079A (zh) * | 2018-01-19 | 2018-06-22 | 深圳四方精创资讯股份有限公司 | 基于对称和非对称混合加密的区块链隐私保护方法及装置 |
CN111163036A (zh) * | 2018-11-07 | 2020-05-15 | 中移(苏州)软件技术有限公司 | 一种数据共享方法、装置、客户端、存储介质及系统 |
CN109559124A (zh) * | 2018-12-17 | 2019-04-02 | 重庆大学 | 一种基于区块链的云数据安全共享方法 |
CN111371561A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 基于cp-abe算法的联盟区块链数据访问控制方法 |
Non-Patent Citations (1)
Title |
---|
黄勤龙: "《云计算数据安全》", 31 January 2018, 北京邮电大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11888993B2 (en) | Digital certificate application method | |
US11363010B2 (en) | Method and device for managing digital certificate | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
US20170063537A1 (en) | Method, device, and system of provisioning cryptographic data to electronic devices | |
CN110061983B (zh) | 一种数据处理方法及系统 | |
US7266705B2 (en) | Secure transmission of data within a distributed computer system | |
US9160723B2 (en) | Framework for provisioning devices with externally acquired component-based identity data | |
CN113645195B (zh) | 基于cp-abe和sm4的云病历密文访问控制系统及方法 | |
CN112835912B (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
CN114143108B (zh) | 一种会话加密方法、装置、设备及存储介质 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
CN113392401A (zh) | 认证系统 | |
CN112291059A (zh) | 密钥生成方法及装置、存储介质及电子设备 | |
KR102303253B1 (ko) | 블록체인 플랫폼 사용주체의 분산식별자 관리 시스템 | |
CN108667800B (zh) | 一种访问权限的认证方法及装置 | |
CN114826627A (zh) | 信息传输方法、企业安全网关和系统 | |
CN116166749A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
CN112153072B (zh) | 计算机网络信息安全控制装置 | |
CN115426155A (zh) | 集群节点的访问方法、装置、设备及存储介质 | |
CN113392427A (zh) | 数据存储方法、装置、电子设备和存储介质 | |
CN112437063B (zh) | 一种数据融合与取用方法、平台以及系统 | |
CN111918292B (zh) | 一种接入方法及装置 | |
CN113452519A (zh) | 密钥同步方法、装置、计算机设备及存储介质 | |
CN113098890B (zh) | 网络安全服务保障方法 | |
CN115632881B (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231215 |
|
AD01 | Patent right deemed abandoned |