一种数据库的数据加密/解密方法、装置和设备与流程

文档序号:16882338发布日期:2019-02-15 22:17阅读:221来源:国知局
一种数据库的数据加密/解密方法、装置和设备与流程

本申请涉及数据库加密技术领域,更具体地说,涉及一种数据库的数据加密/解密方法、装置和设备。



背景技术:

随着近年来互联网的急速发展,伴随而来的是越来越多的信息安全问题,因此,信息资源的安全访问问题日益突出。加密是数据库安全的核心问题之一,数据库加密技术是保证存放在数据库中敏感信息安全性的一种有效手段。目前虽然存在较多的加密算法,但是目前的加密算法均存在接入困难的问题,需要做大量的工作才能完成数据的加密。

因此,如何简单有效的对数据库的数据进行加解密,是本领域技术人员需要解决的问题。



技术实现要素:

本申请的目的在于提供一种数据库的数据加密/解密方法、装置和设备,以实现简单有效的对数据库的数据进行加解密。

为实现上述目的,本申请实施例提供了如下技术方案:

一种数据库的数据加密方法,包括:

确定待写入数据库的第一目标数据的数据类型;

调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密;

将加密后的第一目标数据写入数据库。

其中,所述调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密,包括:

调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式,从加密密钥库中获取密钥,对所述第一目标数据进行加密。

其中,确定待写入数据库的第一目标数据的数据类型之前,还包括:

判断数据加密方式是否为handler模式;

若是,则执行所述确定待写入数据库的第一目标数据的数据类型的步骤;

若否,则调用工具类,通过所述工具类从加密密钥库中获取密钥,对所述第一目标数据进行加密。

其中,本方案还包括:

接收携带新密钥的添加指令;

将所述新密钥添加至加密密钥库,以利用新密钥对新数据进行加密。

其中,本方案还包括:

以预定时长为间隔检测所述加密密钥库中是否存在无效密钥;所述无效密钥为已过期的密钥或者已泄露的密钥;

若存在,则从所述数据库中确定与所述无效密钥对应的待处理数据;

利用所述无效密钥对所述待处理数据执行解密操作,并利用所述加密密钥库中的有效密钥对解密后的数据执行加密操作后,重新存储至所述数据库。

一种数据库的数据解密方法,包括:

从数据库读取第二目标数据;

确定所述第二目标数据的数据类型;

调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对所述第二目标数据进行解密。

一种数据库的数据加密装置,包括:

第一确定模块,用于确定待写入数据库的第一目标数据的数据类型;

加密模块,用于调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密;

数据写入模块,用于将加密后的第一目标数据写入数据库。

一种数据库的数据解密装置,包括:

数据读取模块,用于从数据库读取第二目标数据;

第二确定模块,用于确定所述第二目标数据的数据类型;

解密模块,用于调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对所述第二目标数据进行解密。

一种数据库的数据加密设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述数据库的数据加密方法的步骤。

一种数据库的数据解密设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述数据库的数据解密方法的步骤。

通过以上方案可知,本申请实施例提供的一种数据库的数据加密方法,包括:确定待写入数据库的第一目标数据的数据类型;调用与数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对第一目标数据进行加密;将加密后的第一目标数据写入数据库。本申请实施例还提供一种数据库的数据解密方法,包括:从数据库读取第二目标数据;确定第二目标数据的数据类型;调用与数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对第二目标数据进行解密。

可见,在本方案中,对于从数据库读取或者写入的数据,均是通过handler处理器来实现对数据的加解密,这种加解密方式简单易用,使开发人员无需关注底层的复杂逻辑即可完成数据的加解密,同时保证数据的高安全性。本申请还公开了一种数据库的数据加密/解密装置和设备,同样能实现上述技术效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种数据库的数据加密方法流程示意图;

图2为本申请实施例公开的另一种数据库的数据加密方法流程示意图;

图3为本申请实施例公开的一种数据库的数据加密装置结构示意图;

图4为本申请实施例公开的一种数据库的数据解密方法流程示意图;

