学习利用可变分布保留来变换敏感数据的制作方法-尊龙凯时官方app下载

文档序号:36175627发布日期:2023-11-25 01:27阅读:89来源:国知局
学习利用可变分布保留来变换敏感数据的制作方法

1.本公开一般涉及用于数据安全
/
隐私的系统,并且更具体地涉及在向数据消费者传播数据期间实时动态地变换数据资产的敏感数据

在匿名化操作期间实现对数据的特定变换,同时尝试相对于输入数据将输出变换值的数据分布保留
(preserve)
到期望程度

这是通过使用用于变换的自动编码器和用于数据分布控制的基于策略的参数化损失函数来实现的



背景技术:

2.数据传播是向数据消费者分布或发送数据

数据消费者可以是,例如:人;实体,诸如企业

公司

组织

机构或代理;软件应用;在线服务;或类似物

数据安全是通过采用一组策略来保护数据的过程,该一组策略标识不同数据集的相对重要性

不同数据集的敏感性质

以及对应于不同数据集的管控合规要求,然后应用适当的策略来保护给定数据集

数据安全的要素可以包括机密性

完整性和可用性

这些元素可以用作指南以保护敏感数据免受未授权访问

例如,机密性确保数据仅由授权用户访问

完整性确保数据是准确的

可用性确保数据可用且可访问以满足数据消费者的需要

3.数据隐私是数据的收集和传播

数据隐私的期望以及围绕它们的管控问题之间的关系

数据隐私提出了挑战,因为数据隐私试图使用数据,同时保护个人的敏感数据或个人可标识信息

个人可标识信息是对应于可标识人的可用于标识该特定人的任何信息,诸如,例如姓名

地址

电话号码

社会保障号等



技术实现要素:

4.根据一个说明性实施例,提供了一种用于在数据匿名化操作中保留数据资产的数据值的分布的计算机实现的方法

使用自动编码器来执行数据资产中的选择的行的数据匿名化,自动编码器用于将感兴趣的列的相关联的一组行单元中的敏感数据的数据值变换到变换缓冲器

使用具有在策略实施决策中指定的参数系数的损失函数,为选择的行中的数据匿名化生成损失函数值

将损失函数值与损失函数阈值进行比较

响应于基于比较确定所述损失函数值大于所述损失函数阈值,使用到适合于特定用户的真实行单元值的正向映射将变换缓冲器中的变换的数据值转录到标记为输出的输出缓冲器

标记为输出的输出缓冲器被传送到用于数据资产的输出的下一行

根据其它说明性实施例,提供了一种用于在数据匿名化操作中保留数据资产的数据值的分布的计算机系统和计算机程序产品

附图说明
5.图1是其中可以实现说明性实施例的数据处理系统的网络的图形表示;
6.图2是其中可以实现说明性实施例的数据处理系统的图;
7.图3是示出根据说明性实施例的数据发现

数据分类和自动编码器基础训练和库维护过程的示例的图;
8.图4是示出根据说明性实施例的利用策略加强和主动自动编码器训练过程的动态数据传播的示例的示图;
9.图5是示出根据说明性实施例的具有损失函数的自动编码器的具体示例的示图;
10.图6是示出根据说明性实施例的用于数据分类和自动编码器基础训练的过程的流程图;以及
11.图
7a
至图
7c
是示出根据说明性实施例的用于策略实施以变换敏感数据的过程的流程图

具体实施方式
12.本发明可以是任何可能的技术细节集成水平的系统

方法和
/
或计算机程序产品

计算机程序产品可以包括其上具有计算机可读程序指令的
(
一个或多个
)
计算机可读存储介质,计算机可读程序指令用于使处理器执行本发明的各方面

13.计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备

计算机可读存储介质可以是例如但不限于电子存储设备

磁存储设备

光存储设备

电磁存储设备

半导体存储设备或前述的任何合适的组合

计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘

硬盘

随机存取存储器
(ram)、
只读存储器
(rom)、
可擦除可编程只读存储器
(eprom
或闪存
)、
静态随机存取存储器
(sram)、
便携式光盘只读存储器
(cd-rom)、
数字多功能盘
(dvd)、
记忆棒

软盘

诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合

如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波

通过波导或其他传输介质传播的电磁波
(
例如,通过光纤线缆的光脉冲
)、
或通过导线传输的电信号

14.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算
/
处理设备,或者经由网络,例如因特网

局域网

广域网和
/
或无线网络,下载到外部计算机或外部存储设备

网络可以包括铜传输电缆

光传输光纤

无线传输

路由器

防火墙

交换机

网关计算机和
/
或边缘服务器

每个计算
/
处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算
/
处理设备内的计算机可读存储介质中

15.用于执行本发明的操作的计算机可读程序指令可以是汇编指令

指令集架构
(isa)
指令

机器相关指令

微代码

固件指令

状态设置数据

集成电路的配置数据,或者是以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言
(
例如
smalltalk、c

)
以及过程编程语言
(
例如“c”编程语言或类似的编程语言
)。
计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行

在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网
(lan)
或广域网
(wan)
,或者可以连接到外部计算机
(
例如,使用因特网服务提供商通过因特网
)。
在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路

现场可编程门阵列
(fpga)
或可编程逻辑阵列
(pla)
的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化

16.在此参考根据本发明实施例的方法

装置
(
系统
)
和计算机程序产品的流程图和
/
或框图描述本发明的各方面

将理解,流程图和
/
或框图的每个框以及流程图和
/
或框图中的框的组合可以由计算机可读程序指令来实现

17.这些计算机可读程序指令可以被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和
/
或框图的一个或多个框中指定的功能
/
动作的装置件
(means)。
这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机

可编程数据处理装置和
/
或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和
/
或框图的一个或多个框中指定的功能
/
动作的方面的指令

18.计算机可读程序指令还可以被加载到计算机

