CN113901515A - 一种动态脱敏处理方法和动态脱敏系统 - Google Patents
一种动态脱敏处理方法和动态脱敏系统 Download PDFInfo
- Publication number
- CN113901515A CN113901515A CN202111181936.5A CN202111181936A CN113901515A CN 113901515 A CN113901515 A CN 113901515A CN 202111181936 A CN202111181936 A CN 202111181936A CN 113901515 A CN113901515 A CN 113901515A
- Authority
- CN
- China
- Prior art keywords
- desensitization
- dynamic
- data
- rule
- module
- 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.)
- Pending
Links
Images
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种动态脱敏方法和动态脱敏系统,包括步骤:客户端将SQL数据连接请求转发到脱敏代理系统;脱敏代理服务器通过动态脱敏模块对SQL数据连接请求进行解析得到SQL语句;脱敏代理服务器再将SQL语句转发到数据库服务器;数据库服务器根据SQL语句返回数据至脱敏代理服务器;脱敏代理服务器通过动态脱敏模块对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端。本发明的动态脱敏方法,无需在客户端和数据库服务器上安装脱敏软件,不影响现有应用架构,仅需更改数据库访问链接参数即可实现脱敏处理;且有利于提高脱敏准确性和性能。
Description
技术领域
本发明涉及数据脱敏领域,尤其涉及一种动态脱敏处理方法和动态脱敏系统。
背景技术
随着互联网、大数据等新兴技术的飞速普及应用,数据集中存储已成为趋势,越来越多的应用采用连接数据中心或者数据共享层的方式来开展业务,这使得采用“先脱敏-后分发”方式的静态数据脱敏产品往往无法满足用户“兼顾实时性和安全性”的需求,动态数据脱敏应运而生。
目前,市场上的数据动态脱敏类产品中,采用各种不同的技术路线和演进方式。其中主流的技术路线为“语句改写模式”和“结果集解析模式”。
1、语句改写模式:基于语句改写脱敏,是将包含敏感字段查询的语句,通过对敏感字段采用函数运算的方式,让数据库自行返回改写后不包含敏感数据的结果。
2、结果集解析模式:基于结果集脱敏,需要提前获取并保存表结构;不改写发给数据库的语句,而是等数据库返回结果后,再判断其中哪些需要脱敏,并对返回数据进行逐条修改。
对以上两种数据动态脱敏模式的缺点分析如下:
“语句改写模式”下,在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是本申请实施例一种动态脱敏系统中动态脱敏模块的示意图。
其中,10、动态脱敏系统;11、客户端;12、脱敏代理服务器;13、动态脱敏模块;14、数据库服务器;131、任务调度单元;132、脱敏规则单元;133 脱敏算法单元;134、脱敏规则管理单元;135、数据脱敏单元;136、敏感数据探查单元136。
具体实施方式
需要理解的是,这里所使用的术语、公开的具体结构和功能细节,仅仅是为了描述具体实施例,是代表性的,但是本申请可以通过许多替换形式来具体实现,不应被解释成仅受限于这里所阐述的实施例。
在本申请的描述中,术语“第一”、“第二”仅描述目的,而不能理解为指示相对重要性,或者隐含指明所指示的技术特征的数量。由此,除非另有说明,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征;“多个”的含义是两个或两个以上。术语“包括”及其任何变形,意为不排他的包含,可能存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
另外,“中心”、“横向”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系的术语,是基于附图所示的方位或相对位置关系描述的,仅是为了便于描述本申请的简化描述,而不是指示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,或是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
图1是本申请实施例一种动态脱敏方法的流程图,如图1所示,本申请公开了一种动态脱敏方法,包括步骤:
S1:客户端将SQL数据连接请求转发到脱敏代理系统;
S2:脱敏代理服务器通过动态脱敏模块对SQL数据连接请求进行解析得到 SQL语句;
S3:脱敏代理服务器再将SQL语句转发到数据库服务器;
S4:数据库服务器根据SQL语句返回请求结果至脱敏代理服务器;
S5:脱敏代理服务器通过动态脱敏模块对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端。
相对于现有的动态脱敏技术,本申请公开的动态脱敏方法,由于动态脱敏模块是设置在脱敏代理服务器上的,因而,不需要在客户端和数据库服务器上安装脱敏软件,不影响现有的应用架构,而仅需要更改数据库访问连接参数即可实现脱敏处理;而且由于是在单独的脱敏代理服务器上安装脱敏处理模块,因而,可以不需要对SQL数据请求连接进行语句改写,可以改善脱敏字段遗漏和错误的问题,而该脱敏代理服务器主要为脱敏处理模块服务,因而,不需要客户端和数据库服务器的咨询,因而有利于三者的性能的提高,即本申请的方案,有利于改善传统动态脱敏方式在脱敏性能和脱敏准确度方面的缺陷问题,提供更准确、更快捷的数据动态脱敏服务。
本实施例可选的,所述脱敏代理服务器通过动态脱敏模块对SQL数据连接请求进行解析得到SQL语句的步骤S2中,所述动态脱敏模块通过商用数据库通讯协议对SQL数据连接请求进行解析得到SQL语句,并将解析出的SQL语句与对应的脱敏规则进行语句模式识别以过滤须脱敏的字段,得到需进行脱敏的字段集。这样设计,可以方便在后面步骤中对反馈结果集进行字段级别的脱敏处理,即在脱敏代理服务器接收所述请求结果时,该字段集与脱敏规则配合,可以对请求结果进行字段级别的脱敏处理。
本实施例可以对SQL数据连接请求的精确解析,包括参数化的SQL语句,嵌套SQL语句和各种长SQL语句等,并通过将解析出的SQL语句与对应的脱敏规则进行语句模式识别,准确过滤出需脱敏的字段,为数据库脱敏系统提供数据动态脱敏处理的技术保障。
本发明的动态脱敏方法,实现了脱敏字段获取优化,即在数据库通讯协议层面,通过SQL代理技术,实现完全透明、实时的敏感字段获取,可快速、高效地获取敏感数据字段;此外,系统内置敏感数据探查发现功能,即使用户未指定脱敏规则,系统仍可根据既有策略,对返回的请求结果进行检测,发现敏感数据则及时预警;相对于传统的“结果集解析模式”,更高效,更准确。
本发明的动态脱敏方法,还实现了数据脱敏流程简化,即采用“解析-执行 -改写”模式,无需修改既有SQL查询语句,与传统的“语句改写模式”相比,无需对SQL语句进行改写,确保数据查询操作的准确性;对数据库检索结果的改写处理可分批、分段执行,又可充分确保脱敏性能。
本实施例可选的,还包括以下步骤:
基于数据库表空间、表名、表字段和数据库用户账号,为不同的数据请求方设置不同的脱敏规则。具体的,现有的脱敏都是对所以数据进行脱敏的,而其实有些数据明显不存在脱敏的需求;因而,本申请的脱敏规则是惊喜到数据库表空间、表名、表字段等,以表名为例,可以指定某种类型的表格需要对“人民”相关字样进行脱敏,而其他位置的“人民”则不需要脱敏时,我们可以指定仅对这种类型的表格进行脱敏;同理,可以仅对某个表单里面的某些特定表字段进行脱敏。不仅区分用户,而且区别数据类型进行脱敏,提高脱敏精确度的同时,提高脱敏效率。
本实施例中,动态脱敏系统实现了在不需要对数据库中的数据进行任何改变的情况下,依据用户的角色、职责和其他I T定义规则,动态的对数据库返回的数据进行专门的屏蔽、加密、隐藏和审计,确保业务用户、外包用户、运维人员、兼职雇员、合作伙伴、数据分析/研发/测试团队及顾问能够恰如其分地访问生产环境的敏感数据。当然,若是在客户端、脱敏代理服务器和数据库服务器仅针对某个特定用户群体时,也可以直接限定仅一种脱敏规则。
本实施例可选的,所述脱敏规则还包括自定义设置的常用敏感数据字典。在某些情况下,动态脱敏处理已设置的脱敏规则和脱敏算法是无法满足某些特殊要求的,因而,本实施例增加了可以自定义设置的常用敏感数据字典,在进行脱敏处理时,除了应用已有的脱敏规则进行脱敏处理外,还要检测返回的请求结果中是否包含常用敏感数据字典的内容,若有,则进行相应的脱敏处理。
本实施例可选的,所述动态脱敏模块根据数据请求方指定的脱敏规则进行脱敏处理,若数据请求方未指定脱敏规则,则根据默认的脱敏规则进行脱敏处理。具体的,在步骤S2中,根据数据请求方指定的脱敏规则对SQL数据连接请求进行解析和脱敏处理得到SQL语句;而在步骤S5中,则根据数据请求方指定的脱敏规则对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端。该默认的脱敏规则,可以选用最严格或者最送的脱敏规则。一般的,在步骤S2和步骤S5中,采用的脱敏规则都是对应数据请求方相应的脱敏规则。
另外,本发明中,可选的,根据当前数据库访问用户的不同数据可用范围,在对请求结果进行脱敏时,采用与数据请求方对应级别的脱敏规则,以避免不符合工作所需和安全等级的脱敏结果返回到客户端。
另外,本发明中使用数据脱敏规则引擎,支持规则次序和冲突检测,支持简单脚本语句的规则,支持正则表达式,实现了将业务决策从应用代码中分离出来,并以组件的方式对外提供脱敏服务,从而实现系统分布式部署。该组件接收待脱敏数据、脱敏策略,解释其中的脱敏规则,并根据业务规则作出对应数据脱敏处理。引入数据脱敏规则引擎,可以有效分离业务规则和脱敏技术,有效提高实现复杂逻辑代码的可维护性。
基于此,本发明实现了数据脱敏规则的精细化,可基于数据库表空间、表名、表字段、数据库用户账户等设置不同的脱敏规则和策略,从而实现差异化的脱敏检测和处理。
本实施例可选的,所述动态脱敏模块内置屏蔽脱敏算法、加密脱敏算法、浮动脱敏算法和置零脱敏算法,并且支持用户自定义脱敏算法。本实施例中,动态脱敏模块内可选择的脱敏算法至少包括上述列举的几种算法,但不仅限于此,该自定义脱敏算法可以用于置入现有技术和以后所有可用的脱敏算法,当然,也可以是客户自己定义的脱敏算法。
本实施例可选的,所述脱敏代理服务器通过动态脱敏模块对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端的步骤S5包括:
S51:脱敏代理服务器接收所述请求结果;
S52:动态脱敏模块若发现请求结果内包含敏感数据,则对敏感数据进行梳理;
S53:动态脱敏模块根据数据请求方确定脱敏规则;
S54:动态脱敏模块基于脱敏规则对请求结果进行脱敏处理;
S55:脱敏代理服务器将完成脱敏处理的脱敏结果返回给客户端。
其中,更进一步的,在步骤S5中,该脱敏代理服务器先将请求结果,与需进行脱敏的字段集(该字段集是根据解析出的SQL语句与对应的脱敏规则进行语句模式识别以过滤须脱敏的字段得到的)进行对比得到带脱敏的数据,然后再对待脱敏的数据进行脱敏处理得到脱敏结果。
本发明的数据脱敏,是基于数据库底层通信协议解析SQL语句,并在SQL 语句执行完毕后对返回结果进行快速检测和脱敏的数据动态脱敏技术,可同时满足数据动态脱敏的性能和准确性要求,支持企业在运维侧和应用侧的数据安全需求。
本申请还公开了一种动态脱敏系统,用于执行本申请公开的任意一种所述的动态脱敏方法,所述动态脱敏系统10包括:
客户端11;
脱敏代理服务器12,连接于所述客户端11,所述脱敏代理服务器12上设置有动态脱敏模块13;以及
数据库服务器14,连接于所述脱敏代理服务器12;
其中,所述客户端11发出SQL数据连接请求,所述脱敏代理服务器12用于接收所述SQL数据连接请求、对所述SQL数据连接请求进行解析得到SQL语句,并将所述SQL语句发至所述数据库服务器14;所述数据库服务器14接收所述SQL语句,并根据所述SQL语句返回的请求结果给所述脱敏代理服务器12,所述脱敏代理服务器12通过所述动态脱敏模块13对返回的请求结果进行脱敏处理,并将完成脱敏处理的脱敏结果返回给所述客户端11。
本实施例中,该动态脱敏模块是串联在客户端的客户端访问工具和书库服务器的数据库集群之间的,在逻辑上是旁路部署,在物理上是串行方式。
这样设计,本申请的动态数据脱敏(DDM)在用于生产环境,在访问敏感数据时即时进行脱敏时,可以用来解决在生产环境需要根据不同情况对同一敏感数据读取时进行不同级别脱敏的场景。
动态数据脱敏是在用户层对数据进行独特屏蔽、加密、隐藏、审计或封锁访问途径的流程,当应用程序、维护、开发工具请求通过动态数据脱敏(DDM) 时,实时筛选请求的SQL语句,依据用户角色、权限和其他脱敏规则屏蔽敏感数据,并运用横向或纵向的安全等级,限制响应返回结果数据。通过这种方式,动态数据脱敏技术可以确保业务人员、运维人员及外包开发人员严格根据工作所需和安全等级访问敏感数据。
本实施例可选的,所述动态脱敏模块13包括:
任务调度单元131,用于设置任务分配规则,并对脱敏处理任务进行调度分配,以完成高并发的脱敏处理任务;
脱敏规则单元132,包括脱敏规则设置子单元和敏感数据字典管理子单元,用于脱敏规则执行,根据脱敏规则设置对请求结果进行脱敏处理;
脱敏算法单元133,内置屏蔽脱敏算法、加密脱敏算法、浮动脱敏算法、置零脱敏算法以及用户自定义脱敏算法,所述脱敏算法单元133连接于所述脱敏规则单元132;
脱敏规则管理单元134,基于数据库表空间、表名、表字段和数据库用户账号,为不同的数据请求方设置有不同的脱敏算法,所述脱敏规则管理单元134 连接于所述脱敏规则单元132;以及
数据脱敏单元135,分别连接于所述任务调度单元和所述脱敏规则单元,用于根据当前数据请求方和脱敏规则,对所述请求结果进行脱敏处理。
其中,该任务调度单元131可设置任务分配规则,支持高并发的数据动态脱敏处理,这样的话,哪怕客户端11的数量或者数据库服务器14的数量增加了,也能够正常进行脱敏工作;而脱敏规则管理单元134的设置则实现了细粒度的数据访问权限管控。
而且任务调度引擎和数据脱敏规则引擎这两大引擎的引入,对外提供数据脱敏服务接口,使得系统实现了分布式架构,支持旁路部署模式和在线动态扩容,有效应对不断增长的数据量,有效支持高并发访问;具体的,由于任务调度单元这一引擎的存在,数据送到该脱敏代理服务器的时候,会通过任务调度单元进行分配,当任务量不多的时候,现有的服务器就可以胜任;而当任务量增加时,可以将这些任务分配给现有服务器,并同时进行动态扩容,扩容完成之后,则可以马上将现有的任务分配给新扩容的部分服务器,不影响现有的工作,操作灵活;同理,当任务量降低的时候,也可以将服务器的资源分配给其他工作,而减少脱敏所需的资源;这使得本发明至少可以实现对Orac l e、GP、 PostgreSQL、达梦、GBase、MySQL等主流数据库的支持。
本实施例可选的,还包括敏感数据探查单元136,连接于所述数据脱敏单元135,用于检测所述请求结果中是否包含常见敏感数据内容,若有,则发送预警信息。其中,前述的常用敏感数据字典可以设置在所述敏感数据探查单元 136内;该预警信息,可以是一条仅包含文字的预警信息,随脱敏结果一起返回给客户端;也可以是一条可执行的预警信息,随脱敏结果一起返回给客户端时,通过弹窗、声响警报等方式给用户以警示。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
需要说明的是,本方案中涉及到的各步骤的限定,在不影响具体方案实施的前提下,并不认定为对步骤先后顺序作出限定,写在前面的步骤可以是在先执行的,也可以是在后执行的,甚至也可以是同时执行的,只要能实施本方案,不相互冲突的步骤可以均在一次路面成像的操作中使用,都应当视为属于本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以作出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种动态脱敏方法,其特征在于,包括步骤:
客户端将SQL数据连接请求转发到脱敏代理系统;
脱敏代理服务器通过动态脱敏模块对SQL数据连接请求进行解析得到SQL语句;
脱敏代理服务器再将SQL语句转发到数据库服务器;
数据库服务器根据SQL语句返回请求结果至脱敏代理服务器;
脱敏代理服务器通过动态脱敏模块对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端。
2.如权利要求1所述的动态脱敏方法,其特征在于,所述脱敏代理服务器通过动态脱敏模块对SQL数据连接请求进行解析得到SQL语句的步骤中,所述动态脱敏模块通过商用数据库通讯协议对SQL数据连接请求进行解析得到SQL语句,并将解析出的SQL语句与对应的脱敏规则进行语句模式识别以过滤须脱敏的字段,得到需进行脱敏的字段集。
3.如权利要求1所述的动态脱敏方法,其特征在于,还包括以下步骤:
基于数据库表空间、表名、表字段和数据库用户账号,为不同的数据请求方设置不同的脱敏规则。
4.如权利要求3所述的动态脱敏方法,其特征在于,所述脱敏规则还包括自定义设置的常用敏感数据字典。
5.如权利要求3所述的动态脱敏方法,其特征在于,所述动态脱敏模块根据数据请求方指定的脱敏规则进行脱敏处理,若数据请求方未指定脱敏规则,则根据默认的脱敏规则进行脱敏处理。
6.如权利要求1所述的动态脱敏方法,其特征在于,所述动态脱敏模块内置屏蔽脱敏算法、加密脱敏算法、浮动脱敏算法和置零脱敏算法,并且支持用户自定义脱敏算法。
7.如权利要求1所述的动态脱敏方法,其特征在于,所述脱敏代理服务器通过动态脱敏模块对返回的请求结果进行脱敏,并将完成脱敏处理的脱敏结果返回给客户端的步骤包括:
脱敏代理服务器接收所述请求结果;
动态脱敏模块若发现请求结果内包含敏感数据,则对敏感数据进行梳理;
动态脱敏模块根据数据请求方确定脱敏规则;
动态脱敏模块基于脱敏规则对请求结果进行脱敏处理;
脱敏代理服务器将完成脱敏处理的脱敏结果返回给客户端。
8.一种动态脱敏系统,其特征在于,用于执行如权力要求1-7任意一种所述的动态脱敏方法,所述动态脱敏系统包括:
客户端;
脱敏代理服务器,连接于所述客户端,所述脱敏代理服务器上设置有动态脱敏模块;以及
数据库服务器,连接于所述脱敏代理服务器;
其中,所述客户端发出SQL数据连接请求,所述脱敏代理服务器用于接收所述SQL数据连接请求、对所述SQL数据连接请求进行解析得到SQL语句,并将所述SQL语句发至所述数据库服务器;所述数据库服务器接收所述SQL语句,并根据所述SQL语句返回的请求结果给所述脱敏代理服务器,所述脱敏代理服务器通过所述动态脱敏模块对返回的请求结果进行脱敏处理,并将完成脱敏处理的脱敏结果返回给所述客户端。
9.如权利要求8所述的动态脱敏系统,其特征在于,所述动态脱敏模块包括:
任务调度单元,用于设置任务分配规则,并对脱敏处理任务进行调度分配,以完成高并发的脱敏处理任务;
脱敏规则单元,包括脱敏规则设置子单元和敏感数据字典管理子单元,用于脱敏规则执行,根据脱敏规则设置对所述请求结果进行脱敏处理;
脱敏算法单元,内置屏蔽脱敏算法、加密脱敏算法、浮动脱敏算法、置零脱敏算法以及用户自定义脱敏算法,所述脱敏算法单元连接于所述脱敏规则单元;
脱敏规则管理单元,基于数据库表空间、表名、表字段和数据库用户账号,为不同的数据请求方设置有不同的脱敏算法,所述脱敏规则管理单元连接于所述脱敏规则单元;以及
数据脱敏单元,分别连接于所述任务调度单元和脱敏规则单元,用于根据当前数据请求方和脱敏规则,对所述请求结果进行脱敏处理。
10.如权利要求9所述的动态脱敏系统,其特征在于,还包括敏感数据探查单元,连接于所述数据脱敏单元,用于检测所述请求结果中是否包含常见敏感数据内容,若有,则发送预警信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111181936.5A CN113901515A (zh) | 2021-10-11 | 2021-10-11 | 一种动态脱敏处理方法和动态脱敏系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111181936.5A CN113901515A (zh) | 2021-10-11 | 2021-10-11 | 一种动态脱敏处理方法和动态脱敏系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901515A true CN113901515A (zh) | 2022-01-07 |
Family
ID=79191339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111181936.5A Pending CN113901515A (zh) | 2021-10-11 | 2021-10-11 | 一种动态脱敏处理方法和动态脱敏系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901515A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194276A (zh) * | 2017-05-03 | 2017-09-22 | 上海上讯信息技术股份有限公司 | 数据库动态脱敏方法及设备 |
CN111177788A (zh) * | 2020-01-07 | 2020-05-19 | 北京启明星辰信息安全技术有限公司 | Hive的动态脱敏方法及动态脱敏系统 |
CN112035871A (zh) * | 2020-07-22 | 2020-12-04 | 北京中安星云软件技术有限公司 | 一种基于数据库驱动代理的动态脱敏方法及系统 |
CN112948877A (zh) * | 2021-03-03 | 2021-06-11 | 北京中安星云软件技术有限公司 | 一种基于tcp代理的数据库动态脱敏方法及系统 |
-
2021
- 2021-10-11 CN CN202111181936.5A patent/CN113901515A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194276A (zh) * | 2017-05-03 | 2017-09-22 | 上海上讯信息技术股份有限公司 | 数据库动态脱敏方法及设备 |
CN111177788A (zh) * | 2020-01-07 | 2020-05-19 | 北京启明星辰信息安全技术有限公司 | Hive的动态脱敏方法及动态脱敏系统 |
CN112035871A (zh) * | 2020-07-22 | 2020-12-04 | 北京中安星云软件技术有限公司 | 一种基于数据库驱动代理的动态脱敏方法及系统 |
CN112948877A (zh) * | 2021-03-03 | 2021-06-11 | 北京中安星云软件技术有限公司 | 一种基于tcp代理的数据库动态脱敏方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110291517B (zh) | 图数据库中的查询语言互操作性 | |
JP6873176B2 (ja) | 自動的な意図のマイニング、分類、及び配置のための方法及びシステム | |
CN109690524B (zh) | 分布式事件处理系统中的数据序列化 | |
EP4170515A1 (en) | Query translation | |
US7493304B2 (en) | Adjusting an amount of data logged for a query based on a change to an access plan | |
US7853624B2 (en) | System and method for optimizing distributed and hybrid queries in imperfect environments | |
US20200233862A1 (en) | Grammar-based searching of a configuration management database | |
US20130091138A1 (en) | Contextualization, mapping, and other categorization for data semantics | |
CN111177788A (zh) | Hive的动态脱敏方法及动态脱敏系统 | |
US9026652B1 (en) | Web service asset management and web service information storage | |
US10157234B1 (en) | Systems and methods for transforming datasets | |
WO2023029855A1 (zh) | 物化视图的创建方法、装置、存储介质及电子设备 | |
US10664248B2 (en) | Systems and methods for comparing computer scripts | |
US11687512B2 (en) | Index suggestion engine for relational databases | |
CN114090613A (zh) | 程序语句转换方法、装置、设备及存储介质 | |
CN111897891B (zh) | 数据处理方法及装置 | |
US20100070460A1 (en) | System and method for rule-based data object matching | |
CN108334620A (zh) | 一种基于orm框架操作集群数据库的方法及装置 | |
US10423618B2 (en) | Method and system for enforcing user policy on database records | |
CN112966162A (zh) | 一种基于数据仓库与中间件的科技资源集成方法及装置 | |
CN113901515A (zh) | 一种动态脱敏处理方法和动态脱敏系统 | |
US11657069B1 (en) | Dynamic compilation of machine learning models based on hardware configurations | |
US11501202B1 (en) | Querying databases with machine learning model references | |
Li et al. | Fedsa: A data federation platform for law enforcement management | |
CN112182023B (zh) | 大数据访问控制方法、装置、电子设备及存储介质 |
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 |