图5为本申请实施例公开的另一种数据库的数据解密方法流程示意图;

图6为本申请实施例公开的一种数据库的数据解密装置结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种数据库的数据加密/解密方法、装置和设备,以实现简单有效的对数据库的数据进行加解密。

参见图1,本申请实施例提供的一种数据库的数据加密方法,包括:

s101、确定待写入数据库的第一目标数据的数据类型;

具体的,本方案中的第一目标数据为待写入数据库的数据,为通过jdbc(javadatabaseconnectivity,java数据库连接)更新或者插入等形式写入数据库的数据,也就是说,只要写入数据库并且需要加密的数据,均可称为第一目标数据;为了确定执行加密操作的handler处理器,需要确定第一目标数据的数据类型,该数据类型可以为整型、double等类型,在此并不具体限定。

s102、调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密;

需要说明的是,确定第一目标数据的数据类型后,便可根据不同的数据类型调用不同的handler处理器,handler处理器根据预先设定的加密方式对第一目标数据进行加密。该预先设定的加密方式,可以为普通的aes(高级加密标准,advancedencryptionstandard)等加密算法,也可以是工具类,在此并不具体限定。

其中,所述调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密,包括:调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式,从加密密钥库中获取密钥,对所述第一目标数据进行加密。

在本实施例中,为了保证密钥的安全性,不被其他人盗取,将所有密钥存储在加密密钥库,存储于加密密钥库的密钥由特定算法进行加密;在进行数据的加密时,需要先从加密密钥库中获取该密钥,然后通过获取的密钥对第一目标数据执行加密操作,进一步增加数据库中存储的数据的安全性。

s103、将加密后的第一目标数据写入数据库。

可以理解的是,通过handler处理器对第一目标数据进行加密后,需要将加密的数据写入数据库,例如:将加密后的数据更新、插入到数据库。

可以看出,本方案通过这种简单易用的方式来对数据进行加密,使得开发人员无需关注底层的复杂逻辑即可完成数据的加密,同时保证数据的高安全性。除此之外,本实施例中的加密方式还支持密钥轮转,当原有密钥过期或泄露后,可以将数据的密钥转成新的,不影响加密组件使用。

参见图2,本申请实施例提供的一种数据库的数据加密方法,包括:

s201、判断数据加密方式是否为handler模式;若是,则执行s202;若否,则执行s204;

s202、确定待写入数据库的第一目标数据的数据类型;

s203、调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密,并执行s205;

s204、调用工具类,通过所述工具类从加密密钥库中获取密钥,对所述第一目标数据进行加密,并执行s205;

s205、将加密后的第一目标数据写入数据库。

需要说明的是,在本实施例中,提出了两种加密模式,一种为handler模式,另一种为普通模式;因此,在对第一目标数据进行加密之前,需要判断第一目标数据的加密方式是哪种加密模式。若在s201中判定数据加密方式为handler模式,则执行s202-s203,通过handler处理器对数据进行加密处理,若判定不为handler模式,则说明为普通模式,这时执行s204,通过工具类对数据进行加密。该加密模式的确定,可以是管理人员预先设定的,也可以是系统根据第一目标数据的数据大小、数据类型等属性信息自动确定的,从而可让用户灵活的选择加密模式,增加用户体验。

基于上述任意方法实施例,在本实施例中,本方案还包括:

接收携带新密钥的添加指令;

将新密钥添加至加密密钥库,以利用新密钥对新数据进行加密。

在本实施例中,需要以预定时长为间隔检测加密密钥库中是否存在已经过期的密钥或者已经泄露的密钥;如果存在,则向加密密钥库添加新密钥;因此,本方案如果接收到添加指令,则需要将指令中携带的新密钥添加至加密密钥库,这样对新数据进行加密时,便需要通过此密钥对数据进行加密,从而进一步减少数据风险。

需要说明的是,本方案中所有的加密方式均支持密钥轮转,当加密密钥库中的原有密钥过期或者泄露后,可以将对数据加密的密钥转换成新密钥,也就是说,无论是通过handler处理器对新数据进行加密,或者是调用工具类对新数据进行加密,均需要从数据库中获取新密钥,从而不影响加密组件使用,提高数据加密的安全性。

