CN115237952A - 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置 - Google Patents

一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置 Download PDF

Info

Publication number
CN115237952A
CN115237952A CN202210510647.3A CN202210510647A CN115237952A CN 115237952 A CN115237952 A CN 115237952A CN 202210510647 A CN202210510647 A CN 202210510647A CN 115237952 A CN115237952 A CN 115237952A
Authority
CN
China
Prior art keywords
desensitization
dynamic
plug
data
jdbc
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
Application number
CN202210510647.3A
Other languages
English (en)
Inventor
唐更新
王晓峰
宋辉
赵卫国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongan Xingyun Software Technology Co ltd
Original Assignee
Beijing Zhongan Xingyun Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongan Xingyun Software Technology Co ltd filed Critical Beijing Zhongan Xingyun Software Technology Co ltd
Priority to CN202210510647.3A priority Critical patent/CN115237952A/zh
Publication of CN115237952A publication Critical patent/CN115237952A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种基于JDBC驱动代理实现应用***动态脱敏的方法及装置,涉及数据库技术领域。该方法包括:将动态脱敏插件程序部署至应用服务器上。根据JDBC查询请求,获取查询结果,并将查询结果封装至代理结果集对象中。将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则。通过动态脱敏插件程序从第二目标数据库中获取脱敏策略。通过动态脱敏插件程序调取代理结果集对象中的查询结果。确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理。将脱敏处理后封装的代理结果集对象发送至应用服务器。从而避免了在进行敏感数据脱敏时,修改数据库数据的问题。

Description

