一种分布式存储的数据处理方法及系统转让专利

申请号 : CN202211382268.7

文献号 : CN115422570B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱云李元骅可为

申请人 : 北京数盾信息科技有限公司

摘要 :

本发明提供一种分布式存储的数据处理方法及系统,所述方法包括:接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点。本发明的方案实现了分布式大数据存储加密的安全性。

权利要求 :

1.一种分布式存储的数据处理方法,其特征在于,应用于密钥管理系统,所述方法包括:接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;

从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;明文数据加密密钥被加密区密钥加密;

根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点;所述数据节点中的每个数据文件都使用唯一的数据加密密钥进行加密;

其中,接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求,包括:通过文件目录管理节点接收客户端发送的创建文件请求;

根据所述创建文件请求创建密文数据加密密钥;

从所述关系型密钥库获取第二加密区密钥;

根据所述密文数据加密密钥和所述第二加密区密钥,生成目标密文数据加密密钥;

将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;所述文件目录管理节点保存所述目标密文数据加密密钥;

接收客户端根据所述目标密文数据加密密钥,发送的数据加密密钥的解密请求;

在客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端后,接收分布式存储的客户端发送的目标密文数据加密密钥;

从所述关系型密钥库,获取第三加密区密钥;

根据所述第三加密区密钥,解密所述目标密文数据加密密钥,得到数据加密密钥;

将所述数据加密密钥发送客户端,使得所述客户端利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。

2.根据权利要求1所述的分布式存储的数据处理方法,其特征在于,所述目标加密算法和所述目标解密算法均是:密码算法SM2、密码算法SM3、密码算法SM4、软算法、服务器密码机和密码服务平台的密码算法中的至少一种。

3.一种分布式存储的数据处理方法,其特征在于,应用于客户端,所述方法包括:向文件目录管理节点发送创建文件请求;由所述文件目录管理节点将所述创建文件请求发送至分布式存储的密钥管理系统,由所述密钥管理系统根据所述创建文件请求创建密文数据加密密钥;从所述关系型密钥库获取第二加密区密钥;根据所述密文数据加密密钥和所述第二加密区密钥,生成目标密文数据加密密钥;将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;所述文件目录管理节点保存所述目标密文数据加密密钥;

根据所述目标密文数据加密密钥,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;

接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥,根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;明文数据加密密钥被加密区密钥加密;

根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;

将所述加密数据文件存储于数据节点;

在客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端后,向分布式存储的密钥管理系统发送目标密文数据加密密钥;

接收密钥管理系统从所述关系型密钥库,获取第三加密区密钥根据所述第三加密区密钥,解密所述目标密文数据加密密钥,发送的数据加密密钥;

利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。

4.一种密钥管理系统,其特征在于,包括:

收发模块,用于接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;

处理模块,用于从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;明文数据加密密钥被加密区密钥加密;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点;所述数据节点中的每个数据文件都使用唯一的数据加密密钥进行加密;

其中,接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求,包括:通过文件目录管理节点接收客户端发送的创建文件请求;

根据所述创建文件请求创建密文数据加密密钥;

从所述关系型密钥库获取第二加密区密钥;

根据所述密文数据加密密钥和所述第二加密区密钥,生成目标密文数据加密密钥;

将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;

接收客户端根据所述目标密文数据加密密钥,发送的数据加密密钥的解密请求;

所述处理模块还用于在客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端后,接收分布式存储的客户端发送的目标密文数据加密密钥;

从所述关系型密钥库,获取第三加密区密钥;

根据所述第三加密区密钥,解密所述目标密文数据加密密钥,得到数据加密密钥;

将所述数据加密密钥发送客户端,使得所述客户端利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点读取的加密数据文件进行解密,得到解密后的数据文件。

5.一种客户端,其特征在于,包括:

