CN113032836B - 数据脱敏方法和装置 - Google Patents
数据脱敏方法和装置 Download PDFInfo
- Publication number
- CN113032836B CN113032836B CN202110434299.1A CN202110434299A CN113032836B CN 113032836 B CN113032836 B CN 113032836B CN 202110434299 A CN202110434299 A CN 202110434299A CN 113032836 B CN113032836 B CN 113032836B
- Authority
- CN
- China
- Prior art keywords
- data
- content data
- sensitive
- query statement
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- 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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
Abstract
本说明书实施例提供了一种数据脱敏方法和装置。该方法接收数据平台发来的对内容数据的查询语句;根据接收到的查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则;如果是,则对该查询语句所查询的内容数据进行第一脱敏处理;如果否,则从数据平台获取该查询语句所查询的各内容数据;利用获取到的各内容数据匹配预先设置的第二敏感数据规则;如果能匹配到,则对该内容数据进行第二脱敏处理。
Description
技术领域
本说明书一个或多个实施例涉及电子信息技术,尤其涉及数据脱敏的方法和装置。
背景技术
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号等个人信息通常都需要进行数据脱敏。
因此,需要一种更为有效的数据脱敏方法。
发明内容
本说明书一个或多个实施例描述了数据脱敏的方法和装置,能够更好地实现数据脱敏。
根据第一方面,提供了一种数据脱敏方法,包括:
接收数据平台发来的对内容数据的查询语句;
根据接收到的查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则;
如果是,则对该查询语句所查询的内容数据进行第一脱敏处理;
如果否,则从数据平台获取该查询语句所查询的内容数据;
利用获取到的内容数据匹配预先设置的第二敏感数据规则;
如果能匹配到,则对该内容数据进行第二脱敏处理。
其中,所述根据接收到的查询语句判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,包括:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的至少一个存储位置。
其中,所述元数据的类型包括:库、表、列;
第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三种元素表征的至少一个存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三种元素表征的至少一个存储位置。
其中,所述利用获取到的内容数据匹配预先设置的第二敏感数据规则,包括:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种数据类型。
其中,所述数据类型识别模型包括:正则表达式计算模型或者NER算法模型。
其中,
所述脱敏处理包括:对内容数据进行数据变形或隐藏部分内容的处理;和/或,对所述查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据;
和/或,
所述查询语句为SQL语句。
根据第二方面,提供了一种数据脱敏装置,包括:
数据平台交互模块,被配置为接收数据平台发来的对内容数据的查询语句,以及在受到触发后从数据平台获取该查询语句所查询的内容数据;
敏感规则匹配模块,被配置为根据所述查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,如果是,则对脱敏处理模块进行第一触发,如果否则触发数据平台交互模块;以及利用获取到的内容数据匹配预先设置的第二敏感数据规则,如果能匹配到,则对脱敏处理模块进行第二触发;
脱敏处理模块,被配置为在受到第一触发后,对所述查询语句所查询的内容数据进行第一脱敏处理,以及在受到第二触发后,对该至少一条内容数据进行第二脱敏处理。
其中,所述敏感规则匹配模块被配置为执行:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的至少一个存储位置。
其中,所述元数据包括:库、表、列;
第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三个元素表征的一个存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三个元素表征的一个存储位置。
其中,所述敏感规则匹配模块被配置为执行:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种数据类型。
其中,所述数据类型识别模型包括:正则表达式计算模型或者NER算法模型。
其中,
所述脱敏处理模块被配置为执行:对内容数据进行数据变形和隐藏部分内容的处理;和/或,对该查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据。
根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
本说明书实施例提供的数据脱敏的方法和装置,从查询语句入手,对查询语句进行分析,通过查询语句的分析结果即查询语句需要查询什么内容数据,则可以判断出是否涉及敏感数据,同时,对于通过查询语句无法确定涉及敏感数据的情况,则可以进一步根据查询语句实际查询出的内容数据来判断出是否涉及敏感数据。因此能够更为有效地进行数据脱敏。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例所应用的系统架构的示意图。
图2是本说明书一个实施例中数据脱敏方法的流程图。
图3是本说明书一个实施例中数据脱敏装置的结构示意图。
具体实施方式
首先对本申请中涉及的名称概念进行说明。
元数据:描述数据的数据,对数据及信息资源的描述性信息。比如,库、表、列等信息,即位于哪一个数据库中的哪一个数据表的哪一列中。
内容数据:元数据所描述的数据,是在数据平台的数据库中实际被存储的数据。比如,库A,表A1的第1列中的内容数据是多个用户的姓名比如“张三”、“李四”等或者多个用户的手机号“138XXXXXXXX”等。
在现有技术中,对数据脱敏的过程主要包括:当一个用户从数据平台中查询目标内容数据时,对从数据平台中查询到的结果集即所有目标内容数据进行逐行扫描,确定其中是否包括敏感数据,如果包括,则对敏感数据进行脱敏处理。比如,从数据平台的库A的表A1的第1列中查询到结果集,该结果集中包括1亿个目标内容数据比如1亿个用户姓名,脱敏设备则需要逐条解析该1亿条内容数据,判断出其中包括1亿个敏感数据“张三”……“李四”,则对该1亿个姓名进行脱敏处理,比如改为“张某”……“李某”。
可见,在现有技术中,需要从数据平台逐条获取内容数据,并逐条分析及对比。而目前,从一个数据平台中查询到的内容数据的数量是巨大的,此种处理方式则会导致处理速度很慢,效率低下。
目前,用户从数据平台中查询一种内容数据时,必须使用查询语句,通过该查询语句才能查询到目标内容数据。因此,可以考虑从查询语句入手,对查询语句进行分析,通过查询语句的分析结果即查询语句需要查询什么内容数据,则可以判断出是否涉及敏感数据,同时,对于通过查询语句无法确定涉及敏感数据的情况,则可以进一步根据查询语句实际查询出的内容数据来判断出是否涉及敏感数据。
下面描述以上构思的具体实现方式。
为了方便对本说明书的理解,首先对本说明书所应用的系统架构进行描述。如图1中所示,该系统架构主要包括数据平台以及数据脱敏装置。其中,数据平台可以是网络中任意一种存储有内容数据的平台,比如目前的大数据平台。数据脱敏装置可以集成在数据平台内部,也可以独立设置在数据平台外部。当数据脱敏装置为一个独立设备即在数据平台外部时,数据平台与数据脱敏装置通过网络交互。其中,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
图2示出了本说明书一个实施例中数据脱敏方法的流程图。该方法的执行主体为数据脱敏装置。可以理解,该方法也可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。参见图2,该方法包括:
步骤201:接收数据平台发来的对内容数据的查询语句。
步骤203:根据接收到的查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,如果是,执行步骤205,否则,执行步骤207。
步骤205:对该查询语句所查询的内容数据进行第一脱敏处理,结束当前流程。
步骤207:从数据平台获取该查询语句所查询的各内容数据。
步骤209:利用获取到的各内容数据匹配预先设置的第二敏感数据规则,如果能匹配到,执行步骤211,否则,无需对该内容数据进行脱敏,直接结束当前流程。
步骤211:对各内容数据进行第二脱敏处理。
根据图2所示的流程可以看出,因为查询语句中本质上携带了内容数据的属性信息,即查询语句可以体现需要查询什么类型的数据,因此,本说明书实施例中利用查询语句就能匹配敏感数据规则,判断出是否涉及敏感数据。当根据查询语句确定涉及敏感数据时,则无需再对实际的内容数据进行分析,因此,大大提高了处理速度,提高了效率。同时,在查询语句无法确定涉及敏感数据时,还会进一步根据查询语句所需要查询的实际内容数据来判断是否涉及敏感数据,从而避免了无法通过查询语句确定敏感数据时导致的匹配遗漏的问题。
可以理解,在执行图2所示流程之前,需要预先设置用于利用查询语句进行匹配的第一敏感数据规则和用于利用内容数据进行匹配的第二敏感数据规则。
首先对第一敏感数据规则进行说明。
查询语句比如结构化查询语言(Structured Query Language,SQL)的作用是从一个目标存储位置中获取目标内容数据。查询语句中通常都会携带一个或多个元数据,携带的元数据实际上就可以对应到一个目标存储位置。相应地,在设置第一敏感数据规则时,则可以根据实际业务的需要,通过至少一个元数据来表征至少一个存储位置。第一敏感数据规则中表征的存储位置都对应敏感数据的存储位置。后续,如果查询语句表征的存储位置能匹配第一敏感数据规则中的存储位置,则说明所查询的内容数据涉及敏感内容。
在本说明书一个实施例中,元数据的类型包括:库、表、列;相应地,第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三种元素表征的至少一个敏感存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三种元素表征的至少一个敏感存储位置。
举例说明,有的元数据的类型为库,即为一个数据库的名称,比如名称为A的库,有的元数据的类型为表,即为一个数据表的名称,比如名称为“user”的表,有的元数据的类型为列,即为一个列的名称,比如名称为“name”的列。可见,将该三种元数据组合起来,可以得到一个存储地址,表示数据库A中表user的名称为name的那一列。因为数据库A中表user的名称为name的那一列中存储的是用户姓名,可以被定为敏感数据,那么,则可以在第一敏感数据规则中设置一条规则为“A.user.name”,即依次由库的名称、表的名称及列的名称共三个元素表征的一个存储位置,凡是该存储位置的内容数据都需要进行数据脱敏。为了增加通用性,还可以使用通配符“*”,比如可以在第一敏感数据规则中设置另一条规则为“*.user.address”,即依次由通配符、表的名称及列的名称共三个元素表征的一个存储位置,凡是该存储位置的内容数据都需要进行数据脱敏。又如,可以在第一敏感数据规则中设置一条规则为“*.*.name”,即由两个通配符及列的名称共三个元素表征的一种存储位置,凡是该存储位置(即任意库任意表中的name列)的内容数据都需要进行数据脱敏。
接下来,对第二敏感数据规则进行说明。
第二敏感数据规则是用于跟内容数据进行匹配的。因此,在设置第二敏感数据规则时可以根据内容数据的特点来设置。在数据平台中存储的内容数据会有多种数据类型,比如用户姓名、IP地址、身份证号码、网站登录次数、登录时间、购物记录等。其中,有一些数据类型会涉及敏感数据,比如用户姓名、身份证号码,可以针对每一种会涉及敏感数据的数据类型均设置一个数据类型识别模型,比如,第二敏感数据规则中包括诸如对应身份证号码的数据类型识别模型,对应邮箱的数据类型识别模型以及对应IP地址的数据类型识别模型等。后续,将某一列中的内容数据输入一个数据类型识别模型中,则可以确定该列中实际存储的内容数据是否为该识别模型对应的数据类型,从而识别出是否属于敏感数据。
在本说明书的一个实施例中,数据类型识别模型可以采用各种算法模型,比如正则表达式计算模型或者NER算法模型等。
比如,以身份证号码为例,根据身份证号码这种类型的内容数据的特点,第二敏感数据规则中包括对应身份证号码类型的正则表达式计算模型。比如,该正则表达式计算模型使用的计算式如下:
(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)
在本说明书一个实施例中,当采用NER算法模型作为数据类型识别模型时,该NER算法模型的训练过程可以包括:
1、数据准备:准备包含样本内容数据(如地址、姓名)的原始数据,按比如8/2的比例将原始数据分成训练数据train.tsv和测试数据test.tsv;
2、预处理:使用Python脚本对数据文件进行自动化处理,主要功能是将手动标注后的文本变为单字每行的格式。譬如将目标名词后标注为Major,其他为O;
3、训练:使用自然语言处理工具对train.tsv进行训练,得到目标模型(如NER地址模型、NER姓名模型);
4、验证:使用步骤3得到的模型对train.tsv进行模型测试,得到精确率和召回率指数,如果指数达标(譬如精确率和召回率同时大于90%算达标),可以投入使用;若不达标,继续训练模型。
在本说明书实施例中,设置上述两个敏感数据规则的原因是:第一敏感数据规则是用于查询语句的匹配,当利用查询语句匹配到第一敏感数据规则后,则无需再对实际的内容数据进行分析,因此,大大提高了处理速度,提高了效率;同时,在很多业务场景中,存在查询语句无法确定敏感数据,但是实际上内容数据却涉及敏感数据,此种情况,就可以利用内容数据匹配第二敏感数据规则,避免匹配遗漏的问题。第一敏感数据规则和第二敏感数据规则可以由不同的业务层进行配置,比如,第一敏感数据规则可以由安全管理部门进行配置,适用于各种业务场景,第二敏感数据规则可以由业务部门进行配置,适用于特定的业务场景。
下面说明匹配遗漏的两种场景。
场景1:漏配。
比如,在设置第一敏感数据规则时,没有包括公司名称这个元数据,不认为公司名称为敏感数据。但是在某些行业中比如安全领域,公司名称属于敏感数据,需要脱敏,因此可以在第二敏感数据规则中包括对于公司名称的数据类型识别模型。
场景2:恶意绕过。
一个用户为了恶意绕过针对查询语句的分析及匹配,可以改写查询语句,从而无法从查询语句中分析出准确的元数据,无法正确匹配到第一敏感数据规则。比如,一条查询语句为“select name as animal from user”,因为在该查询语句中使用了别名animal,在对该查询语句分析时,可能无法分析出元数据name而只能分析出元数据animal,原本name能够匹配到第一敏感数据规则,但是如果只用animal去匹配,则无法匹配到,则认为不需要脱敏,导致漏匹配。
下面对图2中的每一个步骤进行说明。
首先在步骤201,接收数据平台发来的对内容数据的查询语句。
当一个用户需要在数据平台中查询内容数据时,会向数据平台发送查询请求,数据平台接收到该查询请求之后,则会将对内容数据的查询语句提供给数据脱敏装置,数据脱敏装置则接收到数据平台发来的对内容数据的查询语句。
比如接收到的查询语句为“Select name from user”。
接下来在步骤203中,根据接收到的查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,如果是,执行步骤205,否则,执行步骤207。
本步骤的具体实现过程包括:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据位置是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的至少一个对应敏感数据的存储位置。
比如,对于查询语句“select name from user”,解析出其中包括两个目标元数据“name”及“user”;根据该查询语句的语法可知,“user”为数据库中表的名称,“name”为数据库中列的名称,该语句中没有限定库的名称,因此,将“name”及“user”进行组合,得到“*.user.name”,该组合后的目标元数据表征出相关内容数据在数据平台中的目标存储位置为任意一个数据库中表“user”中名称为“name”的列。之后,将“*.user.name”与第一敏感数据规则进行匹配,如果第一敏感数据规则中也包括了“*.user.name”,则能够匹配到,否则,无法匹配到。
本步骤203中,如果能匹配到,则说明该查询语句所查询的内容数据为敏感数据,需要脱敏,则执行步骤205的脱敏处理。当然,在实际的业务实现中,也可以进一步跟管理人员进行确认,比如告知管理人员当前查询语句涉及到的敏感信息(比如提供解析出的目标元数据“name”及“user”)及准备在步骤205中执行的脱敏处理的规则,如果管理人员核实后,认为应该脱敏,则向数据脱敏装置回复脱敏指令,数据脱敏装置接收到脱敏指令后,再执行步骤205中的脱敏处理,如果数据脱敏装置没有接收到脱敏指令,则不会执行步骤205中的脱敏处理。增加的此种人机交互的处理,能够让管理人员根据实际业务场景,更好地控制数据脱敏的过程。
接下来,在步骤205中对该查询语句所查询的内容数据进行第一脱敏处理。
在本说明书一个实施例中,第一脱敏处理包括:对内容数据进行数据变形和隐藏部分内容的处理。
在本说明书另一个实施例中,第一脱敏处理包括:对该查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据。比如,对于SQL语句“select name from user”,将其改写为“select fun(name)from user”。如果不改写,利用查询语句“Select name from user”会查询出内容数据“张三”、“李四”等,利用改写后的查询语句会查询出脱敏后的内容数据“张X”、“李X”等,从而实现了数据脱敏。
接下来在步骤207中,从数据平台获取该查询语句所查询的各内容数据。
执行到本步骤时,因为利用查询语句没有匹配到第一敏感数据规则,即根据查询语句确定不会涉及敏感数据,因此,需要通过步骤207及后续处理,通过内容数据进一步核实。
比如,查询语句为“select name from user”,则本步骤中从数据平台获取了表“user”中名称为“name”的列中的所有内容数据。
接下来在步骤209中,利用获取到的各内容数据匹配预先设置的第二敏感数据规则,如果能匹配到,执行步骤211,否则,无需对该内容数据进行脱敏,直接结束当前流程。
本步骤209的过程可以包括:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种对应敏感数据的数据类型。
比如获取了表“user”中名称为“address”的列中的所有内容数据,包括1亿条内容数据。本步骤的作用可以核实“address”列中本应都包括地址信息,但是实际存储的到底是否为地址信息,比如由于恶意攻击行为,“address”列中存储的大部分数据不是地址信息,而是用户姓名,通过匹配第二敏感数据规则可以避免匹配遗漏。首先,对该1亿条内容数据进行抽样,比如抽样出10万个内容数据,对该10万个内容数据进行特征提取,利用特征提取后得到的内容数据匹配第二敏感数据规则,比如匹配地址信息对应的识别模型,没有匹配到,继续匹配其他数据类型识别模型,直到匹配到用户姓名类型对应的识别模型,则确定需要脱敏。
在步骤209中,当匹配到第二敏感数据规则之后,并在执行步骤211的第二脱敏处理之前,也可以进一步跟管理人员进行确认,比如告知管理人员当前内容数据涉及到的敏感信息(比如提供匹配到的识别模型对应的数据类型如“用户姓名”)及准备在步骤211中执行的脱敏处理的规则,如果管理人员核实后,认为应该脱敏,则向数据脱敏装置回复脱敏指令,数据脱敏装置接收到脱敏指令后,再执行步骤211中的脱敏处理,如果数据脱敏装置没有接收到脱敏指令,则不会执行步骤211中的脱敏处理。增加的此种人机交互的处理,能够让管理人员根据实际业务场景,更好地控制数据脱敏的过程。
接下来,在步骤211中对该查询语句所查询的内容数据进行第二脱敏处理。
在本说明书一个实施例中,第二脱敏处理包括:对内容数据进行数据变形和隐藏部分内容的处理。
第二脱敏处理还可以包括:对该查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据。比如,对于SQL语句“select name from user”,将其改写为“select fun(name)from user”。如果不改写,利用查询语句“select namefrom user”会查询出内容数据“张三”、“李四”等,利用改写后的查询语句会查询出内容数据“张X”、“李X”等,从而实现了数据脱敏。
在本说明书的一个实施例中,提供了一种数据脱敏装置,参见图3,该装置300包括:
数据平台交互模块301,被配置为接收数据平台发来的对内容数据的查询语句,以及在受到触发后从数据平台获取该查询语句所查询的内容数据;
敏感规则匹配模块302,被配置为根据所述查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,如果是,则对脱敏处理模块进行第一触发,如果否则触发数据平台交互模块;以及利用获取到的内容数据匹配预先设置的第二敏感数据规则,如果能匹配到,则对脱敏处理模块进行第二触发;
脱敏处理模块303,被配置为在受到第一触发后,对所述查询语句所查询的内容数据进行第一脱敏处理,以及在受到第二触发后,对该至少一条内容数据进行第二脱敏处理。
在本说明书装置的一个实施例中,所述敏感规则匹配模块302被配置为执行:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的至少一个存储位置。
在本说明书装置的一个实施例中,所述元数据包括:库、表、列;
第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三个元素表征的一个存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三个元素表征的一个存储位置。
在本说明书装置的一个实施例中,所述敏感规则匹配模块302被配置为执行:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种数据类型。
在本说明书装置的一个实施例中,数据类型识别模型包括:正则表达式计算模型或者NER算法模型。
在本说明书装置的一个实施例中,所述脱敏处理模块303被配置为执行:对内容数据进行数据变形和隐藏部分内容的处理;和/或,对该查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例中装置的具体限定。在说明书的另一些实施例中,该装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (9)
1.数据脱敏方法,包括:
接收数据平台发来的对内容数据的查询语句;
根据接收到的查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则;
如果是,则对该查询语句所查询的内容数据进行第一脱敏处理,结束当前流程;
如果否,则从数据平台获取该查询语句所查询的各内容数据;
利用获取到的各内容数据匹配预先设置的第二敏感数据规则;
如果能匹配到,则对该内容数据进行第二脱敏处理;
其中,所述根据接收到的查询语句判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,包括:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的敏感数据的存储位置;
其中,所述元数据的类型包括:库、表、列;
第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三种元素表征的至少一个存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三种元素表征的至少一个存储位置。
2.根据权利要求1所述的方法,其中,所述利用获取到的内容数据匹配预先设置的第二敏感数据规则,包括:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种对应敏感数据的数据类型。
3.根据权利要求2所述的方法,其中,所述数据类型识别模型包括:正则表达式计算模型或者NER算法模型。
4.根据权利要求1至3中任一所述的方法,其中,
所述脱敏处理包括:对内容数据进行数据变形或隐藏部分内容的处理;和/或,对所述查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据;
和/或,
所述查询语句为SQL语句。
5.数据脱敏装置,包括:
数据平台交互模块,被配置为接收数据平台发来的对内容数据的查询语句,以及在受到触发后从数据平台获取该查询语句所查询的内容数据;
敏感规则匹配模块,被配置为根据所述查询语句,判断所查询的内容数据是否能匹配到预先设置的第一敏感数据规则,如果是,则对脱敏处理模块进行第一触发,结束当前流程;如果否,则触发数据平台交互模块,以及利用获取到的内容数据匹配预先设置的第二敏感数据规则,如果能匹配到,则对脱敏处理模块进行第二触发;
脱敏处理模块,被配置为在受到第一触发后,对所述查询语句所查询的内容数据进行第一脱敏处理,以及在受到第二触发后,对该至少一条内容数据进行第二脱敏处理;
其中,所述敏感规则匹配模块被配置为执行:
从接收到的查询语句中解析出至少一个目标元数据;
根据查询语句的语法,对该至少一个目标元数据进行组合,以利用组合后的目标元数据表征出内容数据在数据平台中的存储位置;
判断组合后的目标元数据是否能匹配到所述第一敏感数据规则;其中,所述第一敏感数据规则中包括由至少一个元数据表征的敏感数据的存储位置;
其中,所述元数据包括:库、表、列;
第一敏感数据规则包括:
由库的名称、表的名称及列的名称共三个元素表征的一个存储位置;
或者,
由库的名称、表的名称及列的名称中的一个或两个再加通配符,共三个元素表征的一个存储位置。
6.根据权利要求5所述的装置,其中,所述敏感规则匹配模块被配置为执行:
对获取到的至少一条内容数据进行抽样;
对于抽样后得到的内容数据进行特征提取;
利用特征提取后得到的内容数据匹配所述第二敏感数据规则;其中,所述第二敏感数据规则包括:至少一个数据类型识别模型,每一个数据类型识别模型输出一种对应敏感数据的数据类型。
7.根据权利要求6所述的装置,其中,所述数据类型识别模型包括:正则表达式计算模型或者NER算法模型。
8.根据权利要求5至7中任一所述的装置,其中,
所述脱敏处理模块被配置为执行:对内容数据进行数据变形和隐藏部分内容的处理;和/或,对该查询语句进行改写,以使得利用该查询语句从数据平台查询出的内容数据不包括敏感数据;
和/或,
所述查询语句为SQL语句。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110434299.1A CN113032836B (zh) | 2021-04-22 | 2021-04-22 | 数据脱敏方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110434299.1A CN113032836B (zh) | 2021-04-22 | 2021-04-22 | 数据脱敏方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032836A CN113032836A (zh) | 2021-06-25 |
CN113032836B true CN113032836B (zh) | 2022-05-06 |
Family
ID=76457974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110434299.1A Active CN113032836B (zh) | 2021-04-22 | 2021-04-22 | 数据脱敏方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032836B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021199A (zh) * | 2022-01-04 | 2022-02-08 | 北京安华金和科技有限公司 | 一种基于预定规则的敏感数据发现方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778288B (zh) * | 2015-11-24 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种数据脱敏的方法及系统 |
CN110889134B (zh) * | 2019-11-11 | 2024-01-23 | 北京中电飞华通信股份有限公司 | 一种数据脱敏方法、装置与电子设备 |
CN111191276B (zh) * | 2019-12-05 | 2023-09-19 | 平安银行股份有限公司 | 数据脱敏方法、装置、存储介质及计算机设备 |
CN111159754A (zh) * | 2019-12-12 | 2020-05-15 | 浙江华云信息科技有限公司 | 逆向解析的数据脱敏方法及装置 |
CN111475525A (zh) * | 2020-03-05 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于结构化查询语言的脱敏方法、及其相关设备 |
-
2021
- 2021-04-22 CN CN202110434299.1A patent/CN113032836B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113032836A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN107391359B (zh) | 一种业务测试方法及装置 | |
CN110795756A (zh) | 一种数据脱敏方法、装置、计算机设备及计算机可读存储介质 | |
CN109190368B (zh) | 一种sql注入检测装置及sql注入检测方法 | |
CN110602029A (zh) | 一种用于识别网络攻击的方法和系统 | |
CN108287823B (zh) | 消息数据处理方法、装置、计算机设备和存储介质 | |
CN108090351A (zh) | 用于处理请求消息的方法和装置 | |
CN110035087B (zh) | 一种从流量还原账号信息的方法、装置、设备及存储介质 | |
CN110768875A (zh) | 一种基于dns学习的应用识别方法及系统 | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN113032836B (zh) | 数据脱敏方法和装置 | |
CN111813803A (zh) | 语句块执行计划的生成方法、装置、设备和存储介质 | |
CN113126955A (zh) | 一种随机数据生成方法、装置、智能终端及存储介质 | |
KR102189127B1 (ko) | 행위 기반 룰 처리 장치 및 그 처리 방법 | |
CN113141332B (zh) | 一种命令注入识别方法、系统、设备及计算机存储介质 | |
CN105718599A (zh) | 数据库访问数据包解析的方法及装置 | |
CN116319089B (zh) | 一种动态弱密码检测方法、装置、计算机设备及介质 | |
US9584537B2 (en) | System and method for detecting mobile cyber incident | |
CN116702181A (zh) | 基于Apache Calcite的数据脱敏方法、系统、设备及介质 | |
CN111259039A (zh) | 数据库操作方法、装置、设备和计算机可读存储介质 | |
CN111209325A (zh) | 业务系统接口识别方法、装置及存储介质 | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
CN106326419B (zh) | 网络自动机处理方法及装置 | |
CN107229865B (zh) | 一种解析Webshell入侵原因的方法及装置 | |
CN113821692A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |