System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库和数据安全,具体地涉及一种基于硬件密码卡的数据存储加密方法、装置、介质和产品。
技术介绍
1、随着各类信息系统和数据中心的快速建设和发展,敏感业务数据的数据量逐渐增加,由此带来的数据存储的安全问题也越来越突出。相应地,数据库存储加密技术也不断发展,现有的数据库存储加密主要通过加密软件进行,并且加密密钥通过云服务或者本地文件系统进行管理。
2、由于软件系统的加密效率低,并且加密密钥容易被不当获取,因此,难以满足数据安全存储的要求。
技术实现思路
1、鉴于上述问题,本专利技术提供了基于硬件密码卡的数据存储加密方法、装置、介质和产品。
2、根据本专利技术的第一个方面,提供了一种基于硬件密码卡的数据存储加密方法,该方法包括:响应于用户的数据存储请求,从数据存储请求中确定待存储数据和第一目标数据表;从数据库表级存储空间中获取与第一目标数据表相对应的加密开关和用于加密待存储数据的加密算法;在加密开关为开启状态的情况下,从与第一目标数据表相关的表加密数据中获取加密密钥在硬件密码卡中的存储位置信息;利用硬件密码卡基于存储位置信息,获取加密密钥;利用硬件密码卡基于加密算法、加密密钥和加密随机值对待存储数据进行加密操作,得到加密数据;对加密数据和加密密钥的存储位置信息进行重构,得到存储数据。
3、待存储数据为明文数据,第一目标数据表为待存储数据的待存储空间。加密算法与第一目标数据表存在映射关系。
4、根据本专利技术的实施例,从与第一目
5、根据本专利技术的实施例,该方法还包括:在创建第一目标数据表之后,确定第一目标数据表的加密算法;将加密算法和第一目标数据表的基本信息输入至密码卡,生成第一目标数据表的加密密钥,并将加密密钥存储至硬件密码卡中,得到存储位置信息;对第一目标数据表的基本信息和第一目标数据表的加密密钥的存储位置信息进行重构,得到与第一目标数据表相关的表加密数据。
6、待存储数据的数量为多个。
7、根据本专利技术的实施例,该方法还包括:在待存储数据的数量满足预设数量阈值时,依次将多个存储数据落盘至用于存储第一目标数据表的磁盘。
8、根据本专利技术的实施例,该方法还包括:在数据表的加密算法与第一目标数据表的加密算法相同的情况下,将第一目标数据表的加密密钥的存储位置信息确定为数据表的加密密钥的存储位置信息;对数据表的基本信息和第一目标数据表的加密密钥的存储位置信息进行重构,得到数据表的表加密数据。
9、数据表用于存储其他待存储数据。
10、根据本专利技术的实施例,将加密算法和第一目标数据表的基本信息输入至硬件密码卡,生成第一目标数据表的加密密钥,并将加密密钥存储至硬件密码卡中,得到存储位置信息包括:基于加密算法、第一目标数据表的基本信息和表征将加密密钥存储至硬件密码卡中的标识信息,利用硬件密码卡生成加密密钥,并通过硬件密码卡的加密密钥生成接口获取加密密钥的存储位置信息。
11、根据本专利技术的实施例,该方法还包括:响应于用户的数据查询请求,从数据查询请求中确定待查询数据的数据标识和第二目标数据表;基于待查询数据的数据标识,从第二目标数据表中获取待查询数据;从待查询数据中提取解密密钥的存储位置信息、密文数据和解密随机值;利用硬件密码卡基于解密密钥的存储位置信息,获取解密密钥;利用硬件密码卡基于解密算法、解密随机值和解密密钥对存储数据进行解密操作,得到第二目标数据。
12、根据本专利技术的实施例,第二目标数据表为待查询数据的存储空间。
13、根据本专利技术的实施例,解密密钥的存储位置信息与加密密钥的存储位置信息相同,解密随机值与加密随机值相同。
14、本专利技术的第二方面提供了一种基于硬件密码卡的数据存储加密装置,包括:第一确定模块,用于响应于用户的数据存储请求,从数据存储请求中确定待存储数据和第一目标数据表。
15、根据本专利技术的实施例,待存储数据为明文数据,第一目标数据表为待存储数据的待存储空间。
16、第一获取模块,用于从数据库表级存储空间中获取与第一目标数据表相对应的加密开关和用于加密待存储数据的加密算法。
17、加密算法与第一目标数据表存在映射关系。
18、第二获取模块,用于在加密开关为开启状态的情况下,从与第一目标数据表相关的表加密数据中获取加密密钥在硬件密码卡中的存储位置信息。
19、第三获取模块,用于利用硬件密码卡基于存储位置信息,获取加密密钥。
20、加密模块,用于利用硬件密码卡基于加密算法、加密密钥和加密随机值对待存储数据进行加密操作,得到加密数据。
21、重构模块,用于对加密数据和加密密钥的存储位置信息进行重构,得到存储数据。
22、本专利技术的第三方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
23、本专利技术的第四方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
24、根据本专利技术的实施例,从表加密数据中获取加密密钥在硬件密码卡中的存储位置信息,而非直接获取加密密钥,可以提升基于硬件密码卡的数据存储加密方法的安全性。通过将存储位置信息、加密算法、加密随机值和待存储数据输入硬件密码卡,得到加密数据,与软件加密系统的加密相比,由于硬件密码卡无需复杂的部署,可以提升加密效率。通过存储位置信息得到加密密钥可以保证加密密钥不被不当获取,进而保证存储数据的安全性。此外,由于存储数据是密文数据,当存储数据被不当获取时也无法获取真实的数据。通过重构,使得存储数据中包括加密密钥的位置,因此,在后续对存储数据进行更改再存储时,可以通过存储数据直接获取加密密钥的存储位置信息,提升处理效率。
本文档来自技高网...【技术保护点】
1.一种基于硬件密码卡的数据存储加密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从与所述第一目标数据表相关的表加密数据中获取加密密钥在硬件密码卡的存储位置信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述待存储数据的数量为多个,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述将所述加密算法和所述第一目标数据表的基本信息输入至所述硬件密码卡,生成所述第一目标数据表的加密密钥,并将所述加密密钥存储至所述硬件密码卡中,得到存储位置信息,包括:
7.根据权利要求1~6中任一项所述的方法,其特征在于,所述方法还包括:
8.一种基于硬件密码卡的数据存储加密装置,其特征在于,所述装置包括:
9.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
...【技术特征摘要】
1.一种基于硬件密码卡的数据存储加密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从与所述第一目标数据表相关的表加密数据中获取加密密钥在硬件密码卡的存储位置信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述待存储数据的数量为多个,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述将所述加密算法和所述第一目标数据表的基本信息输入至所述硬件密码卡...
【专利技术属性】
技术研发人员:林森,
申请(专利权)人:苏州吉呗思数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。