基于上述任意实施例,在本实施例中,还包括:

以预定时长为间隔检测所述加密密钥库中是否存在无效密钥;所述无效密钥为已过期的密钥或者已泄露的密钥;

若存在,则从所述数据库中确定与所述无效密钥对应的待处理数据;

利用所述无效密钥对所述待处理数据执行解密操作,并利用所述加密密钥库中的有效密钥对解密后的数据执行加密操作后,重新存储至所述数据库。

需要说明的是,对于存储在数据库中的数据,为了避免其密钥存在已过期或者已泄露的问题,从而产生数据存储的安全风险,在本实施例中,需要周期性检测加密密钥库中是否存在无效密钥,该无效密钥即为本方案中的已过期的密钥或者已泄露的密钥;如果加密密钥库中存在无效密钥,则首先需要从数据库中确定待处理数据,该数据为数据库中存储的通过无效密钥加密的数据,进而需要通过无效密钥对获取的待处理数据解密后,重新利用加密密钥库中的有效密钥对解密的数据进行加密,并重新存储至数据库中。

本实施例中的加密操作和解密操作,可以通过上述实施例中的任意方式执行,也即:可以通过handler处理器对待处理数据执行解密操作后,再通过handler处理器执行加密操作,也可以通过工具类对待处理数据执行解密操作后,再通过工具类执行加密操作;当然通过其他方式执行加密操作和解密操作也可以,在此仅以上述两种情况为例进行说明。

可以理解的是,周期性检测即为以预定时长为间隔检测,该预定时长可根据实际情况进行适应性调整;加密密钥库中的无效密钥为已过期的密钥或者已泄露的密钥,相应的,有效密钥则是在加密密钥库中未过期且未泄露的密钥,相比于无效密钥来说,通过有效密钥将数据加密后存储能提高数据存储的安全性;也即,通过将与无效密钥对应的数据重新加密的方式,可以提高数据存储的安全性,就算数据被攻击者获取,由于数据的加密密钥是有效密钥,可以保证数据无法被解密,进一步提高了数据的安全性。

下面对本申请实施例提供的数据加密装置进行介绍,下文描述的数据加密装置与上文描述的数据加密方法可以相互参照。

参见图3,本申请实施例提供的一种数据库的数据加密装置,包括:

第一确定模块110,用于确定待写入数据库的第一目标数据的数据类型;

第一加密模块120,用于调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式对所述第一目标数据进行加密;

数据写入模块130,用于将加密后的第一目标数据写入数据库。

其中,第一加密模块具体用于:调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的加密方式,从加密密钥库中获取密钥,对所述第一目标数据进行加密。

其中,本方案还包括:

添加指令接收模块,用于接收携带新密钥的添加指令;

新密钥添加添加模块,用于将新密钥添加至加密密钥库,以利用新密钥对新数据进行加密。

其中,本方案还包括:

第一判断模块,用于判断数据加密方式是否为handler模式;

所述第一确定模块,用于在数据加密方式为handler模式时,确定待写入数据库的第一目标数据的数据类型;

第二加密模块,用于在数据加密方式不为handler模式时,调用工具类,通过所述工具类从加密密钥库中获取密钥,对所述第一目标数据进行加密。

其中,本方案还包括:

检测模块,用于以预定时长为间隔检测所述加密密钥库中是否存在无效密钥;所述无效密钥为已过期的密钥或者已泄露的密钥;

待处理数据确定模块,用于在所述加密密钥库中存在无效密钥时,从所述数据库中确定与所述无效密钥对应的待处理数据;

数据解密模块,用于利用所述无效密钥对所述待处理数据执行解密操作;

数据加密模块,用于利用所述加密密钥库中的有效密钥对解密后的数据执行加密操作;

数据存储模块,用于将加密后的数据重新存储至所述数据库。

本申请实施例还公开了一种数据库的数据加密设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述方法实施例中的数据加密方法的步骤。

