CN116015767A - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116015767A CN116015767A CN202211587299.6A CN202211587299A CN116015767A CN 116015767 A CN116015767 A CN 116015767A CN 202211587299 A CN202211587299 A CN 202211587299A CN 116015767 A CN116015767 A CN 116015767A
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- ciphertext
- file
- data request
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000012216 screening Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 5
- 238000004321 preservation Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 101150011387 DEK1 gene Proteins 0.000 description 1
- 101100331195 Oryza sativa subsp. japonica ADL1 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Abstract
本申请公开了一种数据处理方法、装置、设备及介质,涉及云计算领域,包括:判断数据请求的类型;若类型为密钥组保存,则基于数据请求生成密文密钥,基于密文密钥生成密钥组,将密钥组保存至本地存储桶的元数据;若类型为文件加密,则根据数据请求从元数据中筛选出加密密钥组,以得到加密密钥组中的加密密文密钥,确定出与加密密文密钥相对应的加密明文密钥,利用加密明文密钥对待加密文件中的数据进行加密;若类型为文件解密,则根据数据请求从元数据中筛选出解密密文密钥,确定出与解密密文密钥相对应的解密明文密钥,利用解密明文密钥对待解密文件中的数据进行解密。本申请能够提高数据的安全性,降低文件元数据的储存量,提高数据处理的效率。
Description
技术领域
本发明涉及云计算领域,特别涉及一种数据处理方法、装置、设备及介质。
背景技术
Ceph是一种分布式对象存储系统,数据安全是对象存储要解决的关键问题之一。在Ceph原有的对象存储网关设计中,使用barbican服务器(简称KMS1.0)管理密钥,每次下载文件都需要在KMS1.0解密主密钥,所以会限制下载性能。并且会将主密钥字符串存放在文件的元数据中,当文件过多时,会占用过多元数据服务器的内存,严重影响Ceph存储系统的性能。并且基于KMS1.0管理密钥时,每个主密钥对应唯一一个解密密钥,当主密钥泄漏时,可能会发生文件泄密的情况。
由上可见,在数据处理的过程中,如何提高数据的安全性,降低文件元数据的储存量,提高数据处理的性能和效率是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法、装置、设备及介质,能够提高数据的安全性,降低文件元数据的储存量,提高数据处理的性能和效率。其具体方案如下:
第一方面,本申请公开了一种数据处理方法,包括:
判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;
若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;
若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;
若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
可选的,所述若获取的数据请求的类型为密钥组保存之后,还包括:
确定出所述数据请求中的主密钥版本信息;
判断所述主密钥版本信息是否为最新版本,若所述主密钥版本信息为最新版本,则对所述数据请求中的主密钥进行校验,若校验通过,则将所述数据请求中的主密钥发送至第三方服务器,以便所述第三方服务器根据所述主密钥生成明文密钥,并将所述明文密钥保存至所述第三方服务器。
可选的,所述基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥粗保存至本地存储桶的元数据,包括:
对所述数据请求中的主密钥、密钥生成信息以及所述主密钥版本信息进行base64编码操作,以得到密文密钥;
确定出与所述主密钥相对应的密钥序号,将所述密文密钥和所述密钥序号进行结合以得到密钥组,将所述密钥组、所述密钥序号以及所述主密钥版本信息保存至所述存储桶的元数据。
可选的,所述若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,包括:
若获取的数据请求的类型为文件加密,则判断所述存储桶的元数据中的主密钥版本信息是否为最新版本,若所述存储桶的元数据中的主密钥版本信息为最新版本,则从所述元数据中获取加密密钥序号;
根据所述数据请求从所述元数据中筛选出与所述加密密钥序号相同的密钥组作为加密密钥组。
可选的,所述从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密,包括:
判断所述数据请求中的主密钥是否可用,若所述数据请求中的主密钥可用,则从第三方服务器和所述元数据中分别确定出与所述加密密文密钥相对应的加密明文密钥和所述加密明文密钥的版本信息,将所述加密明文密钥的版本信息、加密算法以及所述密钥序号保存至待加密文件;
利用所述加密明文密钥对所述待加密文件进行加密。
可选的,所述若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,包括:
若获取的数据请求的类型为文件解密,则获取待解密文件中的加密密钥序号;
根据所述加密密钥序号从所述存储桶中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥。
可选的,所述利用所述加密明文密钥对待加密文件中的数据进行加密之后,还包括:
基于所述加密密文密钥和所述加密明文密钥确定出加密密钥对;
将所述加密密钥对保存至本地的缓存,记录保存时间,并确定出密钥删除时间,当检测到当前时间到达密钥删除时间时,对所述加密密钥对进行删除操作;
当获取到与所述加密密文密钥对应的数据请求类型为文件解密时,判断所述缓存中是否还存在所述加密密文密钥,若所述缓存中不存在所述加密密文密钥,则直接跳转至所述从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥的步骤,若缓存中存在所述加密密文密钥,则直接从所述缓存中获取与所述解密密文密钥相对应的解密明文密钥。
第二方面,本申请公开了一种数据处理装置,包括:
判断模块,用于判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;
密钥组生成模块,用于若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;
加密模块,用于若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;
解密模块,用于若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的数据处理方法。
第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据处理方法的步骤。
可见,本申请提供了一种数据处理方法,包括判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。本申请应用于信封加密钥管理服务器(简称KMS2.0),该服务器可以令主密钥生成明文密钥(即明文DEK)和密文密钥(密文DEK)的密钥对,每次生成的密钥对都不相同,所以提高了安全性,并且能够降低文件元数据的储存量,提高数据处理的性能和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据处理方法流程图;
图2为本申请公开的一种数据处理方法的具体流程示意图;
图3为本申请公开的一种数据处理方法流程图;
图4为本申请公开的一种数据处理方法的具体流程示意图;
图5为本申请公开的一种数据处理方法的具体流程示意图;
图6为本申请公开的一种数据处理装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Ceph是一种分布式对象存储系统,数据安全是对象存储要解决的关键问题之一。在Ceph原有的对象存储网关设计中,使用barbican服务器(简称KMS1.0)管理密钥,每次下载文件都需要在KMS1.0解密主密钥,所以会限制下载性能。并且会将主密钥字符串存放在文件的元数据中,当文件过多时,会占用过多元数据服务器的内存,严重影响Ceph存储系统的性能。并且基于KMS1.0管理密钥时,每个主密钥对应唯一一个解密密钥,当主密钥泄漏时,可能会发生文件泄密的情况。由上可见,在数据处理的过程中,如何提高数据的安全性,降低文件元数据的储存量,提高数据处理的性能和效率是本领域有待解决的问题。
参见图1所示,本发明实施例公开了一种数据处理方法,具体可以包括:
步骤S11:判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密。
步骤S12:若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据。
本实施例中,若获取的数据请求的类型为密钥组保存之后,还包括:确定出所述数据请求中的主密钥版本信息;判断所述主密钥版本信息是否为最新版本,若所述主密钥版本信息为最新版本,则对所述数据请求中的主密钥进行校验,若校验通过,则将所述数据请求中的主密钥发送至第三方服务器,以便所述第三方服务器根据所述主密钥生成明文密钥,并将所述明文密钥保存至所述第三方服务器。
具体的,密钥组保存过程如下:对所述数据请求中的主密钥、密钥生成信息以及所述主密钥版本信息进行base64编码操作,以得到密文密钥;确定出与所述主密钥相对应的密钥序号,将所述密文密钥和所述密钥序号进行结合以得到密钥组,将所述密钥组、所述密钥序号以及所述主密钥版本信息保存至所述存储桶的元数据。
本实施例中,在KMS2.0中,可以根据主密钥在第三方服务器生成明文DEK和密文DEK的密钥对,并可以根据密文DEK在密钥服务器解密出来明文DEK,密文DEK中是由主密钥、密钥生成信息以及主密钥版本信息经过base64编码加密而成,也可以对密文DEK进行base64解码解密出上述信息。
步骤S13:若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密。
本实施例中,在利用所述加密明文密钥对待加密文件中的数据进行加密之后,还包括:基于所述加密密文密钥和所述加密明文密钥确定出加密密钥对;将所述加密密钥对保存至本地的缓存,记录保存时间,并确定出密钥删除时间,当检测到当前时间到达密钥删除时间时,对所述加密密钥对进行删除操作;当获取到与所述加密密文密钥对应的数据请求类型为文件解密时,判断所述缓存中是否还存在所述加密密文密钥,若所述缓存中不存在所述加密密文密钥,则直接跳转至所述从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥的步骤,若缓存中存在所述加密密文密钥,则直接从所述缓存中获取与所述解密密文密钥相对应的解密明文密钥。
本实施例中,在KMS1.0中,只能根据主密钥获取唯一一个加密密钥,为了兼容Ceph系统中使用KMS1.0保存的数据,设置加密时,需要验证密钥为KMS1.0版本还是KMS2.0版本。在Ceph的对象存储系统中,当设置存储bucket使用加密方式保存数据时,通过http(HyperText Transfer Protocol,超文本传输协议)请求将主密钥传到对象存储系统。然后首先在KMS2.0中校验主密钥,如果校验不通过,再在KMS1.0中校验,根据校验结果设置加密类型。
具体加密流程如图2所示,当在KMS2.0中校验通过时,采用使用信封加密。使用数据请求中的主密钥去KMS2.0解析获取明文DEK和密文DEK,获取后将密钥序号(从“1”开始排序)、密文DEK作为一组密钥组保存到bucket(存储桶)元数据的user.rgw.crypt.bucketkeystore中,将新增加的密钥组设置为该bucket用于加密文件的加密密钥组,在后续给bucket设置服务端加密的时,首先遍历bucket密钥仓库中的密文DEK,并进行base64解码,然后检查当前请求的主密钥是否在密钥库中存在,如果存在,则不再新增加密钥组,将当前已存在的加密组设置为用于加密文件的加密密钥组,同时,当为信封加密时,将主密钥设置到bucket的元数据的user.rgw.crypt.keyid参数中,并将用于加密文件的加密密钥组的KMS加密密钥的版本信息(version)、加密算法(algorithm)以及密钥序号(bucketkeyid)设置在bucket的元数据的user.rgw.crypt.kmskeyinfo中,具体格式为:
user.rgw.crypt.kmskeyinfo:"{"version":"v2","algorithm":"AES256","bucketk eyid:"1"}"
各参数的含义为:
密钥的版本信息(version):使用KMS1.0时为v1,使用KMS2.0时为v2;
加密算法(algorithm):为AES256;
密钥序号(bucketkeyid):当使用kms2.0时,为当前使用的密钥序号,当使用kms1.0时,为空。
所以,设置信封加密后,在bucket的元数据中,关于服务端加密共有3个参数:
(1)主密钥
user.rgw.crypt.keyid:***
(2)密钥库,包含密钥序号和密文DEK
user.rgw.crypt.bucketkeystore:{
"1":"密文DEK1",
"2":"密文DEK1"
}
(3)用于加密文件的加密密钥组
user.rgw.crypt.kmskeyinfo:"{"version":"v2","algorithm":"AES256","bucketk eyid":"1"}"
当识别为KMS1.0时,将主密钥设置到user.rgw.crypt.keyid参数中,并在桶的attr中user.rgw.crypt.kmskeyinfo设置加密信息,具体格式为:
user.rgw.crypt.kmskeyinfo:"{"version":"v1","algorithm":"AES256","bucketk eyid:""}"
步骤S14:若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
本实施例中,判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。本申请应用于信封加密钥管理服务器(简称KMS2.0),该服务器可以令主密钥生成明文密钥(即明文DEK)和密文密钥(密文DEK)的密钥对,每次生成的密钥对都不相同,所以提高了安全性,并且能够降低文件元数据的储存量,提高数据处理的性能和效率。
参见图3所示,本发明实施例公开了一种数据处理方法,具体可以包括:
步骤S21:判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密。
步骤S22:若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据。
本实施例中,具体生成密钥组并保存的流程如图4所示,首先为桶设置KMS加密,然后判断密钥是否能在KMS2.0中通过验证,如果通过,则遍历bucket密钥库中的密文DEK,并进行base64解码,然后检查当前请求的主密钥是否在密钥库中,如果在,则不再新增加密钥组,将当前已存在的加密组设置为用于加密文件的加密密钥组,如果不在,则根据主密钥生成密文密钥,然后根据密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据中,如果密钥没有在KMS2.0中通过验证,则再判断密钥是否能在KMS1.0中通过验证,若通过,则将加密密钥写入bucket元数据中的user.rgw.crypt.keyid,将密钥的版本信息(version)、加密算法(algorithm)以及密钥序号(bucketkeyid)保存至bucket的元数据的user.rgw.crypt.kmskeyinfo。
步骤S23:若获取的数据请求的类型为文件加密,则判断所述存储桶的元数据中的主密钥版本信息是否为最新版本,若所述存储桶的元数据中的主密钥版本信息为最新版本,则从所述元数据中获取加密密钥序号,然后根据所述数据请求从所述元数据中筛选出与所述加密密钥序号相同的密钥组作为加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密。
本实施例中,具体的,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密,包括:判断所述数据请求中的主密钥是否可用,若所述数据请求中的主密钥可用,则从第三方服务器和所述元数据中分别确定出与所述加密密文密钥相对应的加密明文密钥和所述加密明文密钥的版本信息,将所述加密明文密钥的版本信息、加密算法以及所述密钥序号保存至待加密文件;利用所述加密明文密钥对所述待加密文件进行加密。
步骤S24:若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
本实施例中,若获取的数据请求的类型为文件解密,则获取待解密文件中的加密密钥序号,根据所述加密密钥序号从所述存储桶的元数据中中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,然后利用所述解密明文密钥对所述待解密文件中的数据进行解密。
本实施例中,具体解密过程如图5所示,在下载KMS加密的文件时,首先读取文件元数据user.rgw.crypt.kmskeyinfo中的内容,如果为空,使用KMS1.0解密逻辑,如果user.rgw.crypt.kmskeyinfo不为空,并且密钥版本为v1,使用KMS1.0解密逻辑,密钥版本为v2,使用KMS2.0解密逻辑,使用KMS2.0解密时,根据user.rgw.crypt.kmskeyinfo中的密钥序号从桶的attr的user.rgw.crypt.bucketkeystore中获取对应的密文DEK,使用密文DEK换取“明文DEK后解密文件,使用原来的KMS1.0加密时,读取user.rgw.crypt.keyid作为key-id,在KMS1.0服务器中换取key后解密。
本申请应用于信封加密钥管理服务器(简称KMS2.0),该服务器可以使用主密钥生成明文密钥和密文密钥的密钥对,每次生成的密钥对都不相同,所以提高了安全性,在加密时,使用明文DEK加密数据,并保存密文DEK用于解密。解密时,使用密文DEK在KMS2.0服务器解密出明文DEK,使用明文DEK解密数据,该过程减少了对主密钥的操作,进一步提高了安全性,并且在保存密文DEK时,不直接将其保存到文件的元数据中,而是将其保存到存储桶的attr(元数据)中,并对该密文DEK保存一个密钥序号,在文件的元数据中保存该密钥序号,解密文件时,根据密钥序号在存储桶的元数据中获取密文DEK,并根据密文DEK获取明文DEK进行解密。使用该方案能降低文件元数据的存储量。为了避免每次下载数据都需要解密密钥,本方案将在文件系统中缓存密文DEK和明文DEK,以缓存时间为5分钟为例,在5分钟之内不必根据明文DEK在KMS2.0中获取密文DEK,只需要在缓存中获取,降低对KMS2.0系统的依赖,从而提高性能,并且在本申请中,还可以兼容已经使用KMS1.0加密的数据,以实现系统的高可用。
本实施例中,判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。本申请应用于信封加密钥管理服务器(简称KMS2.0),该服务器可以令主密钥生成明文密钥(即明文DEK)和密文密钥(密文DEK)的密钥对,每次生成的密钥对都不相同,所以提高了安全性,并且能够降低文件元数据的储存量,提高数据处理的性能和效率。
参见图6所示,本发明实施例公开了一种数据处理装置,具体可以包括:
判断模块11,用于判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;
密钥组生成模块12,用于若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;
加密模块13,用于若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;
解密模块14,用于若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
本实施例中,判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。本申请选用“信封加密钥管理服务器(简称KMS2.0)”,该服务器可以使用“主密钥”生成“明文密钥(即明文DEK)+密文密钥(密文DEK)”的密钥对,每次生成的密钥对都不相同,所以提高了安全性,并且能够降低文件元数据的储存量,提高数据处理的性能和效率。
在一些具体实施例中,所述密钥组生成模块12,具体可以包括:
主密钥版本信息确定模块,用于确定出所述数据请求中的主密钥版本信息;
版本判断模块,用于判断所述主密钥版本信息是否为最新版本,若所述主密钥版本信息为最新版本,则对所述数据请求中的主密钥进行校验,若校验通过,则将所述数据请求中的主密钥发送至第三方服务器,以便所述第三方服务器根据所述主密钥生成明文密钥,并将所述明文密钥保存至所述第三方服务器。
在一些具体实施例中,所述密钥组生成模块12,具体可以包括:
密文密钥确定模块,用于对所述数据请求中的主密钥、密钥生成信息以及所述主密钥版本信息进行base64编码操作,以得到密文密钥;
密钥序号确定模块,用于确定出与所述主密钥相对应的密钥序号,将所述密文密钥和所述密钥序号进行结合以得到密钥组,将所述密钥组、所述密钥序号以及所述主密钥版本信息保存至所述存储桶的元数据。
在一些具体实施例中,所述加密模块13,具体可以包括:
加密密钥序号确定模块,用于若获取的数据请求的类型为文件加密,则判断所述存储桶的元数据中的主密钥版本信息是否为最新版本,若所述存储桶的元数据中的主密钥版本信息为最新版本,则从所述元数据中获取加密密钥序号;
加密密钥组确定模块,用于根据所述数据请求从所述元数据中筛选出与所述加密密钥序号相同的密钥组作为加密密钥组。
在一些具体实施例中,所述加密模块13,具体可以包括:
待加密文件保存模块,用于判断所述数据请求中的主密钥是否可用,若所述数据请求中的主密钥可用,则从第三方服务器和所述元数据中分别确定出与所述加密密文密钥相对应的加密明文密钥和所述加密明文密钥的版本信息,将所述加密明文密钥的版本信息、加密算法以及所述密钥序号保存至待加密文件;
加密模块,用于利用所述加密明文密钥对所述待加密文件进行加密。
在一些具体实施例中,所述解密模块14,具体可以包括:
加密密钥序号确定模块,用于若获取的数据请求的类型为文件解密,则获取待解密文件中的加密密钥序号;
解密密文密钥确定模块,用于根据所述加密密钥序号从所述存储桶中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥。
在一些具体实施例中,所述加密模块13,具体可以包括:
加密密钥对确定模块,用于基于所述加密密文密钥和所述加密明文密钥确定出加密密钥对;
删除模块,用于将所述加密密钥对保存至本地的缓存,记录保存时间,并确定出密钥删除时间,当检测到当前时间到达密钥删除时间时,对所述加密密钥对进行删除操作;
缓存模块,用于当获取到与所述加密密文密钥对应的数据请求类型为文件解密时,判断所述缓存中是否还存在所述加密密文密钥,若所述缓存中不存在所述加密密文密钥,则直接跳转至所述从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥的步骤,若缓存中存在所述加密密文密钥,则直接从所述缓存中获取与所述解密密文密钥相对应的解密明文密钥。
图7为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的数据处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括数据处理设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据处理方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;
若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;
若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;
若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
2.根据权利要求1所述的数据处理方法,其特征在于,所述若获取的数据请求的类型为密钥组保存之后,还包括:
确定出所述数据请求中的主密钥版本信息;
判断所述主密钥版本信息是否为最新版本,若所述主密钥版本信息为最新版本,则对所述数据请求中的主密钥进行校验,若校验通过,则将所述数据请求中的主密钥发送至第三方服务器,以便所述第三方服务器根据所述主密钥生成明文密钥,并将所述明文密钥保存至所述第三方服务器。
3.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥粗保存至本地存储桶的元数据,包括:
对所述数据请求中的主密钥、密钥生成信息以及所述主密钥版本信息进行base64编码操作,以得到密文密钥;
确定出与所述主密钥相对应的密钥序号,将所述密文密钥和所述密钥序号进行结合以得到密钥组,将所述密钥组、所述密钥序号以及所述主密钥版本信息保存至所述存储桶的元数据。
4.根据权利要求3所述的数据处理方法,其特征在于,所述若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,包括:
若获取的数据请求的类型为文件加密,则判断所述存储桶的元数据中的主密钥版本信息是否为最新版本,若所述存储桶的元数据中的主密钥版本信息为最新版本,则从所述元数据中获取加密密钥序号;
根据所述数据请求从所述元数据中筛选出与所述加密密钥序号相同的密钥组作为加密密钥组。
5.根据权利要求4所述的数据处理方法,其特征在于,所述从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密,包括:
判断所述数据请求中的主密钥是否可用,若所述数据请求中的主密钥可用,则从第三方服务器和所述元数据中分别确定出与所述加密密文密钥相对应的加密明文密钥和所述加密明文密钥的版本信息,将所述加密明文密钥的版本信息、加密算法以及所述密钥序号保存至待加密文件;
利用所述加密明文密钥对所述待加密文件进行加密。
6.根据权利要求1所述的数据处理方法,其特征在于,所述若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,包括:
若获取的数据请求的类型为文件解密,则获取待解密文件中的加密密钥序号;
根据所述加密密钥序号从所述存储桶中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥。
7.根据权利要求1至6任一项所述的数据处理方法,其特征在于,所述利用所述加密明文密钥对待加密文件中的数据进行加密之后,还包括:
基于所述加密密文密钥和所述加密明文密钥确定出加密密钥对;
将所述加密密钥对保存至本地的缓存,记录保存时间,并确定出密钥删除时间,当检测到当前时间到达密钥删除时间时,对所述加密密钥对进行删除操作;
当获取到与所述加密密文密钥对应的数据请求类型为文件解密时,判断所述缓存中是否还存在所述加密密文密钥,若所述缓存中不存在所述加密密文密钥,则直接跳转至所述从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥的步骤,若缓存中存在所述加密密文密钥,则直接从所述缓存中获取与所述解密密文密钥相对应的解密明文密钥。
8.一种数据处理装置,其特征在于,包括:
判断模块,用于判断获取的数据请求的类型;所述类型包括密钥组保存、文件加密以及文件解密;
密钥组生成模块,用于若获取的数据请求的类型为密钥组保存,则基于所述数据请求生成密文密钥,基于所述密文密钥生成密钥组,将所述密钥组保存至本地存储桶的元数据;
加密模块,用于若获取的数据请求的类型为文件加密,则根据所述数据请求从所述元数据中筛选出加密密钥组,以得到所述加密密钥组中的加密密文密钥,从第三方服务器中确定出与所述加密密文密钥相对应的加密明文密钥,利用所述加密明文密钥对待加密文件中的数据进行加密;
解密模块,用于若获取的数据请求的类型为文件解密,则根据所述数据请求从所述元数据中筛选出解密密文密钥,从所述第三方服务器中确定出与所述解密密文密钥相对应的解密明文密钥,利用所述解密明文密钥对所述待解密文件中的数据进行解密。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587299.6A CN116015767A (zh) | 2022-12-07 | 2022-12-07 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587299.6A CN116015767A (zh) | 2022-12-07 | 2022-12-07 | 一种数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116015767A true CN116015767A (zh) | 2023-04-25 |
Family
ID=86036382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211587299.6A Pending CN116015767A (zh) | 2022-12-07 | 2022-12-07 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015767A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383858A (zh) * | 2023-06-05 | 2023-07-04 | 中电科网络安全科技股份有限公司 | 一种磁盘数据处理方法、装置、设备及介质 |
CN117240604A (zh) * | 2023-11-10 | 2023-12-15 | 深圳市互盟科技股份有限公司 | 基于云计算的数据安全存储和优化节能方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061957A (zh) * | 2018-12-20 | 2019-07-26 | 中智关爱通(上海)科技股份有限公司 | 数据加密、解密方法、用户端、服务器及数据管理系统 |
CN111008400A (zh) * | 2019-11-29 | 2020-04-14 | 恩亿科(北京)数据科技有限公司 | 数据处理方法、装置及系统 |
CN112733189A (zh) * | 2021-01-14 | 2021-04-30 | 浪潮云信息技术股份公司 | 一种实现文件存储服务端加密的系统与方法 |
CN113285804A (zh) * | 2021-07-21 | 2021-08-20 | 苏州浪潮智能科技有限公司 | 虚拟机磁盘数据的加解密方法、装置、设备及存储介质 |
CN113849835A (zh) * | 2021-09-26 | 2021-12-28 | 百度在线网络技术(北京)有限公司 | 一种密钥处理方法、装置、设备及存储介质 |
CN113987563A (zh) * | 2021-09-23 | 2022-01-28 | 阿里云计算有限公司 | 数据处理方法、系统、产品、设备及存储介质 |
-
2022
- 2022-12-07 CN CN202211587299.6A patent/CN116015767A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061957A (zh) * | 2018-12-20 | 2019-07-26 | 中智关爱通(上海)科技股份有限公司 | 数据加密、解密方法、用户端、服务器及数据管理系统 |
CN111008400A (zh) * | 2019-11-29 | 2020-04-14 | 恩亿科(北京)数据科技有限公司 | 数据处理方法、装置及系统 |
CN112733189A (zh) * | 2021-01-14 | 2021-04-30 | 浪潮云信息技术股份公司 | 一种实现文件存储服务端加密的系统与方法 |
CN113285804A (zh) * | 2021-07-21 | 2021-08-20 | 苏州浪潮智能科技有限公司 | 虚拟机磁盘数据的加解密方法、装置、设备及存储介质 |
CN113987563A (zh) * | 2021-09-23 | 2022-01-28 | 阿里云计算有限公司 | 数据处理方法、系统、产品、设备及存储介质 |
CN113849835A (zh) * | 2021-09-26 | 2021-12-28 | 百度在线网络技术(北京)有限公司 | 一种密钥处理方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383858A (zh) * | 2023-06-05 | 2023-07-04 | 中电科网络安全科技股份有限公司 | 一种磁盘数据处理方法、装置、设备及介质 |
CN116383858B (zh) * | 2023-06-05 | 2023-10-20 | 中电科网络安全科技股份有限公司 | 一种磁盘数据处理方法、装置、设备及介质 |
CN117240604A (zh) * | 2023-11-10 | 2023-12-15 | 深圳市互盟科技股份有限公司 | 基于云计算的数据安全存储和优化节能方法 |
CN117240604B (zh) * | 2023-11-10 | 2024-02-27 | 深圳市互盟科技股份有限公司 | 基于云计算的数据安全存储和优化节能方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768787B (zh) | 一种数据加密、解密方法及装置 | |
US9767299B2 (en) | Secure cloud data sharing | |
JP4958246B2 (ja) | 高速検索可能な暗号化のための方法、装置およびシステム | |
CN105760781B (zh) | 有序可推演大数据文件的存储方法、恢复方法和操作方法 | |
US20160164683A1 (en) | Deletion of content in digital storage systems | |
US11829502B2 (en) | Data sharing via distributed ledgers | |
CN116015767A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN110084599B (zh) | 密钥处理方法、装置、设备和存储介质 | |
US10116442B2 (en) | Data storage apparatus, data updating system, data processing method, and computer readable medium | |
US10733305B2 (en) | System and method for implementing cryptography in a storage system | |
CN108777685B (zh) | 用于处理信息的方法和装置 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN104484628A (zh) | 一种具有加密解密功能的多应用智能卡 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN111427860B (zh) | 分布式存储系统及其数据处理方法 | |
CN109711178B (zh) | 一种键值对的存储方法、装置、设备及存储介质 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN114840739B (zh) | 信息检索方法、装置、电子设备及存储介质 | |
CN108259609B (zh) | 一种家庭云端数据的管理方法及云服务器 | |
US11455103B2 (en) | Cloud secured storage system utilizing multiple cloud servers with processes of file segmentation, encryption and generation of data chunks | |
CN111865891B (zh) | 一种数据传输方法、用户端、电子设备及可读存储介质 | |
CN109657481B (zh) | 数据管理方法及装置 | |
CN111931204A (zh) | 用于分布式系统的加密去重存储方法、终端设备 | |
CN116318686B (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
JP2020155801A (ja) | 情報管理システム及びその方法 |
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 |