一种数据库加密方法技术

技术编号:39602837 阅读:16 留言:0更新日期:2023-12-03 20:03
本申请公开了一种数据库加密方法

【技术实现步骤摘要】
一种数据库加密方法、装置、设备及介质


[0001]本申请涉及数据库加密
,特别涉及一种数据库加密方法

装置

设备及介质


技术介绍

[0002]数据库加密是数据库安全的最后一道防线,目前,应用内透明加密和前置代理加密都可以实现字段级的透明加解密和细粒度的访问控制,都可以有效防范数据库超级管理员风险,但也存在如下不足:应用内透明加密对查询操作需要进行双重解析,查询效率较低,并且,应用内加密在算法安全实现方面存在跨语言调用问题

而前置代理加密技术复杂度高

性能损耗大

存在单点故障问题,并且数据库协议解析工作量大,存在法律风险


技术实现思路

[0003]有鉴于此,本申请的目的在于提供一种数据库加密方法

装置

设备及介质,能够在保障数据安全的同时,降低技术复杂度以及开发成本,并降低性能损耗,提升工作效率

其具体方案如下:第一方面,本申请公开了一种数据库加密方法,包括:在应用系统启动时加载预设前置插件,并将所述预设前置插件中的前置处理函数挂接于数据库驱动程序;当所述应用系统通过所述数据库驱动程序访问数据库,则调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句;通过安装于所述数据库的预设后置插件并根据所述改写后的
SQL
语句调用所述第一自定义函数,对所述第一敏感字段进行加密

[0004]可选的,调用所述第一自定义函数,对所述第一敏感字段进行加密,包括:调用所述第一自定义函数,并基于所述第一自定义函数调用预设密码模块,通过所述预设密码模块对所述第一敏感字段进行加密

[0005]可选的,基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句,包括:根据配置的加密策略确定所述
SQL
语句中待改写的第一敏感字段,基于第一自定义函数将所述待改写的第一敏感字段改写,得到改写后的
SQL
语句;其中,所述加密策略从数据库加密管理设备中获取

[0006]可选的,根据配置的加密策略确定所述
SQL
语句中待改写的第一敏感字段之前,还包括:调用所述前置处理函数拦截
SQL
语句的上下文参数,基于所述上下文参数对
SQL
语句进行解析,得到
SQL
语句的字段信息

[0007]可选的,当访问数据库为查询操作,则调用所述前置处理函数拦截
SQL
语句,并基
于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句,包括:调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写以及基于第二自定义函数对所述
SQL
语句中的第二敏感字段改写,得到改写后的
SQL
语句;其中,第一敏感字段为查询条件中的敏感字段,第二敏感字段为查询内容中的敏感字段;相应的,对所述第一敏感字段进行加密之后,还包括:基于加密后的
SQL
语句进行查询以得到查询结果,调用所述第二自定义函数对所述查询结果中的所述第二敏感字段进行解密

[0008]可选的,当访问数据库为更新操作,则所述第一敏感字段包括查询条件以及更新内容中的敏感字段

[0009]可选的,当访问数据库为插入操作,则所述第一敏感字段为插入内容中的敏感字段

[0010]可选的,当访问数据库为删除操作,则所述第一敏感字段为查询条件中的敏感字段

[0011]第二方面,本申请公开了一种数据库加密装置,包括:前置插件加载模块,用于在应用系统启动时加载预设前置插件,并将所述预设前置插件中的前置处理函数挂接于数据库驱动程序;
SQL
语句改写模块,用于当所述应用系统通过所述数据库驱动程序访问数据库,则调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句;敏感字段加密模块,用于通过安装于所述数据库的预设后置插件并根据所述改写后的
SQL
语句调用所述第一自定义函数,对所述第一敏感字段进行加密

[0012]第三方面,本申请公开了一种电子设备,包括存储器和处理器,其中:所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现前述的数据库加密方法

[0013]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的数据库加密方法

[0014]可见,本申请在应用系统启动时加载预设前置插件,并将所述预设前置插件中的前置处理函数挂接于数据库驱动程序,当所述应用系统通过所述数据库驱动程序访问数据库,则调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句,通过安装于所述数据库的预设后置插件并根据所述改写后的
SQL
语句调用所述第一自定义函数,对所述第一敏感字段进行加密

[0015]本申请的有益效果为:本申请通过前置插件中的前置处理函数对
SQL
语句进行拦截和改写,通过后置插件对敏感字段进行加密,这样,在应用访问数据库时,通过前置插件直接进行
SQL
语句解析和改写,加密运算通过后置插件实现,能够在保障数据安全的同时,降低技术复杂度以及开发成本,并降低性能损耗,提升工作效率

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

[0017]图1为本申请实施例提供的一种数据库加密方法流程图;图2为本申请实施例提供的一种数据库加密示意图;图3为本申请实施例提供的一种数据库加密装置结构示意图;图4为本申请实施例提供的一种电子设备结构图

具体实施方式
[0018]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库加密方法,其特征在于,包括:在应用系统启动时加载预设前置插件,并将所述预设前置插件中的前置处理函数挂接于数据库驱动程序;当所述应用系统通过所述数据库驱动程序访问数据库,则调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句;通过安装于所述数据库的预设后置插件并根据所述改写后的
SQL
语句调用所述第一自定义函数,对所述第一敏感字段进行加密
。2.
根据权利要求1所述的数据库加密方法,其特征在于,调用所述第一自定义函数,对所述第一敏感字段进行加密,包括:调用所述第一自定义函数,并基于所述第一自定义函数调用预设密码模块,通过所述预设密码模块对所述第一敏感字段进行加密
。3.
根据权利要求1所述的数据库加密方法,其特征在于,基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句,包括:根据配置的加密策略确定所述
SQL
语句中待改写的第一敏感字段,基于第一自定义函数将所述待改写的第一敏感字段改写,得到改写后的
SQL
语句;其中,所述加密策略从数据库加密管理设备中获取
。4.
根据权利要求3所述的数据库加密方法,其特征在于,根据配置的加密策略确定所述
SQL
语句中待改写的第一敏感字段之前,还包括:调用所述前置处理函数拦截
SQL
语句的上下文参数,基于所述上下文参数对
SQL
语句进行解析,得到
SQL
语句的字段信息
。5.
根据权利要求1所述的数据库加密方法,其特征在于,当访问数据库为查询操作,则调用所述前置处理函数拦截
SQL
语句,并基于第一自定义函数将所述
SQL
语句中的第一敏感字段改写,得到改写后的
SQL
语句,包括:调用所述前置处理函...

【专利技术属性】
技术研发人员:宣兆新杨彦祥齐伟钢李博
申请(专利权)人:中电科网络安全科技股份有限公司
类型:发明
国别省市:

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

1