收发模块,用于向文件目录管理节点发送创建文件请求;由所述文件目录管理节点将所述创建文件请求发送至分布式存储的密钥管理系统,由所述密钥管理系统根据所述创建文件请求创建密文数据加密密钥;从所述关系型密钥库获取第二加密区密钥;根据所述密文数据加密密钥和所述第二加密区密钥,生成目标密文数据加密密钥;将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;根据所述目标密文数据加密密钥,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;明文数据加密密钥被加密区密钥加密;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;

处理模块,用于根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;将所述加密数据文件存储于数据节点;

所述收发模块还用于在客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端后,向分布式存储的密钥管理系统发送目标密文数据加密密钥;接收密钥管理系统从所述关系型密钥库,获取第三加密区密钥根据所述第三加密区密钥,解密所述目标密文数据加密密钥,发送的数据加密密钥;

所述处理模块还用于利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。

6.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至2任一项所述的方法或者如权利要求3所述的方法。

说明书 :

一种分布式存储的数据处理方法及系统

技术领域

[0001] 本发明涉及计算机信息处理技术领域,特别是指一种分布式存储的数据处理方法及系统。

背景技术

[0002] 伴随着云计算、大数据、物联网、人工智能等信息技术的快速发展和传统产业数字化的转型,数据量呈现几何级增长,传统的关系数据存储方式已经越来越不能满足海量数据的存储需求,为了解决海量数据的存储,出现了一些基于分布式的大数据存储方案,现有技术中的分布式的大数据存储方案无法保证数据的安全性。

发明内容

[0003] 本发明提供一种分布式存储的数据处理方法及系统。实现了分布式大数据存储加密的安全性。
[0004] 为解决上述技术问题,本发明的技术方案如下:
[0005] 一种分布式存储的数据处理方法,应用于大数据加密存储领域的密钥管理系统,所述方法包括:
[0006] 接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;
[0007] 从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;
[0008] 根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点。
[0009] 可选的,接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求,包括:
[0010] 通过文件目录管理节点接收客户端发送的创建文件请求;
[0011] 根据所述创建文件请求创建密文数据加密密钥;
[0012] 从所述关系型密钥库获取第二加密区密钥;
[0013] 根据所述第二加密区密钥,生成目标密文数据加密密钥;
[0014] 将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;
[0015] 接收客户端根据所述目标密文数据加密密钥,发送的数据加密密钥的解密请求。
[0016] 可选的,分布式存储的数据处理方法,还包括:
[0017] 接收分布式存储的客户端发送的目标密文数据加密密钥;
[0018] 从所述关系型密钥库,获取第三加密区密钥;
[0019] 根据所述第三加密区密钥,解密所述目标密文数据加密密钥,得到数据加密密钥;
[0020] 将所述数据加密密钥发送客户端,使得所述客户端利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。
[0021] 可选的,所述目标密文数据加密密钥是,客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端。
[0022] 可选的,所述目标加密算法和所述目标解密算法均是:密码算法SM2、密码算法SM3、密码算法SM4、软算法、服务器密码机和密码服务平台的密码算法中的至少一种。
[0023] 本发明的实施例还提供一种分布式存储的数据处理方法,应用于客户端,所述方法包括:
[0024] 向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;
[0025] 接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;
[0026] 根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;
[0027] 将所述加密数据文件存储于数据节点。
[0028] 可选的,分布式存储的数据处理方法,还包括:
[0029] 向分布式存储的密钥管理系统发送目标密文数据加密密钥;
[0030] 接收密钥管理系统从所述关系型密钥库,获取第三加密区密钥根据所述第三加密区密钥,解密所述目标密文数据加密密钥,发送的数据加密密钥;
[0031] 利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。
[0032] 本发明的实施例还提供一种密钥管理系统,包括:
[0033] 收发模块,用于接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;
[0034] 处理模块,用于从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点。
[0035] 本发明的实施例还提供一种客户端,包括:
[0036] 收发模块,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;
[0037] 处理模块,用于根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;将所述加密数据文件存储于数据节点。
[0038] 本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。
[0039] 本发明的上述方案至少包括以下有益效果:
[0040] 通过接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点,实现了分布式大数据存储加密的安全性。