其他可编程数据处理装置或其他设备上,以使得在计算机

其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机

其他可编程装置或其他设备上执行的指令实现流程图和
/
或框图的一个或多个框中指定的功能
/
动作

19.附图中的流程图和框图示出了根据本发明的各种实施例的系统

方法和计算机程序产品的可能实现的架构

功能和操作

在这点上,流程图或框图中的每个框可以表示指令的模块

段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令

在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生

例如,连续示出的两个框实际上可以作为一个步骤来实现,同时

基本同时

以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能

还将注意,框图和
/
或流程图图示的每个框以及框图和
/
或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现

20.现在参考附图,并且特别地,参考图1和图2,提供了可以实现说明性实施例的数据处理环境的图

应当理解,图1和图2仅意味着作为示例,而不是要断言或暗示关于其中可以实现不同实施例的环境的任何限制

可以对所描述的环境进行许多修改

21.图1描述了其中可以实现说明性实施例的数据处理系统的网络的图形表示

网络数据处理系统
100
是其中可以实现说明性实施例的计算机

数据处理系统和其它设备的网络

网络数据处理系统
100
包含网络
102
,其是用于在网络数据处理系统
100
内连接在一起的计算机

数据处理系统和其它设备之间提供通信链路的介质

网络
102
可以包括连接,诸如,例如有线通信链路

无线通信链路

光缆等

22.在所描述的示例中,服务器
104
和服务器
106
连同存储装置
108
一起连接到网络
102。
服务器
104
和服务器
106
可以是例如具有到网络
102
的高速连接的服务器计算机

另外,服务器
104
和服务器
106
通过将用户请求的数据资产的敏感数据
(
例如,包括列和行的矩形数据集
)
物理地变化成匿名数据值,同时使用具有损失函数的自动编码器基于策略将数据资产的值的分布保留到定义的程度,来提供一个或多个数据隐私服务

此外,应当注意,服务器
104
和服务器
106
可以各自表示一个或多个数据中心中的服务器集群

替代地,服务器
104
和服务器
106
可以各自表示一个或多个云环境中的多个计算节点

23.客户端
110、
客户端
112
和客户端
114
也连接到网络
102。
客户端
110、112

114
是服务器
104
和服务器
106
的客户端

在该示例中,客户端
110、112

114
被示为具有到网络
102

有线通信链路的台式或个人计算机

然而,应当注意,客户端
110、112

114
仅是示例,并且可以表示具有到网络
102
的有线或无线通信链路的其他类型的数据处理系统,诸如,例如网络计算机

膝上型计算机

手持式计算机

智能电话

智能电视等

对应于客户端
110、112

114
的用户
(
即,数据消费者
)
可利用客户端
110、112

114
来访问由服务器
104
和服务器
106
托管或保护的数据资产

由服务器
104
和服务器
106
托管或保护的数据资产可以是任何类型的数据集
(
例如,交易数据

营销数据

金融数据

医疗保健数据等
)
,其包含可以个人地标识个体并且在没有个体的具体同意的情况下不可用于访问的敏感数据
(
例如,姓名

地址

电话号码

社会保障号码

信用卡号等
)。
24.存储装置
108
是能够以结构化格式或非结构化格式存储任何类型的数据的网络存储设备

另外,存储装置
108
可以表示多个网络存储设备

此外,存储装置
108
可存储多个不同的数据资产,这些数据资产由服务器
104
和服务器
106
保护

此外,存储装置
108
可以存储其他类型的数据,诸如认证或凭证数据,其可以包括例如与客户端设备用户相关联的用户名

密码和生物特征模板

25.另外,应当注意,网络数据处理系统
100
可以包括任何数量的附加服务器

客户端

存储设备和未示出的其他设备

位于网络数据处理系统
100
中的程序代码可以存储在计算机可读存储介质或一组计算机可读存储介质上,并下载到计算机或其它数据处理设备以供使用

例如,程序代码可以存储在服务器
104
上的计算机可读存储介质上,并且通过网络
102
下载到客户端
110
以便在客户端
110
上使用

26.在所描述的示例中,网络数据处理系统
100
可以被实现为许多不同类型的通信网络,诸如,例如因特网

内联网

广域网
(wan)、
局域网
(lan)、
电信网络或其任意组合

图1仅旨在作为示例,而不是作为对不同说明性实施例的架构限制

27.如本文所用,当用于提及项目时,“多个”是指一个或多个项目

例如,“多个不同类型的通信网络”是一个或多个不同类型的通信网络

类似地,“一组”在用于指项目时,表示一个或多个项目

28.此外,术语“至少一个”当与项目列表一起使用时,意味着可以使用所列项目中的一个或多个的不同组合,并且可能仅需要列表中的每个项目中的一个

换句话说,“至少一个”是指项目的任意组合,并且可以使用来自列表的项目的数量,但是不是列表中的所有项目都是必需的

该项目可以是特定对象

事物或类别

29.例如,但不限于,“项目
a、
项目b或项目c中的至少一个”可以包括项目
a、
项目a和项目b或项目b,该示例还可以包括项目
a、
项目b和项目c或项目b和项目
c。
在一些说明性示例中,“至少一个”可以是,例如但不限于,项目a的两个;项目b的一个;和项目c的十个;项目b的四个和项目c项的七个;或其它合适的组合

30.现在参考图2,根据说明性实施例描绘了数据处理系统的图

数据处理系统
200
是诸如图1中的服务器
104
的计算机的示例,实现说明性实施例的数据隐私处理的计算机可读程序代码或指令可以位于其中

在该示例中,数据处理系统
200
包括通信结构
202
,其提供处理器单元
204、
存储器
206、
持久性存储装置
208、
通信单元
210、
输入
/
输出
(i/o)
单元
212
和显示器
214
之间的通信

31.处理器单元
204
用于执行可加载到存储器
206
中的软件应用和程序的指令

