数据库表列加密分析方法、装置、电子设备和存储介质制造方法及图纸

技术编号:39141600 阅读:10 留言:0更新日期:2023-10-23 14:55
本发明专利技术提供一种数据库表列加密分析方法、装置、电子设备和存储介质,通过对包含待分析数据库表的数据库操作SQL请求进行表级阻断判断分析,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为的条件下,将该待分析数据库表或该待分析数据库表的该待分析列从加密列表中删除,可以兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低;进一步地,对该数据库操作SQL请求进行列级阻断分析,并在数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为时,将该待分析数据库表的该待分析列从加密列表中删除,进一步优化列数据库列的加密分析流程。分析流程。分析流程。

【技术实现步骤摘要】
数据库表列加密分析方法、装置、电子设备和存储介质


[0001]本专利技术涉及数据库
,尤其涉及一种数据库表列加密分析方法、装置、电子设备和存储介质。

技术介绍

[0002]在数据安全领域,为了实现数据库的安全防护,可以使得数据在数据库内加密存储,根据独立于数据库的访问权限控制决定用户能否获取明文数据。其中,只有授权的用户才能获取明文数据,未授权的用户只能获取密文数据,从而有效仿真明文数据泄露。数据安全防护系统的代理端分为几个模块:server模块、协议解析模块、语法分析模块、规则引擎模块。server模块用于接收和发送应用层报文数据;协议解析模块用于解析数据库登录、SQL请求和返回结果报文,对有修改的SQL和返回结果集进行重新组包,对需要阻断的语句组建阻断报文;语句分析模块负责SQL语句的语法分析;规则引擎模块用于加载、执行管理端下发的规则。
[0003]在请求阶段,协议解析模块接收server模块传过来的应用层报文,通过协议解析出请求中的sql语句,传给语法分析模块;语法分析对sql语句进行分析,若分析失败则不做处理直接返回协议模块,若分析成功则将分析结果传给规则引擎模块;规则引擎模块对sql分析结果进行权控判断和加密规则判断,决定对sql语句的处理方式,包括改写、阻断和放行(即不进行干预处理)和是否对结果集进行界面显示,再由协议模块生成对应报文;若处理方式为改写则协议模块需要重新组包,若为阻断则协议模块要生成阻断报文,若放行则协议模块无需修改报文;最后由server模块发送报文,若是阻断报文则将其发送到客户端,否则发往数据库。
[0004]然而,在业务系统运行过程中,其发送的大量sql请求会在数据库表或列被预先加密后由于各种原因被阻断。如若需要使得业务系统的sql请求正常执行从而避免中断业务系统的正常运行,需要对被加密的数据库表和列进行解密,待sql请求执行完毕后再对数据库表和列再恢复加密,导致整个sql请求的执行效率降低,也使得测试周期和上线周期时间较长,上线难度增加。

技术实现思路

[0005]本专利技术提供一种数据库表列加密分析方法、装置、电子设备和存储介质,用以解决现有技术中数据库表或列被预先加密后导致sql请求的执行效率降低的缺陷。
[0006]本专利技术提供一种数据库表列加密分析方法,包括:确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述
待分析数据库表;若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
[0007]根据本专利技术提供的一种数据库表列加密分析方法,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。
[0008]根据本专利技术提供的一种数据库表列加密分析方法,所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。
[0009]根据本专利技术提供的一种数据库表列加密分析方法,所述针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果,具体包括:判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果;若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求存在非法运算,则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为;若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求不存在非法运算,则判断所述数据库操作SQL请求中是否携带所述待分析列的数据,得到所述数据库操作SQL请求的数据分析结果;若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中不携带所述待分析列的数据,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列
级阻断行为;若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中携带所述待分析列对应的数据,则基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果;若所述数据库操作SQL请求的类型校验结果指示校验通过,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为,否则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
[0010]根据本专利技术提供的一种数据库表列加密分析方法,所述判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果,具体包括:确定所述数据库操作SQL请求是否对所述待分析列进行算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作;若所述数据库操作SQL请求对所述待分析列进行了算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作,则确定所述数据库操作SQL请求的非法运算分析结果为存在非法运算。
[0011]根据本专利技术提供的一种数据库表列加密分析方法,所述基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库表列加密分析方法,其特征在于,包括:确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。2.根据权利要求1所述的数据库表列加密分析方法,其特征在于,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。3.根据权利要求1或2所述的数据库表列加密分析方法,其特征在于,所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。4.根据权利要求2所述的数据库表列加密分析方法,其特征在于,所述针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果,具体包括:判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果;若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求存在非
法运算,则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为;若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求不存在非法运算,则判断所述数据库操作SQL请求中是否携带所述待分析列对应的数据,得到所述数据库操作SQL请求的数据分析结果;若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中不携带所述待分析列对应的数据,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为;若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中携带所述待分析列对应的数据,则基于所...

【专利技术属性】
技术研发人员:张黎刘青
申请(专利权)人:闪捷信息科技有限公司
类型:发明
国别省市:

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

1