附图说明

[0041] 图1是本发明实施例的密钥管理系统侧的分布式存储的数据处理方法的流程示意图;
[0042] 图2是本发明实施例的密钥管理系统的数据调用流程示意图;
[0043] 图3是本发明实施例的客户端的加解密模块的加密组件的调用流程示意图;
[0044] 图4是本发明实施例的写文件流程示意图;
[0045] 图5是本发明实施例的读文件流程示意图;
[0046] 图6是本发明实施例的客户端侧的分布式存储的数据处理方法示意图;
[0047] 图7是本发明实施例的密钥管理系统的模块示意图。

具体实施方式

[0048] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0049] 如图1所示,本发明的实施例提供一种分布式存储的数据处理方法,应用于密钥管理系统,所述方法包括:
[0050] 步骤11,接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;
[0051] 步骤12,从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;
[0052] 步骤13,根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点。
[0053] 该实施例中,分布式存储的系统架构如图2和图3所示,客户端包括:文件存储接口,用于将数据文件存储于数据节点或者从数据节点中读取;密钥生成获取模块,用于与密钥管理系统进行交互,从而获得相应的数据加密密钥;加密解密模块用于利用数据加密密钥对数据文件进行加密或者对从数据节点中读取的数据文件进行解密等;
[0054] 本发明的实施例中,密钥管理系统对身份认证、权限管理和密钥管理进行协同,从多维度对系统进行安全防护,密钥在安全硬件中产生,可以在硬件和/或密钥数据库中保存;具体的,加密解密模块通过密码接口模块可以调用加密引擎,调用相应的加解密算法,具体可以调用软算法、服务器密码机和密码服务平台的密码算法中的至少一种;其中,国密模块如密码算法SM2、密码算法SM3、密码算法SM4、密码算法SM3,软算法;同时,兼容国际算法(RSA、AES、SHA系列算法)服务器密码机为硬件加密设备,密服密管平台可以是加解密算法的相应设备和/或软件的集成平台。
[0055] 通过从服务端获取当前设置采取的算法,以及所使用的算法以及引擎类型等参数信息。从服务端返回的信息保存在内存中,可供后续接口调用时使用,从而提高性能。
[0056] 使用何种加密引擎、使用何种算法以及加密模式,都可以在后台管理系统进行设置,默认采用调用服务器密码机,算法采用SM4/CTR/NOPADDING。init()函数访问后台管理系统的地址在配置文件中进行配置。
[0057] 本发明的一可选的实施例中,步骤11可以包括:
[0058] 步骤111,通过文件目录管理节点接收客户端发送的创建文件请求;
[0059] 步骤112,根据所述创建文件请求创建密文数据加密密钥;
[0060] 步骤113,从所述关系型密钥库获取第二加密区密钥;
[0061] 步骤114,根据所述第二加密区密钥,生成目标密文数据加密密钥;
[0062] 步骤115,将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;
[0063] 步骤116,接收客户端根据所述目标密文数据加密密钥,发送的数据加密密钥的解密请求。
[0064] 具体的写文件的流程如图4所示:
[0065] 步骤41,客户端通过分布式文件交互,向文件目录管理节点(NameNode)发送创建文件请求;
[0066] 步骤42,文件目录管理节点请求密钥管理系统(KMS)创建加密数据加密密钥EDEK;
[0067] 步骤43,密钥管理系统(KMS)从关系型密钥库请求加密区密钥EZK,生成新的加密数据加密密钥EDEK;
[0068] 步骤44,关系型密钥库返回EZK信息;
[0069] 步骤45,密钥管理系统KMS将新生成的加密数据加密密钥EDEK返回给文件目录管理节点;文件目录管理节点将EDEK作为该文件元数据的扩展属性保存。
[0070] 步骤46,文件目录管理节点返回EDEK给客户端;
[0071] 步骤47,客户端接收EDEK,并向KMS请求解密后的密钥DEK;
[0072] 步骤48,密钥管理系统向关系型密钥库请求该EDEK的EZK信息;
[0073] 步骤49,关系型密钥库返回EZK信息;
[0074] 步骤491,密钥管理系统用EZK对EDEK进行解密,并将解密后的DEK反馈给客户端;
[0075] 步骤492,客户端利用DEK对数据文件进行加密,之后上传到数据节点(DataNode),这里的数据节点中存储的为加密数据文件;
[0076] 步骤493数据节点返回写入成功应答。
[0077] 这里,数据节点中的每个数据文件都使用唯一的数据加密密钥(data encryption key,DEK)进行加密,明文DEK被区域级加密密钥EZK加密:
[0078] 加密区密钥(encryption zone key,EZK)加密成加密的数据加密密钥(encrypted DEK,EDEK)。
[0079] DEK不被永久保存,EDEK作为指定文件文件目录管理节点的元数据中的扩展属性永久保存。
[0080] KMS:负责生成加密密钥(EZK和DEK)、与密钥服务器通信以及解密EDEK。KMS通过密钥提供接口(KeyProvider)与密钥服务器进行通信。
[0081] 本发明的一可选的实施例中,分布式存储的数据处理方法,还可以包括:
[0082] 步骤21,接收分布式存储的客户端发送的目标密文数据加密密钥;
[0083] 步骤22,从所述关系型密钥库,获取第三加密区密钥;
[0084] 步骤23,根据所述第三加密区密钥,解密所述目标密文数据加密密钥,得到数据加密密钥;
[0085] 步骤24,将所述数据加密密钥发送客户端,使得所述客户端利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。
[0086] 这里,所述目标密文数据加密密钥是,客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端。
[0087] 本发明的一可选的实施例中,所述目标加密算法和所述目标解密算法均是:密码算法SM4、密码算法SM3、软算法、服务器密码机和密码服务平台的密码算法中的至少一种。
[0088] 具体的读文件的流程如图5所示,
[0089] 步骤51,客户端向文件目录管理节点(NameNode)发送读文件请求;
[0090] 步骤52,文件目录管理节点将加密数据文件的EDEK返回给客户端;
[0091] 步骤53,客户端将EDEK发送给密钥管理系统(KMS);
[0092] 步骤54,密钥管理系统发送获取EZK请求到关系型密钥库;
[0093] 步骤55,关系型密钥库返回对应的EZK,KMS收到EZK后解密EDEK得到DEK;
[0094] 步骤56,密钥管理系统将DEK返回给客户端;
[0095] 步骤57,客户端读取加密数据块并利用DEK解密。
[0096] 本发明的上述实施例中,密钥管理系统的实现以及密钥管理系统为密码机、统一密服平台下发密钥以及密钥的管理遵循相关标准,在此不再进行单独说明。通过上述实施例所述的方案,可以实现大数据分布式存储加密的安全性和合规性。
[0097] 如图6所示,本发明的实施例还提供一种分布式存储的数据处理方法,应用于客户端,所述方法包括:
[0098] 步骤61,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;
[0099] 步骤62,接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;
[0100] 步骤63,根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;
[0101] 步骤64,将所述加密数据文件存储于数据节点。
[0102] 本发明的一可选的实施例中,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求,包括:
[0103] 向文件目录管理节点发送创建文件请求;使得文件目录管理节点根据所述创建文件请求创建密文数据加密密钥;发送给密钥管理系统,由密钥管理系统从所述关系型密钥库获取第二加密区密钥;根据所述第二加密区密钥,生成目标密文数据加密密钥;
[0104] 通过所述文件目录管理节点接收将密钥管理系统发送的所述目标密文数据加密密钥;
[0105] 根据所述目标密文数据加密密钥,向密钥管理系统发送数据加密密钥的解密请求。
[0106] 本发明的一可选的实施例中,分布式存储的数据处理方法,还包括:
[0107] 步骤64,向分布式存储的密钥管理系统发送目标密文数据加密密钥;
[0108] 步骤65,接收密钥管理系统从所述关系型密钥库,获取第三加密区密钥根据所述第三加密区密钥,解密所述目标密文数据加密密钥,发送的数据加密密钥;
[0109] 步骤66,利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。
[0110] 所述目标密文数据加密密钥是,客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端。
[0111] 需要说明的是,该客户端侧的方法是与上述密钥管理系统相应的客户端,上述密钥管理系统侧的方法的所有实现方式均适用于该客户端侧的方法的实施例中,也能达到相同的技术效果。
[0112] 如图7所示,本发明的实施例还提供一种密钥管理系统70,包括:
[0113] 收发模块71,用于接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求;
[0114] 处理模块72,用于从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,得到解密后的数据加密密钥,将所述解密后的数据加密密钥反馈所述客户端,使得所述客户端的加解密模块根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件,将所述加密数据文件存储于数据节点。
[0115] 可选的,接收分布式存储的客户端发送的目标密文数据加密密钥的解密请求,包括:
[0116] 通过文件目录管理节点接收客户端发送的创建文件请求;
[0117] 根据所述创建文件请求创建密文数据加密密钥;
[0118] 从所述关系型密钥库获取第二加密区密钥;
[0119] 根据所述第二加密区密钥,生成目标密文数据加密密钥;
[0120] 将所述目标密文数据加密密钥通过所述文件目录管理节点发送客户端;
[0121] 接收客户端根据所述目标密文数据加密密钥,发送的数据加密密钥的解密请求。
[0122] 可选的,所述收发模块还用于:
[0123] 接收分布式存储的客户端发送的目标密文数据加密密钥;
[0124] 从所述关系型密钥库,获取第三加密区密钥;
[0125] 根据所述第三加密区密钥,解密所述目标密文数据加密密钥,得到数据加密密钥;
[0126] 将所述数据加密密钥发送客户端,使得所述客户端利用所述数据加密密钥通过加密引擎调用目标解密算法对从数据节点获取的加密数据文件进行解密,得到解密后的数据文件。
[0127] 可选的,所述目标密文数据加密密钥是,客户端向文件目录管理节点发送读文件请求,并由文件目录管理节点将加密数据文件的目标密文数据加密密钥返回给客户端。
[0128] 可选的,所述目标加密算法和所述目标解密算法均是:密码算法SM4、密码算法SM3、软算法、服务器密码机和密码服务平台的密码算法中的至少一种。
[0129] 需要说明的是,该密钥管理系统是与上述密钥管理系统侧的方法相应的,上述密钥管理系统侧的方法的所有实现方式均适用于该密钥管理系统的实施例中,也能达到相同的技术效果。
[0130] 本发明的实施例还提供一种客户端,包括:
[0131] 收发模块,向分布式存储的密钥管理系统发送目标密文数据加密密钥的解密请求;接收密钥管理系统从关系型密钥库中,获取所述目标密文数据加密密钥的第一加密区密钥;根据所述第一加密区密钥对所述目标密文数据加密密钥进行解密后,发送的解密后的数据加密密钥;
[0132] 处理模块,用于根据所述数据加密密钥通过加密引擎调用目标加密算法对数据文件进行加密,得到加密数据文件;将所述加密数据文件存储于数据节点。
[0133] 需要说明的是,该客户端是与上述客户端侧的方法相应的,上述客户端侧的方法的所有实现方式均适用于该客户端的实施例中,也能达到相同的技术效果。
[0134] 本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
[0135] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0136] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0137] 在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0138] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0139] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0140] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0141] 此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0142] 因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可 以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0143] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。