CN113360947A - 数据脱敏方法及装置、计算机可读存储介质、电子设备 - Google Patents

数据脱敏方法及装置、计算机可读存储介质、电子设备 Download PDF

Info

Publication number
CN113360947A
CN113360947A CN202110733280.7A CN202110733280A CN113360947A CN 113360947 A CN113360947 A CN 113360947A CN 202110733280 A CN202110733280 A CN 202110733280A CN 113360947 A CN113360947 A CN 113360947A
Authority
CN
China
Prior art keywords
data
desensitization
desensitized
field
interface
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.)
Granted
Application number
CN202110733280.7A
Other languages
English (en)
Other versions
CN113360947B (zh
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.)
Hangzhou Netease Zaigu Technology Co Ltd
Original Assignee
Hangzhou Netease Zaigu 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 Hangzhou Netease Zaigu Technology Co Ltd filed Critical Hangzhou Netease Zaigu Technology Co Ltd
Priority to CN202110733280.7A priority Critical patent/CN113360947B/zh
Publication of CN113360947A publication Critical patent/CN113360947A/zh
Application granted granted Critical
Publication of CN113360947B publication Critical patent/CN113360947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开是关于一种数据脱敏方法及装置、计算机可读存储介质、电子设备,涉及大数据处理技术领域,该方法包括:接收前端服务发送的数据访问请求,并对数据访问请求进行解析得到数据访问请求中包括的账号信息以及请求链接;在确定账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;确定与待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及待脱敏字段的数据类型;基于待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,并将模拟数据返回至前端服务。本公开实现接口粒度的脱敏。

Description

