发明内容
鉴于上述问题,本说明书实施例提供一种克服上述问题或者至少部分地解决上述问题的脱敏处理方法、装置和服务器。
为实现上述目的,本说明书实施例提供一种脱敏处理方法,包括:
接收数据查询请求;
根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;所述目标字段标识用于标识目标字段;所述目标字段包括所述数据查询请求查询的字段;
获取所述目标字段对应的业务数据;
使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;
反馈脱敏处理后的业务数据。
为实现上述目的,本说明书实施例提供一种数据脱敏处理装置,包括:
接收单元,用于接收数据查询请求;
第一获取单元,用于根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;所述目标字段标识用于标识目标字段;所述目标字段包括所述数据查询请求查询的字段;
第二获取单元,用于获取所述目标字段对应的业务数据;
脱敏单元,用于使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;
反馈单元,用于反馈脱敏处理后的业务数据。
为实现上述目的,本说明书实施例提供一种服务器,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:
接收数据查询请求;
根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;所述目标字段标识用于标识目标字段;所述目标字段包括所述数据查询请求查询的字段;
获取所述目标字段对应的业务数据;
使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;
反馈脱敏处理后的业务数据。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,所述服务器可以接收数据查询请求;可以根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;可以获取目标字段对应的业务数据;可以使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;可以反馈脱敏处理后的业务数据。这样所述服务器可以根据当前隐私保护级别对应的脱敏配置规则,对数据处理端请求的业务数据进行统一脱敏处理;可以向数据处理端反馈脱敏处理后的业务数据;消除了业务数据泄漏的隐患。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
请参阅图1、图2、图3和图4。本说明书实施例提供一种脱敏处理方法。所述脱敏处理方法以服务器为执行主体。所述服务器可以为一个服务器,还可以为包括多个服务器的服务器集群(例如分布式服务器集群等)。
在本实施例中,所述服务器可以提供有数据库中的至少一张数据表。所述数据库可以为关系型数据库、或非关系型数据库。所述数据表可以存储有业务数据。所述数据表可以包括至少一个字段。每个字段可以对应有字段标识。所述字段标识可以为字段的名称、字段的编号、或其它能够定位出字段的任意形式的信息。所述数据表可以对应有数据表标识。所述数据表标识可以为数据表的名称、数据表的编号、或其它能够定位出数据表的任意形式的信息。
在本实施例的一个实施方式中,所述数据表可以对应有视图(View)。所述视图可以为根据数据表生成的虚表。所述视图可以包括数据表中的部分或全部字段。在所述视图中不对业务数据进行存储。对视图业务数据的操作可以转换为对视图所对应数据表中业务数据的操作。所述视图可以对应有视图标识。所述视图标识可以为视图的名称、视图的编号、或其它能够定位出视图的任意形式的信息。
在本实施例的一个实施方式中,在所述数据表中每个字段可以对应有隐私类型标签。所述隐私类型标签可以用于描述字段的敏感程度。字段的敏感程度可以根据该字段对应的业务数据被泄漏后造成的风险来确定。在所述数据表中不同字段对应的隐私类型标签可以相同或不同。具体地,在所述数据表中每个字段可以对应一个隐私类型标签。当然,为了能够对敏感程度进行细分,在所述数据表中每个字段也可以对应多个隐私类型标签。所述多个隐私类型标签可以具有层级关系。例如,如下表1所示。某一数据表可以包括字段A1、字段A2、和字段A3。字段A1对应的隐私类型标签可以包括L1、L1-1。字段A2对应的隐私类型标签可以包括L1、L1-2。字段A3对应的隐私类型标签可以包括L2、L2-1。其中,隐私类型标签L1、L2、L3处于同一层级;隐私类型标签L1-1和隐私类型标签L1-2用于对隐私类型标签L1描述的敏感程度进行细分;隐私类型标签L2-1用于对隐私类型标签L2描述的敏感程度进行细分。具体地,例如,在表1中,隐私类型标签L1对应的字段可以为:通过自身便能够定位到个人的字段(例如身份证字段、护照号字段等);隐私类型标签L2对应的字段可以为:通过与其它字段进行结合能够定位到个人的字段(例如家庭住址字段、年龄字段、性别字段、生日字段)。
表1
字段标识 |
第一层级隐私类型标签 |
第二层级隐私类型标签 |
A1 |
L1 |
L1-1 |
A2 |
L1 |
L1-2 |
A3 |
L2 |
L2-1 |
在本实施例中,所述服务器可以具有至少一种隐私保护级别。不同隐私保护级别对应的隐私保护强度是不同的。例如,所述服务器可以具有级别1、级别2、级别3、级别4等4个隐私保护级别。级别1、级别2、级别3、级别4对应的隐私保护强度依次递增。所述服务器可以将所述至少一种隐私保护级别中的一种作为当前使用的隐私保护级别。具体地,所述服务器可以提供有隐私保护级别设置界面。管理人员可以在所述隐私保护级别设置界面设置所述服务器当前使用的隐私保护级别。例如,在所述隐私保护级别设置界面可以包括附带有滑块的滑条。所述滑条可以具有至少一个预定位置,每个预定位置可以对应一种隐私保护级别。根据实际需要,管理人员可以将所述滑块滑动至某一预定位置。那么,所述服务器可以将该预定位置对应的隐私保护级别作为当前使用的隐私保护级别。
在本实施例中,所述服务器可以提供有脱敏策略库。所述脱敏策略库可以包括至少一个脱敏配置规则。每个脱敏配置规则可以对应一种隐私保护级别。不同脱敏配置规则对应的隐私保护级别是不同的。这样通过调整所述服务器当前使用的隐私保护级别,便可以调整本实施例的脱敏处理方法所使用的脱敏配置规则。
每个脱敏配置规则可以包括至少一个脱敏算法标识。所述脱敏算法标识可以用于标识脱敏算法。所述脱敏算法可以用于对业务数据进行脱敏处理;从而降低业务数据被泄漏后造成的风险。例如,如下表2所示。某一脱敏配置规则可以包括脱敏算法标识C1、脱敏算法标识C2、脱敏算法标识C3。脱敏算法标识C1可以用于标识信息摘要算法(例如sha1算法、sha256算法等)。脱敏算法标识C2可以用于标识正则遮掩算法。脱敏算法标识C3可以用于标识AES加密算法。在本实施例的一个实施方式中,在脱敏配置规则中每个脱敏算法标识可以对应有隐私类型标签。具体地,在同一脱敏配置规则中,不同脱敏算法标识对应的隐私类型标签可以相同或不同。在不同脱敏配置规则中,同一脱敏算法标识对应的隐私类型标签可以相同或不同;不同脱敏算法标识对应的隐私类型标签可以相同或不同。这里与数据表中的字段相类似,在脱敏配置规则中每个脱敏算法标识可以对应一个隐私类型标签,或者,也可以对应多个隐私类型标签。在本实施例的另一个实施方式中,在脱敏配置规则中每个脱敏算法标识可以对应有字段标识。具体地,在同一脱敏配置规则中,不同脱敏算法标识对应的字段标识可以相同或不同。在不同的脱敏配置规则中,同一脱敏算法标识对应的字段标识可以相同或不同;不同脱敏算法标识对应的字段标识可以相同或不同。
表2
字段标识 |
第一层级隐私类型标签 |
第二层级隐私类型标签 |
脱敏算法标识 |
A1 |
L1 |
L1-1 |
C1 |
A2 |
L1 |
L1-2 |
C2 |
A3 |
L2 |
L2-1 |
C3 |
在本实施例的一个实施方式中,所述服务器可以提供有白名单库。所述白名单库可以包括至少一个白名单。每个白名单可以对应一种隐私保护级别。不同白名单对应的隐私保护级别是不同的。这样通过调整所述服务器当前使用的隐私保护级别,便可以调整本实施方式的脱敏处理方法所使用的白名单。
每个白名单可以包括至少一个账户标识。所述账户标识可以用于标识账户,例如可以为账户的名称、账户的编号、或其它能够定位出账户的任意形式的信息。这里所述账户可以为为用户分配的账户、为服务器分配的账户、或为服务器集群分配的账户等。不同白名单内的账户标识可以部分相同或全部不同。
所述脱敏处理方法可以包括以下步骤。
步骤S10:接收数据查询请求。
在本实施例中,所述数据查询请求可以来自数据处理端。所述数据处理端可以为用户端设备,例如PC(personal computer)机、移动智能电话、平板电子设备、便携式计算机(例如笔记本电脑等)、个人数字助理(PDA)、桌面型计算机、或智能穿戴设备等电子设备等。或者,所述数据处理端也可以为服务端设备,例如服务器(例如用于数据分析的分析服务器)、或工控机(工业控制计算机)等。
在本实施例中,所述数据查询请求可以用于查询业务数据。所述数据查询请求中可以包括数据表标识和/或视图标识。或者,所述数据查询请求还可以包括字段标识、账户标识、和查询条件中的一个或多个。其中,所述查询条件可以作为一种约束条件。通过所述数据查询请求查询到的业务数据可以满足所述查询条件。例如,所述查询条件可以为date=20171215。作为一种示例,所述数据查询请求中可以包括视图标识和查询条件,例如select*from dync-view where date=20171215。作为另一种示例,所述数据查询请求中可以包括数据表标识和字段标识,例如select IDcard from table-a。
步骤S12:根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识。
在本实施例中,在所述策略库中,当前隐私保护级别对应的脱敏配置规则可以对应有特定标签。例如,所述脱敏策略库可以包括脱敏配置规则R1、脱敏配置规则R2、脱敏配置规则R3。脱敏配置规则R1对应的标签可以为OFF,脱敏配置规则R2对应的标签可以为OFF,脱敏配置规则R3对应的标签可以为ON。其中,脱敏配置规则R3可以为当前隐私保护级别对应的脱敏配置规则。如此所述服务器可以根据所述特定标签,从所述脱敏策略库中选取当前隐私保护级别对应的脱敏配置规则。或者,所述服务器还可以根据当前隐私保护级别,从所述脱敏策略库中获取对应的脱敏配置规则。
在本实施例中,所述目标字段标识可以用于标识目标字段。所述目标字段可以包括所述数据查询请求查询的字段。具体地,所述数据查询请求中可以包括数据表标识。所述数据表标识可以用于标识数据表。所述目标字段可以包括所述数据查询请求在所述数据表查询的字段。或者,所述数据查询请求中可以包括视图标识。所述视图标识所标识的视图可以对应有数据表。所述目标字段可以包括所述数据查询请求在所述数据表查询的字段。在本实施例的一个实施方式中,所述数据查询请求中可以包括数据表标识和/或视图标识。此外所述数据查询请求中还可以包括字段标识。如此所述服务器可以将所述数据查询请求中的字段标识作为目标字段标识。在本实施例的另一个实施方式中,所述数据查询请求中可以包括数据表标识。所述数据查询请求中没有包括字段标识。如此所述服务器可以将所述视图标识所标识视图中全部字段的标识作为目标字段标识。在本实施例的另一个实施方式中,所述数据查询请求中可以包括视图标识。所述数据查询请求中没有包括字段标识。如此所述服务器可以将所述数据表标识所标识数据表中全部字段的标识作为目标字段标识。
在本实施例的一个实施方式中,所述脱敏配置规则可以包括至少一个对应有字段标识的脱敏算法标识。如此所述服务器可以从所述脱敏配置规则中获取所述目标字段标识对应的脱敏算法标识。在本实施例的另一个实施方式中,所述脱敏配置规则可以包括至少一个对应有隐私类型标签的脱敏算法标识。如此在所述数据查询请求中包括数据表标识的条件下,所述服务器可以根据所述数据表标识所标识的数据表,获取所述目标字段对应的隐私类型标签;可以根据获取的隐私类型标签,从所述脱敏配置规则中获取脱敏算法标识。在所述数据查询请求中包括视图标识的条件下。所述服务器可以根据所述视图标识所标识视图对应的数据表,获取所述目标字段对应的隐私类型标签;可以根据获取的隐私类型标签,从所述脱敏配置规则中获取脱敏算法标识。例如,所述脱敏配置规则可以如前表2所示。所述视图标识所标识视图对应的数据表中的字段可以如表1所示。所述目标字段标识可以为A1。那么,所述服务器可以获取目标字段标识A1对应的隐私类型标签L1;可以根据隐私类型标签L1,获取脱敏算法标识C1。当然,所述服务器还可以获取目标字段标识A1对应的隐私类型标签L1-1;可以根据隐私类型标签L1-1,获取脱敏算法标识C1。
步骤S14:获取所述目标字段对应的业务数据。
在本实施例中,在所述数据查询请求中包括数据表标识的条件下,所述服务器可以根据所述数据表标识所标识的数据表,获取所述目标字段对应的业务数据。在所述数据查询请求中包括视图标识的条件下。所述服务器可以根据所述视图标识所标识视图对应的数据表,获取所述目标字段对应的业务数据。
步骤S16:使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理。
在本实施例中,所述服务器可以获取所述脱敏算法标识所标识的脱敏算法;可以使用获取的脱敏算法对所述业务数据进行脱敏处理。例如,所述脱敏算法标识可以为C1。所述脱敏算法标识C1所标识的脱敏算法可以为信息摘要算法。所述服务器可以使用所述信息摘要算法,计算所述业务数据的哈希值。
步骤S18:反馈脱敏处理后的业务数据。
在本实施例中,所述服务器可以向所述数据处理端发送脱敏处理后的业务数据;以便于所述数据处理端对脱敏处理后的业务数据做进一步的处理。例如,所述数据处理端可以对脱敏处理后的业务数据进行统计分析等。
在本实施例的一个实施方式中,如前所述,所述服务器可以提供有白名单库。所述数据查询请求中可以包括账户标识。所述服务器可以从所述白名单库中获取当前隐私保护级别对应的白名单。在当前隐私保护级别对应的白名单不包含所述账户标识的条件下,所述服务器便认为需要经过脱敏处理;可以执行步骤S12、步骤S14、步骤S16、步骤S18。在当前隐私保护级别对应的白名单包含所述账户标识的条件下,所述服务器便认为不需要经过脱敏处理;可以获取目标字段对应的业务数据;可以向所述数据处理端发送脱敏处理后的业务数据。关于所述目标字段的介绍可以参见步骤12。
此外需要说明的是,图1仅示出了一种可能的步骤顺序,实际上并不限定必须严格按照此顺序。有些步骤可以在互不依赖的情况下并行执行,例如步骤S12和步骤S14。
在本实施例中,所述服务器可以接收数据查询请求;可以根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;可以获取目标字段对应的业务数据;可以使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;可以反馈脱敏处理后的业务数据。这样所述服务器可以根据当前隐私保护级别对应的脱敏配置规则,对数据处理端请求的业务数据进行统一脱敏处理;可以向数据处理端反馈脱敏处理后的业务数据;消除了业务数据泄漏的隐患。
请参阅图5。本说明书实施例还提供一种脱敏处理装置。所述脱敏处理装置包括以下单元。
接收单元20,用于接收数据查询请求;
第一获取单元22,用于根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;所述目标字段标识用于标识目标字段;所述目标字段包括所述数据查询请求查询的字段;
第二获取单元24,用于获取所述目标字段对应的业务数据;
脱敏单元26,用于使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;
反馈单元28,用于反馈脱敏处理后的业务数据。
请参阅图6。本说明书实施例还提供一种服务器。所述服务器可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以执行所述计算机指令实现以下步骤:
接收数据查询请求;
根据当前隐私保护级别对应的脱敏配置规则,获取目标字段标识对应的脱敏算法标识;所述目标字段标识用于标识目标字段;所述目标字段包括所述数据查询请求查询的字段;
获取所述目标字段对应的业务数据;
使用所述脱敏算法标识所标识的脱敏算法对所述业务数据进行脱敏处理;
反馈脱敏处理后的业务数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于脱敏处理装置实施例、和服务器实施例而言,由于其基本相似于脱敏处理方法实施例,所以描述的比较简单,相关之处参见数据处理系统实施例的部分说明即可。
本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。