处理器单元
204
可以是一组一个或多个硬件处理器设备,或者可以是多核处理器,这取决于特定实


32.存储器
206
和持久性存储装置
208
是存储设备
216
的示例

如本文所使用的,计算机可读存储设备或计算机可读存储介质是能够存储信息的任何硬件,所述信息例如但不限于数据

功能形式的计算机可读程序代码和
/
或基于瞬时或持久的其他适当信息

此外,计算机可读存储设备或计算机可读存储介质不包括传播介质,诸如瞬态信号

此外,计算机可读存储设备或计算机可读存储介质可以表示一组计算机可读存储设备或一组计算机可读存储介质

在这些示例中,存储器
206
可以是例如随机存取存储器
(ram)
,或任何其他合适的易失性或非易失性存储设备,诸如闪存

取决于特定实现,持久性存储装置
208
可以采取各种形式

例如,持久性存储装置
208
可以包含一个或多个设备

例如,持久性存储装置
208
可以是盘驱动器

固态驱动器

可重写光盘

可重写磁带或上述的一些组合

持久性存储装置
208
使用的介质可以是可移除的

例如,可移动硬盘驱动器可以用于持久性存储装置
208。
33.在该示例中,持久性存储装置
208
存储数据分布保留器
218。
然而,应当注意,即使数据分布保留器
218
被示为驻留在持久性存储装置
208
中,在替代的说明性实施例中,数据分布保留器
218
可以是数据处理系统
200
的单独组件

例如,数据分布保留器
218
可以是耦合到通信结构
202
的硬件组件或硬件和软件组件的组合

在另一个可替代的说明性实施例中,数据分布保留器
218
的第一组组件可以位于数据处理系统
200
中,而数据分布保留器
218
的第二组组件可以位于第二数据处理系统中,诸如例如图1中的服务器
106


34.数据分布保留器
218
控制在向请求数据的消费者传播数据期间实时动态地变换数据资产的敏感数据的过程

数据分布保留器
218
在匿名化操作期间实现对所请求的数据的特定变换,从而将输出数据分布的变换值保留到相对于输入数据的期望程度

数据分布保留器
218
使用具有参数化损失函数的自动编码器,基于策略声明性地控制该匿名化操作

35.结果,数据处理系统
200
作为专用计算机系统来操作,其中数据处理系统
200
中的数据分布保留器
218
使得能够在保留原始数据资产的分布的同时变换数据资产内的敏感数据

特别地,与当前可用的不具有数据分布保留器
218
的通用计算机系统相比,数据分布保留器
218
将数据处理系统
200
变换为专用计算机系统

36.在这个示例中,通信单元
210
提供通过网络,例如图1中的网络
102
,与其它计算机

数据处理系统和设备的通信,通信单元
210
可以通过使用物理和无线通信链路提供通信

物理通信链路可以利用例如导线

电缆

通用串行总线或任何其它物理技术来建立用于数据处理系统
200
的物理通信链路

无线通信链路可以利用例如短波

高频

超高频

微波

无线保真
(wi-fi)、
技术

全球移动通信系统
(gsm)、
码分多址
(cdma)、
第二代
(2g)、
第三代
(3g)、
第四代
(4g)、4g
长期演进
(lte)、
高级
lte、
第五代
(5g)
或任何其它无线通信技术或标准来建立用于数据处理系统
200
的无线通信链路

37.输入
/
输出单元
212
允许与可以连接到数据处理系统
200
的其它设备输入和输出数据

例如,输入
/
输出单元
212
可以提供用于通过小键盘

鼠标

麦克风和
/
或一些其它合适的输入设备的用户输入的连接

显示器
214
提供向用户显示信息的机制,并且可以包括触摸屏能力,以允许用户通过例如用户接口或输入数据进行屏幕上的选择

38.用于操作系统

应用和
/
或程序的指令可以位于存储设备
216
中,其通过通信结构
202
与处理器单元
204
通信

在该说明性示例中,指令以功能形式位于持久性存储装置
208


这些指令可以被加载到存储器
206
中以便由处理器单元
204
运行

不同实施例的过程可
以由处理器单元
204
使用计算机实现的指令来执行,所述指令可以位于诸如存储器
206
的存储器中

这些程序指令被称为程序代码

计算机可用程序代码或计算机可读程序代码,其可以由处理器单元
204
中的处理器读取和运行

在不同的实施例中,程序指令可以被包含在不同的物理计算机可读存储设备上,诸如存储器
206
或持久性存储装置
208


39.程序代码
220
以功能形式位于计算机可读介质
222
上,该计算机可读介质可选择性地移除并且可以被加载到或传送到数据处理系统
200
以便由处理器单元
204
运行

程序代码
220
和计算机可读介质
222
形成计算机程序产品
224。
在一个示例中,计算机可读介质
222
可以是计算机可读存储介质
226
或计算机可读信号介质
228。
40.在这些说明性示例中,计算机可读存储介质
226
是用于存储程序代码
220
的物理或有形存储设备,而不是传播或传送程序代码
220
的介质

计算机可读存储介质
226
可以包括例如光盘或磁盘,其被插入或放置到作为持久性存储装置
208
的一部分的驱动器或其他设备中,以便传送到作为持久性存储装置
208
的一部分的诸如硬盘驱动器的存储设备上

计算机可读存储介质
226
还可以采取持久性存储装置的形式,例如连接到数据处理系统
200
的硬盘驱动器

拇指驱动器或闪存

41.替换地,程序代码
220
可以使用计算机可读信号介质
228
被传送到数据处理系统
200。
计算机可读信号介质
228
可以是例如包含程序代码
220
的传播数据信号

例如,计算机可读信号介质
228
可以是电磁信号

光信号或任何其它合适类型的信号

这些信号可以通过通信链路传输,诸如无线通信链路

光纤电缆

同轴电缆

电线或任何其他合适类型的通信链路