本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法实施例中的数据加密方法的步骤。

其中,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

参见图4,本申请实施例提供的一种数据库的数据解密方法;需要说明的是,本实施例中的数据解密方法与上述实施例中的数据加密方法可以相互参照,相同部分在此便不赘述;该数据解密方法具体包括:

s301、从数据库读取第二目标数据;

s302、确定所述第二目标数据的数据类型;

s303、调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对所述第二目标数据进行解密。

其中,本方案调用与数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对第二目标数据进行解密,具体包括:调用与数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式,从加密密钥库中获取密钥,对所述第一目标数据进行解密。

具体的,本实施例所提供的解密方法与上述实施例中的加密方法相互对应,因此,从数据库读取第二目标数据之后,同样需要根据第二目标数据的数据类型调用对应的handler处理器,通过handler处理器根据预定的解密方式对第二目标数据进行解密,并且,为了保证密钥的安全性,不被其他人盗取,将所有密钥存储在加密密钥库,在进行数据的解密时,需要先从加密密钥库中获取该密钥,然后通过获取的密钥对第二目标数据执行解密操作。可以看出,本方案通过这种简单易用的方式来对数据进行加密,使得开发人员无需关注底层的复杂逻辑即可完成数据的加密,同时保证数据的高安全性。

参见图5,本申请实施例提供的另一种数据库的数据解密方法,包括:

s401、从数据库读取第二目标数据;

s402、判断数据解密方式是否为handler模式;若是,则执行s403;若否,则执行s405;

s403、确定所述第二目标数据的数据类型;

s404、调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对所述第二目标数据进行解密。

s405、调用工具类,通过所述工具类从加密密钥库中获取密钥,对所述第二目标数据进行解密。

同样的,与加密模式相类似,在本实施例中对数据进行解密时,同样存在两种解密模式,一种为handler模式,另一种为普通模式;若在s402中判定数据解密方式为handler模式,则执行s403-s404,通过handler处理器对数据进行解密处理,若判定不为handler模式,则说明为普通模式,这时执行s405,通过工具类对数据进行解密。该解密模式的确定,可根据第二目标数据中携带的模式标识来确定,该模式标识为该数据加密时所添加的模式标识,用来表示该数据加密时所使用的加密模式,因此解密时,可选择与加密模式相同的解密模式;同样的,该解密模式也可以是管理人员预先设定的,或者系统根据第二目标数据的数据大小、数据类型等属性信息自动确定的,从而可让用户灵活的选择解密模式,增加用户体验。

下面对本申请实施例提供的数据解密装置进行介绍,下文描述的数据解密装置与上文描述的数据解密方法可以相互参照。

参见图6,本申请实施例提供的一种数据库的其中,,包括:

数据读取模块210,用于从数据库读取第二目标数据;

第二确定模块220,用于确定所述第二目标数据的数据类型;

第一解密模块230,用于调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式对所述第二目标数据进行解密。

其中,第一解密模块具体用于:调用与所述数据类型相对应的handler处理器,通过handler处理器根据预定的解密方式,从加密密钥库中获取密钥,对所述第二目标数据进行解密。

其中,该数据解密装置还包括:

第二判断模块,用于判断数据解密方式是否为handler模式;

所述第二确定模块,用于在数据解密方式为handler模式时,确定所述第二目标数据的数据类型;

第二解密模块,用于在数据解密方式不为handler模式时,调用工具类,通过所述工具类从加密密钥库中获取密钥,对所述第二目标数据进行解密。

本申请实施例还公开了一种数据库的数据解密设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述方法实施例中的数据解密方法的步骤。

本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法实施例中的数据解密方法的步骤。

其中,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

可以看出,本方案提出的这种数据库的数据加密/解密方法、装置、设备和计算机可读存储介质,对于mybatis数据的读取、修改、插入等数据都会经过对应的handler处理器,通过handler处理器来对不同数据类型的数据进行加解密,可使开发人员无需关注底层的复杂逻辑即可完成数据的加解密,同时保证数据的高安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1