本发明涉及数据处理,尤其涉及一种数据存储加密系统、方法、设备及介质。
背景技术:
1、当前关系型数据库采用的数据存储底座是基于mysql数据库,该数据库通讯采用ssl、数据/日志采用默认且唯一的加密算法aes算法。
2、但该aes算法的密钥是存储在操作系统中的本地环境中,容易出现密钥丢失和被盗取的风险,进而无法保障数据和日志的加密安全性。
技术实现思路
1、本发明提供了一种数据存储加密系统、方法、设备及介质,以解决现有技术中的加密算法的加密安全性低的技术问题。
2、根据本发明的一方面,提供了一种数据存储加密系统,包括:加解密模块和硬件密码卡;
3、将预先生成的主密钥存储于所述硬件密码卡中,所述加解密模块通过所述主密钥对每个数据文件的随机值进行加密,得到对应数据文件的文件密钥,并将所述文件密钥存储至所述硬件密码卡中的一个临时密钥位置,以及在系统缓存中存储每个所述临时密钥位置;
4、响应于接收到的数据传输指令,获取待传输数据对应的数据文件,并通过所述系统缓存中的临时密钥位置从硬件密码卡获取对应的文件密钥,并采用所述文件密钥对所述数据文件进行加密,并将得到的加密数据存储至服务端的数据库中,以使其它客户端从所述服务端访问并解密所述加密数据。
5、根据本发明的另一方面,提供了一种数据存储加密方法,包括:
6、响应于接收到的数据传输指令,从系统缓存中获取待传输数据所对应数据文件的临时密钥位置;
7、基于所述临时密钥位置从硬件密码卡中获取所述数据文件的文件密钥;
8、采用所述文件密钥对所述待传输数据进行加密,得到对应的加密数据;
9、将所述加密数据存储至服务端,以使其它客户端从所述服务端访问并解密所述加密数据。
10、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据存储加密方法。
14、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据存储加密方法。
15、本发明实施例的技术方案,通过将主密钥存储于一个独立的硬件密码卡中,加解密模块通过主密钥对每个数据文件的随机值进行加密,得到对应数据文件的文件密钥,并将文件密钥存储至硬件密码卡中的一个临时密钥位置,以及在系统缓存中存储每个临时密钥位置,避免了将文件密钥存储于系统本地环境导致丢失和被盗取的风险,从而保证了密钥的安全性;并且在接收到数据传输指令时,通过从系统缓存中的临时密钥位置获取待传输数据所对应数据文件的文件密钥,并采用文件密钥对数据文件进行加密,并将得到的加密数据存储至服务端的数据库中,以使其它客户端从服务端访问并解密加密数据,从而保证了数据存储和数据传输过程中的数据和日志的加密安全性。
16、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种数据存储加密系统,其特征在于,包括:加解密模块和硬件密码卡;
2.根据权利要求1所述的数据存储加密系统,其特征在于,还包括:所述数据存储加密系统还包括:角色鉴别模块;所述角色鉴别模块用于对系统中的每个角色进行初始化和权限管理。
3.根据权利要求2所述的数据存储加密系统,其特征在于,所述角色鉴别模块,包括:角色管理模块、角色初始化模块和权限管理模块;
4.根据权利要求1所述的数据存储加密系统,其特征在于,所述硬件密码卡还用于在系统初始化时,生成对应的日志完整性保护密钥,并将所述日志完整性保护密钥存储于所述硬件密码卡中。
5.根据权利要求4所述的数据存储加密系统,其特征在于,所述数据存储加密系统还包括:安全审计模块;所述安全审计模块用于对根据系统管理员和业务管理员的操作记录所生成审计日志的完整性进行校验;
6.根据权利要求1所述的数据存储加密系统,其特征在于,所述数据加解密模块还用于根据数据类型对数据库中的数据进行划分,得到不同数据类型的数据文件;将不同类型的数据文件生成不同的文件密钥。
7.根据权利要求1所述的数据存储加密系统,其特征在于,所述数据存储加密系统,还包括:数据库通信模块;
8.一种数据存储加密方法,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求8中任一项所述的数据存储加密方法。