42.此外,如本文所使用的,“计算机可读介质
222”可以是单数或复数

例如,程序代码
220
可以位于单个存储设备或系统形式的计算机可读介质
222


在另一个示例中,程序代码
220
可以位于分布在多个数据处理系统中的计算机可读介质
222


换句话说,程序代码
220
中的一些指令可以位于一个数据处理系统中,而程序代码
220
中的其它指令可以位于一个或多个其它数据处理系统中

例如,程序代码
220
的一部分可位于服务器计算机中的计算机可读介质
222
中,而程序代码
220
的另一部分可位于一组客户计算机中的计算机可读介质
222


43.为数据处理系统
200
示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制

在一些说明性示例中,一个或多个部件可以结合在另一部件中或以其它方式形成另一部件的一部分

例如,在一些说明性示例中,存储器
206
或其部分可以被并入处理器单元
204


不同的说明性实施例可以在包括除了或代替为数据处理系统
200
示出的那些组件的数据处理系统中实现

图2中所示的其它组件可以与所示的说明性示例不同

可以使用能够运行程序代码
220
的任何硬件设备或系统来实现不同的实施例

44.在另一示例中,总线系统可以用于实现通信结构
202
,并且可以包括一个或多个总线,诸如系统总线或输入
/
输出总线

当然,总线系统可以使用任何合适类型的架构来实现,该架构提供在附接到总线系统的不同组件或设备之间的数据传输

45.在其中数据访问由策略控制的动态数据传播中,显然通过传播层访问数据的每个数据消费者
(
例如,用户上下文中的用户
)
可能遇到该数据的值的不同的适用变换,这对该特定数据消费者是可见的

在存储和计算资源成本方面,对于每个不同的数据消费者先验地预处理每个已知的数据资产是禁止的

结果,需要一种系统,其中数据资产是原始形式
的,并且在数据访问的每个实例中,系统将尽可能快地执行必要的数据变换

该系统将需要对数据行使用无状态方法的快速变换方法,因此可以使用流式传输

此外,在大多数数据消耗用例中,应当存在针对损失函数的参数方法以确定数据效用与数据隐私需求之间的权衡

这种针对损失函数的参数方法需要另一种机制,该机制需要存在于数据变换的实际动作之上

然而,这种方法目前在数据变换系统中并不存在

46.执行数据变换的当前系统依赖于昂贵的经典确定性算法变换方法,诸如标记化

修订

模糊化等

这些方法中的每一种都需要特定变换类型实现

这些变换类型中的一些是高度有状态的,需要在尝试生成第一输出行数据
(
即,元组
)
之前对源数据资产进行完全处理,这防止了数据流传输用例

47.很少有系统试图保留数据变换输出的分布

此外,这些系统牺牲了行数据完整性,并且已知是基于单列的

说明性实施例利用训练的自动编码器,该训练的自动编码器使用实现数据值分布的必要可变性的损失函数的可调参数系数来生成必要的数据物理变换

自动编码器是用于以无监督方式学习的人工神经网络

换句话说,自动编码器不需要标记的输入数据来实现学习

通常,自动编码器具有输入层

执行数据处理的一个或一个以上内部隐藏层和输出层

自动编码器的训练通过反向传播来执行

48.对于要变换的数据资产中的每行数据,说明性实施例选择数据资产中感兴趣的列
(
例如,属性
)
,这些列需要变换作为说明性实施例的具有损失函数的自动编码器的输入

说明性实施例基于一个或多个策略来选择列

策略包括例如感兴趣的列,诸如姓名

薪水

地址

社会保障号

信用卡号或任何其他类型的敏感信息,在特定上下文中特定数据消费者
(
例如,用户
)
访问这样的信息之前,该感兴趣的列需要变换,诸如请求访问时的地理位置

访问请求的一天中的时间

请求访问时的角色等

策略的具体示例可以是“如果数据资产是敏感的并且数据资产包含姓名并且数据资产包含薪水,则变换
(
伪匿名
(
姓名

薪水
)
保留分布
0.75)”。
该具体示例指示一组可能策略的样本实例,该样本实例驱动策略实施决策以及所请求的数据资产的后续变换,在传播时间基于策略将所请求的数据资产的值的分布保留在定义的程度

49.该策略还可以包括针对感兴趣的列的最佳拟合统计分布,诸如正态分布

对数正态分布

β
(beta)
分布等,以及针对最佳拟合统计分布的参数,诸如平均值

最小值

最大值等

此外,策略可以包括用于损失函数的参数系数,诸如参数系数“ρ”(rho)
,其度量数据资产输入与数据资产输出之间的感兴趣的列内的变化量,参数系数“φ”(phi)
,其度量数据资产输入与数据资产输出之间的行内的感兴趣的列内的变化量,以及参数系数“τ”(tau)
,其度量数据资产输入与数据资产输出之间的整个数据资产上的感兴趣的列的平均值的变化量,以平衡数据消费者的数据效用需求和个体的数据隐私需求

数据消费者的高数据效用意味着具有接近原始数据值的数据

个人的高数据隐私性意味着不暴露任何敏感信息的数据

50.应当注意,说明性实施例可以从自动编码器库中选择用于特定数据资产

包含数据资产中的相关数据类的特定感兴趣的列

数据资产中的一组感兴趣的列

或感兴趣的列中的特定行的自动编码器

说明性实施例可以利用自动编码器库的2维布置

例如,第一维度可以基于包含相关数据类的感兴趣的列,而第二维度可以基于数据效用与数据隐私需求

第二维度可以是例如损失函数的粗糙值,其对应于针对由策略规定的数据资产输出的
预定义程度的值分布保留深度的选择,诸如值分布保留的
x


51.说明性实施例可以基于数据资产的期望类型或类别,根据任何数据资产输入来训练自动编码器,无论该数据资产输入是所有可用的数据资产还是数据资产的子集