一种基于JDBC驱动代理实现应用***动态脱敏的方法及装置
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种基于JDBC驱动代理实现应用***动态脱敏的方法及装置。
背景技术
信息化时代,数据是一笔宝贵的资产。现代企业每天都在有意无意地收集、存储、共享数据,且规模越来越大,但是敏感数据泄露的风险也与日俱增。
因为敏感数据包含用户的身份证信息、住址、用户支付信息、电话等,所以敏感数据一旦泄露将涉及个人隐私安全。现有技术中针对敏感数据进行数据抽取、数据漂白和动态掩码的动态脱敏需要进行复杂的协议解析,并且存在SQL重构的问题。因此,如何做到准确高效且不修改数据库数据,就可以对敏感数据进行动态脱敏是目前亟待解决的问题。
发明内容
本发明的目的在于提供一种基于JDBC驱动代理实现应用***动态脱敏的方法及装置,用以改善现有技术中在进行敏感数据动态脱敏时,修改数据库数据的问题。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种基于JDBC驱动代理实现应用***动态脱敏的方法,其包括如下步骤:
将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
当响应于应用服务器的JDBC查询请求时,根据JDBC查询请求,通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中;
将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则,将脱敏规则保存至数据库脱敏设备上的第二目标数据库中;
通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,脱敏策略包括所有脱敏规则;
通过动态脱敏插件程序调取代理结果集对象中的查询结果;
将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理;
将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至应用服务器。
在本发明的一些实施例中,上述对数据源信息中的敏感数据配置脱敏规则的步骤包括:
若敏感数据为姓名信息,则将姓名信息中每一个敏感字段替换为预设字样。
在本发明的一些实施例中,上述查询结果包括至少一个字段信息,上述将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则。
在本发明的一些实施例中,上述任一字段信息包括字段属性标识信息,上述将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
若字段属性标识信息与脱敏策略中的脱敏规则一致,则对应的字段信息为待脱敏数据。
在本发明的一些实施例中,上述将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上的步骤包括:
对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序,则动态脱敏插件程序包含JDBC驱动的所有对象;
若响应于应用服务器的JDBC查询请求时,将先调用动态脱敏插件程序的接口,再由动态脱敏插件程序的接口调用JDBC驱动的接口。
在本发明的一些实施例中,上述第一目标数据库为支持JDBC的数据库。
在本发明的一些实施例中,上述动态脱敏插件程序还用于对JDBC结果集的代理。
第二方面,本申请实施例提供一种基于JDBC驱动代理实现应用***动态脱敏的装置,其包括:
插件程序部署模块,用于将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
查询结果封装模块,用于当响应于应用服务器的JDBC查询请求时,根据JDBC查询请求,通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中;
脱敏规则设置模块,用于将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则,将脱敏规则保存至数据库脱敏设备上的第二目标数据库中;
脱敏规则获取模块,用于通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,脱敏策略包括所有脱敏规则;
查询结果调取模块,用于通过动态脱敏插件程序调取代理结果集对象中的查询结果;
查询结果匹配模块,用于将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理;
代理结果集对象返回模块,用于将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至应用服务器。
在本发明的一些实施例中,上述脱敏规则设置模块包括:
姓名信息脱敏规则配置单元,用于若敏感数据为姓名信息,则将姓名信息中每一个敏感字段替换为预设字样。
在本发明的一些实施例中,上述查询结果包括至少一个字段信息,上述查询结果匹配模块包括:
字段信息匹配单元,用于将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则。
在本发明的一些实施例中,上述任一字段信息包括字段属性标识信息,上述字段信息匹配单元包括:
待脱敏数据确定子单元,用于若字段属性标识信息与脱敏策略中的脱敏规则一致,则对应的字段信息为待脱敏数据。
在本发明的一些实施例中,上述插件程序部署模块包括:
驱动封装单元,用于对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序,则动态脱敏插件程序包含JDBC驱动的所有对象;
接口调用单元,用于若响应于应用服务器的JDBC查询请求时,将先调用动态脱敏插件程序的接口,再由动态脱敏插件程序的接口调用JDBC驱动的接口。
在本发明的一些实施例中,上述第一目标数据库为支持JDBC的数据库。
在本发明的一些实施例中,上述动态脱敏插件程序还用于对JDBC结果集的代理。
第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
本发明提供一种基于JDBC驱动代理实现应用***动态脱敏的方法及装置,其包括如下步骤:将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上。当响应于应用服务器的JDBC查询请求时,根据JDBC查询请求,通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中。将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则,将脱敏规则保存至数据库脱敏设备上的第二目标数据库中。通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,脱敏策略包括所有脱敏规则。通过动态脱敏插件程序调取代理结果集对象中的查询结果。将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理。将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至应用服务器。该方法及装置首先将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上。当应用服务器进行JDBC查询操作,将通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中,从而使得动态脱敏插件程序得到查询结果。然后通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,依据脱敏策略对代理结果集对象中的查询结果进行脱敏处理再封装后,返回至应用服务器。由于通过动态脱敏插件程序根据脱敏策略进行动态脱敏,从而避免了在进行敏感数据动态脱敏时,修改数据库数据的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的方法的流程图;
图2为本发明实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的方法的交互示意图;
图3为本发明实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的装置的结构框图;
图4为本发明实施例提供的一种查询结果匹配模块的结构框图;
图5为本发明实施例提供的一种电子设备的示意性结构框图。
图标:100-基于JDBC驱动代理实现应用***动态脱敏的装置;110-插件程序部署模块;120-查询结果封装模块;130-脱敏规则设置模块;140-脱敏规则获取模块;150-查询结果调取模块;160-查询结果匹配模块;161-字段信息匹配单元;1611-待脱敏数据确定子单元;170-代理结果集对象返回模块;101-存储器;102-处理器;103-通信接口。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,若出现术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,若出现由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例
请参照图1和图2,图1所示为本申请实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的方法的流程图,图2所示为本发明实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的方法的交互示意图。本申请实施例提供一种基于JDBC驱动代理实现应用***动态脱敏的方法,其包括如下步骤:
S110:将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
具体的,动态脱敏插件程序可以实现JDBC驱动的完全代理。
详细的,首先对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序。将该动态脱敏插件程序部署至应用服务器上后,当应用服务器进行JDBC查询操作时,将先调用动态脱敏插件程序的接口,再由动态脱敏插件程序的接口调用JDBC驱动的接口。由于动态脱敏插件程序对JDBC驱动进行了封装,则动态脱敏插件程序可以得到JDBC驱动的所有对象,以及JDBC驱动调用数据库返回的参数,即通过动态脱敏插件程序实现了JDBC驱动的完全代理。
S120:当响应于应用服务器的JDBC查询请求时,根据JDBC查询请求,通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中;
示例性的,表t_test有两个字段id和name,且共一行数据1和“张测”。若应用服务器进行JDBC查询操作,则进行select id,name from t_test的查询,查询结果为id=1,name=“张测”。由于动态脱敏插件程序对JDBC驱动进行了完全代理,也包括对JDBC驱动返回的结果集进行代理,所以查询结果将封装至代理结果集对象中,从而使得动态脱敏插件程序得到查询结果。
S130:将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则,将脱敏规则保存至数据库脱敏设备上的第二目标数据库中;
示例性的,若敏感数据为姓名信息,则将姓名信息中的敏感字段name设置全部替换为*号的脱敏规则。例如,若name=“张测”,则根据敏感字段name设置全部替换为*号的脱敏规则,name=“**”。
S140:通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,脱敏策略包括所有脱敏规则;
具体的,动态脱敏插件程序从第二目标数据库用JDBC的方式查询获取脱敏策略。
其中,脱敏策略包含各个敏感数据对应的脱敏规则。
S150:通过动态脱敏插件程序调取代理结果集对象中的查询结果;
S160:将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理;
具体的,上述查询结果包括至少一个字段信息,且任一字段信息包括字段属性标识信息,若字段属性标识信息与脱敏策略中的某个脱敏规则一致,则该字段属性标识信息所对应的字段信息就是待脱敏数据。
示例性的,若从代理结果集对象中的查询结果是id=1,name=“张测”,则读取到的动态脱敏策略是name字段设置全部替换为*号的脱敏规则,此时,会将查询结果处理成id=1;name=“**”,并将id=1;name=“**”封装回代理结果集对象,并将封装后的代理结果集对象发送至应用服务器。
S170:将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至应用服务器。
上述实现过程中,该方法首先将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上。当应用服务器进行JDBC查询操作,将通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中,从而使得动态脱敏插件程序得到查询结果。然后通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,依据脱敏策略对代理结果集对象中的查询结果进行脱敏处理再封装后,返回至应用服务器。由于通过动态脱敏插件程序根据脱敏策略进行动态脱敏,从而避免了在进行敏感数据动态脱敏时,修改数据库数据的问题。
在本实施例的一些实施方式中,上述对数据源信息中的敏感数据配置脱敏规则的步骤包括:
若敏感数据为姓名信息,则将姓名信息中每一个敏感字段替换为预设字样。
示例性的,若敏感数据为姓名信息,则将姓名信息中的敏感字段name设置全部替换为*号。
在本实施例的一些实施方式中,上述查询结果包括至少一个字段信息,上述将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则。
在本实施例的一些实施方式中,上述任一字段信息包括字段属性标识信息,上述将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
若字段属性标识信息与脱敏策略中的脱敏规则一致,则对应的字段信息为待脱敏数据。
示例性的,在name=“张测”中,其字段属性标识信息为name,与脱敏策略中的脱敏规则一致,则待脱敏数据为“张测”。
在本实施例的一些实施方式中,上述将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上的步骤包括:
对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序,则动态脱敏插件程序包含JDBC驱动的所有对象;
若响应于应用服务器的JDBC查询请求时,将先调用动态脱敏插件程序的接口,再由动态脱敏插件程序的接口调用JDBC驱动的接口。
在本实施例的一些实施方式中,上述第一目标数据库为支持JDBC的数据库。
在本实施例的一些实施方式中,上述动态脱敏插件程序还用于对JDBC结果集的代理。
请参照图3,图3所示为本发明实施例提供的一种基于JDBC驱动代理实现应用***动态脱敏的装置100的结构框图。本申请实施例提供一种基于JDBC驱动代理实现应用***动态脱敏的装置100,其包括:
插件程序部署模块110,用于将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
查询结果封装模块120,用于当响应于应用服务器的JDBC查询请求时,根据JDBC查询请求,通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中;
脱敏规则设置模块130,用于将第一目标数据库的数据源信息添加至数据库脱敏设备上,并对数据源信息中的敏感数据配置脱敏规则,将脱敏规则保存至数据库脱敏设备上的第二目标数据库中;
脱敏规则获取模块140,用于通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,脱敏策略包括所有脱敏规则;
查询结果调取模块150,用于通过动态脱敏插件程序调取代理结果集对象中的查询结果;
查询结果匹配模块160,用于将查询结果与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对待脱敏数据进行脱敏处理;
代理结果集对象返回模块170,用于将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至应用服务器。
上述实现过程中,该装置首先将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上。当应用服务器进行JDBC查询操作,将通过动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将查询结果封装至代理结果集对象中,从而使得动态脱敏插件程序得到查询结果。然后通过动态脱敏插件程序从第二目标数据库中获取脱敏策略,依据脱敏策略对代理结果集对象中的查询结果进行脱敏处理再封装后,返回至应用服务器。由于通过动态脱敏插件程序根据脱敏策略进行动态脱敏,从而避免了在进行敏感数据动态脱敏时,修改数据库数据的问题。
在本实施例的一些实施方式中,上述脱敏规则设置模块130包括:
姓名信息脱敏规则配置单元,用于若敏感数据为姓名信息,则将姓名信息中每一个敏感字段替换为预设字样。
示例性的,若敏感数据为姓名信息,则将姓名信息中的敏感字段name设置全部替换为*号。
请参照图4,图4所示为本发明实施例提供的一种查询结果匹配模块160的结构框图。在本实施例的一些实施方式中,上述查询结果包括至少一个字段信息,上述查询结果匹配模块160包括:
字段信息匹配单元161,用于将所有字段信息与脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则。
在本实施例的一些实施方式中,上述任一字段信息包括字段属性标识信息,上述字段信息匹配单元161包括:
待脱敏数据确定子单元1611,用于若字段属性标识信息与脱敏策略中的脱敏规则一致,则对应的字段信息为待脱敏数据。
在本实施例的一些实施方式中,上述插件程序部署模块110包括:
驱动封装单元,用于对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序,则动态脱敏插件程序包含JDBC驱动的所有对象;
接口调用单元,用于若响应于应用服务器的JDBC查询请求时,将先调用动态脱敏插件程序的接口,再由动态脱敏插件程序的接口调用JDBC驱动的接口。
在本实施例的一些实施方式中,上述第一目标数据库为支持JDBC的数据库。
在本实施例的一些实施方式中,上述动态脱敏插件程序还用于对JDBC结果集的代理。
请参照图5,图5为本申请实施例提供的电子设备的一种示意性结构框图。电子设备包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,如本申请实施例所提供的一种基于JDBC驱动代理实现应用***动态脱敏的装置100对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,包括如下步骤:
将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
当响应于所述应用服务器的JDBC查询请求时,根据所述JDBC查询请求,通过所述动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将所述查询结果封装至代理结果集对象中;
将所述第一目标数据库的数据源信息添加至数据库脱敏设备上,并对所述数据源信息中的敏感数据配置脱敏规则,将所述脱敏规则保存至所述数据库脱敏设备上的第二目标数据库中;
通过所述动态脱敏插件程序从所述第二目标数据库中获取脱敏策略,所述脱敏策略包括所有脱敏规则;
通过所述动态脱敏插件程序调取所述代理结果集对象中的查询结果;
将查询结果与所述脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对所述待脱敏数据进行脱敏处理;
将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至所述应用服务器。
2.根据权利要求1所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,对所述数据源信息中的敏感数据配置脱敏规则的步骤包括:
若所述敏感数据为姓名信息,则将所述姓名信息中每一个敏感字段替换为预设字样。
3.根据权利要求1所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,所述查询结果包括至少一个字段信息,所述将查询结果与所述脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
将所有字段信息与所述脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则。
4.根据权利要求3所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,任一所述字段信息包括字段属性标识信息,所述将所有字段信息与所述脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则的步骤包括:
若所述字段属性标识信息与所述脱敏策略中的脱敏规则一致,则对应的字段信息为待脱敏数据。
5.根据权利要求1所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,所述将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上的步骤包括:
对JDBC驱动中的所有对象进行封装,得到动态脱敏插件程序,则所述动态脱敏插件程序包含JDBC驱动的所有对象;
若响应于所述应用服务器的JDBC查询请求时,将先调取所述动态脱敏插件程序的接口,再由所述动态脱敏插件程序的接口调取所述JDBC驱动的接口。
6.根据权利要求1所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,所述第一目标数据库为支持JDBC的数据库。
7.根据权利要求1所述的基于JDBC驱动代理实现应用***动态脱敏的方法,其特征在于,所述动态脱敏插件程序还用于对JDBC结果集的代理。
8.一种基于JDBC驱动代理实现应用***动态脱敏的装置,其特征在于,包括:
插件程序部署模块,用于将用于对JDBC驱动进行代理的动态脱敏插件程序部署至应用服务器上;
查询结果封装模块,用于当响应于所述应用服务器的JDBC查询请求时,根据所述JDBC查询请求,通过所述动态脱敏插件程序调用JDBC驱动从第一目标数据库中获取查询结果,并将所述查询结果封装至代理结果集对象中;
脱敏规则设置模块,用于将所述第一目标数据库的数据源信息添加至数据库脱敏设备上,并对所述数据源信息中的敏感数据配置脱敏规则,将所述脱敏规则保存至所述数据库脱敏设备上的第二目标数据库中;
脱敏规则获取模块,用于通过所述动态脱敏插件程序从所述第二目标数据库中获取脱敏策略,所述脱敏策略包括所有脱敏规则;
查询结果调取模块,用于通过所述动态脱敏插件程序调取所述代理结果集对象中的查询结果;
查询结果匹配模块,用于将查询结果与所述脱敏策略进行匹配,确定待脱敏数据和对应的脱敏规则,并按照该脱敏规则对所述待脱敏数据进行脱敏处理;
代理结果集对象返回模块,用于将脱敏处理后的数据封装回代理结果集对象中,并将脱敏处理后封装的代理结果集对象发送至所述应用服务器。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN202210510647.3A 2022-05-11 2022-05-11 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置 Pending CN115237952A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210510647.3A CN115237952A (zh) 2022-05-11 2022-05-11 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210510647.3A CN115237952A (zh) 2022-05-11 2022-05-11 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置

