加密存储数据的方法、装置、设备和存储介质制造方法及图纸

技术编号:36344863 阅读:29 留言:0更新日期:2023-01-14 17:59
本申请实施例公开了一种加密存储数据的方法、装置、设备和存储介质,属于计算机技术领域。所述方法包括:获取初始密钥材料,并获取主密钥和对应的主密钥标识;基于密钥生成函数,对所述初始密钥材料和所述主密钥进行处理,得到数据密钥;基于所述数据密钥和加密算法,对数据明文进行加密,得到数据密文;将所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据;对所述拼接数据进行存储。采用本申请实施例,可以减少存储空间的浪费。可以减少存储空间的浪费。可以减少存储空间的浪费。

【技术实现步骤摘要】
加密存储数据的方法、装置、设备和存储介质


[0001]本申请实施例涉及计算机
,特别涉及一种加密存储数据的方法、装置、设备和存储介质。

技术介绍

[0002]随着人们对隐私保护的重视程度的越来越高,信息保密技术也成为一项重要的研究课题。信息保密技术包括信息加密技术和信息隐藏技术。其中,信息加密技术是通过加密算法将数据明文转为数据密文,数据明文是指一些需要被存储的信息,数据密文是指加密后的信息,加密后的信息是乱码,需要解密才能被读懂。
[0003]在一些应用程序中,用户的一些信息需要在服务器上进行存储,在进行存储之前,这些信息需要进入密钥管理系统进行加密处理。加密处理的具体过程可以是:首先,随机数生成器创建DK(data key,数据密钥),将DK和已经存储在服务器中的MK(master key,主密钥)输入到AES(advanced encryption standard,高级加密标准)中,得到EDK(encrypted data key,加密的数据密钥)。然后,将DK和数据明文输入到AES中,得到数据密文。最后,将数据密文和EDK进行拼接得到最终密文,最终密文就可以被存储到服务器。
[0004]在相关技术中,EDK的长度较长,其长度是DK的长度和28字节的和值,导致最终密文的长度较长。在对大量的小数据进行加密存储时,会导致比较大的存储空间的占用,造成存储空间的浪费。

技术实现思路