而且,应当注意,损失函数参数系数
ρ
是滑动标度
(sliding scale)。
例如,如果
ρ
的值为零,则由于自动编码器将为感兴趣的列的行单元生成随机值,因此完整的数据隐私且不存在数据效用,因为损失函数不被激励以考虑数据资产的输出与数据资产的输入有多接近

相反,如果
ρ
的值尽可能大,则不存在数据隐私和完整的数据效用,因为数据资产输出将类似于数据资产输入

此外,损失函数参数系数
φ
也是在滑动标度上

例如,
φ
的值控制数据资产输入中的两个感兴趣的列之间的变化量与数据资产输出中的相同的两个感兴趣的列之间的变化量的关系

该比较捕获感兴趣的列之间的相关性

52.为了控制数据隐私和数据效用需求之间的平衡,说明性实施例利用经典的或标准的确定性变换方法,以通过改变损失函数参数系数
ρ

φ
来观察不同的数据资产输出

经典的确定性变换方法在训练自动编码器时提供了真实情况
(ground truth)。
主动自动编码器学习基于计算的损失函数值的反向传播,当与定义的损失函数阈值比较时,该损失函数值作为加强或惩罚

例如,将超过所定义的阈值的计算的损失函数值视为加强,而将所定义的阈值以下的计算的损失函数值视为惩罚

53.此外,说明性实施例通过计算输入数据资产的熵来最小化敏感数据的公开
(
例如,不可链接性
)。
熵量化了输入数据资产值中涉及的不确定性的量

说明性实施例还确定输入数据资产的熵阈值

此外,说明性实施例可以定义策略以便还包括熵阈值

说明性实施例可以基于数据资产的熵来生成策略实施决策

此外,说明性实施例可以定义策略以包括数据资产关于变换改变的敏感性

说明性实施例可以基于数据资产关于变换改变的敏感性来生成策略实施决策

54.说明性实施例基于策略生成感兴趣的列的行单元的匿名化数据,同时保留值的原始分布,策略包括熵阈值和数据资产关于变换的灵敏度

此外,如果数据资产具有特定级别的敏感性,则说明性实施例利用拉普拉斯噪声函数来添加拉普拉斯噪声,同时执行分布保留变换以提供增加的数据隐私

数据消费者或用户仍然可以通过记住由拉普拉斯噪声的添加引起的分布的修改来利用变换的数据

将来自拉普拉斯分布函数的噪声添加到数据资产输出
(
即,跨多行的感兴趣的列的匿名化数据值
)
提供了对数据资产输出的差别隐私调整以防止分布推断

差别隐私通过描述数据资产内的模式同时保留与数据资产中的个人相对应的敏感信息来实现关于数据资产的共享信息

55.说明性实施例利用本文中称为数据资产的矩形数据集

说明性实施例可以基于一个或多个策略和尝试访问数据资产的特定数据消费者来分配特定数据资产用于特定变换

说明性实施例对每个接收到的数据资产进行剖析
(profile)
以检测与每个相应数据资产相对应的数据类别

策略提供特定访问请求所需的变换的有序集合

变换基于特定数据资产中的相关数据类和系统中的当前策略

通过参数化损失函数的系数
τ
来实现分布保留的深度

说明性实施例仅执行伪匿名化变换

然而,替代的说明性实施例可以执行其他变换类型,而不使用组列自动编码器,而是使用单个列自动编码器

56.因此,说明性实施例提供了克服关于变换所请求的数据资产的敏感数据同时将数据资产的值的分布保留到定义的程度的技术问题的一个或多个技术尊龙凯时官方app下载的解决方案

因此,这一
个或多个技术方案提供了技术效果和在数据保密领域的实际应用

57.现在参考图3,根据说明性实施例描绘了示出数据发现

数据分类和自动编码器基础训练和库维护过程的示例的图

数据发现

数据分类以及自动编码器基础训练和库维护过程
300
可以在计算机中实现,诸如在图1中的服务器
104
或图2中的数据处理系统
200
中实现

58.在该示例中,数据发现

数据分类和自动编码器基础训练和库维护过程
300
包括原始未监管
(uncurate)
的输入数据资产
302、
数据剖析器
304、
数据资产目录
306、
最适合超平面存储装置
308
的数据资产剖析和数据类别

实际数据存储装置
310
和自动编码器库
312。
然而,应当注意,数据发现

数据分类以及自动编码器基础训练和库维护过程
300
仅旨在作为示例,而不是对说明性实施例的限制

换言之,数据发现

数据分类以及自动编码器基础训练和库维护过程
300
可以包括比所示的更多或更少的组件

例如,可以将组件划分为两个或更多个组件,可以将两个或更多个组件组合成一个组件,可以添加未示出的组件等

59.原始未监管的输入数据资产
302
是由列和行组成的矩形
(
例如,关系
)
数据集

另外,原始未监管的输入数据资产
302
可以表示包含敏感数据的任何类型的数据集,敏感数据诸如例如是姓名

地址

电话号码

社会保障号

薪水等,其可以个人地标识个体

原始未监管的输入数据资产
302
被输入到数据剖析器
304


数据剖析器
304
可以表示能够检测原始未监管输入数据资产
302
内的包含敏感信息的感兴趣的数据类的任何类型的数据剖析器

60.数据分布保留器,诸如例如图2中的数据分布保留器
218
,向数据资产目录
306
注册输入数据资产
302
,并确定输入数据资产
302
是新的数据资产

数据分布保留器还在数据资产剖析和数据类最佳拟合超平面存储装置
308
中存储所有数据资产剖析和它们对应的最佳拟合超平面的数据类

此外,在
314
,数据分布保留器确定自动编码器库
312
中是否存在用于新数据资产的一组一个或多个自动编码器

61.在
316
,如果数据分布保留器确定在自动编码器库
312
中当前不存在用于新数据资产的一组自动编码器,则数据分布保留器为新数据资产生成一组新的自动编码器