Publications (1)

Publication Number Publication Date
CN115237952A true CN115237952A (zh) 2022-10-25

Family

ID=83667877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210510647.3A Pending CN115237952A (zh) 2022-05-11 2022-05-11 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置

Country Status (1)

Country Link
CN (1) CN115237952A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428273A (zh) * 2020-04-23 2020-07-17 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN116484410A (zh) * 2023-06-16 2023-07-25 鱼快创领智能科技(南京)有限公司 一种无侵入式动态脱敏加密方法及***
CN117390658A (zh) * 2023-12-13 2024-01-12 北京宇信科技集团股份有限公司 一种数据安全引擎、数据安全访问***和访问方法
CN117668898A (zh) * 2023-11-23 2024-03-08 北京新数科技有限公司 一种基于Oracle的动态数据脱敏方法及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428273A (zh) * 2020-04-23 2020-07-17 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN111428273B (zh) * 2020-04-23 2023-08-25 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN116484410A (zh) * 2023-06-16 2023-07-25 鱼快创领智能科技(南京)有限公司 一种无侵入式动态脱敏加密方法及***
CN117668898A (zh) * 2023-11-23 2024-03-08 北京新数科技有限公司 一种基于Oracle的动态数据脱敏方法及***
CN117390658A (zh) * 2023-12-13 2024-01-12 北京宇信科技集团股份有限公司 一种数据安全引擎、数据安全访问***和访问方法
CN117390658B (zh) * 2023-12-13 2024-03-05 北京宇信科技集团股份有限公司 一种数据安全引擎、数据安全访问***和访问方法

