CN107194276A - 数据库动态脱敏方法及设备 - Google Patents
数据库动态脱敏方法及设备 Download PDFInfo
- Publication number
- CN107194276A CN107194276A CN201710305006.3A CN201710305006A CN107194276A CN 107194276 A CN107194276 A CN 107194276A CN 201710305006 A CN201710305006 A CN 201710305006A CN 107194276 A CN107194276 A CN 107194276A
- Authority
- CN
- China
- Prior art keywords
- data base
- desensitization
- manipulation statement
- statement
- implementing result
- 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
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
-
- 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/21—Design, administration or maintenance of databases
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种数据库动态脱敏方法及设备,通过客户端代理驱动通过标准的客户端驱动接口获取到上层应用的数据库操作语句,客户端代理驱动通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给上层应用,基于标准的驱动接口可以较容易的实现操作语句的获取和操作结果的返回,客户端代理驱动可以较容易的兼容主流的数据库厂商和大数据分析平台;另外,可以对操作语句和/或返回结果进行全面的过滤和权限控制,提升了数据库访问的权限控制等级,抬高了数据访问时的安全保护等级,降低了数据泄露的风险。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据库动态脱敏方法及设备。
背景技术
大数据时代,数据的价值体现在我们利用它支持业务功能,只有在应用中,数据才具有价值。我们看到,数据利用越多的地方,数据的价值越大。但是,数据的利用过程中也会带来许多风险。任何企业都存在或多或少的敏感数据,如信用卡号、个人的身份信息、医疗诊断等,甚至非个人敏感信息,如公司财务信息和知识产权等。许多敏感信息受到政府和行业等数据隐私法规的保护,如果数据隐私被泄露,将可能引起企业员工和外部人员的滥用或者工作失职,企业也将因此面临严重的经济惩罚和法律制裁,同时也会影响公司在消费者心目中的信誉。
现代管理中,信息系统的采用在提高管理效率的同时,也会引发数据隐私泄露的风险。企业应用软件常常利用个人数据完成业务操作过程并得到结果。比如,当购买一张机票时,会在计算机系统输入旅行者姓名、地址、银行卡信息,以及其它为了生成一张机票所需要的任何信息。此外,公司在软件开发中,因测试或外包也可能造成隐私数据的泄漏。可见,数据作为企业的最重要的资源,数据安全是企业信息管理中必将面临的问题。根据使用者的权限,采用技术隐藏需要保护的数据,将是数据生命周期中实现数据安全的一个必要手段。数据脱敏的目的是通过向使用者隐藏敏感信息,阻止敏感数据的滥用。
数据脱敏主要有两种形式:静态数据脱敏(SDM)和动态数据脱敏(DDM)。SDM用于处理静止的数据,例如,从一个生产数据库拷贝到一个非生产数据库的数据的提前隐藏。DDM则改变了数据流,能够阻止数据请求者访问敏感数据,而原始的生产数据不发生物理变化。动态数据脱敏是一项新兴的技术,其目标是实现生产数据实时数据隐藏。比如,当银行的客户代表根据客户要求调整信用卡限额时,他要调用单独的应用程序,以访问客户的概要信息,此时,应用会显示从数据库中取回的与用户相关的银行帐号、生日和其它敏感信息。这种即席查询的情况下,SDM无助于保护敏感信息。DDM这种新兴的解决方案能够解决上述问题。Gartner认为数据脱敏市场最终将分成静态和动态两部分。他们观察到,在数据脱敏市场,大多数供应商仅提供SDM技术的情形正在发生转变,安全专业人员和其他利益相关者认识到SDM或者其它当前可用的数据安全技术解决不了敏感数据滥用的某些问题。为满足客户的潜在需求,一些供应商已经开始提供DDM解决方案。一个分化的DDM市场正在兴起,服务于那些SDM所不能满足的案例要求。预计DDM和数据库审计保护(DAP)将产生协同效应,形成更全面、智能的安全检测和保护能力,而且潜在的DAP和DDM能力将合并在一个单一的工具中。
SDM和DDM将应用于企业IT的不同目标,SDM将主要用于应用开发团队。采纳数据脱敏将有助于提升防御内部和外部的数据滥用。同时,数据脱敏将使企业符合法规和审计组织的安全和隐私标准。
而目前动态脱敏主要的实现方式是通过对数据的通信协议进行解析,从而提取出对应的SQL语句,然后再根据相应的策略对SQL语句的返回结果进行脱敏,脱敏之后的结果再根据数据库的通信协议组装成数据包返回给数据库客户端。
这种传统的方式存在的问题是:
(1)数据库的通信协议属于数据库厂商的私有协议,并不对外公开,所以要完美的兼容此类协议是非常困难的。
(2)随着大数据平台的兴起以及新型数据库种类的增加,要在原有的动态脱敏产品中兼容这些产品会变得越来越复杂,所以不能很快的给用户提供完整的动态脱敏解决方案。
发明内容
本发明的一个目的是提供一种数据库动态脱敏方法及设备,能够解决现有的基于协议解析方式的脱敏方案中出现的兼容不完全的问题。
根据本发明的一个方面,提供了一种数据库动态脱敏方法,该方法包括:
通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
进一步的,上述方法中,所述数据库操作语句包括SQL语句。
根据本申请的另一面,还提供一种代理通信协议端的数据库动态脱敏方法,该方法包括:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述方法中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。
进一步的,上述方法中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。
根据本申请的另一面,还提供一种动态脱敏服务器端的数据库动态脱敏方法,该方法包括:
通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述方法中,将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;
将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果,包括:
根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。
进一步的,上述方法中,将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。
根据本发明的另一方面,还提供了一种客户端代理驱动设备,该设备包括:
获取装置,用于通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
转发装置,用于通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
接收装置,用于通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
返回装置,用于通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
进一步的,上述设备中,所述数据库操作语句包括SQL语句。
根据本发明的另一方面,还提供了一种代理通信协议设备,该设备包括:
语句转发装置,用于将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
结果转发装置,用于将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述设备中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。
进一步的,上述设备中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。
根据本发明的另一方面,还提供了一种动态脱敏服务器设备,该设备包括:
语句接收装置,用于通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
执行装置,用于根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
返回装置,用于通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述设备中,所述语句接收装置,用于根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
所述执行装置,用于根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。
进一步的,上述设备中,所述语句接收装置,用于通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
与现有技术相比,通过客户端代理驱动通过标准的客户端驱动接口获取到上层应用的数据库操作语句,客户端代理驱动通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给上层应用,基于标准的驱动接口可以较容易的实现操作语句的获取和操作结果的返回,客户端代理驱动可以较容易的兼容主流的数据库厂商和大数据分析平台;另外,通过所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果,或所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句,所述动态脱敏服务器根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果,可以对操作语句和/或返回结果进行全面的过滤和权限控制,提升了数据库访问的权限控制等级,抬高了数据访问时的安全保护等级,降低了数据泄露的风险。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一实施例的一种数据库动态脱敏方法及设备的架构图;
图2示根据本发明一实施例的一种数据库动态脱敏方法及设备的拓扑图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1和2所示,本发明的数据库动态脱敏方法包括三端,分别为客户端代理驱动端、代理通信协议端和动态脱敏服务器,下面对这三端的处理流程作分别介绍。
如图1和2所示,本发明提供一种客户端代理驱动端的数据库动态脱敏方法,客户端代理驱动用于代替用户现有的客户端驱动,客户端代理驱动通过实现标准的驱动程序接口来完成客户端代理驱动端的数据库动态脱敏方法,所述方法包括:
(a)数据库操作语句的获取
客户端代理驱动通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
(b)数据库操作语句的转发
客户端代理驱动通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
(c)数据库操作结果的接收
客户端代理驱动通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
(d)数据库操作结果的返回
客户端代理驱动通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
在此,由于客户端驱动的接口都是标准而且公开的,所以只要根据标准的驱动接口实现一套客户端代理驱动就可以用于兼容此客户端的数据库,并且目前主流的数据库厂家以及新兴的数据库和大数据平台的厂家都会选择兼容目前的客户端驱动,这样基于数据库客户端驱动代理的动态脱敏方式就能非常快速和灵活的支持相应的数据库类型和版本。本实施例通过基于数据库客户端驱动代理以标准接口的方式实现对于数据库操作语句的提取和转发,并将数据库操作语句的执行结果进行动态脱敏之后以标准接口的方式返回给客户端,对现有的数据库客户端驱动(JDBC/ODBC等)的替换,实现了一种稳定,高效的数据库代理功能,功能运行稳定性高,不存在现有的协议解析方式中会出现的兼容不完全的情况,可以用于数据库访问控制,数据库动态脱敏等领域。
本发明的客户端代理驱动端的数据库动态脱敏方法一实施例中,所述数据库操作语句包括SQL语句。在此,SQL语句是比较通用的数据库操作语句。
如图1和2所示,本发明提供一种代理通信协议端的数据库动态脱敏方法,包括:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。在此,代理通信协议负责客户端代理驱动和动态脱敏服务器之间的可靠网络通信。
本发明的代理通信协议端的数据库动态脱敏方法一实施例中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。在此,通过根据预设的脱敏策略,对所述数据库操作语句的执行结果进行过滤,可以得到可靠的所述数据库操作语句的脱敏后的执行结果。
本发明的代理通信协议端的数据库动态脱敏方法一实施例中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。在此,根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤得到过滤后的据库操作语句,进而根据预设的脱敏策略,对所述过滤后的数据库操作语句的执行结果进行过滤,可以得到更可靠的所述数据库操作语句的脱敏后的执行结果。
如图1和2所示,本发明提供一种动态脱敏服务器端的数据库动态脱敏方法,包括:
动态脱敏服务器通过代理通信协议接收客户端代理驱动发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
所述动态脱敏服务器通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。在此,通过根据预设的脱敏策略,对所述数据库操作语句的执行结果进行过滤,可以得到可靠的所述数据库操作语句的脱敏后的执行结果。
本发明的动态脱敏服务器端的数据库动态脱敏方法一实施例中,将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;
将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果,包括:
根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。在此,所述动态脱敏服务器接收客户端代理驱动发送的数据库操作语句并按策略进行过滤,然后将过滤后的语句转发至后端数据库进行数据操作,并将执行结果按策略脱敏之后返回给客户端代理驱动。根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤得到过滤后的据库操作语句,进而根据预设的脱敏策略,对所述过滤后的数据库操作语句的执行结果进行过滤,可以得到更可靠的所述数据库操作语句的脱敏后的执行结果。
本发明的动态脱敏服务器端的数据库动态脱敏方法一实施例中,所述动态脱敏服务器端将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
所述动态脱敏服务器端通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。在此,JDBC(Java DataBase Connectivity:Java数据库连接)或ODBC(Open DataBase Connectivity:开放数据库连接)方式是比较通用连接方式。
本发明的动态脱敏服务器端的数据库动态脱敏方法一实施例中,动态脱敏服务器包括以下功能:
(a)数据库脱敏策略配置
数据库管理员通过脱敏策略配置进行动态脱敏策略的配置。
动态脱敏策略配置主要包括:
(a.1)用户的数据库操作权限,所述操作权限可以是指用户能够访问数据库的哪些表和哪些字段;
(a.2)数据库操作语句的过滤策略;
(a.3)数据库结果的脱敏策略。
(b)数据库操作语句接收
数据库操作语句接收通过代理通信协议接收客户端代理驱动发送的数据库操作语句。
(c)数据库操作语句过滤
数据操作语句过滤负责根据管理员配置的过滤策略对接收到的数据库操作语句进行过滤。没有经过过滤的操作语句将不会被执行。在此,可以根据所述据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,比如用户没有访问表A的权限,那么当用户访问表A的时候就会不执行,返回一个报错结果。或者用户没有在表A上执行select*的权限,那么当用户执行这个语句的时候也会返回一个报错。
(d)数据库操作语句执行
数据库操作语句执行通过JDBC/ODBC等方式在后端数据库上执行过滤后的数据库操作语句,并获取执行结果。
(e)数据库操作结果脱敏
数据库操作结果脱敏根据管理员配置的脱敏策略对执行结果进行脱敏。
(f)数据库操作结果返回
数据库操作结果通过代理通信协议将脱敏后的操作结果返回给客户端代理驱动程序。
根据本发明的另一方面,还提供了一种客户端代理驱动设备,该设备包括:
获取装置,用于通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
转发装置,用于通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
接收装置,用于通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
返回装置,用于通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
进一步的,上述设备中,所述数据库操作语句包括SQL语句。
根据本发明的另一方面,还提供了一种代理通信协议设备,该设备包括:
语句转发装置,用于将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
结果转发装置,用于将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述设备中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。
进一步的,上述设备中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。
根据本发明的另一方面,还提供了一种动态脱敏服务器设备,该设备包括:
语句接收装置,用于通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
执行装置,用于根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
返回装置,用于通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
进一步的,上述设备中,所述语句接收装置,用于根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
所述执行装置,用于根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。
进一步的,上述设备中,所述语句接收装置,用于通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
根据本申请的另一面,还提供一种基于计算的设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
上述设备实施例的详细内容具体可参见上述方法实施例的对应部分,在此不再赘述。
综上所述,本发明通过客户端代理驱动通过标准的客户端驱动接口获取到上层应用的数据库操作语句,客户端代理驱动通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给上层应用,基于标准的驱动接口可以较容易的实现操作语句的获取和操作结果的返回,客户端代理驱动可以较容易的兼容主流的数据库厂商和大数据分析平台;另外,通过所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果,或所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句,所述动态脱敏服务器根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果,可以对操作语句和/或返回结果进行全面的过滤和权限控制,提升了数据库访问的权限控制等级,抬高了数据访问时的安全保护等级,降低了数据泄露的风险。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (19)
1.一种客户端代理驱动端的数据库动态脱敏方法,其中,该方法包括:
通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
2.根据权利要求1所述的方法,其中,所述数据库操作语句包括SQL语句。
3.一种代理通信协议端的数据库动态脱敏方法,其中,该方法包括:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
4.根据权利要求3所述的方法,其中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。
5.根据权利要求3所述的方法,其中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。
6.一种动态脱敏服务器端的数据库动态脱敏方法,其中,该方法包括:
通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
7.根据权利要求6所述的方法,其中,将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;
将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果,包括:
根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。
8.根据权利要求6所述的方法,其中,将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果,包括:
通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。
9.一种客户端代理驱动设备,其中,该设备包括:
获取装置,用于通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
转发装置,用于通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
接收装置,用于通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
返回装置,用于通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
10.根据权利要求9所述的设备,其中,所述数据库操作语句包括SQL语句。
11.一种代理通信协议设备,其中,该设备包括:
语句转发装置,用于将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
结果转发装置,用于将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
12.根据权利要求11所述的设备,其中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到。
13.根据权利要求11所述的设备,其中,所述数据库操作语句的脱敏后的执行结果,由所述动态脱敏服务器根据预设的脱敏策略,从过滤后的数据库操作语句的执行结果中脱敏得到,其中,所述过滤后的数据库操作语句,由所述动态脱敏服务器根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略,对所述数据库操作语句进行过滤过滤得到。
14.一种动态脱敏服务器设备,其中,该设备包括:
语句接收装置,用于通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
执行装置,用于根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
返回装置,用于通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
15.根据权利要求14所述的设备,其中,所述语句接收装置,用于根据预设的用户的数据库操作权限和/或数据库操作语句的过滤策略对所述数据库操作语句进行过滤,得到过滤后的数据库操作语句;将所述过滤后的数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述过滤后的数据库操作语句的执行结果;
所述执行装置,用于根据预设的脱敏策略,从所述过滤后的数据库操作语句的执行结果中脱敏得到所述数据库操作语句的脱敏后的执行结果。
16.根据权利要求14所述的设备,其中,所述语句接收装置,用于通过JDBC或ODBC方式将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果。
17.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过标准的客户端驱动接口获取到上层应用的数据库操作语句;
通过代理通信协议将所述获取到的数据库操作语句发送给动态脱敏服务器;
通过代理通信协议接收所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果;
通过所述标准的客户端驱动接口将所述脱敏后的执行结果返回给所述上层应用。
18.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将客户端代理驱动程序获取的数据库操作语句发送到脱敏服务器;
将所述动态脱敏服务器返回的所述数据库操作语句的脱敏后的执行结果发送给所述客户端代理驱动。
19.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
通过代理通信协议接收客户端代理驱动通过发送的数据库操作语句,并将所述数据库操作语句转发至后端数据库进行数据操作,以得到后端数据库返回所述数据库操作语句的执行结果;
根据预设的脱敏策略,从所述数据库操作语句的执行结果中脱敏得到脱敏后的执行结果;
通过代理通信协议将所述脱敏后的执行结果发送给所述客户端代理驱动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710305006.3A CN107194276A (zh) | 2017-05-03 | 2017-05-03 | 数据库动态脱敏方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710305006.3A CN107194276A (zh) | 2017-05-03 | 2017-05-03 | 数据库动态脱敏方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107194276A true CN107194276A (zh) | 2017-09-22 |
Family
ID=59872274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710305006.3A Pending CN107194276A (zh) | 2017-05-03 | 2017-05-03 | 数据库动态脱敏方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107194276A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537062A (zh) * | 2018-04-24 | 2018-09-14 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN108846292A (zh) * | 2018-05-30 | 2018-11-20 | 中国联合网络通信集团有限公司 | 脱敏处理方法及装置 |
CN109299616A (zh) * | 2018-09-07 | 2019-02-01 | 北明软件有限公司 | 一种基于连接池的数据安全管控系统和方法 |
CN110516466A (zh) * | 2019-07-12 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种数据脱敏方法与装置 |
CN110889129A (zh) * | 2019-11-29 | 2020-03-17 | 中国银行股份有限公司 | 银行数据安全控制方法及装置 |
CN110889134A (zh) * | 2019-11-11 | 2020-03-17 | 北京中电飞华通信股份有限公司 | 一种数据脱敏方法、装置与电子设备 |
CN111199048A (zh) * | 2020-01-02 | 2020-05-26 | 航天信息股份有限公司 | 基于具有生命周期的容器的大数据分级脱敏方法和系统 |
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113901515A (zh) * | 2021-10-11 | 2022-01-07 | 矢量云科信息科技(无锡)有限公司 | 一种动态脱敏处理方法和动态脱敏系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727475A (zh) * | 2009-10-12 | 2010-06-09 | 奇智(上海)信息科技有限公司 | 一种获取数据库访问过程的方法、装置及系统 |
CN103473353A (zh) * | 2013-09-25 | 2013-12-25 | 上海交通大学 | 面向Web安全的数据库安全防护方法和系统 |
CN104270465A (zh) * | 2014-10-23 | 2015-01-07 | 成都双奥阳科技有限公司 | 一种云存储的保护系统 |
CN106295388A (zh) * | 2015-06-04 | 2017-01-04 | 中国移动通信集团山东有限公司 | 一种数据脱敏方法和装置 |
-
2017
- 2017-05-03 CN CN201710305006.3A patent/CN107194276A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727475A (zh) * | 2009-10-12 | 2010-06-09 | 奇智(上海)信息科技有限公司 | 一种获取数据库访问过程的方法、装置及系统 |
CN103473353A (zh) * | 2013-09-25 | 2013-12-25 | 上海交通大学 | 面向Web安全的数据库安全防护方法和系统 |
CN104270465A (zh) * | 2014-10-23 | 2015-01-07 | 成都双奥阳科技有限公司 | 一种云存储的保护系统 |
CN106295388A (zh) * | 2015-06-04 | 2017-01-04 | 中国移动通信集团山东有限公司 | 一种数据脱敏方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537062A (zh) * | 2018-04-24 | 2018-09-14 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN108537062B (zh) * | 2018-04-24 | 2022-03-22 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN108846292A (zh) * | 2018-05-30 | 2018-11-20 | 中国联合网络通信集团有限公司 | 脱敏处理方法及装置 |
CN109299616A (zh) * | 2018-09-07 | 2019-02-01 | 北明软件有限公司 | 一种基于连接池的数据安全管控系统和方法 |
CN110516466A (zh) * | 2019-07-12 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种数据脱敏方法与装置 |
CN110889134B (zh) * | 2019-11-11 | 2024-01-23 | 北京中电飞华通信股份有限公司 | 一种数据脱敏方法、装置与电子设备 |
CN110889134A (zh) * | 2019-11-11 | 2020-03-17 | 北京中电飞华通信股份有限公司 | 一种数据脱敏方法、装置与电子设备 |
CN110889129B (zh) * | 2019-11-29 | 2022-02-11 | 中国银行股份有限公司 | 银行数据安全控制方法及装置 |
CN110889129A (zh) * | 2019-11-29 | 2020-03-17 | 中国银行股份有限公司 | 银行数据安全控制方法及装置 |
CN111199048A (zh) * | 2020-01-02 | 2020-05-26 | 航天信息股份有限公司 | 基于具有生命周期的容器的大数据分级脱敏方法和系统 |
CN111199048B (zh) * | 2020-01-02 | 2023-07-25 | 航天信息股份有限公司 | 基于具有生命周期的容器的大数据分级脱敏方法和系统 |
CN113535754A (zh) * | 2021-07-27 | 2021-10-22 | 杭州海康威视数字技术股份有限公司 | 一种数据访问方法、装置及系统 |
CN113901515A (zh) * | 2021-10-11 | 2022-01-07 | 矢量云科信息科技(无锡)有限公司 | 一种动态脱敏处理方法和动态脱敏系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107194276A (zh) | 数据库动态脱敏方法及设备 | |
US11762823B2 (en) | Method and system for cloning enterprise content management systems | |
AU2019239311B2 (en) | Facilitating queries of encrypted sensitive data via encrypted variant data objects | |
US8935392B2 (en) | Event management for hosted applications | |
US20140012833A1 (en) | Protection of data privacy in an enterprise system | |
US20210141920A1 (en) | Dynamic view for implementing data access control policies | |
US20240169055A1 (en) | Systems and methods for a virtual sandbox database | |
US11907199B2 (en) | Blockchain based distributed file systems | |
US8838547B2 (en) | Web-enabled database access tools | |
US10362052B2 (en) | Generating a virtual database to test data security of a real database | |
CN107943949A (zh) | 一种确定网络爬虫的方法及服务器 | |
CN113711221A (zh) | 可链记录的高效存取 | |
US20110219046A1 (en) | System, method and computer program product for managing data storage and rule-driven communications for a plurality of tenants | |
US9275112B2 (en) | Filtering views with predefined query | |
CN113158233B (zh) | 数据预处理方法、装置及计算机存储介质 | |
EP2570943B1 (en) | Protection of data privacy in an enterprise system | |
US20210124732A1 (en) | Blockchain based distributed file systems | |
CN103870480A (zh) | 动态数据遮罩方法以及数据库系统 | |
US11169997B1 (en) | Centralized data access tool implementing resource governance | |
CN114297719A (zh) | 数据的脱敏方法和装置、存储介质和电子设备 | |
US8880503B2 (en) | Value-based positioning for outer join queries | |
CN111435327B (zh) | 一种日志记录的处理方法、装置及系统 | |
Jain et al. | Sniffdroid: Detection of inter-app privacy leaks in android | |
CN108021464A (zh) | 一种应用程序响应数据的兜底处理的方法以及装置 | |
CN114066331A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170922 |