此外,在
318
,数据分布保留器确定在剖析新数据资产
(
即,原始未监管的输入数据资产
302)
时检测到的感兴趣的数据类的最佳拟合的一组一个或多个超平面

此外,在
320
,数据分布保留器从实际数据存储装置
310
逐行执行新数据资产的数据读取过程

此外,在
322
,数据分布保留器使用所确定的针对感兴趣的数据类的一组最佳拟合超平面

逐行数据读数
(reads)
和所保存的基于数据类的历史变换
324
作为输入,利用自适应或配置的恒定分布保留阈值来模拟新数据资产在数据资产层级处的实施

如果数据分布保留器确定用于新数据资产的一组自动编码器当前确实存在于自动编码器库
312
中,则数据分布保留器使用逐行数据读数和所保存的基于数据类的历史变换
324
作为输入,利用自适应或配置的恒定分布保留阈值来模拟新数据资产在数据资产级的实施

62.在
326
,数据分布保留器使用行单元值嵌入执行新数据资产

值映射和的标记的通常或经典的确定性变换


328
,数据分布保留器还使用数据类嵌入执行实际行单元级反向映射

数据分布保留器将实际的行单元级反向映射存储在映射存储器
330


63.在
332
,数据分布保留器为新数据资产执行对该一组新的自动编码器的基础训练或对一个或多个现有自动编码器的附加训练中的至少一个,以形成自动编码器训练集
334。
数据分布保留器利用自动编码器训练集
334
来训练自动编码器库
312
中的自动编码器

自动
编码器库
312
包含多个不同的自动编码器

例如,自动编码器库
312
可以包括用于一个数据资产的一组自动编码器

用于一个数据资产的一个自动编码器

用于数据资产中感兴趣的一个数据类的一个自动编码器

用于数据资产中的一个特定行或变换类型的一个自动编码器等

64.现在参考图4,根据说明性实施例描绘了示出利用策略加强和主动自动编码器训练过程的动态数据传播的示例的图

可以在诸如图1中的服务器
104
或图2中的数据处理系统
200
的计算机中实现利用策略实施和主动自动编码器训练过程
400
的动态数据传播

65.在该示例中,利用策略实施和主动自动编码器训练过程
400
的动态数据传播包括用户
402、
数据传播
/
访问层
404、
先前剖析和监管的数据资产
406、
策略实施点
408、
策略决策点
410、
实际数据存储装置
412
和自动编码器库
414。
然而,应当注意,利用策略实施和主动自动编码器训练过程
400
的动态数据传播仅旨在作为示例,而不是对说明性实施例的限制

换言之,利用策略实施和主动自动编码器训练过程
400
的动态数据传播可以包括比所示的更多或更少的组件

例如,可以将组件划分为两个或更多个组件,可以将两个或更多个组件组合成一个组件,可以添加未示出的组件等

66.用户
402
是数据消费者

用户
402
可以是例如人

进程

应用

服务

系统等

用户
402
向数据传播
/
访问层
404
提交针对输入数据资产
418
的数据传播请求
416。
用户
402
可以提交具有特定用户上下文的数据传播请求
416。
用户上下文可以是例如数据传播请求
416
从何处提交的位置

用户
402
提交数据传播请求
416
的一天中的时间和一周中的日子等

数据传播
/
访问层
404
向策略实施点
408
发送数据传播请求
416。
67.策略实施点
408
向策略决策点
410
发送与数据传播请求
416、
用户和数据传播请求
416
的用户上下文相对应的策略实施决策请求

策略决策点
410
选择与数据传播请求
416、
用户和数据传播请求
416
的用户上下文相对应的策略集合

策略决策点
410
基于选择的策略生成基于数据类的策略实施决策

策略决策点
410
将基于数据类的策略实施决策发送到策略实施点
408。

420
,策略实施点
408
保存基于数据类的策略实施决策

68.在
422
,数据分布保留器,诸如例如图2中的数据分布保留器
218
,从自动编码器库
414
中选择用于输入数据资产
418
的一组自动编码器

数据分布保留器利用输入数据资产
418
作为参考,以从实际数据存储装置
412
中检索实际数据,同时在
422
选择一组自动编码器


424
,数据分布保留器利用选择的一组自动编码器来以行为中心处理行缓冲器中的行


426
,数据分布保留器利用损失函数来为行缓冲器中的行执行损失函数值计算

此外,在
428
,数据分布保留器将损失函数值与基于数据类的策略实施决策的分布保留阈值进行比较

分布保留阈值是可适应的或配置的阈值

69.在
430
,数据分布保留器确定计算的损失函数值是否高于分布保留阈值

如果数据分布保留器确定计算的损失函数值高于分布保留阈值,则在
432
,数据分布保留器使用数据类值嵌入,处理具有实际行单元值映射的行缓冲器中的行

数据分布保留器从映射存储器
434
检索实际行单元值映射

数据分布保留器利用
432
处对行缓冲器中的行的处理作为对数据传播请求
416
的数据传播响应

数据分布保留器将数据传播响应发送到数据传播
/
访问层
404。
数据传播
/
访问层
404
随后将数据传播响应发送给用户
402。
可替代地,数据分布保留器可以可选地生成输出数据资产
436。
70.如果数据分布保留器确定计算的损失函数值不在分布保留阈值以上,则在
438
处,
数据分布保留器利用采样器从行缓冲器中对随机行采样

此外,在
440
,数据分布保留器将随机行采样从行缓冲器保存到用于自动编码器正则化的阈值以下惩罚缓冲器,以防止自动编码器的过度拟合

在计算的损失函数值在分布保留阈值以上的情况下,在
442
,数据分布保留器将随机行样本从行缓冲器保存到阈值以下加强缓冲器