Similar Documents

Publication Publication Date Title
CN115237952A (zh) 一种基于jdbc驱动代理实现应用***动态脱敏的方法及装置
CN107798617B (zh) 保险业务处理方法和装置
CN106407843A (zh) 数据脱敏方法和数据脱敏装置
CN108170578B (zh) 日志收集方法及装置
CN108154047A (zh) 一种数据脱敏方法和装置
CN109635019B (zh) 请求处理方法、装置、设备及存储介质
CN113014475B (zh) 消息推送集成方法、装置
WO2022134186A1 (zh) 区块链的智能合约调用方法、装置、服务器和存储介质
CN113434910A (zh) 一种业务数据上链方法及装置
CN109446648B (zh) 仿真服务建立方法及装置
CN111651467B (zh) 一种区块链节点接口发布调用方法和装置
CN112948877A (zh) 一种基于tcp代理的数据库动态脱敏方法及***
CN112035344A (zh) 多场景测试方法、装置、设备和计算机可读存储介质
CN112685709A (zh) 一种授权令牌管理方法、装置、存储介质及电子设备
CN110597861A (zh) 实时告警方法、装置及设备和计算机可读存储介质
CN112506681B (zh) 参数调用方法、装置、电子设备及存储介质
KR20200030980A (ko) 스마트 보안 매체에 설치된 번들의 동시 활성화 관리 방법 및 장치
CN112083925A (zh) 基于h5页面开发的数据获取方法、装置、设备及存储介质
CN110874365A (zh) 一种信息查询方法及其相关设备
CN113691972B (zh) 安卓***的业务配置方法和装置
CN109086145B (zh) 数据生成方法、装置及计算机存储介质
CN113472840B (zh) 一种云服务动态管理方法及装置
CN111176864B (zh) App服务数据调用方法及装置
CN114138318B (zh) 软件资产清点方法、***、终端及存储介质
CN115017119A (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