WO2017088683A1 - 一种数据脱敏的方法及系统 - Google Patents

一种数据脱敏的方法及系统 Download PDF

Info

Publication number
WO2017088683A1
WO2017088683A1 PCT/CN2016/105823 CN2016105823W WO2017088683A1 WO 2017088683 A1 WO2017088683 A1 WO 2017088683A1 CN 2016105823 W CN2016105823 W CN 2016105823W WO 2017088683 A1 WO2017088683 A1 WO 2017088683A1
Authority
WO
WIPO (PCT)
Prior art keywords
query language
structured query
desensitization
source table
table data
Prior art date
Application number
PCT/CN2016/105823
Other languages
English (en)
French (fr)
Inventor
曾文秋
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2017088683A1 publication Critical patent/WO2017088683A1/zh

Links

Images

Classifications

    • 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
    • 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/604Tools and structures for managing or administering access control systems
    • 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/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints

Definitions

  • the present application relates to the field of data processing technologies, and in particular, to a method for desensitizing data, and a system for desensitizing data.
  • Data desensitization refers to the deformation of some sensitive information through desensitization rules, and changes its value while preserving the original features of the data (such as data type, length and attributes).
  • Data desensitization completes sensitive information anonymization (also known as data warping, data masking, data obfuscation, and data scrambling) to prevent sensitive data from being abused and compromised, and to protect sensitive data from unauthorized access.
  • the existing desensitization method is mainly desensitization of static data, and the desensitization process includes the following steps:
  • the system checks the source table read and target table write permissions
  • the system displays the table structure and partition structure of the target table in the configuration interface
  • the user specifies a desensitization rule for each column of the target table
  • the task is automatically scheduled every day to produce desensitization data.
  • the query sentence input by the user A is an inquiry of the ID card number and the name, and the ID card number has the specified desensitization rule.
  • the system performs desensitization calculation on the ID card number to obtain the desensitized ID card number.
  • the query statement input by the user B is the query of the mobile phone number and the name, and the system generates a target table desensitized to the mobile phone number.
  • the technical problem to be solved by the embodiments of the present application is to provide a data desensitization method for flexibly performing data desensitization, reducing data consumption and computational consumption, and improving data desensitization efficiency.
  • the embodiment of the present application further provides a data desensitization system for ensuring implementation and application of the foregoing method.
  • the embodiment of the present application discloses a data desensitization method, and the method includes:
  • the structured query language is rewritten according to the desensitization rule
  • the step of rewriting the structured query language according to the desensitization rule comprises:
  • the source table data in the structured query language is overwritten in accordance with the matched desensitization rules.
  • the step of acquiring source table data in the structured query language comprises:
  • Source table data is obtained according to the abstract syntax tree, the source table data includes column record data, and the column record data includes a column field identifier.
  • the step of rewriting the source table data in the structured query language according to the matched desensitization rule is:
  • the source table data is rewritten into nested sub-query statements, and the sub-query statements include the matched desensitization rules.
  • the sub-query statement is generated by the following rules:
  • the column field identifier to which the desensitization rule is added is identified by the column field identifier as an alias, and a subquery statement is generated.
  • the embodiment of the present application also discloses a data desensitization system, and the system includes:
  • SQL read module for reading structured query language
  • the SQL rewriting module is configured to: when determining that the structured query language meets a preset desensitization rule, rewriting the structured query language according to the desensitization rule;
  • the SQL execution module is used to execute the rewritten structured query language and output the query result.
  • the SQL rewriting module comprises:
  • a source table data obtaining submodule configured to obtain source table data in the structured query language, where the source table data includes a column field identifier
  • a matching submodule configured to match the column field identifier in a preset desensitization rule base
  • a desensitization rule obtaining submodule configured to obtain a desensitization rule matching the column field identifier when the matching is successful
  • the source table data obtaining submodule comprises:
  • a parsing unit configured to parse the structured query language to obtain an abstract syntax tree of the structured query language
  • the source table data obtaining unit is configured to obtain source table data according to the abstract syntax tree, the source table data includes column record data, and the column record data includes a column field identifier.
  • the rewriting submodule is further configured to:
  • the source table data is rewritten into nested sub-query statements, and the sub-query statements include the matched desensitization rules.
  • the sub-query statement is generated by the following rules:
  • the column field identifier to which the desensitization rule is added is identified by the column field identifier as an alias, and a subquery statement is generated.
  • the embodiments of the present application include the following advantages:
  • the embodiment of the present application enables the user to output the desynthesized query result after inputting the structured query language, which can be transparent to the user.
  • the embodiment of the present application does not need to calculate desensitized data according to the desensitization rule and saves it as a target table, which saves storage and calculation consumption and improves data desensitization efficiency.
  • FIG. 1 is a flow chart showing the steps of a first embodiment of a method for desensitizing data according to the present application
  • FIG. 2 is a flow chart showing the steps of a second embodiment of the data desensitization method of the present application.
  • Embodiment 3 is a schematic diagram of an abstract syntax tree in Embodiment 2 of a data desensitization method of the present application;
  • FIG. 4 is a block diagram showing the structure of an embodiment of a data desensitization system of the present application.
  • the method may include the following steps:
  • Step 101 Read a structured query language.
  • Step 102 When it is determined that the structured query language meets a preset desensitization rule, rewriting the structured query language according to the desensitization rule;
  • step 103 the rewritten structured query language is executed, and the query result is output.
  • the read structured query language is rewritten, and the rewritten structured query language is directly executed, and the query result is outputted to realize dynamic data desensitization and flexible output desensitization query result. Data security is guaranteed.
  • the embodiment of the present application enables the user to output the desynthesized query result after inputting the structured query language, which can be transparent to the user.
  • the embodiment of the present application does not need to calculate desensitized data according to the desensitization rule and saves it as a target table, which saves storage and calculation consumption and improves data desensitization efficiency.
  • the method may include the following steps:
  • Step 201 reading a structured query language
  • step 201 the structured query language entered by the user can be read.
  • the user may be a development engineer, an algorithm engineer, a data analyst, or the like.
  • SQL Structured Query Language
  • RDBMS Relational Database Management System
  • the data in the RDBMS is stored in a database object called a table, where the table is a collection of related data items, and a database usually contains one or more tables, each of which has a corresponding name identifier (for example , "customer" or "order", each table contains row and column records with data, each row record has a row field identifier (for example, 1, 2, 3, etc.), each column record has a column field Identification (for example, name, age, mobile number, etc.).
  • RDBMS is the foundation of SQL and is the foundation of all modern database systems. Most of the work performed on the database is done by SQL statements.
  • Step 202 Acquire source table data in the structured query language, where the source table data includes a column field identifier.
  • the source table data can be further obtained from the SQL statement.
  • step 202 may include the following sub-steps:
  • Sub-step S11 parsing the structured query language to obtain an abstract syntax tree of the structured query language
  • the lexical analyzer and the parser can be used to parse the lexical and grammar of the SQL to obtain an abstract syntax tree (Abstract Syntax Tree, AST for short).
  • Lexical analysis is the process of converting a sequence of characters into a sequence of tokens in computer science.
  • the program or function for lexical analysis is called a Lexical analyzer (Lexer), also called a Scanner.
  • the lexical analyzer generally exists as a function for the parser to call.
  • the lexical analyzer is a Deterministic Finite Automaton (DFA) that converts the input character set into a "Token" according to the defined lexical, for example:
  • DFA Deterministic Finite Automaton
  • the defined lexical is:
  • Grammatical analysis is a logical phase of the compilation process. Its task is to combine word sequences (Tokens) into various grammatical phrases based on lexical analysis, such as "programs", “statements", “expressions”, etc., parsing
  • the program determines if the source program is structurally correct.
  • the program that completes the parsing task is called a parser, or a parser.
  • the parser can perform a pre-check on the input token stream to determine whether it conforms to the syntax logic. For example, the following SQL statement does not give the target table:
  • ERROR ODPS-0130161: Parse exception-line 1:17mismatched input' ⁇ EOF>'expecting Identifier near'table'in table name.
  • the parser can construct an abstract syntax tree AST, parse the natural semantic SQL statement into a more abstract, machine-understandable data structure, and represent the Token stream in a tree structure.
  • Each node on the node is a Token, and the syntax is represented by a tree structure.
  • the AST generated by the previous Token stream can be similar to the form shown in Figure 3.
  • AST for the analysis of SQL statements, because the SQL statement itself is a highly structured language (Structure Query Language), the "logical result set" and “sub-query” in the SQL statement makes it easy to SQL statements Converted into a "grammar tree” type structure, a strong dependency between the elements in the syntax tree, for example, in Figure 3, a SQL statement is cut into several root nodes: SELECT, FROM. There are child nodes below the root node, and a logical dependency is formed between the root node and the child nodes.
  • Source table data is obtained, the source table data includes column record data, and the column record data includes a column field identifier.
  • the source table data can be obtained according to the data structure in the AST. For example, in FIG. 3, the source table data can be obtained as "dual" from the child nodes below the root node of the FROM.
  • an input table ie, source table data
  • the column record data includes column names, as shown in Table 2:
  • Step 203 Match the column field identifier in a preset desensitization rule base.
  • the user may pre-set a corresponding desensitization rule for one or more columns of a data table, wherein the desensitization rule may be a desensitization algorithm preset for the column record.
  • the desensitization rule may be exemplified as follows:
  • parameter string is salt value (ie encryption interference value), which can improve encryption security
  • Encryption function the parameter is the specified key (can be decrypted, please use with caution)
  • Decrypt function the parameter is the specified key, and the corresponding encryption algorithm is encrypt.
  • the parameter specifies the date format of the input, the default is fuzzy to 10 minutes, and the parameter 'day'/'hour' can be additionally specified to blur to hour/day.
  • the desensitization rule can be stored in the desensitization rule base.
  • the desensitization rule base can be as shown in Table 3 below:
  • udf1, udf2, udf3, udf4, udf5 are specific desensitization rules, such as md5 in the above example and the like.
  • the table name and the column name of the source table data may be used as matching items, and the source table data and the column record data in the SQL statement are matched in the desensitization database, if one or more columns in the source table data Matching a desensitization rule in the desensitization database indicates that the matched column has a matching desensitization rule.
  • Step 204 If the matching is successful, obtain a desensitization rule that matches the column field identifier;
  • Step 205 Rewrite the source table data in the structured query language according to the matched desensitization rule
  • the source table data of the SQL can be rewritten according to the matching desensitization rule, and the process of data rewriting can be in the cloud data development platform. Completed in the middle.
  • step 205 may be: in the structured query language, rewriting the source table data into a nested sub-query statement, where the sub-query statement includes The matching desensitization rules are described.
  • the function of rewriting the source table data may be to replace the source table with a temporary table desensitized to sensitive data.
  • the subquery statement can be generated using the following rules:
  • the column record data with desensitization rules in the source table data is: dual.column1, and the desensitization algorithm is udf1. Then, after adding the desensitization rule udf1 to column1, udf1(column1) is obtained, and then column1 is used as an alias of udf1(column1), that is, udf1(column1)as column1.
  • step 206 the rewritten structured query language is executed, and the query result is output.
  • the rewritten SQL can be submitted to the computing cluster (such as the open source hadoop cluster), and the rewritten SQL statement is executed by the computing cluster, and the source table is replaced with a temporary table desensitized to the data. And generate query results based on the temporary table, and output the desensitized query results to ensure the security of sensitive data.
  • the computing cluster such as the open source hadoop cluster
  • the SQL statement entered by the user is:
  • Table1 corresponds to the following fields:
  • Table3 corresponds to the following fields:
  • the desensitization algorithm set by the user in the desensitization rule base for the columns of the table table1 and table3 is as follows:
  • the input table of SQL that is, the source table
  • its columns are as follows:
  • the sql when the user queries the sql, the sql is automatically rewritten in combination with the desensitization rule base to achieve transparency to the user, improve the flexibility of data desensitization, and improve the efficiency of data desensitization.
  • FIG. 4 a block diagram of a system embodiment of data desensitization of the present application is shown.
  • the system may include the following modules:
  • the SQL reading module 401 is configured to read the structured query language
  • the SQL rewriting module 402 is configured to: when determining that the structured query language meets a preset desensitization rule, rewriting the structured query language according to the desensitization rule;
  • the SQL execution module 403 is configured to execute the rewritten structured query language and output the query result.
  • the SQL rewriting module 402 may include the following submodules:
  • a source table data obtaining submodule configured to obtain source table data in the structured query language, where the source table data includes a column field identifier
  • a matching submodule configured to match the column field identifier in a preset desensitization rule base
  • a desensitization rule obtaining submodule configured to obtain a desensitization rule matching the column field identifier when the matching is successful
  • the source table data obtaining submodule may further include the following units:
  • a parsing unit configured to parse the structured query language to obtain an abstract syntax tree of the structured query language
  • the source table data obtaining unit is configured to obtain source table data according to the abstract syntax tree, the source table data includes column record data, and the column record data includes a column field identifier.
  • the rewriting sub-module can also be used to:
  • the source table data is rewritten into nested sub-query statements, and the sub-query statements include the matched desensitization rules.
  • the sub-query statement may be generated by using the following rules:
  • the column field identifier to which the desensitization rule is added is identified by the column field identifier as an alias, and a subquery statement is generated.
  • embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program operating instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine for execution by a processor of a computer or other programmable data processing terminal device
  • the operational instructions generate means for implementing the functions specified in one or more of the flow or in a block or blocks of the flowchart.
  • the computer program operating instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that operational instructions stored in the computer readable memory produce manufacturing including the operational command device
  • the operation instruction means implements the functions specified in one block or a plurality of blocks of a flow or a flow and/or a block diagram of the flowchart.
  • These computer program operating instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal
  • the operational instructions executed on the device provide steps for implementing the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)