71.数据分布保留器利用阈值以下加强缓冲器和阈值以上加强缓冲器,以在
444
使用来自行缓冲器的反向行单元值映射嵌入,用通常或经典的确定性变换执行标记


446
,数据分布保留器利用具有通常的确定性变换的标记来生成小的主动学习自动编码器训练集

训练集越小,训练自动编码器所需的时间越少

数据分布保留器利用主动学习自动编码器训练集来训练自动编码器库
414
中的自动编码器

72.现在参考图5,根据说明性实施例描绘了图示具有损失函数的自动编码器的具体示例的图

具有损失函数的自动编码器
500
可以是例如图4中的自动编码器
411。
具有损失函数的自动编码器
500
包括自动编码器
502
和损失函数
504。
应当注意,自动编码器
502
和损失函数
504
仅作为自动编码器和损失函数的具体示例,而不是作为对说明性实施例的限制

换句话说,说明性实施例可以利用不同的自动编码器和损失函数

73.对于数据资产
(
诸如,例如图4中的输入数据资产
418)
中要变换的每一行数据,数据分布保留器
(
诸如,例如图2中的数据分布保留器
218)
选择包含数据资产中需要变换的敏感数据的感兴趣的列,作为到具有损失函数
504
的自动编码器
502
的输入

层的数量和自动编码器
502
和损失函数
504
的瓶颈深度确定如何变换数据的每一行

损失函数
504
还确定每个感兴趣的列的方差度量

当针对每个相应行执行时,自动编码器
502
保留输入数据资产的值的原始分布到输出数据资产

74.应当注意,一组自动编码器可以覆盖数据资产列的类型的若干组合

而且,损失函数参数系数提供可变性,并且可以由策略控制

例如,当度量输入数据资产和输出数据资产之间的列内的方差的特定参数系数的值不为零
(0)
时,自动编码器
502
正在考虑投影列

数据分布保留器需要确定规范列并创建可以覆盖自动编码器的所有组合的自动编码器

75.损失函数
(lf)504
具有布置为加权函数的三个参数系数

数据资产方差所特有的权重提供了分布保留深度的可变性

损失函数的参数系数
ρ
(rho)
度量数据资产上的列特定方差

换句话说,
ρ
最小化包含整个数据资产上的相关数据类的感兴趣的列的平均值之间的距离

损失函数的参数系数
φ
(phi)
度量行内
/
列间特定方差

换句话说,
φ
最小化特定数据行内的感兴趣的列之间的距离

损失函数的参数系数
τ
(tau)
度量数据资产特定方差

换句话说,
τ
最小化输出行到数据资产的最佳拟合超平面的正交距离

数据分布保留器基于数据资产的相关数据类生成超平面

因此,
lf

ρ
(
在感兴趣的列内的方差
)
φ
(
感兴趣的行内列距离
)
τ
(
距最佳拟合超平面的正交距离
)。
应当注意,可以在真实行值到伪行值的映射之前或之后计算损失函数
504。
76.现在参考图6,根据说明性实施例示出了说明用于数据分类和自动编码器基础训练的过程的流程图

图6所示的过程可以在计算机中实现,诸如例如图1中的服务器
104
或图2中的数据处理系统
200
中实现,例如图6所示的过程可以在图2中的数据分布保留器
218
中实现

77.当计算机接收数据资产作为输入时,过程开始
(
步骤
602)。
计算机使用数据剖析器来剖析数据资产的实际数据
(
步骤
604)。
计算机基于对数据资产的实际数据的剖析,按列检
测与数据资产相对应的感兴趣的数据类
(
步骤
606)。
78.计算机基于与数据资产相对应的感兴趣的数据类,为数据资产生成分离数据值的最佳拟合超平面
(
步骤
608)。
计算机持久存储对应于数据资产的最佳拟合超平面
(
步骤
610)。
最佳拟合超平面表示数据资产的基本分布签名和数据资产的0%分布保留距离阈值

计算机在数据传播期间利用最佳拟合超平面来结合规定的分布保留指令计算损失函数的参数系数

应当注意,
100
%分布保留指令表示要反映在输出数据资产中的输入数据资产的完全保留,而0%分布保留指令是在由感兴趣的数据类的自动编码器产生数据变换时的“无关紧要”点

计算机通过缩放在输入数据资产中的所有数据行之间观察到的最差或最大正交距离和生成的最佳拟合超平面来计算损失函数阈值

计算机保存与输入数据资产的最大笛卡尔距离,以及在按百分比缩放策略时的“无关紧要”点或0%分布保留指示

79.计算机基于与数据资产相关联的策略的历史加强和模拟加强来在自动编码器库中搜索对应于作为匿名化目标的感兴趣的数据类的一组自动编码器
(
步骤
612)。
计算机确定在搜索中是否找到了对应于所有感兴趣的数据类的一组自动编码器
(
步骤
614)。
如果计算机确定在搜索中找到了对应于所有感兴趣的数据类的一组自动编码器,步骤
614
输出“是”,则此后该过程终止

如果计算机确定在搜索中没有找到对应于所有感兴趣的数据类的一组自动编码器
(
步骤
612
的否输出
)
,则计算机基于与数据资产相关联的策略的历史实施和模拟实施为所有感兴趣的数据类生成新的随机初始化的自动编码器
(
步骤
616)。
此外,计算机使用从输入行的经典确定性变换获得的变换的行单元值到适于自动编码器训练的伪行单元值的反向映射,来训练新的随机初始化的自动编码器
(
步骤
618)。
经典的确定性变换是使用原始输入行单元值的真实情况行单元值生成方法

然后,计算机将基础训练的新的自动编码器添加到自动编码器库中
(
步骤
620)。
此后,该过程终止

80.现在参考图
7a
至图
7c
,示出了根据说明性实施例的用于策略加强实施以变换敏感数据的过程的流程图