[0005]本申请实施例提供了一种加密存储数据的方法、装置、设备和存储介质,能够解决相关技术的问题。技术方案如下:
[0006]第一方面,提供了一种加密存储数据的方法,所述方法包括:
[0007]获取初始密钥材料,并获取主密钥和对应的主密钥标识;
[0008]基于密钥生成函数,对所述初始密钥材料和所述主密钥进行处理,得到数据密钥;
[0009]基于所述数据密钥和加密算法,对数据明文进行加密,得到数据密文;
[0010]将所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据;
[0011]对所述拼接数据进行存储,并将所述主密钥与所述数据标识对应存储。
[0012]在一种可能的实现方式中,所述获取初始密钥材料,包括:
[0013]基于随机数生成器生成的随机数,将所述随机数作为初始密钥材料。
[0014]在一种可能的实现方式中,所述获取主密钥,包括:
[0015]获取所述数据明文的类型;
[0016]基于类型与主密钥标识的对应关系,获取所述数据明文的类型对应的主密钥标识;
[0017]获取所述主密钥标识对应的主密钥。
[0018]在一种可能的实现方式中,所述将所述主密钥标识、所述初始密钥材料和所述数
据密文进行拼接,得到拼接数据,包括:
[0019]将版本标识、所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据,其中,所述版本标识用于指示所述拼接数据中包括所述主密钥标识、所述初始密钥材料和所述数据密文对应的字段。
[0020]在一种可能的实现方式中,所述密钥生成函数为基于散列消息鉴别码的密钥导出函数HKDF。
[0021]在一种可能的实现方式中,所述对所述拼接数据进行存储,包括:
[0022]对所述拼接数据进行编码;
[0023]将经过编码得到的字符串进行存储。
[0024]在一种可能的实现方式中,所述对所述拼接数据进行存储之后,还包括:
[0025]对所述拼接数据进行拆分,得到所述主密钥标识、所述初始密钥材料和所述数据密文;
[0026]基于拆分得到的主密钥标识获取所述主密钥;
[0027]基于所述密钥生成函数,对所述主密钥和拆分得到的初始密钥材料进行处理,得到所述数据密钥;
[0028]基于所述数据密钥和解密算法,对拆分得到的数据密文进行解密,得到所述数据明文。
[0029]第二方面,提供了一种加密存储数据的装置,所述装置包括:
[0030]获取模块,用于获取初始密钥材料,并获取主密钥和对应的主密钥标识;
[0031]生成模块,用于基于密钥生成函数,对所述初始密钥材料和所述主密钥进行处理,得到数据密钥;
[0032]加密模块,用于基于所述数据密钥和加密算法,对数据明文进行加密,得到数据密文;
[0033]拼接模块,用于将所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据;
[0034]存储模块,用于对所述拼接数据进行存储。
[0035]在一种可能的实现方式中,所述获取模块,用于:
[0036]基于随机数生成器生成的随机数,将所述随机数作为初始密钥材料。
[0037]在一种可能的实现方式中,所述获取模块,用于:
[0038]获取所述数据明文的类型;
[0039]基于类型与主密钥标识的对应关系,获取所述数据明文的类型对应的主密钥标识;
[0040]获取所述主密钥标识对应的主密钥。
[0041]在一种可能的实现方式中,所述拼接模块,还用于:
[0042]将版本标识、所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据,其中,所述版本标识用于指示所述拼接数据中包括所述主密钥标识、所述初始密钥材料和所述数据密文对应的字段。
[0043]在一种可能的实现方式中,所述密钥生成函数为基于散列消息鉴别码的密钥导出函数HKDF。
[0044]在一种可能的实现方式中,所述存储模块,用于:
[0045]对所述拼接数据进行编码;
[0046]将经过编码得到的字符串进行存储。
[0047]在一种可能的实现方式中,所述装置,还包括:
[0048]解密模块,用于:
[0049]对所述拼接数据进行拆分,得到所述主密钥标识、所述初始密钥材料和所述数据密文;
[0050]基于拆分得到的主密钥标识获取所述主密钥;
[0051]基于所述密钥生成函数,对所述主密钥和拆分得到的初始密钥材料进行处理,得到所述数据密钥;
[0052]基于所述数据密钥和解密算法,对拆分得到的数据密文进行解密,得到所述数据明文。
[0053]第三方面,提供了一种计算机设备,计算机设备包括存储器和处理器,存储器用于存储计算机指令;处理器执行存储器存储的计算机指令,以使计算机设备执行第一方面及其可能的实现方式的方法。
[0054]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式的方法。
[0055]第五方面,提供了一种计算机程序产品,计算机程序产品包括计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式的方法。
[0056]本申请的实施例提供的技术方案可以包括以下有益效果:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加密存储数据的方法,其特征在于,所述方法包括:获取初始密钥材料,并获取主密钥和对应的主密钥标识;基于密钥生成函数,对所述初始密钥材料和所述主密钥进行处理,得到数据密钥;基于所述数据密钥和加密算法,对数据明文进行加密,得到数据密文;将所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据;对所述拼接数据进行存储。2.根据权利要求1所述的方法,其特征在于,所述获取初始密钥材料,包括:基于随机数生成器生成的随机数,将所述随机数作为初始密钥材料。3.根据权利要求1所述的方法,其特征在于,所述获取主密钥和对应的主密钥标识,包括:获取所述数据明文的类型;基于类型与主密钥标识的对应关系,获取所述数据明文的类型对应的主密钥标识;获取所述主密钥标识对应的主密钥。4.根据权利要求1所述的方法,其特征在于,所述将所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据,包括:将版本标识、所述主密钥标识、所述初始密钥材料和所述数据密文进行拼接,得到拼接数据,其中,所述版本标识用于指示所述拼接数据中包括所述主密钥标识、所述初始密钥材料和所述数据密文对应的字段。5.根据权利要求1所述的方法,其特征在于,所述密钥生成函数为基于散列消息鉴别码的密钥导出函数HKDF。6.根据权利要求1所述的方法,其特征在于,所述对所述拼接数据进行存储,包括:对所述拼接数据进行编码;将经过编码得到的字符串进行存储...

【专利技术属性】
技术研发人员:宋鹏玉张志桐
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1