Abstract

一种数据脱敏的方法及系统,其中所述方法包括:读取结构化查询语言(101);当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写(102);执行重写后的结构化查询语言,输出查询结果(103)。本方法可以实现动态数据脱敏,灵活的输出脱敏后的查询结果,保证了数据的安全。

Description

一种数据脱敏的方法及系统
本申请要求2015年11月24日递交的申请号为201510824704.5、发明名称为“一种数据脱敏的方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据脱敏的方法,以及一种数据脱敏的系统。
背景技术
随着大数据时代的到来,大数据商业价值的挖掘,用户的精准定位,大数据中蕴藏的巨大商业价值被逐步挖掘出来,但是同时也带来了巨大的挑战——个人隐私信息的保护。个人信息与个人行为(比如位置信息、消费行为、网络访问行为)等,这些都是人的隐私,即敏感信息,在大数据价值挖掘的基础上如何保护用户的隐私信息,也将是数据脱敏必须解决的难题。
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,在保存数据原始特征(比如数据类型、长度和属性等)的同时改变它的数值。数据脱敏完成敏感信息匿名化处理(也称为数据变形、数据屏蔽、数据混淆、数据扰频),从而防止敏感数据被滥用、被泄露的风险,保护敏感数据免于未经授权的访问。
现有的脱敏方式主要为静态数据脱敏,其脱敏过程包括如下步骤:
1、选择源项目和目标项目,选择源表和目标表;
2、系统校验源表读和目标表写权限;
3、系统在配置界面显示目标表的表结构、分区结构;
4、用户为目标表的每列指定脱敏规则;
5、用户将任务提交到调度;
6、任务每天自动调度,产出脱敏数据。
例如,用户A输入的查询语句是对身份证号码和姓名的查询,而身份证号码具有指定的脱敏规则,此时系统对身份证号码进行脱敏计算,得到脱敏后的身份证号码,并根据脱敏后的身份证号码和姓名生成目标表进行存储;用户B输入的查询语句是对手机号码和姓名的查询,则系统又生成对手机号码脱敏后的目标表进行存储。
可以看出,现有技术根据不同用户的不同脱敏需求,需要配置不同的脱敏调度任务,生成不同的目标表,对存储和计算的消耗非常大,并且调度缺乏灵活性。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种数据脱敏的机制,用以灵活的进行数据脱敏,降低数据存储和计算的消耗,提高数据脱敏效率。
发明内容
本申请实施例所要解决的技术问题是提供一种数据脱敏的方法,用以灵活的进行数据脱敏,降低数据存储和计算的消耗,提高数据脱敏效率。
相应的,本申请实施例还提供了一种数据脱敏的系统,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种数据脱敏的方法,所述方法包括:
读取结构化查询语言;
当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
执行重写后的结构化查询语言,输出查询结果。
优选地,所述当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写的步骤包括:
获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
在预设的脱敏规则库中匹配所述列字段标识;
若匹配成功,则获得与所述列字段标识匹配的脱敏规则;
按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据。
优选地,所述获取所述结构化查询语言中的源表数据的步骤包括:
解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
优选地,所述按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据的步骤为:
在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
优选地,所述子查询语句采用如下规则生成:
将所述匹配的脱敏规则添加到对应的列字段标识中;
将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
本申请实施例还公开了一种数据脱敏的系统,所述系统包括:
SQL读取模块,用于读取结构化查询语言;
SQL重写模块,用于在判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
SQL执行模块,用于执行重写后的结构化查询语言,输出查询结果。
优选地,所述SQL重写模块包括:
源表数据获取子模块,用于获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
匹配子模块,用于在预设的脱敏规则库中匹配所述列字段标识;
脱敏规则获取子模块,用于在匹配成功时,获得与所述列字段标识匹配的脱敏规则;
重写子模块,用于按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据。
优选地,所述源表数据获取子模块包括:
解析单元,用于解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
源表数据获得单元,用于根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
优选地,所述重写子模块还用于:
在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
优选地,所述子查询语句采用如下规则生成:
将所述匹配的脱敏规则添加到对应的列字段标识中;
将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
与背景技术相比,本申请实施例包括以下优点:
在本申请实施例中,当读取到用户输入的结构化查询语言以后,判断该结构化查询语言是否符合预设的脱敏规则,若该结构化查询语言符合预设的脱敏规则,则根据该脱 敏规则,对读取的结构化查询语言进行重写,并直接执行重写后的结构化查询语言,输出查询结果,实现动态数据脱敏,灵活的输出脱敏后的查询结果,保证了数据的安全。
另外,本申请实施例使得用户在输入结构化查询语言后输出的是脱敏后的查询结果,能够对用户透明。
另外,本申请实施例无需根据脱敏规则计算脱敏后的数据并另存为一份目标表,节省了存储和计算的消耗,提高了数据脱敏效率。
附图说明
图1是本申请的一种数据脱敏的方法实施例一的步骤流程图;
图2是本申请的一种数据脱敏的方法实施例二的步骤流程图;
图3是本申请的一种数据脱敏的方法实施例二中的抽象语法树示意图;
图4是本申请的一种数据脱敏的系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种数据脱敏的方法实施例一的步骤流程图,所述方法可以包括如下步骤:
步骤101,读取结构化查询语言;
步骤102,当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
步骤103,执行重写后的结构化查询语言,输出查询结果。
在本申请实施例中,当读取到用户输入的结构化查询语言以后,判断该结构化查询语言是否符合预设的脱敏规则,若该结构化查询语言符合预设的脱敏规则,则根据该脱敏规则,对读取的结构化查询语言进行重写,并直接执行重写后的结构化查询语言,输出查询结果,实现动态数据脱敏,灵活的输出脱敏后的查询结果,保证了数据的安全。
另外,本申请实施例使得用户在输入结构化查询语言后输出的是脱敏后的查询结果,能够对用户透明。
另外,本申请实施例无需根据脱敏规则计算脱敏后的数据并另存为一份目标表,节省了存储和计算的消耗,提高了数据脱敏效率。
参照图2,示出了本申请的一种数据脱敏的方法实施例二的步骤流程图,所述方法可以包括如下步骤:
步骤201,读取结构化查询语言;
在步骤201中,可以读取用户输入的结构化查询语言。在具体实现中,用户可以为开发工程师、算法工程师、数据分析师等。
结构化查询语言(Structured Query Language,简称SQL),是用于访问和处理数据库的标准的计算机语言,例如,用于存取数据以及查询、更新和管理关系数据库系统(Relational Database Management System,简称RDBMS)。
RDBMS中的数据存储在被称为表(tables)的数据库对象中,其中,表是相关的数据项的集合,一个数据库通常包含一个或多个表,每个表具有对应的一个名字标识(例如,“客户”或者“订单”),每个表包含带有数据的行记录和列记录,每个行记录具有行字段标识(例如,1,2,3等),每个列记录具有列字段标识(例如,姓名、年龄、手机号码等)。
RDBMS是SQL的基础,同样也是所有现代数据库系统的基础,在数据库上执行的大部分工作都由SQL语句完成的。
步骤202,获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
读取用户输入的SQL语句以后,可以进一步从该SQL语句中获取源表数据。
在本申请实施例的一种优选实施例中,步骤202可以包括如下子步骤:
子步骤S11,解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
在具体实现中,可以通过词法分析器及语法分析器来对SQL的词法、语法等进行解析,得到SQL的抽象语法树(Abstract SyntaxTree,简称AST)。
词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程。进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。
词法分析器是一个确定有限状态的自动机(Deterministic Finite Automaton,简称DFA),它会按照定义好的词法,把输入的字符集转换成一个个“Token”,例如:
定义的词法为:
abc=>Identifier(标识符)
'abc'=>StringLiteral(字符串)
123=>Number(数字)
SELECT=>KeyWord(关键字)
当输入如下SQL语句:SELECT id+10FROM dual;
Identifier(标识符)StringLiteral(字符串)Number(数字)KeyWord(关键字)经过词法分析后,可以输出一个Token流,如下:
(KeyWord:SELECT)(Identifier:id)(KeyWord:+)(Number:10)(KeyWord:FROM)(Identifie r:dual)。
语法分析是编译过程的一个逻辑阶段,其任务是在词法分析的基础上将单词序列(Token)组合成各类语法短语,如“程序”,“语句”,“表达式”等等,语法分析程序判断源程序在结构上是否正确。完成语法分析任务的程序称为语法分析器,或语法分析程序。
语法分析器可以对输入Token流做前置检查,判断是否符合语法逻辑,比如下面这个SQL语句,没有给出目标表:
INSERT OVERWRITE table;
语法分析器判断其不符合语法逻辑,则报错:
ERROR:ODPS-0130161:Parse exception-line 1:17mismatched input'<EOF>'expecting Identifier near'table'in table name。
若语法分析器的语法检查通过,语法分析器可以构造生成一棵抽象语法树AST,将自然语义的SQL语句解析成较为抽象地、机器可理解的数据结构,以树形结构表示Token流,树上的每个节点都是一个Token,通过树结构表示语法,比如前面的Token流生成的AST可以类似图3所示的形式。
采用AST进行SQL语句的解析,原因在于SQL语句本身就是一种高度结构化的语言(Structure Query Language),SQL语句中的"逻辑结果集"和"子查询"等特点使得很容易能够将SQL语句转化为一个"语法树"型的结构,语法树中的各个元素之间形成强依赖关系,例如,在图3中,一条SQL语句被切分成了几个根节点:SELECT、FROM。根节点下面又有子节点,根节点和子节点之间形成逻辑上的依赖关系。
子步骤S12,根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
得到AST以后,根据AST中的数据结构,能够获得源表数据。例如,在图3中,能够从FROM的根节点下面的子节点中获得源表数据为“dual”。
假设“dual”对应如下表1的字段:
表1
字段名
id
column1
column3
column5
column7
则根据AST可以得到该sql语句的输入表(即源表数据)及其列记录数据,所述列记录数据包括列名,如表2所示:
表2
表名 列名
dual id
dual column1
dual column3
dual column5
dual column7
步骤203,在预设的脱敏规则库中匹配所述列字段标识;
用户可以为某个数据表的一列或多列预先设定对应的脱敏规则,其中,脱敏规则可以为针对列记录预设的脱敏算法,例如,脱敏规则可以示例如下:
long_hash
功能描述:对输入进行散列,结果为长整型数
参数:字段名
实例:long_hash(id)
crc32
功能描述:采用CRC32算法对输入加密,结果为长整型
参数:字段名
实例:long_hash(id)
crc64
功能描述:CRC64算法对输入加密,结果为长整型
参数:字段名
实例:long_hash(id)
md5
功能描述:md5算法对输入加密,参数字符串为盐值((即加密干扰值),可提高加密的安全性
参数:字段名,盐
实例:md5(id,'md5_salt')
encrypt
功能描述:加密函数,参数为指定的密钥(可解密,请谨慎使用)
参数:字段名,加密密钥
实例:encrypt(id,'encrypt_key')
decrypt
功能描述:解密函数,参数为指定的密钥,对应的加密算法为encrypt
参数:字段名,解密密钥
实例:encrypt(id,'decrypt_key')
blur_ip
功能描述:返回脱敏ip,隐藏了第四段,和第三段的第三位(如果有三位的话)
参数:字段名(ip地址)
实例:blur_ip(ip)
mask_datetime
功能描述:对时间进行模糊,参数指定输入的日期格式,默认模糊到10分钟,可额外指定参数'day'/'hour'模糊到小时/天
参数:字段名,时间格式(默认为yyyy-MM-dd),模糊粒度(可选,需为'day'或'hour'之一)
实例:mask_datetime(thedate)或mask_datetime(thedate,'yyyy/MM/dd HH:mm:ss')或 mask_datetime(thedate,'yyyy-MM-dd HH:mm:ss','hour')
mask_timestamp
功能描述:对时间戳(长整型)进行模糊,默认模糊到10分钟,可额外指定参数'day'/'hour'模糊到小时/天
参数:字段名,模糊粒度(可选,需为'day'或'hour'之一)
实例:mask_timestamp(timestamp)或mask_datetime(timestamp,'day')
url_filter
功能描述:采用默认的规则过滤url域名及参数
参数:url,白名单,是否保留url的域名
实例:url_filter(url,'weblog_white.txt',false)
用户为一列或多列数据设置脱敏规则以后,可以将该脱敏规则存储在脱敏规则库中,作为一种示例,脱敏规则库可以如下表3所示:
表3
脱敏字段 脱敏算法
dual.column1 udf1
table3.column2 udf2
table5.column10 udf3
table6.column11 udf4
table6.column12 udf5
在上表3中,udf1、udf2、udf3、udf4、udf5都是具体的脱敏规则,比如上述例子中的md5等等。
当获得脱敏数据库以后,可以以源表数据的表名和列名作为匹配项,在脱敏数据库中匹配SQL语句中的源表数据和列记录数据,若源表数据中的某一列或多列匹配上脱敏数据库中的某条脱敏规则,则表示该匹配的列具有匹配的脱敏规则。
步骤204,若匹配成功,则获得与所述列字段标识匹配的脱敏规则;
例如,结合上表2和上表3,可以得到源表数据中具有脱敏规则的列记录数据为:dual.column1,脱敏算法为udf1。
步骤205,按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据;
得到SQL的源表数据中某一列或多列匹配的脱敏规则以后,可以按照该匹配的脱敏规则,对SQL的源表数据进行重写,数据重写的过程可以在云端的数据开发平台中完成。
在本申请实施例的一种优选实施例中,步骤205可以为:在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
在具体实现中,重写源表数据的作用可以是,将源表替换成对敏感数据脱敏后的临时表。
在一种实施方式中,子查询语句可以采用如下规则生成:
将所述匹配的脱敏规则添加到对应的列字段标识中;将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
例如,在上例中,得到源表数据中具有脱敏规则的列记录数据为:dual.column1,脱敏算法为udf1。则在column1中添加脱敏规则udf1后,得到udf1(column1),然后以column1作为udf1(column1)的别名,即udf1(column1)as column1。
上述SQL语句:SELECT id+10FROM dual
重写后可以得到:
SELECT id+10FROM(select id,udf1(column1)as column1,column3,column5,column7from dual)dual。
步骤206,执行重写后的结构化查询语言,输出查询结果。
将SQL语句重写后,可以将重写后的SQL提交计算集群(比如开源的hadoop集群),由计算集群执行重写后的SQL语句,将源表替换成对数据进行脱敏后的临时表,并在临时表的基础上生成查询结果,以及输出脱敏后的查询结果,以保证敏感数据的安全性。
为了使本领域技术人员能够更好地理解本申请实施例,以下以一个具体实例对本申请实施例加以说明,但应该理解的是,本申请实施例并不限于此。
用户输入的SQL语句为:
select table1.column1,table2.column2,table1.column5
from table1
join
(select column2,id
from
table3
where table3.column4='contidition2'
)table2
on table1.id=table2.id
where table1.column3='condition1'
其中,
table1对应以下字段:
表4
字段名
id
column1
column3
column5
column7
table3对应以下字段:
表5
字段名
id
column2
column4
column6
用户在脱敏规则库中,对表table1,table3的列设置的脱敏算法如下:
表6
脱敏字段 脱敏算法
table1.column1 udf1
table3.column2 udf2
table5.column10 udf3
table6.column11 udf4
table6.column12 udf5
根据抽象语法树分析得到SQL的输入表(即源表)及其列如下:
表7
表名 列名
table1 id
table1 column1
table1 column3
table1 column5
table1 column7
table3 id
table3 column2
table3 column4
table3 column6
结合上表6和上表7,可以得到具有脱敏规则的表和列信息,如下表8所示:
表8
table1.column1 udf1
table3.column2 udf2
重写用户输入的sql,对源表使用脱敏算法重写,具体如下:
select table1.column1,table2.column2,table1.column5
from(select id,udf1(column1)as column1,column3,column5,column7from table1)table1
join
(select column2,id
from
(select id,udf2(column2)as column2,column4,column6from table3)table3
where table3.column4='contidition2'
)table2
on table1.id=table2.id
where table1.column3='condition1'
在本申请实施例中,用户在查询sql时,结合脱敏规则库自动重写sql,达到对用户透明,提高了数据脱敏的灵活性以及提高数据脱敏的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请一种数据脱敏的系统实施例的结构框图,所述系统可以包括如下模块:
SQL读取模块401,用于读取结构化查询语言;
SQL重写模块402,用于在判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
SQL执行模块403,用于执行重写后的结构化查询语言,输出查询结果。
在本申请实施例的一种优选实施例中,所述SQL重写模块402可以包括如下子模块:
源表数据获取子模块,用于获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
匹配子模块,用于在预设的脱敏规则库中匹配所述列字段标识;
脱敏规则获取子模块,用于在匹配成功时,获得与所述列字段标识匹配的脱敏规则;
重写子模块,用于按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据。
在本申请实施例的一种优选实施例中,所述源表数据获取子模块可以进一步包括如下单元:
解析单元,用于解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
源表数据获得单元,用于根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
在本申请实施例的一种优选实施例中,所述重写子模块还可以用于:
在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
在本申请实施例的一种优选实施例中,所述子查询语句可以采用如下规则生成:
将所述匹配的脱敏规则添加到对应的列字段标识中;
将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
对于系统实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其 他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序操作指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序操作指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的操作指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序操作指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的操作指令产生包括操作指令装置的制造品,该操作指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序操作指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的操作指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包 括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据脱敏的方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

  1. 一种数据脱敏的方法,其特征在于,所述方法包括:
    读取结构化查询语言;
    当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
    执行重写后的结构化查询语言,输出查询结果。
  2. 根据权利要求1所述的方法,其特征在于,所述当判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写的步骤包括:
    获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
    在预设的脱敏规则库中匹配所述列字段标识;
    若匹配成功,则获得与所述列字段标识匹配的脱敏规则;
    按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据。
  3. 根据权利要求2所述的方法,其特征在于,所述获取所述结构化查询语言中的源表数据的步骤包括:
    解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
    根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
  4. 根据权利要求2或3所述的方法,其特征在于,所述按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据的步骤为:
    在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
  5. 根据权利要求4所述的方法,其特征在于,所述子查询语句采用如下规则生成:
    将所述匹配的脱敏规则添加到对应的列字段标识中;
    将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
  6. 一种数据脱敏的系统,其特征在于,所述系统包括:
    SQL读取模块,用于读取结构化查询语言;
    SQL重写模块,用于在判断所述结构化查询语言符合预设的脱敏规则时,根据所述脱敏规则,对所述结构化查询语言进行重写;
    SQL执行模块,用于执行重写后的结构化查询语言,输出查询结果。
  7. 根据权利要求6所述的系统,其特征在于,所述SQL重写模块包括:
    源表数据获取子模块,用于获取所述结构化查询语言中的源表数据,所述源表数据包括列字段标识;
    匹配子模块,用于在预设的脱敏规则库中匹配所述列字段标识;
    脱敏规则获取子模块,用于在匹配成功时,获得与所述列字段标识匹配的脱敏规则;
    重写子模块,用于按照所述匹配的脱敏规则,重写所述结构化查询语言中的源表数据。
  8. 根据权利要求7所述的系统,其特征在于,所述源表数据获取子模块包括:
    解析单元,用于解析所述结构化查询语言,得到所述结构化查询语言的抽象语法树;
    源表数据获得单元,用于根据所述抽象语法树,得到源表数据,所述源表数据包括列记录数据,所述列记录数据包括列字段标识。
  9. 根据权利要求7或8所述的系统,其特征在于,所述重写子模块还用于:
    在所述结构化查询语言中,将所述源表数据重写成嵌套的子查询语句,所述子查询语句中包含所述匹配的脱敏规则。
  10. 根据权利要求9所述的系统,其特征在于,所述子查询语句采用如下规则生成:
    将所述匹配的脱敏规则添加到对应的列字段标识中;
    将所述添加了脱敏规则的列字段标识以所述列字段标识作为别名,生成子查询语句。
PCT/CN2016/105823 2015-11-24 2016-11-15 一种数据脱敏的方法及系统 WO2017088683A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510824704.5A CN106778288B (zh) 2015-11-24 2015-11-24 一种数据脱敏的方法及系统
CN201510824704.5 2015-11-24

Publications (1)

Publication Number Publication Date
WO2017088683A1 true WO2017088683A1 (zh) 2017-06-01

Family

ID=58763930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/105823 WO2017088683A1 (zh) 2015-11-24 2016-11-15 一种数据脱敏的方法及系统

Country Status (2)

Country Link
CN (1) CN106778288B (zh)
WO (1) WO2017088683A1 (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446570A (zh) * 2018-02-28 2018-08-24 四川新网银行股份有限公司 一种数据脱敏方法及装置
CN108549824A (zh) * 2018-04-17 2018-09-18 杭州橙鹰数据技术有限公司 一种数据脱敏方法及装置
CN108664812A (zh) * 2018-05-14 2018-10-16 阿里巴巴集团控股有限公司 信息脱敏方法、装置及系统
CN110336798A (zh) * 2019-06-19 2019-10-15 南京中新赛克科技有限责任公司 一种基于dpi的报文匹配过滤方法及其装置
WO2020015067A1 (zh) * 2018-07-19 2020-01-23 平安科技(深圳)有限公司 数据采集方法、装置、设备及存储介质
CN111382457A (zh) * 2018-12-28 2020-07-07 神州数码医疗科技股份有限公司 一种数据风险评估方法和装置
CN111428273A (zh) * 2020-04-23 2020-07-17 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN111858658A (zh) * 2020-07-23 2020-10-30 中国平安财产保险股份有限公司 数据采集方法、装置、设备及存储介质
CN112417476A (zh) * 2020-11-24 2021-02-26 广州华熙汇控小额贷款有限公司 敏感数据的脱敏方法及数据脱敏系统
CN112560100A (zh) * 2020-12-22 2021-03-26 网易(杭州)网络有限公司 数据脱敏方法及装置、计算机可读存储介质、电子设备
CN112632600A (zh) * 2020-12-16 2021-04-09 平安国际智慧城市科技股份有限公司 非侵入式数据脱敏方法、装置、计算机设备及存储介质
CN112667657A (zh) * 2020-12-24 2021-04-16 国泰君安证券股份有限公司 基于计算机软件实现数据脱敏的系统、方法、装置、处理器及其存储介质
CN112749376A (zh) * 2021-03-05 2021-05-04 闪捷信息科技有限公司 一种关系型数据库的动态脱敏方法
CN112765641A (zh) * 2021-02-03 2021-05-07 兴业证券股份有限公司 一种高效脱敏方法和装置
CN112989412A (zh) * 2021-03-18 2021-06-18 城云科技(中国)有限公司 一种基于sql语句解析的数据脱敏方法及装置
CN113297212A (zh) * 2021-04-28 2021-08-24 上海淇玥信息技术有限公司 一种基于物化视图的Spark查询方法、装置及电子设备
CN113360946A (zh) * 2021-06-29 2021-09-07 招商局金融科技有限公司 新闻脱敏处理方法、装置、电子设备及可读存储介质
CN113988226A (zh) * 2021-12-29 2022-01-28 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN114077754A (zh) * 2022-01-10 2022-02-22 北京安华金和科技有限公司 一种基于多组数据排列保证脱敏确定性的方法和装置
CN115659391A (zh) * 2022-10-08 2023-01-31 郑州云智信安安全技术有限公司 一种支持数据库统计函数的数值脱敏方法及装置
CN115952854A (zh) * 2023-03-14 2023-04-11 杭州太美星程医药科技有限公司 文本脱敏模型的训练方法、文本脱敏方法及应用
CN116383777A (zh) * 2023-03-28 2023-07-04 云启智慧科技有限公司 一种数据治理平台和面向数据治理的数据确权方法
CN117725623A (zh) * 2024-02-18 2024-03-19 北京安华金和科技有限公司 一种基于数据库底层文件的数据脱敏处理方法和系统

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426725B (zh) * 2017-08-22 2021-02-19 中兴通讯股份有限公司 数据脱敏方法、设备及计算机可读存储介质
CN107798250B (zh) * 2017-10-13 2021-08-24 平安科技(深圳)有限公司 敏感信息屏蔽规则的下发方法、应用服务器及计算机可读存储介质
CN107943876B (zh) * 2017-11-14 2022-01-07 北京思特奇信息技术股份有限公司 一种页面响应方法和系统
CN110019377B (zh) * 2017-12-14 2021-10-26 中国移动通信集团山西有限公司 动态脱敏方法、装置、设备及介质
CN108256350A (zh) * 2017-12-29 2018-07-06 上海上讯信息技术股份有限公司 一种基于敏感信息类型关联的信息复合脱敏方法
CN109992986B (zh) * 2017-12-29 2021-05-11 中国移动通信集团上海有限公司 一种敏感数据的脱敏处理方法及装置
CN110196861B (zh) * 2018-02-24 2023-12-29 中兴通讯股份有限公司 一种数据脱敏方法和装置
CN108509805A (zh) * 2018-03-21 2018-09-07 深圳天源迪科信息技术股份有限公司 数据加解密与脱敏运行引擎及其工作方法
CN108494775B (zh) * 2018-03-26 2020-12-15 四川长虹电器股份有限公司 防止利用合法数据或篡改合法数据进行网络攻击的方法
CN110443059A (zh) * 2018-05-02 2019-11-12 中兴通讯股份有限公司 数据保护方法及装置
CN109063511A (zh) * 2018-08-16 2018-12-21 深圳云安宝科技有限公司 基于Web API的数据访问控制方法、装置、代理服务器及介质
CN109299616A (zh) * 2018-09-07 2019-02-01 北明软件有限公司 一种基于连接池的数据安全管控系统和方法
CN109460676A (zh) * 2018-10-30 2019-03-12 全球能源互联网研究院有限公司 一种混合数据的脱敏方法、脱敏装置及脱敏设备
CN109582691B (zh) * 2018-11-15 2023-04-07 百度在线网络技术(北京)有限公司 用于控制数据查询的方法和装置
CN109872282B (zh) * 2019-01-16 2021-08-06 众安信息技术服务有限公司 一种基于计算机视觉的图像脱敏方法与系统
CN110414261B (zh) * 2019-06-26 2022-04-26 北京三快在线科技有限公司 一种数据脱敏方法、装置、设备及可读存储介质
CN110765152B (zh) * 2019-09-18 2023-05-30 平安科技(深圳)有限公司 Sql提取方法、装置、计算机设备和存储介质
CN110598451B (zh) * 2019-09-19 2022-02-25 中国银行股份有限公司 数据脱敏方法及装置
CN111159754A (zh) * 2019-12-12 2020-05-15 浙江华云信息科技有限公司 逆向解析的数据脱敏方法及装置
CN111125758A (zh) * 2019-12-19 2020-05-08 北京安华金和科技有限公司 一种基于全语法树解析的动态脱敏方法
CN111177788A (zh) * 2020-01-07 2020-05-19 北京启明星辰信息安全技术有限公司 Hive的动态脱敏方法及动态脱敏系统
CN111241578A (zh) * 2020-01-07 2020-06-05 北京启明星辰信息安全技术有限公司 用于Vertica的脱敏方法及脱敏系统
CN113392425A (zh) * 2020-03-12 2021-09-14 中移物联网有限公司 一种数据脱敏处理方法、装置、边缘计算节点及服务器
CN111737746A (zh) * 2020-06-24 2020-10-02 四川长虹电器股份有限公司 一种基于java注解的动态配置数据脱敏的方法
CN111859438A (zh) * 2020-07-31 2020-10-30 上海观安信息技术股份有限公司 一种指定长度的可逆脱敏加密算法
CN112765658A (zh) * 2021-01-15 2021-05-07 杭州数梦工场科技有限公司 一种数据脱敏方法、装置及电子设备和存储介质
CN113111082B (zh) * 2021-03-09 2022-01-14 深圳市教育信息技术中心(深圳市教育装备中心) 结构化查询语句重写方法、装置、设备和介质
CN113094742B (zh) * 2021-03-15 2024-05-03 国政通科技有限公司 数据脱敏方法、数据脱敏装置、电子设备及存储介质
CN113032836B (zh) * 2021-04-22 2022-05-06 支付宝(杭州)信息技术有限公司 数据脱敏方法和装置
CN113656830B (zh) * 2021-08-06 2024-03-26 杭州安恒信息技术股份有限公司 数据库脱敏语法解析方法、系统、计算机及可读存储介质
CN113836171A (zh) * 2021-09-27 2021-12-24 北京金山云网络技术有限公司 数据脱敏方法、装置、电子设备及可读存储介质
CN114201772B (zh) * 2021-11-19 2022-08-23 广东航宇卫星科技有限公司 一种存量数据脱敏方法及装置
CN114416773B (zh) * 2021-12-30 2023-01-06 联通智网科技股份有限公司 数据处理方法、装置、存储介质和服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365963A (zh) * 2013-06-20 2013-10-23 广州赛姆科技资讯有限公司 数据库稽核系统合规性快速检验方法
CN103778380A (zh) * 2013-12-31 2014-05-07 网秦(北京)科技有限公司 数据脱敏和反脱敏方法及相关设备
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN104270465A (zh) * 2014-10-23 2015-01-07 成都双奥阳科技有限公司 一种云存储的保护系统
US20150242633A1 (en) * 2014-02-26 2015-08-27 International Business Machines Corporation Detection and prevention of sensitive information leaks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043309B2 (en) * 2012-06-05 2015-05-26 Oracle International Corporation SQL transformation-based optimization techniques for enforcement of data access control
CN102902932B (zh) * 2012-09-18 2015-12-02 武汉华工安鼎信息技术有限责任公司 基于sql重写的数据库外部加解密系统的使用方法
CN103870480A (zh) * 2012-12-12 2014-06-18 财团法人资讯工业策进会 动态数据遮罩方法以及数据库系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN103365963A (zh) * 2013-06-20 2013-10-23 广州赛姆科技资讯有限公司 数据库稽核系统合规性快速检验方法
CN103778380A (zh) * 2013-12-31 2014-05-07 网秦(北京)科技有限公司 数据脱敏和反脱敏方法及相关设备
US20150242633A1 (en) * 2014-02-26 2015-08-27 International Business Machines Corporation Detection and prevention of sensitive information leaks
CN104270465A (zh) * 2014-10-23 2015-01-07 成都双奥阳科技有限公司 一种云存储的保护系统

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446570A (zh) * 2018-02-28 2018-08-24 四川新网银行股份有限公司 一种数据脱敏方法及装置
CN108549824A (zh) * 2018-04-17 2018-09-18 杭州橙鹰数据技术有限公司 一种数据脱敏方法及装置
CN108549824B (zh) * 2018-04-17 2020-02-18 杭州橙鹰数据技术有限公司 一种数据脱敏方法及装置
CN108664812A (zh) * 2018-05-14 2018-10-16 阿里巴巴集团控股有限公司 信息脱敏方法、装置及系统
CN108664812B (zh) * 2018-05-14 2023-03-10 创新先进技术有限公司 信息脱敏方法、装置及系统
WO2020015067A1 (zh) * 2018-07-19 2020-01-23 平安科技(深圳)有限公司 数据采集方法、装置、设备及存储介质
CN111382457A (zh) * 2018-12-28 2020-07-07 神州数码医疗科技股份有限公司 一种数据风险评估方法和装置
CN111382457B (zh) * 2018-12-28 2023-08-18 神州数码医疗科技股份有限公司 一种数据风险评估方法和装置
CN110336798A (zh) * 2019-06-19 2019-10-15 南京中新赛克科技有限责任公司 一种基于dpi的报文匹配过滤方法及其装置
CN111428273B (zh) * 2020-04-23 2023-08-25 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN111428273A (zh) * 2020-04-23 2020-07-17 北京中安星云软件技术有限公司 基于机器学习的动态脱敏方法及装置
CN111858658A (zh) * 2020-07-23 2020-10-30 中国平安财产保险股份有限公司 数据采集方法、装置、设备及存储介质
CN111858658B (zh) * 2020-07-23 2024-04-05 中国平安财产保险股份有限公司 数据采集方法、装置、设备及存储介质
CN112417476A (zh) * 2020-11-24 2021-02-26 广州华熙汇控小额贷款有限公司 敏感数据的脱敏方法及数据脱敏系统
CN112632600A (zh) * 2020-12-16 2021-04-09 平安国际智慧城市科技股份有限公司 非侵入式数据脱敏方法、装置、计算机设备及存储介质
CN112560100A (zh) * 2020-12-22 2021-03-26 网易(杭州)网络有限公司 数据脱敏方法及装置、计算机可读存储介质、电子设备
CN112560100B (zh) * 2020-12-22 2023-09-26 网易(杭州)网络有限公司 数据脱敏方法及装置、计算机可读存储介质、电子设备
CN112667657A (zh) * 2020-12-24 2021-04-16 国泰君安证券股份有限公司 基于计算机软件实现数据脱敏的系统、方法、装置、处理器及其存储介质
CN112765641B (zh) * 2021-02-03 2022-10-11 兴业证券股份有限公司 一种高效脱敏方法和装置
CN112765641A (zh) * 2021-02-03 2021-05-07 兴业证券股份有限公司 一种高效脱敏方法和装置
CN112749376B (zh) * 2021-03-05 2023-03-24 闪捷信息科技有限公司 一种关系型数据库的动态脱敏方法
CN112749376A (zh) * 2021-03-05 2021-05-04 闪捷信息科技有限公司 一种关系型数据库的动态脱敏方法
CN112989412B (zh) * 2021-03-18 2022-09-20 城云科技(中国)有限公司 一种基于sql语句解析的数据脱敏方法及装置
CN112989412A (zh) * 2021-03-18 2021-06-18 城云科技(中国)有限公司 一种基于sql语句解析的数据脱敏方法及装置
CN113297212A (zh) * 2021-04-28 2021-08-24 上海淇玥信息技术有限公司 一种基于物化视图的Spark查询方法、装置及电子设备
CN113360946A (zh) * 2021-06-29 2021-09-07 招商局金融科技有限公司 新闻脱敏处理方法、装置、电子设备及可读存储介质
CN113360946B (zh) * 2021-06-29 2024-01-30 招商局金融科技有限公司 新闻脱敏处理方法、装置、电子设备及可读存储介质
CN113988226A (zh) * 2021-12-29 2022-01-28 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN113988226B (zh) * 2021-12-29 2022-04-19 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN114077754A (zh) * 2022-01-10 2022-02-22 北京安华金和科技有限公司 一种基于多组数据排列保证脱敏确定性的方法和装置
CN115659391B (zh) * 2022-10-08 2023-09-01 郑州云智信安安全技术有限公司 一种支持数据库统计函数的数值脱敏方法及装置
CN115659391A (zh) * 2022-10-08 2023-01-31 郑州云智信安安全技术有限公司 一种支持数据库统计函数的数值脱敏方法及装置
CN115952854A (zh) * 2023-03-14 2023-04-11 杭州太美星程医药科技有限公司 文本脱敏模型的训练方法、文本脱敏方法及应用
CN116383777A (zh) * 2023-03-28 2023-07-04 云启智慧科技有限公司 一种数据治理平台和面向数据治理的数据确权方法
CN116383777B (zh) * 2023-03-28 2024-02-27 云启智慧科技有限公司 一种数据治理平台和面向数据治理的数据确权方法
CN117725623A (zh) * 2024-02-18 2024-03-19 北京安华金和科技有限公司 一种基于数据库底层文件的数据脱敏处理方法和系统
CN117725623B (zh) * 2024-02-18 2024-05-17 北京安华金和科技有限公司 一种基于数据库底层文件的数据脱敏处理方法和系统

Also Published As

Publication number Publication date
CN106778288A (zh) 2017-05-31
CN106778288B (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
WO2017088683A1 (zh) 一种数据脱敏的方法及系统
US10719567B2 (en) Database query processing on encrypted data
US9652512B2 (en) Secure matching supporting fuzzy data
US11461493B1 (en) Data overlap count adjustment in a multiple tenant database system
US9875370B2 (en) Database server and client for query processing on encrypted data
US9081978B1 (en) Storing tokenized information in untrusted environments
US20130191650A1 (en) Methods and apparatus for securing a database
US20080270370A1 (en) Desensitizing database information
CN107409040B (zh) 用于推荐数据加密而不影响程序语义的代码分析工具
US10482263B2 (en) Computing on encrypted data using deferred evaluation
Zhang et al. SaC‐FRAPP: a scalable and cost‐effective framework for privacy preservation over big data on cloud
CN115827589A (zh) 一种权限验证方法、装置、电子设备及存储介质
Vuong et al. Towards efficient and secure data storage in multi-tenant cloud-based CRM solutions
Norrman Anonymization of production data to create functioning and useful test environment data
US20240160785A1 (en) Knowledge encoding based mapping of knowledge objects for data compliance
US20240143829A1 (en) Permission based data masking
Huang et al. A transparent framework based on accessing bridge and mobile app for protecting database privacy with PKI
Kayed Partial query processing over encrypted data with Object Relational Mapping.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16867907

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16867907

Country of ref document: EP

Kind code of ref document: A1