7a
至图
7c
所示的过程可以在计算机中实现,例如图1中的服务器
104
或图2中的数据处理系统
200
,例如图
7a
至图
7c
所示的过程可以在图2中的数据分布保留器
218
中实现

81.当计算机经由网络从特定用户的客户端设备接收访问特定输入数据资产的数据的请求时,过程开始
(
步骤
702)。
特定输入数据资产是矩形数据集

响应于计算机接收到该请求,计算机的策略实施点从计算机的策略决策点请求关于特定输入数据资产

特定用户和与该请求相关联的上下文的策略实施决策
(
步骤
704)。
计算机的策略决策点基于一组当前设置的策略生成关于特定输入数据资产

特定用户和请求的上下文的策略实施决策
(
步骤
706)。
应当注意,策略实施决策还包含可能需要由自动编码器库的选择的自动编码器进行变换的感兴趣的数据类的期望数据分布保留的百分比

这提供了由策略和数据分布保留指令或阈值所规定的要被变换的必要数据类

此外,计算机基于策略实施决策来计算损失函数的损失函数阈值
(
步骤
708)。
82.此外,计算机从自动编码器库中选择自动编码器,以基于策略实施决策对包含特定输入数据资产中的敏感数据的感兴趣的列执行所需的数据匿名化
(
步骤
710)。
然后,计算机选择特定输入数据资产中的行
(
步骤
712)。
计算机将选择的行的原始输入数据值转录到临时缓冲器
(
步骤
714)。
计算机使用选择的自动编码器执行选择的行的所需数据匿名化,自动编码器用于将感兴趣的列的相关联的一组行单元中的敏感数据的数据值变换到变换缓
冲器
(
步骤
716)。
计算机还使用具有在策略实施决策中指定的参数系数的损失函数,生成选择的行中的数据匿名化的损失函数值
(
步骤
718)。
83.计算机将生成的损失函数值与计算的损失函数阈值进行比较
(
步骤
720)。
计算机基于该比较确定生成的损失函数值是否小于计算的损失函数阈值
(
步骤
722)。
84.如果计算机基于比较确定生成的损失函数值不小于计算的损失函数阈值
(
步骤
722
的否输出
)
,则计算机使用到适合于特定用户的真实行单元值的正向映射将变换缓冲器中的变换的数据值转录到被标记为输出的输出缓冲器
(
步骤
724)。
此后,处理进行到步骤
726。
如果计算机基于比较确定生成的损失函数值小于计算的损失函数阈值
(
步骤
722
的输出“是”)
,则计算机将标记为输出的输出缓冲器传送到用于特定输入数据资产的输出的下一行
(
步骤
726)。
85.此外,计算机基于计算的损失函数阈值和所保存的移动平均阈值来确定临时缓冲器是否有资格用于自动编码器有效再训练过程
(
步骤
728)。
如果计算机确定临时缓冲器没有资格在自动编码器有效再训练过程中使用
(
步骤
728
的否输出
)
,则计算机确定在特定输入数据资产中是否存在另一行
(
步骤
730)。
如果计算机确定在特定输入数据资产中确实存在另一行,步骤
730
的输出为“是”,则过程返回到步骤
712
,其中计算机选择特定输入数据资产中的另一行

如果计算机确定在选择的列中不存在另一行
(
步骤
730
的“否”输出
)
,则计算机经由网络将特定输入数据资产的输出发送到特定用户的客户端设备
(
步骤
732)。
此后,该过程终止

86.再次返回到步骤
728
,如果计算机确定临时缓冲器确实有资格用于自动编码器主动再训练过程,步骤
728
的是输出,则计算机确定生成的损失函数值是否小于计算的损失函数阈值
(
步骤
734)。
如果计算机确定生成的损失函数值不小于计算的损失函数阈值,则步骤
734
输出为否,然后计算机将原始输入数据值的临时缓冲器标记为良好候选
(
步骤
736)。
此后,处理进行到步骤
740。
如果计算机确定生成的损失函数值小于计算的损失函数阈值,则步骤
734
输出“是”,然后计算机将原始输入数据值的临时缓冲器标记为拒绝候选
(
步骤
738)。
87.之后,计算机将标记的输出行保存到训练缓冲器
(
步骤
740)。
此外,计算机使训练缓冲器通过数据采样器以形成采样训练缓冲器
(
步骤
742)。
在一个说明性实施例中,数据采样器是随机数据采样器

计算机持久保存采样训练缓冲器
(
步骤
744)。
88.此外,计算机使用从训练缓冲器的输入行的经典确定性变换获得的变换的行单元值到适合于自动编码器训练的伪行单元值的反向映射,异步地重新训练特定自动编码器
(
步骤
746)。
计算机还基于对良好候选的加强和对拒绝候选的过拟合避免的正则化或一般方法,使用采样训练缓冲器来重新训练自动编码器库中的特定自动编码器
(
步骤
748)。
应当注意,随着时间的推移,自动编码器的重新训练将使用反向传播,并收敛到特定数据类和自动编码器组合的数据分布保留的最频繁使用的阈值

另外,替代的说明性实施例可按照阈值索引自动编码器库,使得当在库中搜索自动编码器时,阈值也可在选择过程中起作用

计算机还将移动平均计算损失函数阈值与用于特定输入数据资产的值一起保存
(
步骤
750)。
此后,过程返回到步骤
730
,其中计算机确定特定输入数据资产是否存在另一行

89.因此,本发明的说明性实施例提供了一种用于在向发出请求的数据消费者传播数据期间实时动态变换数据资产的敏感数据的计算机实现的方法

计算机系统和计算机程序
产品

在匿名化操作期间对所请求的数据的特定变换是在相对于输入数据将输出数据分布的变换值保留到期望程度的同时实现的

说明性实施例使用具有参数化损失函数的自动编码器,基于策略明确地控制该过程

已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例

在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的

选择本文所使用的术语以最好地解释实施例的原理

实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例

当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图