数据脱敏方法及装置、计算机可读存储介质、电子设备
技术领域
本公开的实施方式涉及大数据处理领域,更具体地,本公开的实施方式涉及一种数据脱敏方法、数据脱敏装置、计算机可读存储介质以及电子设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在一些数据脱敏方案中,一般可以包括动态脱敏以及静态脱敏两种。其中,在静态脱敏方案中,可以将数据抽取出生产环境,然后对其脱敏后再分发至测试以及开发等其他场景;在动态脱敏方案中,可以在对敏感数据访问时,进行实时脱敏。
但是,上述脱敏方案无法具体到接口层面,也即无法细粒度到对每一个接口进行不同的脱敏。
发明内容
为此,非常需要一种改进的数据脱敏方法,以在确定账号信息存在于账号脱敏白名单中是,匹配与待脱敏的接口链接对应的脱敏规则,进而根据待脱敏的接口链接中包括的待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对待脱敏字段进行脱敏。
在本上下文中,本公开的实施方式期望提供一种数据脱敏方法、数据脱敏装置、计算机可读存储介质以及电子设备。
根据本公开的一个方面,提供一种数据脱敏方法,包括:
接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
在本公开的一种示例性实施例中,所述数据脱敏方法还包括:
基于每个接口链接配置所述脱敏规则;和/或
生成与所述多个接口链接对应的正则表达式,并基于所述正则表达式配置所述脱敏规则;
将所述配置的脱敏规则存储至所述脱敏接口规则库。
在本公开的一种示例性实施例中,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,包括:
根据所述待脱敏的接口链接从所述脱敏接口规则库中匹配所述脱敏规则;和/或
基于所述待脱敏的多个接口链接生成对应的正则表达式,并根据所述正则表达式从所述脱敏接口规则库中匹配所述脱敏规则。
在本公开的一种示例性实施例中,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型,包括:
提取与所述待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所述原始字段进行匹配,得到所述待脱敏字段;
根据所述待脱敏字段的数据类型,为所述待脱敏字段匹配脱敏规则;其中,所述数据类型包括整型、百分比、双精度浮点型以及长整型中的一种或多种;所述脱敏规则包括倍乘、循环倍乘以及移位中的一种或多种。
在本公开的一种示例性实施例中,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,包括:
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行倍乘和/或循环倍乘和/或移位处理,得到所述模拟数据。
在本公开的一种示例性实施例中,所述数据脱敏方法还包括:
判断所述模拟数据的数据类型是否和与所述模拟数据对应的待脱敏字段所具有的业务类型一致;
若否,则对所述倍乘的第一被乘系数和/或循环倍乘的第二倍乘系数进行调整,直至所述模拟数据的数据类型和与所述模拟数据对应的待脱敏字段所具有的业务类型一致。
在本公开的一种示例性实施例中,所述数据脱敏方法还包括:
提取所述全量数据中所包括的所有字段,并生成与所述所有字段对应的字段脱敏白名单以及字段脱敏黑名单;其中,所述字段脱敏白名单中所包括的字段为与所述前端服务所具有的业务类型对应的字段;所述字段脱敏黑名单中所包括的字段为分页符和/或业务编号;
根据所述字段脱敏白名单以及字段脱敏黑名单生成所述待脱敏字段规则库。
根据本公开的一个方面,提供一种数据脱敏装置,包括:
第一解析模块,用于接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
第一匹配模块,用于在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
待脱敏字段确定模块,用于确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
数据脱敏模块,用于基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
第一规则配置模块,用于基于每个接口链接配置所述脱敏规则;和/或
第二规则配置模块,用于生成与所述多个接口链接对应的正则表达式,并基于所述正则表达式配置所述脱敏规则;
脱敏规则存储模块,用于将所述配置的脱敏规则存储至所述脱敏接口规则库。
在本公开的一种示例性实施例中,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,包括:
根据所述待脱敏的接口链接从所述脱敏接口规则库中匹配所述脱敏规则;和/或
基于所述待脱敏的多个接口链接生成对应的正则表达式,并根据所述正则表达式从所述脱敏接口规则库中匹配所述脱敏规则。
在本公开的一种示例性实施例中,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型,包括:
提取与所述待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所述原始字段进行匹配,得到所述待脱敏字段;
根据所述待脱敏字段的数据类型,为所述待脱敏字段匹配脱敏规则;其中,所述数据类型包括整型、百分比、双精度浮点型以及长整型中的一种或多种;所述脱敏规则包括倍乘、循环倍乘以及移位中的一种或多种。
在本公开的一种示例性实施例中,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,包括:
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行倍乘和/或循环倍乘和/或移位处理,得到所述模拟数据。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
第一判断模块,用于判断所述模拟数据的数据类型是否和与所述模拟数据对应的待脱敏字段所具有的业务类型一致;
倍乘系数调整模块,用于若否,则对所述倍乘的第一被乘系数和/或循环倍乘的第二倍乘系数进行调整,直至所述模拟数据的数据类型和与所述模拟数据对应的待脱敏字段所具有的业务类型一致。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
字段提取模块,用于提取所述全量数据中所包括的所有字段,并生成与所述所有字段对应的字段脱敏白名单以及字段脱敏黑名单;其中,所述字段脱敏白名单中所包括的字段为与所述前端服务所具有的业务类型对应的字段;所述字段脱敏黑名单中所包括的字段为分页符和/或业务编号;
待脱敏字段规则库生成模块,用于根据所述字段脱敏白名单以及字段脱敏黑名单生成所述待脱敏字段规则库。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的数据脱敏方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据脱敏方法。
根据本公开实施方式的数据脱敏方法和数据脱敏装置,可以对数据访问请求进行解析得到数据访问请求中包括的账号信息以及请求链接;并在确定账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;然后确定与待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及待脱敏字段的数据类型;最后基于待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,而无需将全量数据抽取出生产环境并进行脱敏,从而显著地降低了由于需要将全量数据抽取出生产环境并进行脱敏导致的脱敏效率较低的问题,并且减少了由于需要抽取全量数据进而使得业务系统的安全性较低的问题,以及无法细粒度到对每一个接口进行不同的脱敏,进而导致的脱敏结果的准确率较低的问题,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开示例实施例的一种数据脱敏方法的流程图;
图2示意性地示出了根据本公开示例实施例的一种数据脱敏系统的框图;
图3示意性地示出了根据本公开示例实施例的一种脱敏前的原始数据图标的示例图;
图4示意性地示出了根据本公开示例实施例的一种脱敏后的模拟数据图表的示例图;
图5示意性地示出了根据本公开示例实施例的一种确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型的方法流程图;
图6示意性地示出了根据本公开示例实施例的另一种数据脱敏方法的流程图;
图7示意性地示出了根据本公开示例实施例的一种数据脱敏方法的应用场景示例图;
图8示意性地示出了根据本公开示例实施例的另一种数据脱敏方法的流程图;
图9示意性地示出了根据本公开示例实施例的一种过滤器的示例图;
图10示意性地示出了根据本公开示例实施例的一种数据脱敏装置的框图;
图11示意性地示出了根据本公开示例实施例的一种用于对上述数据脱敏方法进行存储的计算机可读存储介质;
图12示意性地示出了根据本公开示例实施例的一种用于实现上述数据脱敏方法的电子设备。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种数据脱敏方法、数据脱敏装置、计算机可读存储介质以及电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本公开人发现,现有的数据脱敏方法可以分为如下两种:
一种是,静态数据脱敏(SDM,Static Data Masking):适用于将数据抽取出生产环境脱敏后分发至测试、开发、培训、数据分析等场景。在实际应用中,通常需要将生产环境的数据复制到测试或者开发库中,以此来排查问题或进行数据分析,但出于安全考虑又不能将敏感数据存储于非生产环境,此时就需要把敏感数据从生产环境脱敏完毕之后再在非生产环境使用;但是,该方案会使得脱敏后的数据实现与生产环境隔离;
另一种是,动态数据脱敏(DDM,Dynamic Data Masking):一般用在生产环境,访问敏感数据时实时进行脱敏。但是,在不同情况下对于同一敏感数据的读取,需要做不同级别的脱敏处理,例如:不同角色、不同权限所执行的脱敏方案会不同;因此,在抹去数据中的敏感内容同时,也需要保持原有的数据特征、业务规则和数据关联性,保证在开发、测试以及数据分析类业务不会受到脱敏的影响,使脱敏前后的数据一致性和有效性。
并且,上述两种方案均存在接入成本高,不够轻量级,对使用的业务系统有侵入性的问题,以及脱敏粒度无法细粒度到接口层面,或者是接口层面之后,也不能同时从多个维度进行脱敏。
基于此,本公开示例实施例首先提供了一种数据脱敏方法,一方面,通过对数据访问请求进行解析得到数据访问请求中包括的账号信息以及请求链接;并在确定账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;再确定与待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及待脱敏字段的数据类型;最后基于待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,由于可以在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,进而实现了接口层面的脱敏,解决了现有技术中脱敏粒度无法细粒度到接口层面的问题;另一方面,由于可以基于待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,实现了从待脱敏字段的维度进行对应的脱敏;再一方面,通过对数据访问请求进行解析得到数据访问请求中包括的账号信息以及请求链接;并在确定账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,实现了根据不同角色和/或不同权限层级的数据脱敏;进一步的,由于可以根据待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,实现了模拟数据以及待脱敏的数据的数据类型的一致性,避免了脱敏后的数据实现与生产环境隔离的问题,同时也保持了原有的数据特征、业务规则和脱敏后的数据之间的关联性。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
示例性方法
本示例实施方式中首先提供了一种数据脱敏方法,该方法可以运行于数据产品服务端所在的服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。参考图1所示,数据脱敏方法可以包括以下步骤:
步骤S110.接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
步骤S120.在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
步骤S130.确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
步骤S140.基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
上述数据脱敏方法中,可以对数据访问请求进行解析得到数据访问请求中包括的账号信息以及请求链接;并在确定账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;然后确定与待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及待脱敏字段的数据类型;最后基于待脱敏字段的数据类型以及与数据类型对应的脱敏规则,对全量数据中的待脱敏字段进行脱敏得到模拟数据,而无需将全量数据抽取出生产环境并进行脱敏,从而显著地降低了由于需要将全量数据抽取出生产环境并进行脱敏导致的脱敏效率较低的问题,并且减少了由于需要抽取全量数据进而使得业务系统的安全性较低的问题,以及无法细粒度到对每一个接口进行不同的脱敏,进而导致的脱敏结果的准确率较低的问题,为用户带来了更好的体验。
以下,将结合附图对本公开示例实施例数据脱敏方法进行详细的解释以及说明。
首先,对本公开示例实施例中所涉及到的名词进行解释以及说明。
本公开示例实施例所记载的数据脱敏服务(Data Masking),可以用于解决数据产品系列测试环境直接用生产数据的问题,为数据产品的接口测试提供了平台化的可能;本公开示例实施例所记载的数据脱敏方法,可以采用SDK+独立脱敏服务架构,具备多种灵活自定义脱敏方式;该方法目前已在一些数据产品项目(例如VIP App)中落地,数据敏感产品线已具备测试分层能力,并可支持前端开发使用外包人员。此处需要补充说明的是,本公开示例实施例所涉及到的数据脱敏服务,既是数据脱敏,但是它又不仅仅是数据脱敏,其本质上是Mock能力的一部分,线上引流进行脱敏和通过mock能力造数本质上是同一原理;但是,它从线上引流生产数据来做Mock的思想,进而使得在测试环境的造数能力上再上一个台阶。并且,提供了一站式生产数据引流下行及脱敏能力,对于各业务线数据相关场景提供更丰富和贴近线上的造数能力;而且,可以通过脱敏服务能力建设具备数据产品项目的测试分层的能力,优化数据产品测试长链路上的资源配置问题。
数据统一查询系统(DQS),可以用于把离线以及实时等不同数据源的集市数据抽象为模型维度和指标,对各业务提供统一的数据查询服务。
Apollo(阿波罗),一种分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
其次,对本公开示例实施例的发明目的进行解释以及说明。
具体的,由于生产环境的数据较测试环境有更大的丰富性,所以将生产环境的数据引流至测试环境进行脱敏后使用,可以解决实际应用中的数据系列项目产品数据的敏感问题,让数据产品项目前端开发流程和测试流程具备外包化的能力,整体数据测试也具备了数据分层的能力。
同时,在一些测试环境中,数据产品测试环境都是使用的生产数据,鉴于运营数据的敏感性,数据产品相关的测试工作(如:接口测试)只能通过本地部署的一些测试框架来支持,一直没有平台化。除此之外,数据产品测试目前存在人力不足,项目质量保障覆盖度低的现象。
基于此,本公开提供一种数据脱敏方法:在未接入脱敏服务前,正常的业务流程是后端服务通过统一查询服务从数仓模型中查询数据,经过一定的聚合处理,返回给前端展示。接入脱敏服务后,参考图2所示,数据产品服务端200中的后端服务(例如服务A、服务B以及服务C等等)201先通过统一查询服务从数据统一查询系统220中查询数据,此时后端服务201中嵌入的sdk202会通过身份认证系统(例如openid)或者页面cookie标识(例如ntess)解析中拿到的账号信息和请求链接返回给数据脱敏服务模块230,数据脱敏服务模块230根据账号信息是否在脱敏白名单中,来决定是不是继续走脱敏服务;当账号信息命中账号白名单,数据脱敏服务模块230会在分布式配置中心(例如Apollo)240中继续判断要对应用中的哪些返回(接口粒度)做脱敏,做何种具体规则的脱敏;当然,也可以对接口中的字段粒度做是否脱敏的黑名单配置,进而实现数据脱敏,并将脱敏后的数据返回至前端服务250。
以下,将结合图2对本公开示例实施例数据脱敏方法中所涉及到的各步骤进行详细的解释以及说明。
在步骤S110中,接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接。
在本示例实施例中,首先,后端服务201接收前端服务250发送的数据访问请求,该数据访问请求中携带发起该数据访问请求的发起者的账号信息以及需要获取的数据的请求链接;其中,前端服务以及后端服务可以是对应的应用程序的客户端以及服务器端;例如,前端服务为XX音乐在终端设备上的客户端,后端服务为与XX音乐的客户端对应的服务器端;其次,当接收到该数据访问请求以后,可以对该数据访问请求进行解析,进而得到账号信息以及请求链接。其中,具体的解析过程可以包括:后端服务中嵌入的sdk通过身份认证系统openid或者页面cookie标识ntess对数据访问请求进行解析,进而得到上述账号信息以及请求链接。
在步骤S120中,在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的。
在本示例实施例中,当得到账号信息以及请求链接以后,首先需要确定该账号信息是否存在于账号脱敏白名单中;其中,账号脱敏白名单中所包括的账号信息主要是能登陆接入脱敏服务的系统的账号信息,可以是邮箱账号A@xxx.com、手机号以及任意id等等,添加在白名单中的账号信息,看到的数据是脱敏后的数据,未添加在白名单中的账号不进行数据脱敏。其中,非白名单看到的原始数据图表可以如图3所示,账号添加白名单之后,看到的脱敏数据图表可以如图4所示。在图3以及图4中,横坐标标识具体的时间节点,纵坐标表示具体的销售额;可以看出,相较于脱敏后的数据来说,脱敏前的数据(图3)变化趋势较大,脱敏后的数据(图4)变化趋势较为平缓,但是总体的变化趋势是一致的;由此可以得知,脱敏后的数据可以在保证数据安全的基础上,保证数据的一致性,进而可以提高脱敏后的数据的精确度,以提高脱敏后的数据在各种不同应用场景下的精确度。
其次,在确定账号信息存在于账号脱敏白名单中时,可以在脱敏接口规则库中对请求链接进行匹配。同时,为了可以在脱敏接口规则库中对请求链接进行匹配,首先需要构建脱敏接口规则库;其中,脱敏接口规则库的构建方法具体可以包括:首先,基于每个接口链接配置所述脱敏规则;和/或生成与所述多个接口链接对应的正则表达式,并基于所述正则表达式配置所述脱敏规则;其次,将所述配置的脱敏规则存储至所述脱敏接口规则库。
详细而言,当基于每个接口链接配置脱敏规则时,可以根据该接口链接中所包括的字段以及各字段所对应的数据类型,配置对应的脱敏规则;例如,当接口链接为“全站”时,该接口链接中所包括的字段可以包括访问量、销售额、点击量、转化率等等,进而可以根据各字段对应的类型配置对应的脱敏规则;同时,当基于正则表达式配置脱敏规则时,可以对该正则表达式中所包括的同一数据类型的字段配置统一的脱敏规则;进一步的,当得到对应的脱敏规则后,即可根据该脱敏规则生成对应的脱敏接口规则库。此处需要进一步补充说明的是,通过设置支持接口粒度的脱敏配置以及支持通过正则表达式进行数据的批量脱敏(白名单),当后端服务通过接口返回数据给前端展示时,每个接口对应一个应用模块的数据,通过灵活配置单个接口决定对任意模块的任意数据的返回,做针对性脱敏,进而提升脱敏的灵活性;支持通过正则表达式(例如应用中返回的数据是来自不同接口,/xxx/aaa/bbb/ccc、/xxx/aaa/bbb/ddd和/xxx/aaa/bbb/eee,通过配置正则表达式/xxx/aaa/bbb/*可以对这一批命中正则规则的接口进行数据脱敏)针对一批接口对应的多个模块做脱敏配置,进而可以提高脱敏效率。
进一步的,当得到脱敏接口规则库以后,即可在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则。其中,脱敏规则的具体匹配过程可以包括:根据所述待脱敏的接口链接从所述脱敏接口规则库中匹配所述脱敏规则;和/或基于所述待脱敏的多个接口链接生成对应的正则表达式,并根据所述正则表达式从所述脱敏接口规则库中匹配所述脱敏规则。也即,当前端服务发送的接口链接为单个接口链接时,可以直接从脱敏规则库中匹配与该接口链接对应的脱敏规则,当前端服务发送的接口链接为批量接口链接时,可以生成与该批量接口链接对应的正则表达式,进而匹配对应的脱敏规则;当然,当发送的接口链接为批量接口链接时,也可以逐个接口链接进行匹配,本示例对此不做特殊限制。
在步骤S130中,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型。
在本示例实施例中,参考图5所示,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型,可以包括以下步骤:
步骤S510,提取与所述待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所述原始字段进行匹配,得到所述待脱敏字段。
在本示例实施例中,为了可以匹配到对应的待脱敏字段,首先需要生成对应的待脱敏字段规则库。其中,待脱敏字段规则库的生成方法可以包括:首先,提取所述全量数据中所包括的所有字段,并生成与所述所有字段对应的字段脱敏白名单以及字段脱敏黑名单;其中,所述字段脱敏白名单中所包括的字段为与所述前端服务所具有的业务类型对应的字段;所述字段脱敏黑名单中所包括的字段为分页符和/或业务编号;其次,根据所述字段脱敏白名单以及字段脱敏黑名单生成所述待脱敏字段规则库。也即,可以针对接口粒度返回的报文信息中所包括的所有字段,灵活的配置报文中的任何一个字段是否支持脱敏,比如:code:200、pagination:null分页符等字段不需要脱敏,加入脱敏黑名单中,数据就不会被脱敏;又比如,访问量、点击量、销售额以及转换率等字段则需要脱敏,可以加入字段脱敏白名单,进而根据字段脱敏白名单以及字段脱敏黑名单生成上述待脱敏字段规则库。需要补充说明的是,通过设置待脱敏字段规则库,可以针对命中脱敏账号白名单的账号,再次细分,对所看到的数据,可以灵活选择部分数据进行脱敏,进而实现多个不同维度的脱敏,进一步的提高脱敏结果的精确度。
进一步的,当得到待脱敏字段规则库以后,即可提取与待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所始字段进行匹配,得到待脱敏字段;其中,待脱敏的字段例如可以包括访问量、点击量、销售额、转换率以及访问的集中时间段等等。
步骤S520,根据所述待脱敏字段的数据类型,为所述待脱敏字段匹配脱敏规则;其中,所述数据类型包括整型、百分比、双精度浮点型以及长整型中的一种或多种;所述脱敏规则包括倍乘、循环倍乘以及移位中的一种或多种。
具体的,当数据类型为整型、百分比、双精度浮点型以及长整型时,其对应的匹配规则可以包括倍乘、循环倍乘以及移位等等;其中,倍乘以及循环倍乘可以设置对应的第一倍乘系数以及第二倍乘系数,进而通过第一被乘系数以及第二倍乘系数对相应的待脱敏字段对应的数值进行乘积运算即可;移位可以通过设置对应的移位规则,例如小数点向前移位、向后移位,或者对应位置的两个或者多个数字进行移位交换等等,本示例对此不做特殊限制。
在步骤S140中,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
在本示例实施例中,首先,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行倍乘和/或循环倍乘和/或移位处理,得到所述模拟数据;其次,当得到模拟数据以后,即可将该模拟数据返回值前端服务,以使得前端服务可以根据该模拟数据进行接口测试、数据预测以及场景模拟等等。此处需要补充说明的是,通过灵活的根据不同的数据类型配置不同的脱敏规则,进而可以在提高模拟数据的精确度的基础上,进一步的提高脱敏效率,进而可以提升测试效率、数据预测效率以及场景模拟效率,进而进一步的提升用户体验。
同时,为了可以进一步的提高模拟数据的准确率,参考图6所示,该数据脱敏方法还可以包括以下步骤:
步骤S610,判断所述模拟数据的数据类型是否和与所述模拟数据对应的待脱敏字段所具有的业务类型一致;
步骤S620,若否,则对所述倍乘的第一被乘系数和/或循环倍乘的第二倍乘系数进行调整,直至所述模拟数据的数据类型和与所述模拟数据对应的待脱敏字段所具有的业务类型一致。
以下,将对步骤S610以及步骤S620进行解释以及说明。具体的,针对不同类型的数据,按照倍乘、循环倍乘以及移位等组合算法,对待脱敏字段对应的属性值(数值)进行脱敏;同时,为了可以最大限度的贴合实际数据,还需要对脱敏后的模拟数据的数据类型是否与待脱敏字段所具有的业务类型的一致性进行判断;如果一致,则完成脱敏;如果不一致,则需要对模拟数据进行调整,具体的调整过程可以是对第一倍乘系数以及第二倍乘系数进行调整,当然,如果是由于移位造成,也可以对移位规则进行调整,本示例对此不做特殊限制。进一步举例来说,假设项目应用中有返回百分比的数据,这个数据有实际的业务含义,那脱敏后的百分比是不能大于1的,此时可以将数据分类,百分比的倍乘系数就可以控制在[0,1]这个闭区间内。通过该方法,可以进一步的保持原有的数据特征、业务规则和数据关联性,保证在开发、测试以及数据分析类业务不会受到脱敏的影响,使脱敏前后的数据一致性和有效性。
以下,结合图7对本公开示例实施例的数据脱敏方法进行进一步的解释以及说明。
具体的,参考图7所示,本方案主要是通过java Spring/Springboot框架自带的数据过滤器sdk701(Filter,也即图2中的202)来实现对Http接口请求进行拦截和过滤处理;并且,Filter能够支持对request(请求)和response(响应)进行操作,当接收到前端应用控制台702(也即图2中的250)发送的与数据后端服务(服务A、服务B以及服务C等等)703(也即图2中的201)对应的request后,对request进行过滤,如果需要脱敏,则通过获取到接口处理返回中真实的response的值,再根据ApolloY704(也即图中的240)中设定的规则来进行模糊/混淆(根据数据特点,对不同业务意义的数据细分设置更有针对性的规则,比如拆分百分比和普通数据的倍乘系数)处理来达到期望的数据脱敏目标。
参考图8所示,该数据脱敏方法可以包括以下步骤:
步骤S801,用户触发应用请求;
步骤S802,SDK获取请求中携带的账号和接口信息;
步骤S803,ApolloY获取配置的规则,判断是否需要脱敏;若是,则跳转至步骤S804;若否,则跳转至步骤S805;
步骤S804,返回脱敏数据;
步骤S805,返回实际数据;
步骤S806,将返回的数据展示在前端页面上。
进一步的,在本公开示例实施例所记载的数据脱敏方法中,会在SDK中bean(java写成的可重用组件)的注册时新增注册一个Filter,主要用于对请求返回的reponse结果去做处理;其中,其中,过滤器的责任链模式具体可以参考图9所示(请求→过滤器1→过滤器2→结果处理→响应→过滤器2→过滤器1,也可以设置其他多个过滤器,本示例对此不做特殊限制);当然,还可以支持过滤器的横向扩展(每个过滤器负责各自的职责)去支持更加复杂的业务场景。
更进一步的,本公开示例实施例所提供的数据脱敏方法,可以以SDK方式接入到服务中,正常情况只需要在java工程中的pom.xml文件中引入依赖包即可,无需其他业务逻辑上的改造;同时,SDK中数据规则配置和获取支持ApolloY和服务本地配置文件两种加载方式,服务接入时可根据自身情况来选择;SDK中过滤器Bean初始化可以支持在开发环境、测试环境或者回归环境加载,线上环境不会受影响(会通过javabean注册时Profile机制的强制指定和配置中的开关来进行双重保障不会污染到线上环境)。
至此,可以毫无疑问的得出,本公开示例实施例所提供的数据脱敏方法,一方面,可以支持指定字段白名单配置,在白名单内的字段,可以选择模糊处理的类型(需要提前确定并在SDK中实现几种常用的模糊处理,未来可根据需求进行扩展);另一方面,对于一些没有固定的field值的接口,比如以键值形式返回的全量数据的接口链接,也可以实现脱敏规则的匹配;再一方面,还可以提供自定义回调是否需要进行模糊处理的接口(由接入方来实现),主要为了支持一些个性化场景,如针对特定账号、权限或其他的自定义需求等。
同时,由于其可以以SDK方式接入到服务中,进而实现了方案的轻量级以及即插即用,开发成本较低,业务上无需做改造即可快速支持需求;并且,整体扩展性较好且能做到通用性和可复制,能够适配绝大多数业务场景;进一步的,在数据产品项目中,还可以通过脱敏服务实现应用层和数据层测试分离:引入前端外包开发和测试外包介入到项目流程中,加速了整个项目版本周期的迭代;并且,数据产品接口测试摆脱数据敏感的问题,脱敏后的测试账号,数据接口测试可以平台化;goAPI上使用脱敏账号访问接口,返回的结果为脱敏后数据;更进一步的,整个脱敏过程是基于SDK获取线上数据作为元数据,根据规则进行数据脱敏,这个线上引流的思想为数仓给业务测试提供更丰富的造数能力,打开了新的思路。
示例性装置
本公开示例实施例还提供了一种数据脱敏装置。参考图10所示,该数据脱敏装置可以包括第一解析模块1010、第一匹配模块1020、待脱敏字段确定模块1030以及数据脱敏模块1040。其中:
第一解析模块1010可以用于接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
第一匹配模块1020可以用于在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
待脱敏字段确定模块1030可以用于确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
数据脱敏模块1040可以用于基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
第一规则配置模块,用于基于每个接口链接配置所述脱敏规则;和/或
第二规则配置模块,用于生成与所述多个接口链接对应的正则表达式,并基于所述正则表达式配置所述脱敏规则;
脱敏规则存储模块,用于将所述配置的脱敏规则存储至所述脱敏接口规则库。
在本公开的一种示例性实施例中,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,包括:
根据所述待脱敏的接口链接从所述脱敏接口规则库中匹配所述脱敏规则;和/或
基于所述待脱敏的多个接口链接生成对应的正则表达式,并根据所述正则表达式从所述脱敏接口规则库中匹配所述脱敏规则。
在本公开的一种示例性实施例中,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型,包括:
提取与所述待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所述原始字段进行匹配,得到所述待脱敏字段;
根据所述待脱敏字段的数据类型,为所述待脱敏字段匹配脱敏规则;其中,所述数据类型包括整型、百分比、双精度浮点型以及长整型中的一种或多种;所述脱敏规则包括倍乘、循环倍乘以及移位中的一种或多种。
在本公开的一种示例性实施例中,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,包括:
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行倍乘和/或循环倍乘和/或移位处理,得到所述模拟数据。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
第一判断模块,用于判断所述模拟数据的数据类型是否和与所述模拟数据对应的待脱敏字段所具有的业务类型一致;
倍乘系数调整模块,用于若否,则对所述倍乘的第一被乘系数和/或循环倍乘的第二倍乘系数进行调整,直至所述模拟数据的数据类型和与所述模拟数据对应的待脱敏字段所具有的业务类型一致。
在本公开的一种示例性实施例中,所述数据脱敏装置还包括:
字段提取模块,用于提取所述全量数据中所包括的所有字段,并生成与所述所有字段对应的字段脱敏白名单以及字段脱敏黑名单;其中,所述字段脱敏白名单中所包括的字段为与所述前端服务所具有的业务类型对应的字段;所述字段脱敏黑名单中所包括的字段为分页符和/或业务编号;
待脱敏字段规则库生成模块,用于根据所述字段脱敏白名单以及字段脱敏黑名单生成所述待脱敏字段规则库。
示例性存储介质
在介绍了本公开示例性实施方式的数据脱敏方法和数据脱敏装置之后,接下来,参考图11对本公开示例性实施方式的存储介质进行说明。
参考图11所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性电子设备
在介绍了本公开示例性实施方式的存储介质之后,接下来,参考图12对本公开示例性实施方式的电子设备进行说明。
图12显示的电子设备1200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230、显示单元1240。
其中,所述存储单元1220存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1210可以执行如图1中所示的步骤S110:接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;步骤S120:在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;步骤S130:确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;步骤S140:基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
存储单元1220可以包括易失性存储单元,例如随机存取存储单元(RAM)12201和/或高速缓存存储单元12202,还可以进一步包括只读存储单元(ROM)12203。
存储单元1220还可以包括具有一组(至少一个)程序模块12205的程序/实用工具12204,这样的程序模块12205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1230可以包括数据总线、地址总线和控制总线。
电子设备1200也可以通过输入/输出(I/O)接口1250,与一个或多个外部设备1300(例如键盘、指向设备、蓝牙设备等)通信。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了弹窗处理装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种数据脱敏方法,包括:
接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
2.根据权利要求1所述的数据脱敏方法,其中,所述数据脱敏方法还包括:
基于每个接口链接配置所述脱敏规则;和/或
生成与所述多个接口链接对应的正则表达式,并基于所述正则表达式配置所述脱敏规则;
将所述配置的脱敏规则存储至所述脱敏接口规则库。
3.根据权利要求2所述的数据脱敏方法,其中,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则,包括:
根据所述待脱敏的接口链接从所述脱敏接口规则库中匹配所述脱敏规则;和/或
基于所述待脱敏的多个接口链接生成对应的正则表达式,并根据所述正则表达式从所述脱敏接口规则库中匹配所述脱敏规则。
4.根据权利要求1所述的数据脱敏方法,其中,确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型,包括:
提取与所述待脱敏的接口链接对应的全量数据中所包括的原始字段,并在待脱敏字段规则库中对所述原始字段进行匹配,得到所述待脱敏字段;
根据所述待脱敏字段的数据类型,为所述待脱敏字段匹配脱敏规则;其中,所述数据类型包括整型、百分比、双精度浮点型以及长整型中的一种或多种;所述脱敏规则包括倍乘、循环倍乘以及移位中的一种或多种。
5.根据权利要求4所述的数据脱敏方法,其中,基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,包括:
基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行倍乘和/或循环倍乘和/或移位处理,得到所述模拟数据。
6.根据权利要求5所述的数据脱敏方法,其中,所述数据脱敏方法还包括:
判断所述模拟数据的数据类型是否和与所述模拟数据对应的待脱敏字段所具有的业务类型一致;
若否,则对所述倍乘的第一被乘系数和/或循环倍乘的第二倍乘系数进行调整,直至所述模拟数据的数据类型和与所述模拟数据对应的待脱敏字段所具有的业务类型一致。
7.根据权利要求5所述的数据脱敏方法,其中,所述数据脱敏方法还包括:
提取所述全量数据中所包括的所有字段,并生成与所述所有字段对应的字段脱敏白名单以及字段脱敏黑名单;其中,所述字段脱敏白名单中所包括的字段为与所述前端服务所具有的业务类型对应的字段;所述字段脱敏黑名单中所包括的字段为分页符和/或业务编号;
根据所述字段脱敏白名单以及字段脱敏黑名单生成所述待脱敏字段规则库。
8.一种数据脱敏装置,包括:
第一解析模块,用于接收前端服务发送的数据访问请求,并对所述数据访问请求进行解析得到所述数据访问请求中包括的账号信息以及请求链接;
第一匹配模块,用于在确定所述账号信息存在于账号脱敏白名单中时,在脱敏接口规则库中对所述请求链接进行匹配,得到与待脱敏的接口链接对应的脱敏规则;其中,所述脱敏规则是根据所述接口链接中所包括的数据字段以及与所述数据字段所对应的数据类型配置的;
待脱敏字段确定模块,用于确定与所述待脱敏的接口链接对应的全量数据中所包括的待脱敏字段以及所述待脱敏字段的数据类型;
数据脱敏模块,用于基于所述待脱敏字段的数据类型以及与所述数据类型对应的所述脱敏规则,对所述全量数据中的待脱敏字段进行脱敏得到模拟数据,并将所述模拟数据返回至所述前端服务。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的数据脱敏方法。
10.一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的数据脱敏方法。
CN202110733280.7A 2021-06-30 2021-06-30 数据脱敏方法及装置、计算机可读存储介质、电子设备 Active CN113360947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110733280.7A CN113360947B (zh) 2021-06-30 2021-06-30 数据脱敏方法及装置、计算机可读存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110733280.7A CN113360947B (zh) 2021-06-30 2021-06-30 数据脱敏方法及装置、计算机可读存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN113360947A true CN113360947A (zh) 2021-09-07
CN113360947B CN113360947B (zh) 2022-07-26

Family

ID=77537369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110733280.7A Active CN113360947B (zh) 2021-06-30 2021-06-30 数据脱敏方法及装置、计算机可读存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN113360947B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113988226A (zh) * 2021-12-29 2022-01-28 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN114239016A (zh) * 2021-12-15 2022-03-25 阳光财产保险股份有限公司 一种数据安全处理方法、系统及存储介质
CN115277047A (zh) * 2022-05-31 2022-11-01 明珠数字科技股份有限公司 一种基于Spring Cloud Gateway的报文脱敏方法、系统及存储介质
CN116484410A (zh) * 2023-06-16 2023-07-25 鱼快创领智能科技(南京)有限公司 一种无侵入式动态脱敏加密方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130167192A1 (en) * 2011-12-27 2013-06-27 Wellpoint, Inc. Method and system for data pattern matching, masking and removal of sensitive data
CN108289095A (zh) * 2018-01-02 2018-07-17 诚壹泰合(北京)科技有限公司 一种敏感数据存储方法、装置及系统
CN109614816A (zh) * 2018-11-19 2019-04-12 平安科技(深圳)有限公司 数据脱敏方法、装置及存储介质
CN110348239A (zh) * 2019-06-13 2019-10-18 平安普惠企业管理有限公司 脱敏规则配置方法以及数据脱敏方法、系统、计算机设备
CN110472434A (zh) * 2019-07-12 2019-11-19 北京字节跳动网络技术有限公司 数据脱敏方法、系统、介质和电子设备
CN111241577A (zh) * 2020-01-06 2020-06-05 上海孚厘金融信息服务有限公司 一种对展示数据进行脱敏处理的方法
CN111400762A (zh) * 2020-03-18 2020-07-10 上海凯馨信息科技有限公司 一种针对oracle数据库的动态脱敏方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130167192A1 (en) * 2011-12-27 2013-06-27 Wellpoint, Inc. Method and system for data pattern matching, masking and removal of sensitive data
CN108289095A (zh) * 2018-01-02 2018-07-17 诚壹泰合(北京)科技有限公司 一种敏感数据存储方法、装置及系统
CN109614816A (zh) * 2018-11-19 2019-04-12 平安科技(深圳)有限公司 数据脱敏方法、装置及存储介质
CN110348239A (zh) * 2019-06-13 2019-10-18 平安普惠企业管理有限公司 脱敏规则配置方法以及数据脱敏方法、系统、计算机设备
CN110472434A (zh) * 2019-07-12 2019-11-19 北京字节跳动网络技术有限公司 数据脱敏方法、系统、介质和电子设备
CN111241577A (zh) * 2020-01-06 2020-06-05 上海孚厘金融信息服务有限公司 一种对展示数据进行脱敏处理的方法
CN111400762A (zh) * 2020-03-18 2020-07-10 上海凯馨信息科技有限公司 一种针对oracle数据库的动态脱敏方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴梦昌: "智能数据脱敏中间件的设计与实现", 《中国优秀硕士学位论文全文数据库》 *
郑瑶: "面向关系型数据库的数据脱敏系统的设计与实现", 《中国优秀硕士学位论文数据库》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114239016A (zh) * 2021-12-15 2022-03-25 阳光财产保险股份有限公司 一种数据安全处理方法、系统及存储介质
CN113988226A (zh) * 2021-12-29 2022-01-28 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN113988226B (zh) * 2021-12-29 2022-04-19 深圳红途科技有限公司 数据脱敏有效性验证方法、装置、计算机设备及存储介质
CN115277047A (zh) * 2022-05-31 2022-11-01 明珠数字科技股份有限公司 一种基于Spring Cloud Gateway的报文脱敏方法、系统及存储介质
CN116484410A (zh) * 2023-06-16 2023-07-25 鱼快创领智能科技(南京)有限公司 一种无侵入式动态脱敏加密方法及系统

Also Published As

Publication number Publication date
CN113360947B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN113360947B (zh) 数据脱敏方法及装置、计算机可读存储介质、电子设备
US10474563B1 (en) System testing from production transactions
US9836346B2 (en) Error troubleshooting using a correlated knowledge base
CN100520775C (zh) 将最佳实施集成进数据库设计
US20090182756A1 (en) Database system testing
JP2017514218A (ja) サードパーティアプリケーションの実行
US8311794B2 (en) Testing executable logic
CN110830234B (zh) 一种用户流量分配方法及装置
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN106649120A (zh) 一种数据获取方法、分析方法及系统
CN112653579B (zh) 一种基于OpenResty的灰度发布方法及相关设备
CN111538659B (zh) 业务场景的接口测试方法、系统、电子设备和存储介质
CN110519263B (zh) 防刷量方法、装置、设备及计算机可读存储介质
CN111309624A (zh) 测试方法、装置、设备及存储介质
CN110674426B (zh) 网页行为上报方法和装置
CN109992614B (zh) 数据获取方法、装置和服务器
CN111813816B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN116756016A (zh) 多浏览器测试方法、装置、设备、介质及程序产品
CN110647331A (zh) 开发工具的获取方法及装置、存储介质、电子设备
CN111400623B (zh) 用于搜索信息的方法和装置
CN112905449B (zh) 目标测试方法、装置、设备和存储介质
CN113032647B (zh) 数据分析系统
CN111210279B (zh) 一种目标用户预测方法、装置和电子设备
CN110659191B (zh) 埋点数据分析方法、装置、计算机设备和存储介质
US9875290B2 (en) Method, system and computer program product for using an intermediation function

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