CN116910791B - 数据库表列加密分析方法、装置、电子设备和存储介质 - Google Patents
数据库表列加密分析方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116910791B CN116910791B CN202311168458.3A CN202311168458A CN116910791B CN 116910791 B CN116910791 B CN 116910791B CN 202311168458 A CN202311168458 A CN 202311168458A CN 116910791 B CN116910791 B CN 116910791B
- Authority
- CN
- China
- Prior art keywords
- database
- sql request
- analyzed
- column
- database operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 282
- 230000000903 blocking effect Effects 0.000 claims abstract description 199
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000006399 behavior Effects 0.000 claims description 63
- 238000012795 verification Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 15
- 238000007405 data analysis Methods 0.000 claims description 13
- 238000013524 data verification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012857 repacking Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种数据库表列加密分析方法、装置、电子设备和存储介质,通过对包含待分析数据库表的数据库操作SQL请求进行表级阻断判断分析,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为的条件下,将该待分析数据库表或该待分析数据库表的该待分析列从加密列表中删除,可以兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低;进一步地,对该数据库操作SQL请求进行列级阻断分析,并在数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为时,将该待分析数据库表的该待分析列从加密列表中删除,进一步优化列数据库列的加密分析流程。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库表列加密分析方法、装置、电子设备和存储介质。
背景技术
在数据安全领域,为了实现数据库的安全防护,可以使得数据在数据库内加密存储,根据独立于数据库的访问权限控制决定用户能否获取明文数据。其中,只有授权的用户才能获取明文数据,未授权的用户只能获取密文数据,从而有效仿真明文数据泄露。数据安全防护系统的代理端分为几个模块:server模块、协议解析模块、语法分析模块、规则引擎模块。server模块用于接收和发送应用层报文数据;协议解析模块用于解析数据库登录、SQL请求和返回结果报文,对有修改的SQL和返回结果集进行重新组包,对需要阻断的语句组建阻断报文;语句分析模块负责SQL语句的语法分析;规则引擎模块用于加载、执行管理端下发的规则。
在请求阶段,协议解析模块接收server模块传过来的应用层报文,通过协议解析出请求中的sql语句,传给语法分析模块;语法分析对sql语句进行分析,若分析失败则不做处理直接返回协议模块,若分析成功则将分析结果传给规则引擎模块;规则引擎模块对sql分析结果进行权控判断和加密规则判断,决定对sql语句的处理方式,包括改写、阻断和放行(即不进行干预处理)和是否对结果集进行界面显示,再由协议模块生成对应报文;若处理方式为改写则协议模块需要重新组包,若为阻断则协议模块要生成阻断报文,若放行则协议模块无需修改报文;最后由server模块发送报文,若是阻断报文则将其发送到客户端,否则发往数据库。
然而,在业务系统运行过程中,其发送的大量sql请求会在数据库表或列被预先加密后由于各种原因被阻断。如若需要使得业务系统的sql请求正常执行从而避免中断业务系统的正常运行,需要对被加密的数据库表和列进行解密,待sql请求执行完毕后再对数据库表和列再恢复加密,导致整个sql请求的执行效率降低,也使得测试周期和上线周期时间较长,上线难度增加。
发明内容
本发明提供一种数据库表列加密分析方法、装置、电子设备和存储介质,用以解决现有技术中数据库表或列被预先加密后导致sql请求的执行效率降低的缺陷。
本发明提供一种数据库表列加密分析方法,包括:
确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
根据本发明提供的一种数据库表列加密分析方法,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:
若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;
若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。
根据本发明提供的一种数据库表列加密分析方法,所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。
根据本发明提供的一种数据库表列加密分析方法,所述针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果,具体包括:
判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求存在非法运算,则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求不存在非法运算,则判断所述数据库操作SQL请求中是否携带所述待分析列的数据,得到所述数据库操作SQL请求的数据分析结果;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中不携带所述待分析列的数据,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中携带所述待分析列对应的数据,则基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果;
若所述数据库操作SQL请求的类型校验结果指示校验通过,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为,否则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
根据本发明提供的一种数据库表列加密分析方法,所述判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析列进行算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析列进行了算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作,则确定所述数据库操作SQL请求的非法运算分析结果为存在非法运算。
根据本发明提供的一种数据库表列加密分析方法,所述基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果,具体包括:
基于所述待分析列的数据格式和数据范围对所述数据库操作SQL请求中携带的所述待分析列对应的数据进行数据校验,得到所述数据库操作SQL请求的数据校验结果;
若所述数据库操作SQL请求的数据校验结果指示所述数据库操作SQL请求中携带的所述待分析列对应的数据的数据格式和数据范围与所述待分析列的数据格式和数据范围一致,则确定所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果;
基于所述待分析列的数据类型,确定所述待分析列的类型分析结果;
基于所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果以及所述待分析列的类型分析结果,确定所述数据库操作SQL请求的类型校验结果。
根据本发明提供的一种数据库表列加密分析方法,所述方法还包括:
对所述加密列表中的待分析数据库表或待分析数据库表的待分析列进行加密。
本发明还提供一种数据库表列加密分析装置,包括:
加密对象确定单元,用于确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
语句解析单元,用于接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
请求确定单元,用于基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
表级阻断分析单元,用于若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
加密取消单元,用于若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据库表列加密分析方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据库表列加密分析方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据库表列加密分析方法。
本发明提供的数据库表列加密分析方法、装置、电子设备和存储介质,通过对包含待分析数据库表的数据库操作SQL请求进行表级阻断判断分析,得到数据库操作SQL请求的表级阻断分析结果,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为的条件下,将该待分析数据库表或该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析数据库表未被加密的分析结果,可以兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低;进一步地,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求不存在表级阻断行为且加密对象为待分析数据库表的待分析列时,对该数据库操作SQL请求进行列级阻断分析,并在数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为时,将该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析列未被加密的分析结果,从而进一步优化数据库列的加密分析流程,避免数据库表或列被预先加密后导致sql请求的执行效率降低。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据库表列加密分析方法的流程示意图;
图2是本发明提供的列级加密分析方法的流程示意图;
图3是本发明提供的数据库表列加密分析装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的数据库表列加密分析方法的流程示意图,如图1所示,该方法应用于加密系统,该方法包括:
步骤110,确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
步骤120,接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
步骤130,基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
步骤140,若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
步骤150,若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
具体地,客户可以根据自身数据的安防需求,确定需要被加密的数据库表或者数据库表中的列,由加密系统(部署于代理服务器中)将其加入到加密列表中以对加密列表中的数据库表或列进行加密操作。为了避免数据库表或列被预先加密后导致sql请求的执行效率降低,在对加密列表中的数据库表或列进行加密之前,可以将其取出并对其进行加密分析,以确定是否对其进行加密,从而兼顾业务系统的运行效率和数据安全。因此,对于加密列表中需要进行加密的数据库表,可以将其确定为待分析数据库表,或者,对于加密列表中需要进行加密的列,可以将该列所属的数据库表确定为待分析数据库表,并将该列确定为待分析列。需要说明的是,待分析数据库表和待分析列均可以为多个。
业务系统可以向数据库服务器发送数据库操作SQL请求,以访问数据库中存储的数据。该数据库操作SQL请求会流入至代理服务器中,代理服务器中的加密系统可以对该数据库操作SQL请求进行语法分析,得到该数据库操作SQL请求的解析结果。该解析结果中包含相应SQL语句中的各个组成部分,例如数据库操作(如查询、修改或新增)、操作数据库表以及筛选条件等。需要说明的是,如果语法分析失败,则可以结束当前分析流程,并向管理端返回该数据库操作SQL请求的相关信息,例如SQL语句中解析失败的区域以及解析失败的原因,以辅助业务系统的设计人员调整SQL语句。根据该数据库操作SQL请求的解析结果,可以确定该数据库操作SQL请求中是否包含上述获取的待分析数据库表,即该数据库操作SQL请求是否要读写待分析数据库表。
若该数据库操作SQL请求不包含待分析数据库表,则可以跳过当前的分析流程,直接执行该数据库操作SQL请求。具体而言,可以对数据库操作SQL请求进行权限判断和规则判断等,确定该请求是否合法和合规,在该请求合法合规的情况下可以将该请求转发给对应的数据库服务器进行数据库操作,在该请求不合法或不合规的情况下可以将该请求阻断,防止其对数据库进行操作。其中,在对数据库操作SQL请求进行权限判断和规则判断时,可以依次对其进行违规操作判断、操作权限判断、非法运算判断以及数据类型校验,一旦其中一个环节不通过,则确定该请求不合法或不合规。
若该数据库操作SQL请求包含待分析数据库表,则可以针对待分析数据库表,对该数据库操作SQL请求进行表级阻断判断分析,得到该数据库操作SQL请求的表级阻断分析结果。其中,表级阻断分析结果表明相应SQL请求对于待分析数据库表的访问,在该待分析数据库表或该待分析数据库表中的待分析列被加密的前提下是否会被阻断。
在一些实施例中,可以确定该数据库操作SQL请求是否对待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作。若该数据库操作SQL请求对待分析数据库表进行了上述违规操作中的任意一种或多种操作,则确定该数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定该数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。其中,若表级阻断分析结果为存在表级阻断行为,表明该SQL请求对于待分析数据库表的访问,在该待分析数据库表或该待分析数据库表中的待分析列被加密的前提下会被阻断;相应地,若表级阻断分析结果为不存在表级阻断行为,表明该SQL请求对于待分析数据库表的访问,在该待分析数据库表或该待分析数据库表中的待分析列被加密的前提下不会被阻断。
若该数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为,为了避免该待分析数据库表或该待分析数据库表中的待分析列被加密后,导致为了正常执行需要访问该待分析数据库表或该待分析数据库表中的待分析列但存在表级阻断行为的sql请求而重复对相应表或列的数据进行解密加密,可以将该待分析数据库表或该待分析数据库表的待分析列从加密列表中删除以跳过加密操作,并返回待分析数据库表未被加密的分析结果,从而兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低。其中,该分析结果可以包括数据库编号、SQL语句、违规操作说明、待分析数据库表的表名及所属数据库名和模式名。
在一些实施例中,可以对大量的数据库操作SQL请求进行上述分析(即上述语法分析和表级阻断判断分析等),并收集存在表级阻断行为的数据库操作SQL请求,并确定这些数据库操作SQL请求所属的业务类型。如果超过预设数量的业务类型对应的数据库操作SQL请求针对同一待分析数据库表存在表级阻断行为,或者核心业务类型对应的数据库操作SQL请求针对同一待分析数据库表存在表级阻断行为,则将该待分析数据库表或该待分析数据库表的待分析列从加密列表中删除。否则,可以暂时将该待分析数据库表或该待分析数据库表的待分析列置于加密列表中并为其添加延缓加密标记,直至经过分析的访问该待分析数据库表或该待分析数据库表的待分析列的数据库操作SQL请求的数量到达预设阈值,若该待分析数据库表或该待分析数据库表的待分析列仍未从加密列表中删除,则删除其延缓加密标记以正常进行加密。
在另一些实施例中,如图2所示,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:
步骤210,若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;
步骤220,若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。
具体而言,若数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求不存在表级阻断行为,且该数据库操作SQL请求中包含的待分析数据库表的待分析列为加密对象,则可以针对该待分析数据库表中的待分析列,对该数据库操作SQL请求进行列级阻断分析,得到该数据库操作SQL请求的列级阻断分析结果。其中,列级阻断分析结果表明相应SQL请求对于待分析数据库表的上述待分析列的访问,在该待分析数据库表中的上述待分析列被加密的前提下是否会被阻断。
在一些实施例中,在针对待分析列,对数据库操作SQL请求进行列级阻断分析时,可以判断该数据库操作SQL请求是否对该待分析列进行非法运算,得到该数据库操作SQL请求的非法运算分析结果。其中,可以确定该数据库操作SQL请求是否对该待分析列进行算数运算、关系运算、函数运算、排序操作、区间运算(例如in、between ... and ...)、类型转换、与非加密列之间的联合操作(例如join或union)等非法运算中的一种或多种操作。若该数据库操作SQL请求对该待分析列进行了上述非法运算中的一种或多种操作,则确定该数据库操作SQL请求的非法运算分析结果为存在非法运算,否则确定该数据库操作SQL请求的非法运算分析结果为不存在非法运算。若该数据库操作SQL请求的非法运算分析结果指示该数据库操作SQL请求存在非法运算,则确定该数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
若该数据库操作SQL请求的非法运算分析结果指示该数据库操作SQL请求不存在非法运算,则继续判断该数据库操作SQL请求中是否携带该待分析列的数据(即是否对该待分析列的数据进行修改或新增操作),得到该数据库操作SQL请求的数据分析结果。若该数据库操作SQL请求的数据分析结果指示该数据库操作SQL请求中不携带该待分析列的数据,则确定该数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为。若该数据库操作SQL请求的数据分析结果指示该数据库操作SQL请求中携带该待分析列对应的数据,则基于该数据库操作SQL请求中携带的该待分析列对应的数据进行类型校验,得到该数据库操作SQL请求的类型校验结果。
在一些实施例中,为了进行类型校验,可以基于该待分析列的数据格式和数据范围对该数据库操作SQL请求中携带的该待分析列对应的数据进行数据校验,得到该数据库操作SQL请求的数据校验结果。其中,可以将该数据库操作SQL请求中携带的该待分析列对应的数据分别进行数据格式的合法性校验和数据范围的合法性校验,确定该数据库操作SQL请求中携带的该待分析列对应的数据的数据格式是否与该待分析列的数据格式一致,以及该数据库操作SQL请求中携带的该待分析列对应的数据是否处于该待分析列的数据范围内。若该数据库操作SQL请求的数据校验结果指示该数据库操作SQL请求中携带的该待分析列对应的数据的数据格式和数据范围与该待分析列的数据格式和数据范围均一致,则确定该数据库操作SQL请求中携带的该待分析列对应的数据的内容分析结果。此处,可以根据该数据库操作SQL请求中携带的该待分析列对应的数据的内容进行敏感数据分析,若该数据的内容为敏感数据,则其内容分析结果可以为敏感数据,否则,其内容分析结果可以为非敏感数据。
另一方面,可以基于该待分析列的数据类型,确定该待分析列的类型分析结果。其中,待分析列的类型分析结果指示该待分析列的数据类型是否为大型二进制对象(即BLOB类型)、哈希值或特殊数据类型(例如地理空间类型(Geographic/Spatial types)或全文搜索类型(Full-Text Search types))。
基于该数据库操作SQL请求中携带的该待分析列对应的数据的内容分析结果以及该待分析列的类型分析结果,确定该数据库操作SQL请求的类型校验结果。其中,若该数据库操作SQL请求对应的内容分析结果为非敏感数据,且该待分析列的类型分析结果指示该列的类型不为哈希值或特殊数据类型,则确定该数据库操作SQL请求的类型校验结果为校验通过;若该数据库操作SQL请求对应的内容分析结果为敏感数据,则确定该数据库操作SQL请求的类型校验结果为校验不通过;若该数据库操作SQL请求对应的内容分析结果为非敏感数据,且该待分析列的类型分析结果指示该列的类型为大型二进制对象,则确定该数据库操作SQL请求携带的该待分析列对应的数据量是否超过数据量阈值,若超过数据量阈值则确定该数据库操作SQL请求的类型校验结果为校验不通过,若不超过数据量阈值则确定上述同类数据库操作SQL请求的类型校验结果为校验通过。
若该数据库操作SQL请求的类型校验结果指示校验通过,则确定上述同类数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为,否则确定该数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
若该数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为,则将该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析列未被加密的分析结果。其中,若数据库操作SQL请求的非法运算分析结果指示该数据库操作SQL请求存在非法运算,则该分析结果包括数据库编号、SQL语句、非法运算类型、待分析列的列名及对应数据库名、模式名和数据库表名;若数据库操作SQL请求的类型校验结果指示校验不通过,则该分析结果包括该待分析列的类型以及数据。需要说明的是,待分析数据库表未被加密的分析结果或待分析列未被加密的分析结果的输出方式可以采用redis数据库的发布订阅模式,管理端和代理服务器约定一个频道和消息格式,如json格式,管理端订阅该频道,代理服务器将分析结果组成格式为json、xml或者protobuf的数据包,向该频道发布消息,管理端获取发布的消息内容,按对应格式解析,然后展示到管理端界面;还可以使用redis的消息队列,代理服务器向消息队列发送分析结果,管理端从中获取分析结果;或者,代理服务器将分析结果按固定格式输出到文件中,管理端通过读取文件获取分析内容。
若该数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求不存在列级阻断行为,则暂时不将该待分析数据库表的该待分析列从加密列表中删除,但会为该待分析数据库表的该待分析列设置延缓加密标记。如若在分析过程中积累了预设数量的不存在列级阻断行为的访问该待分析列的数据库操作SQL请求,则删除该待分析列的延缓加密标记,并将该待分析列从加密列表中删除。
分析完毕之后,针对加密列表中的待分析数据库表或待分析数据库表的待分析列,可以对其进行加密操作,具体可以对加密列表中没有设置延缓加密标记的待分析数据库表或待分析数据库表的待分析列进行加密。
综上所述,本发明实施例提供的方法,通过对包含待分析数据库表的数据库操作SQL请求进行表级阻断判断分析,得到数据库操作SQL请求的表级阻断分析结果,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为的条件下,将该待分析数据库表或该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析数据库表未被加密的分析结果,可以兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低;进一步地,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求不存在表级阻断行为且加密对象为待分析数据库表的待分析列时,对该数据库操作SQL请求进行列级阻断分析,并在数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为时,将该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析列未被加密的分析结果,从而进一步优化数据库列的加密分析流程,避免数据库表或列被预先加密后导致sql请求的执行效率降低。
下面对本发明提供的数据库表列加密分析装置进行描述,下文描述的数据库表列加密分析装置与上文描述的数据库表列加密分析方法可相互对应参照。
基于上述任一实施例,图3是本发明提供的数据库表列加密分析装置的结构示意图,如图3所示,该装置包括:
加密对象确定单元310,用于确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
语句解析单元320,用于接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
请求确定单元330,用于基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
表级阻断分析单元340,用于若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
加密取消单元350,用于若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
本发明实施例提供的装置,通过对包含待分析数据库表的数据库操作SQL请求进行表级阻断判断分析,得到数据库操作SQL请求的表级阻断分析结果,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求存在表级阻断行为的条件下,将该待分析数据库表或该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析数据库表未被加密的分析结果,可以兼顾业务系统的运行效率和数据安全,避免数据库表或列被预先加密后导致sql请求的执行效率降低;进一步地,在数据库操作SQL请求的表级阻断分析结果指示该数据库操作SQL请求不存在表级阻断行为且加密对象为待分析数据库表的待分析列时,对该数据库操作SQL请求进行列级阻断分析,并在数据库操作SQL请求的列级阻断分析结果指示该数据库操作SQL请求存在列级阻断行为时,将该待分析数据库表的该待分析列从加密列表中删除,并返回该待分析列未被加密的分析结果,从而进一步优化数据库列的加密分析流程,避免数据库表或列被预先加密后导致sql请求的执行效率降低。
基于上述任一实施例,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:
若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;
若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。
基于上述任一实施例,所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。
基于上述任一实施例,所述针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果,具体包括:
判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求存在非法运算,则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求不存在非法运算,则判断所述数据库操作SQL请求中是否携带所述待分析列的数据,得到所述数据库操作SQL请求的数据分析结果;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中不携带所述待分析列的数据,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中携带所述待分析列对应的数据,则基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果;
若所述数据库操作SQL请求的类型校验结果指示校验通过,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为,否则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
基于上述任一实施例,所述判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析列进行算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析列进行了算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作,则确定所述数据库操作SQL请求的非法运算分析结果为存在非法运算。
基于上述任一实施例,所述基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果,具体包括:
基于所述待分析列的数据格式和数据范围对所述数据库操作SQL请求中携带的所述待分析列对应的数据进行数据校验,得到所述数据库操作SQL请求的数据校验结果;
若所述数据库操作SQL请求的数据校验结果指示所述数据库操作SQL请求中携带的所述待分析列对应的数据的数据格式和数据范围与所述待分析列的数据格式和数据范围一致,则确定所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果;
基于所述待分析列的数据类型,确定所述待分析列的类型分析结果;
基于所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果以及所述待分析列的类型分析结果,确定所述数据库操作SQL请求的类型校验结果。
基于上述任一实施例,该装置还包括:
加密单元,用于对所述加密列表中的待分析数据库表或待分析数据库表的待分析列进行加密。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、存储器(memory)420、通信接口(Communications Interface)430和通信总线440,其中,处理器410,存储器420,通信接口430通过通信总线440完成相互间的通信。处理器410可以调用存储器420中的逻辑指令,以执行数据库表列加密分析方法,该方法包括:确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
此外,上述的存储器420中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的数据库表列加密分析方法,该方法包括:确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的数据库表列加密分析方法,该方法包括:确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据库表列加密分析方法,其特征在于,包括:
确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果;
所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。
2.根据权利要求1所述的数据库表列加密分析方法,其特征在于,所述对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,之后还包括:
若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求不存在表级阻断行为,则针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果;
若所述数据库操作SQL请求的列级阻断分析结果指示所述数据库操作SQL请求存在列级阻断行为,则将所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析列未被加密的分析结果。
3.根据权利要求2所述的数据库表列加密分析方法,其特征在于,所述针对所述待分析列,对所述数据库操作SQL请求进行列级阻断分析,得到所述数据库操作SQL请求的列级阻断分析结果,具体包括:
判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求存在非法运算,则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为;
若所述数据库操作SQL请求的非法运算分析结果指示所述数据库操作SQL请求不存在非法运算,则判断所述数据库操作SQL请求中是否携带所述待分析列对应的数据,得到所述数据库操作SQL请求的数据分析结果;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中不携带所述待分析列对应的数据,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为;
若所述数据库操作SQL请求的数据分析结果指示所述数据库操作SQL请求中携带所述待分析列对应的数据,则基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果;
若所述数据库操作SQL请求的类型校验结果指示校验通过,则确定所述数据库操作SQL请求的列级阻断分析结果为不存在列级阻断行为,否则确定所述数据库操作SQL请求的列级阻断分析结果为存在列级阻断行为。
4.根据权利要求3所述的数据库表列加密分析方法,其特征在于,所述判断所述数据库操作SQL请求是否对所述待分析列进行非法运算,得到所述数据库操作SQL请求的非法运算分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析列进行算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析列进行了算数运算、关系运算、函数运算、排序操作、区间运算、类型转换、与非加密列之间的联合操作中的一种或多种操作,则确定所述数据库操作SQL请求的非法运算分析结果为存在非法运算。
5.根据权利要求3所述的数据库表列加密分析方法,其特征在于,所述基于所述数据库操作SQL请求中携带的所述待分析列对应的数据进行类型校验,得到所述数据库操作SQL请求的类型校验结果,具体包括:
基于所述待分析列的数据格式和数据范围对所述数据库操作SQL请求中携带的所述待分析列对应的数据进行数据校验,得到所述数据库操作SQL请求的数据校验结果;
若所述数据库操作SQL请求的数据校验结果指示所述数据库操作SQL请求中携带的所述待分析列对应的数据的数据格式和数据范围与所述待分析列的数据格式和数据范围一致,则确定所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果;
基于所述待分析列的数据类型,确定所述待分析列的类型分析结果;
基于所述数据库操作SQL请求中携带的所述待分析列对应的数据的内容分析结果以及所述待分析列的类型分析结果,确定所述数据库操作SQL请求的类型校验结果。
6.根据权利要求2所述的数据库表列加密分析方法,其特征在于,所述方法还包括:
对所述加密列表中的待分析数据库表或待分析数据库表的待分析列进行加密。
7.一种数据库表列加密分析装置,其特征在于,包括:
加密对象确定单元,用于确定加密列表中待加密的待分析数据库表,或者,确定待分析数据库表和加密列表中所述待分析数据库表的待加密的待分析列;
语句解析单元,用于接收业务系统发送的数据库操作SQL请求,并对所述数据库操作SQL请求进行语法分析,得到所述数据库操作SQL请求的解析结果;
请求确定单元,用于基于数据库操作SQL请求的解析结果,确定所述数据库操作SQL请求是否包含所述待分析数据库表;
表级阻断分析单元,用于若所述数据库操作SQL请求不包含所述待分析数据库表,则执行所述数据库操作SQL请求,否则针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果;
加密取消单元,用于若所述数据库操作SQL请求的表级阻断分析结果指示所述数据库操作SQL请求存在表级阻断行为,则将所述待分析数据库表或所述待分析数据库表的所述待分析列从加密列表中删除,并返回所述待分析数据库表未被加密的分析结果;
所述针对所述待分析数据库表,对所述数据库操作SQL请求进行表级阻断判断分析,得到所述数据库操作SQL请求的表级阻断分析结果,具体包括:
确定所述数据库操作SQL请求是否对所述待分析数据库表进行表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作;
若所述数据库操作SQL请求对所述待分析数据库表进行了表结构修改、索引创建、视图创建、函数创建、事件创建、触发器创建、存储过程创建、表删除、表重命名、insert操作以及create操作中的一种或多种操作,则确定所述数据库操作SQL请求的表级阻断分析结果为存在表级阻断行为,否则确定所述数据库操作SQL请求的表级阻断分析结果为不存在表级阻断行为。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据库表列加密分析方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据库表列加密分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168458.3A CN116910791B (zh) | 2023-09-12 | 2023-09-12 | 数据库表列加密分析方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168458.3A CN116910791B (zh) | 2023-09-12 | 2023-09-12 | 数据库表列加密分析方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910791A CN116910791A (zh) | 2023-10-20 |
CN116910791B true CN116910791B (zh) | 2023-12-12 |
Family
ID=88353499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311168458.3A Active CN116910791B (zh) | 2023-09-12 | 2023-09-12 | 数据库表列加密分析方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910791B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN103294966A (zh) * | 2013-03-12 | 2013-09-11 | 中国工商银行股份有限公司 | 一种数据库的安全访问控制方法以及系统 |
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN106934301A (zh) * | 2017-02-24 | 2017-07-07 | 中国科学院大学 | 一种支持密文数据操作的关系型数据库安全外包数据处理方法 |
CN114117482A (zh) * | 2021-11-22 | 2022-03-01 | 闪捷信息科技有限公司 | 数据库的加密方法、装置、电子设备及存储介质 |
CN114840521A (zh) * | 2022-04-22 | 2022-08-02 | 北京友友天宇系统技术有限公司 | 数据库的权限管理和数据保护方法、装置、设备和存储介质 |
-
2023
- 2023-09-12 CN CN202311168458.3A patent/CN116910791B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN103294966A (zh) * | 2013-03-12 | 2013-09-11 | 中国工商银行股份有限公司 | 一种数据库的安全访问控制方法以及系统 |
CN106934301A (zh) * | 2017-02-24 | 2017-07-07 | 中国科学院大学 | 一种支持密文数据操作的关系型数据库安全外包数据处理方法 |
CN114117482A (zh) * | 2021-11-22 | 2022-03-01 | 闪捷信息科技有限公司 | 数据库的加密方法、装置、电子设备及存储介质 |
CN114840521A (zh) * | 2022-04-22 | 2022-08-02 | 北京友友天宇系统技术有限公司 | 数据库的权限管理和数据保护方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
数据库加密系统的研究与实现;王元珍, 冯超;计算机工程与应用(第08期);173-175 * |
Also Published As
Publication number | Publication date |
---|---|
CN116910791A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514325B1 (ko) | 모델 훈련 시스템 및 방법과, 저장 매체 | |
US8943575B2 (en) | Method and system for policy simulation | |
US7664828B2 (en) | Invalid policy detection | |
US10127401B2 (en) | Redacting restricted content in files | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
JP5735539B2 (ja) | ネットワークを介して送信されるデータの暗号化および復号化システム、装置、および方法 | |
CN111177779B (zh) | 数据库审计方法、其装置、电子设备及计算机存储介质 | |
CN102281141B (zh) | 一种文档权限管理方法、装置及系统 | |
CN109698831B (zh) | 数据防护方法和装置 | |
CN107528865A (zh) | 文件的下载方法和系统 | |
CN110968872A (zh) | 文件漏洞的检测处理方法、装置、电子设备及存储介质 | |
GB2518433A (en) | Mitigating policy violations through textual redaction | |
CN114117482A (zh) | 数据库的加密方法、装置、电子设备及存储介质 | |
CN116910791B (zh) | 数据库表列加密分析方法、装置、电子设备和存储介质 | |
CN111885088A (zh) | 基于区块链的日志监测方法及装置 | |
CN114157504A (zh) | 一种基于Servlet拦截器的安全防护方法 | |
CN114546582A (zh) | 针对备份相关操作的许可 | |
CN116633594B (zh) | Flamingo网关安全系统 | |
CN113037724B (zh) | 一种检测非法访问的方法及装置 | |
CN109145645A (zh) | 一种保护安卓手机中短信验证码的方法 | |
CN113489726B (zh) | 流量限制方法及设备 | |
CN117459327B (zh) | 一种云数据透明加密保护方法、系统及装置 | |
Brady | Survive The Deep End: PHP Security | |
CN112861125A (zh) | 基于开放平台的安全检测方法、装置、设备和存储介质 | |
Paulsen | Debreach: Selective dictionary compression to prevent BREACH and CRIME |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |