CN113094739A - 基于隐私保护的数据处理方法、装置和服务器 - Google Patents
基于隐私保护的数据处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN113094739A CN113094739A CN202110243206.7A CN202110243206A CN113094739A CN 113094739 A CN113094739 A CN 113094739A CN 202110243206 A CN202110243206 A CN 202110243206A CN 113094739 A CN113094739 A CN 113094739A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- vector
- target
- random
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供了基于隐私保护的数据处理方法、装置和服务器。第一服务器和第二服务器在合作确定关于第一目标数据和第二目标数据乘积的秘密的分片数据时,第一服务器根据预设的秘密分享乘法协议,利用与第一目标数据对应的第一目标向量和所接收的第一随机向量,确定出编号差值,并将编号差值发送给第二服务器;第二服务器根据预设的秘密分享乘法协议,利用所持有的第二目标数据,和所接收的第二随机向量、编号差值,确定出差值向量,并将差值向量发送给第一服务器;第一服务器根据差值向量确定出秘密的第一分片数据,第二服务器根据第二随机数确定出秘密的第二分片数据,从而可以在保护数据隐私的前提下,高效地确定出秘密的分片数据。
Description
技术领域
本说明书属于互联网技术领域,尤其涉及基于隐私保护的数据处理方法、装置和服务器。
背景技术
在许多数据处理场景(例如,联合建模场景等)中,有时需要参与数据处理的双方在保护各自所持有的数据的数据隐私的前提下,通过合作来计算出各自所持有的数据乘积的秘密的分片数据。进而双方可以分别利用各自持有的秘密的分片数据进行进一步的数据处理。
因此,亟需一种能够在保护双方数据隐私的前提下,高效地确定出关于双方所分别持有的数据乘积的秘密的分片数据的方法。
发明内容
本说明书提供了一种基于隐私保护的数据处理方法、装置和服务器,以达到在保护双方数据隐私的前提下,高效地确定出关于双方所分别持有的数据乘积的秘密的分片数据。
本说明书提供的一种基于隐私保护的数据处理方法、装置和服务器是这样实现的:
一种基于隐私保护的数据处理方法,应用于第一服务器,所述第一服务器持有第一目标数据,所述方法包括:接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;接收第二服务器发送的差值向量;根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
一种基于隐私保护的数据处理方法,应用于第二服务器,所述第二服务器持有第二目标数据,所述方法包括:接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
一种基于隐私保护的数据处理方法,应用于第三服务器,包括:响应初始化请求,根据预设的生成规则,生成第一随机向量、第二随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;根据预设的生成规则,利用所述第一随机向量、第二随机向量和第一随机数,计算得到第二随机数;将所述第一随机向量、第一随机数发送至第一服务器;将所述第二随机向量、第二随机数发送至第二服务器;其中,所述第一服务器持有第一目标数据,所述第二服务器持有第二目标数据;所述第一服务器和所述第二服务器根据预设的秘密分享乘法协议,通过合作分别确定得到关于第一目标数据和第二目标数据乘积的秘密的第一分片数据和第二分片数据。
一种基于隐私保护的数据处理装置,包括:第一接收模块,用于接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;编码模块,用于对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;计算模块,用于根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;第二接收模块,用于接收第二服务器发送的差值向量;确定模块,用于根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
一种基于隐私保护的数据处理装置,包括:第一接收模块,用于接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;第二接收模块,用于接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;计算模块,用于根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;确定模块,用于根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述基于隐私保护的数据处理方法的相关步骤。
本说明书提供的基于隐私保护的数据处理方法、装置和服务器,基于该方法,第一服务器和第二服务器在合作确定关于第一目标数据和第二目标数据乘积的秘密的分片数据时,第一服务器获取第三服务器提供的第一随机向量和第一随机数;第二服务器获取第三服务器提供的第二随机向量和第二随机数;进一步,第一服务器可以根据改进了的预设的秘密分享乘法协议,利用与第一目标数据对应的第一目标向量和第一随机向量,确定出编号差值,并将编号差值而不是向量发送给第二服务器;相应的,第二服务器可以根据改进了的预设的秘密分享乘法协议,利用所持有的第二目标数据,和所接收到的第二随机向量、编号差值,确定出差值向量,并将差值向量发送给第一服务器;进而,第一服务器可以根据差值向量,以及第一随机向量和第一随机数确定出秘密的第一分片数据,第二服务器可以根据第二随机数确定出秘密的第二分片数据。从而可以在保护以双方数据隐私的前提下,高效、安全地确定出关于双方所分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的基于隐私保护的数据处理方法的数据处理系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的基于隐私保护的数据处理方法的流程示意图;
图3是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图5是本说明书的一个实施例提供的基于隐私保护的数据处理方法的流程示意图;
图6是本说明书的一个实施例提供的基于隐私保护的数据处理方法的流程示意图;
图7是本说明书的一个实施例提供的服务器的结构组成示意图;
图8是本说明书的一个实施例提供的基于隐私保护的数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供了一种基于隐私保护的数据处理方法,该方法具体可以应用于包含有第一服务器、第二服务器和第三服务器的数据处理系统中。具体可以参阅图1所示。第一服务器、第二服务器和第三服务器相互之间可以通过有线或无线的方式相连,以进行具体的数据交互。
其中,上述第一服务器具体可以理解为部署于第一数据方一侧的服务器。具体的,第一服务器至少可以持有第一数据方(例如,某购物网站等)所拥有的第一目标数据,例如,训练样本的特征数据。
上述第二服务器具体可以理解为部署于第二数据方一侧的服务器。具体的,第二服务器至少可以持有第二数据方(例如,某信用评价机构等)所拥有的第二目标数据,例如,模型参数。此外,上述第二服务器还可以进一步持有诸如训练样本的标签数据、训练样本的特征数据等其他用于模型训练的数据。
需要说明的是,第一服务器所持有的特征数据,与第二服务器所持有的标签数据对应相同的标识信息(例如,同一个用户的身份标识等)。
上述第三服务器具体可以理解为部署于独立第三方一侧的服务器。具体的,上述第三方具体可以为独立于第一数据方、第二数据方,负责为第一服务器和第二服务器生成符合具体要求的随机数数据,以及诸如统计计算等部分数据处理的数据服务提供方。
在本实施例中,上述第一服务器、第二服务器、第三服务器具体可以包括一种能够实现数据传输、数据处理等功能的后台服务器。具体的,上述第一服务器、第二服务器、第三服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,上述第一服务器、第二服务器、第三服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定上述第一服务器、第二服务器、第三服务器所包含的服务器数量。上述第一服务器、第二服务器、第三服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
当前要求第一服务器和第二服务器在保护各自所持有的目标数据的数据隐私、避免向对外泄露己方所持有的目标数据的前提下,生成并分别持有关于第一目标数据和第二目标数据乘积的秘密的一个分片数据(例如,一个share)。
在本实施例中,具体实施时,可以是第一服务器或第二服务器在数据处理系统中发起初始化请求。
相应的,在第三服务器一侧,第三服务器可以响应所述初始化请求,根据预设的秘密分享乘法协议,先生成符合要求的第一随机向量(例如,向量U)、第二随机向量(例如,向量V)和第一随机数(例如,z0)。
其中,上述第一随机向量具体可以是一个包括多个数据元素(例如,n个)的向量,且多个数据元素中只有随机一个数据元素的数据值为预设数值(可以记为第一数据元素),其余的数据元素的数据值为0。上述第二随机向量为随机生成的包含有多个数据元素的向量,且第二随机向量所包含的数据元素的数量与第一随机向量相同。上述第一随机数为随机生成的一个数值。
进一步,第三服务器可以根据预设的数据关系,利用第一随机向量、第二随机向量和第一随机数,计算出相应的第二随机数(例如,z1)。其中,上述预设的数据关系具体可以表示为以下算式:U*V=z0+z1。需要说明的是,上述第一随机向量U和第二随机向量V的维度相同。相应的,上述算式中的U*V具体可以表示先将第一随机向量U中的数据元素和第二随机向量V中的数据元素按位相乘后,再将乘积相加所得到的结果。在本实施例中,上述符号“*”具体可以表示一种针对向量的按位相乘再相加的运算。
接着,第三服务器可以将第一随机向量、第一随机数发送至第一服务器;同时,将第二随机向量、第二随机数发送至第二服务器。
在第一服务器一侧,第一服务器可以接收第三服务器发送的第一随机向量和第一随机数。同时,第一服务器可以响应初始化请求,对所持有的第一目标数据进行预设的第一编码处理(例如,one-hot编码)得到对应的第一目标向量(例如,X)。其中,上述第一目标向量所包含的数据元素的数量与第一随机向量相同,且第一目标向量所包含的数据元素中只有一个数据元素的数据值为预设数值,(可以记为第二数据元素),其余数据元素的数据值为0。具体的,例如,在n=5的情况下,上述第一目标向量X可以表示为以下所示的包含有5个数据元素的向量:[0,1,0,0,0]。
类似的,在第二服务器一侧,第二服务器可以接收第三服务器发送的第二随机向量和第二随机数。同时,第二服务器可以响应初始化请求,获取所持有的模型参数作为第二目标数据(例如,W)。其中,上述第二目标数据所包含的数据元素的数量与第一随机向量相同。具体的,例如,上述第二目标数据W可以表示为以下所示的包含有5个数据元素的向量:[w1,w2,w3,w4,w5]。
进一步,第一服务器可以根据预设的秘密分享乘法协议,先确定出第二数据元素在第一目标向量中的元素位置编号(例如,i),以及第一数据元素在第一随机向量中的元素位置编号(例如,j);再计算上述第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值(例如,i-j),并将上述编号差值而不是复杂的向量数据发送给第二服务器。这样可以有效地降低数据处理过程中第一服务器一侧的数据传输量。
第二服务器接收编号差值,并根据预设的秘密分享乘法规则,利用上述编号差值、第二目标数据和第二随机向量计算出差值向量。
具体的,第二服务器可以先通过判断编号差值是否大于0,确定出对应的目标方向。例如,在确定所述编号差值大于0的情况下,可以确定目标方向为向右;在确定所述编号差值小于0的情况下,可以确定目标方向为向左。同时,可以根据编号差值的绝对值,确定出平移时的位置数量,作为目标数量。进而第二服务器可以根据预设的秘密分享协议,将第二目标数据中的各个数据元素的数据值沿目标方向,平移目标数量个元素位置,得到处理后的第二目标数据。
具体的,例如,在i-j=2的情况下,可以确定目标方向为右,目标数量为2。相应的,第二服务器可以将原本的第二目标数据所包含的各个数据元素的数据值分别向右平移两个元素位置,得到以下所示的处理后的第二目标数据(例如,记为W’):[w4,w5,w1,w2,w3]。
又例如,在i-j=-2的情况下,可以确定目标方向为左,目标数量为2。相应的,第二服务器可以将原本的第二目标数据所包含的各个数据元素的数据值分别向左平移两个元素位置,得到以下所示的处理后的第二目标数据:[w3,w4,w5,w1,w2]。
接着,第二服务器可以利用处理后的第二目标数据减去第二随机向量,得到对应的差值向量。并将上述差值向量(例如,F)发送至第一服务器。
第一服务器接收差值向量,并根据预设的秘密分享乘法协议,利用差值向量、第一随机向量,以及第一随机数计算得到的关于第一目标数据和第二目标数据乘积的秘密的第一分片数据(例如,c0)。
具体计算时,第一服务器可以根据预设的秘密分享乘法协议,按照以下算式先计算出第一随机向量与差值向量的乘积;再计算该乘积与第一随机数的和,以得到秘密的第一分片数据:c0=U*F+z0。
同时,第二服务器可以根据预设的秘密分享乘法协议,将第二随机数确定为所持有的秘密的第二分片数据(例如,c1):c1=z1。这样可以有效地简化第二服务器一侧确定第二分片数据的处理过程。
这样得到的上述秘密的第一分片数据与第二分片数据的和等于第一目标向量和第二目标数据的乘积,即c0和c1满足以下关系:c0+c1=X*W。
进而第一服务器可以根据预设的秘密分享乘法协议,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练目标模型。
例如,第一服务器和第二服务器可以在保护数据隐私的前提下,分别利用各自所持有的秘密的分片数据,通过进一步的合作,以联合训练得到用于基于用户的特征数据预测用户标签的逻辑回归模型作为所要获取的目标模型。
在上述实施例中,通过引入并利用改进了的预设的秘密分享乘法协议,有效地降低数据处理过程中的数据传输量,并简化了分片数据的确定过程,提高整体的数据处理效率,使得第一服务器和第二服务器可以通过合作,在保护以双方数据隐私的前提下,高效地确定出关于双方所分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据。
参阅图2所示,本说明书实施例提供了一种基于隐私保护的数据处理方法。其中,该方法具体应用于第一服务器一侧。具体实施时,该方法可以包括以下内容。
S201:接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器。
在一些实施例中,上述第一服务器持有第一目标数据。上述第二服务器持有第二目标数据。上述第三服务器独立于第一服务器和第二服务器,为负责提供所需要的随机数和/或随机向量的服务器。
在一些实施例中,针对不同数据处理场景,上述第一目标数据和第二目标数据可以分别为不同类型的数据。
具体的,例如,在联合建模场景中,上述第一目标数据可以是训练样本的特征数据。例如,用户A的年龄、职业、月收入等特征。相应的,上述第二目标数据可以是模型参数。此外,上述第二服务器还可以进一步持有诸如同一个训练样本的标签数据(例如,用户A的用户标签:风险用户),和/或,同一个训练样本的其他特征数据(例如,用户A的所在城市等)等其他用于模型训练的数据。
又例如,在联合统计场景中,上述第一目标数据可以是目标样本的第一类统计数据。例如,用户B的工作月份统计数据。相应的,上述第二目标数据还可以是同一个目标样本的第二类统计数据。例如,用户B的月收入统计数据。
当然,需要说明的是,上述所列举的应用场景,以及与应用场景相关的第一目标数据、第二目标数据只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以应用于其他类型的应用场景中,相应的,上述第一目标数据、第二目标数据还可以包括其他类型的数据。对此,本说明书不作限定。
在一些实施例中,根据具体的应用场景,当需要第一服务器和第二服务器合作,来联合计算关于各自分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据时,第一服务器或第二服务器可以在系统中发起初始化请求。
相应的,第一服务器、第二服务器和第三服务器可以先响应上述初始化请求分别进行相应的初始化阶段的数据处理;再由第一服务器和第二服务器合作,以在第一服务器一侧确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据,同时在第二服务器一侧确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据。
在一些实施例中,参阅图3所示,第三服务器可以响应上述初始化请求,生成符合要求的第一随机向量、第二随机向量、第一随机数和第二随机数;并将第一随机向量和第一随机数发送至第一服务器,将第二随机向量和第二随机数发送至第二服务器。
相应的,第一服务器可以接收到第三服务器发送的第一随机向量和第一随机数;第二服务器可以接收到第三服务器发送的第二随机向量和第二随机数。
在一些实施例中,第三服务器具体实施时,可以先生成第一随机向量、第二随机向量和第一随机数。
具体的,第三服务器可以预先与第一服务器、第二服务器所达成的共同约定,生成包含有指定个数(例如,n个)个数据元素,且其中只有一个数据元素(可以记为第一数据元素)的数据值为预设数值,其余数据元素的数据值为0的向量,作为第一随机向量。同时,第三服务器可以随机生成包含有指定个数个数据元素的向量,作为第二随机向量。并随机生成一个数据值作为第一随机数。其中,上述预设数值具体可以为1。
进一步,第三服务器可以根据预设的数据关系,利用上述第一随机向量、第二随机向量和第一随机数,计算对应的第二随机数。
具体的,第三服务器可以先计算出第一随机向量和第二随机向量的乘积,再利用该乘积减去第一随机数得到相应差值,作为所述第二随机数。这样,得到的第一随机向量、第二随机向量、第一随机数和第二随机数满足预设的数据关系,可以支持后续第一服务器和第二服务器基于预设的秘密分享乘法协议来计算相应的秘密的分片数据。
在一些实施例中,为了避免第一随机向量、第一随机数,以及第二随机向量、第二随机数在传输过程中遭到泄露。第三服务器可以预先获取由第一服务器提供的第一公钥,利用上述第一公钥加密第一随机向量和第一随机数;再将加密后的第一随机向量和第一随机数发送给第一服务器。第一服务器在接收到加密后的第一随机向量和第一随机数后,可以利用所持有的第一私钥对上述加密后的第一随机向量和第一随机数进行解密,得到第一随机向量和第一随机数。类似的,第三服务器也可以在向第二服务器发送第二随机向量和第二随机数前,利用预先获取的由第二服务器提供的第二公钥对第二随机向量和第二随机数进行加密。对此,本说明书不再赘述。
S202:对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素。
在一些实施例中,参阅图3所示,第一服务器可以响应初始化请求,对第一目标数据进行预设的第一编码处理,得到与第一目标数据对象,且符合预设要求的第一目标向量。
在一些实施例中,上述预设的第一编码处理具体可以包括:one-hot编码。
其中,上述one-hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。
在本实施例中,通过对第一目标数据进行预设的第一编码处理,可以得到与第一目标数据对应的,且符合预设要求的第一目标向量。
其中,上述符合预设要求具体是指所得到的第一目标向量包含有指定个数(例如,n个)个数据元素,且所包含的多个数据元素中只有一个数据元素的数据值为预设数值,其余数据元素的数据值为0。上述预设数值具体可以为1。
在本实施例中,除了使用one-hot编码作为预设的第一编码处理对第一目标数据进行编码处理外,还可以采用其他类型的编码方式来对第一目标数据进行编码处理,只要保证所得的第一目标向量与第一目标数据对应,且符合预设要求即可。
在一些实施例中,第二服务器可以响应初始化请求,获取所持有的模型参数,作为所述第二目标数据。
其中,上述第二目标数据具体可以是一种向量形式的数据。进一步,上述第二目标数据所包含的数据元素的数量可以与第一目标向量(或第一随机向量,或第二随机向量)相同。
S203:根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量。
在本实施例中,上述预设的秘密分享乘法协议具体可以理解为一种基于秘密分享算法进行改进所得到的协议规则。
其中,上述秘密分享算法(Secret Sharing,SS)具体是指一种保护数据隐私安全的算法,基于该算法,多个数据方可以在不泄漏自身数据的前提下,通过秘密分享进行协作计算,共享秘密信息,使得各个数据方可以分别获得秘密信息的一个分片(可以记为一个share)。
在本实施例中,上述元素位置编号具体可以理解为数据元素在向量中从左往右的排列序号。例如,在向量[1,2,3]中,从左往右排,数据值为1的数据元素排在该向量所包含的多个数据元素中的第一个位置,这时可以将数据值为1的数据元素的元素位置编号记为1。类似的,从左往右排,数据值为2的数据元素排在该向量所包含的多个数据元素中的第二个位置,这时可以将数据值为2的数据元素的元素位置编号记为2。
在一些实施例中,参阅图3所示,第一服务器可以根据预设的秘密分享乘法协议,先确定出第二数据元素在第一目标向量中的元素位置编号,可以记为i。同时,确定出第一数据元素在第一随机向量中的元素位置编号,可以记为j。
接着,第一服务器可以计算出第二数据元素的元素位置编号与第一数据元素的元素位置编号的数值差,得到所述编号差值,可以记为i-j。
具体的,例如,第一目标向量为[0,1,0,0,0],第一随机向量为[0,0,0,1,0]。第一服务器通过遍历第一目标向量中各个数据元素的数据值,确定出数据值为预设数值的第二数据元素,在第一目标向量中的元素位置编号为2,即确定出i=2。同时,第一服务器通过遍历第一随机向量中的各个数据元素的数据值,确定出数据值为预设数值的第一数据元素,在第一随机向量中的元素位置编号为4,即确定出j=4。进而可以计算出编号差值为2-4=-2。
在一些实施例中,第一服务器可以将上述编号差值这一个简单的、数据量较小的数据值作为中间结果发送给第二服务器。而不需要像基于秘密分享算法那样将一个复杂的、数据量较大的向量数据作为中间结果发送给第二服务器。从而可以有效地减少数据处理过程中第一服务器一侧的数据传输量,提高整体的数据处理效率。
在一些实施例中,第二服务器接收第一服务器发送的编号差值,并根据预设的秘密分享乘法协议,利用所编号差值、所持有的第二目标数据和第二随机向量,计算对应的差值向量。具体包括:根据编号差值对第二目标数据中的数据元素的数据值进行平移处理,得到处理后的第二目标数据;再利用处理后的第二目标数据减去第二随机向量,得到差值向量。
在一些实施例中,具体实施时,第二服务器可以先通过判断编号差值是否大于0,确定出目标方向;确定出编号差值的绝对值作为后续平移时的目标数量。其中,在确定编号差值大于0时,可以确定目标方向为向右;在确定编号差值小于0时,可以确定目标方向为向左。
进而第二服务器可以将第二目标数据中所包含的各个数据元素的数据值沿目标方向,作为目标数量的位置平移处理,得到处理后的第二目标数据。再将上述处理后的第二目标数据减去第二随机向量,得到相应的差值向量。第二服务器将上述差值向量发送至第一服务器。
需要补充的是,在确定编号差值等于0时,则可以确定不需要对第二目标数据进行平移处理,这种情况下,可以直接利用第二目标数据减去第二随机向量,得到差值向量。
具体的,例如,参阅图4所示,编号差值为-2,第二目标数据为[1,2,3,4,5],第二随机向量为[1,2,1,1,3]。在确定编号差值小于0的情况下,可以确定目标方向为向左,确定编号差值的绝对值2作为目标数量。进而可以将第二目标数据中的各个数据元素的数据值向左平移2个位置,完成对第二目标数据中数据元素的数据值的平移处理,得到处理后的第二目标数据,可以表示为以下形式[3,4,5,1,2]。具体平移时,由于第二目标数据中数据值为1的数据元素原本位于第二目标数据的最左端的位置,在向左平移第一个位置后,循环到了第二目标数据最右端的位置;然后从最右端的位置起再向左平移第二个位置,移动到了图4所示的,从最右端的位置数起的第二个位置。类似的,在平移数据值为2的数据元素时,在向左平移第一位置后,该数据值移动到了最左端的位置;然后从最左端的位置起向左平移第二个位置,移动到了图4所示的,最右端位置。接着可以利用上述处理后的第二目标数据减去第二随机向量,得到以下所示的差值向量[3,3,0,1,0]。
S204:接收第二服务器发送的差值向量。
在本实施例中,参阅图3所示,第一服务器可以接收第二服务器发送的差值向量。
S205:根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
在一些实施例中,上述根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据,具体实施时,可以包括以下内容:第一服务器可以根据预设的秘密分享乘法协议,计算第一随机向量与差值向量的乘积,得到中间值;再计算中间值与第一随机数的和,得到所述秘密的第一分片数据。
在一些实施例中,相对的,第二服务器可以根据预设的秘密分享乘法协议,直接将所接收到的第二随机数确定为秘密的第二分片数据。而不需要像基于秘密分享算法那样,要通过较为复杂、涉及数据处理量相对较大的计算来得到第二分片数据。从而可以有效地简化数据处理过程中第二服务器一侧生成第二分片数据的处理过程,进一步提高整体的数据处理效率。
在一些实施例中,在确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据之后,所述方法具体实施时,还可以包括以下内容:根据预设的秘密分享乘法协议,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练目标模型。
在一些实施例中,上述根据预设的秘密分享乘法协议,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据第二服务器,联合训练模型,具体实施时,还可以包括:根据预设的秘密分享乘法协议,采用梯度下降法或牛顿法,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练目标模型。
在本实施例中,上述目标模型具体可以是基于逻辑回归(Logistic Regression,LR)用于分类的模型。
在一些实施例中,根据第一服务器和第二服务器预先达成的约定,上述目标模型可以是第一服务器持有,也可以是第二服务器持有,还可以是第一服务器和第二服务器共同持有。
具体的,以第一服务器持有目标模型为例,第一服务器可以获取待预测的目标用户的特征数据,进而可以调用目标模型处理该目标用户的特征数据,得到对应的用户标签。第一服务器可以根据所述用户标签,确定出目标用户是否属于风险用户。在确定所述目标用户属于风险用户的情况下,对目标用户在平台上的行为数据进行进一步的采集和监控。
由上可见,本说明书实施例提供的基于隐私保护的数据处理方法,第一服务器接收第三服务器提供的第一随机向量和第一随机数,同时对所持有的第一目标数据进行预设的第一编码处理,得到符合要求的第一目标向量;再根据预设的秘密分享乘法协议,利用第一目标向量和第一随机向量,确定出编号差值,并将编号差值而不是向量发送给第二服务器;第二服务器接收第三服务器提供的第二随机向量和第二随机数;再根据预设的秘密分享乘法协议,利用所持有的第二目标数据,以及第二随机向量、编号差值,确定出差值向量,并将差值向量发送给第一服务器。进而第一服务器可以根据预设的秘密分享乘法协议,利用差值向量、第一随机数、第一随机向量,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;同时,第二服务器可以根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。从而可以通过引入并利用预设的秘密分享乘法协议,有效地降低数据处理过程中的数据传输量,并简化分片数据的确定过程,提高整体的数据处理效率,使得第一服务器和第二服务器可以通过合作,在保护以双方数据隐私的前提下,高效地确定出关于双方所分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据。
参阅图5所示,本说明书实施例还提供了一种基于隐私保护的数据处理方法。其中,该方法应用于第二服务器一侧,该方法具体实施时,可以包括以下内容。
S501:接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素。
S502:接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值。
S503:根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器。
S504:根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
在一些实施例中,上述根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,具体实施时,可以包括以下内容:根据所述编号差值,确定出目标方向;并确定出所述编号差值的绝对值,作为目标数量;根据预设的秘密分享乘法协议,将第二目标数据中的各个数据元素的数据值沿目标方向,平移目标数量个元素位置,得到处理后的第二目标数据;利用所述处理后的第二目标数据,减去第二随机向量,得到所述差值向量。
在一些实施例中,根据所述编号差值,确定出目标方向,具体实施时,可以包括以下内容:在确定所述编号差值大于0的情况下,确定目标方向为向右;在确定所述编号差值小于0的情况下,确定目标方向为向左。
在一些实施例中,在确定编号差值等于0的情况下,可以确定不对第二目标数据进行平移处理,进而可以直接利用第二目标数据减去第二随机向量,得到所述差值向量。
在一些实施例中,上述根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据,具体实施时,可以包括:根据预设的秘密分享乘法协议,将所述第二随机数确定为所述秘密的第二分片数据。
在一些实施例中,所述第二目标数据所包含的数据元素的数量与所述第一目标向量相同。
参阅图6所示,本说明书实施例还提供了一种基于隐私保护的数据处理方法。其中,该方法应用于第三服务器一侧,该方法具体实施时,可以包括以下内容。
S601:响应初始化请求,根据预设的生成规则,生成第一随机向量、第二随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;
S602:根据预设的生成规则,利用所述第一随机向量、第二随机向量和第一随机数,计算得到第二随机数;
S603:将所述第一随机向量、第一随机数发送至第一服务器;将所述第二随机向量、第二随机数发送至第二服务器;其中,所述第一服务器持有第一目标数据,所述第二服务器持有第二目标数据;所述第一服务器和所述第二服务器根据预设的秘密分享乘法协议,通过合作分别确定得到关于第一目标数据和第二目标数据乘积的秘密的第一分片数据和第二分片数据。
由上可见,本说明书实施例提供的基于隐私保护的数据处理方法,通过引入并利用预设的秘密分享乘法协议,能够有效地降低数据处理过程中的数据传输量,并简化秘密的分片数据的确定过程,提高整体的数据处理效率,使得第一服务器和第二服务器可以通过合作,在保护以双方数据隐私的前提下,高效地确定出关于双方所分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;接收第二服务器发送的差值向量;根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
为了能够更加准确地完成上述指令,参阅图7所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口701、处理器702以及存储器703,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口701,具体可以用于接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器。
所述处理器702,具体可以用于对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;接收第二服务器发送的差值向量;根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
所述存储器703,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口701可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器702可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器703可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了另一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
本说明书实施例还提供了另一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:响应初始化请求,根据预设的生成规则,生成第一随机向量、第二随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;根据预设的生成规则,利用所述第一随机向量、第二随机向量和第一随机数,计算得到第二随机数;将所述第一随机向量、第一随机数发送至第一服务器;将所述第二随机向量、第二随机数发送至第二服务器;其中,所述第一服务器持有第一目标数据,所述第二服务器持有第二目标数据;所述第一服务器和所述第二服务器根据预设的秘密分享乘法协议,通过合作分别确定得到关于第一目标数据和第二目标数据乘积的秘密的第一分片数据和第二分片数据。
本说明书实施例还提供了一种基于上述基于隐私保护的数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;接收第二服务器发送的差值向量;根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图8所示,在软件层面上,本说明书实施例还提供了一种基于隐私保护的数据处理装置,该装置具体可以包括以下的结构模块。
第一接收模块801,具体可以用于接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;
编码模块802,具体可以用于对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;
计算模块803,具体可以用于根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;
第二接收模块804,具体可以用于接收第二服务器发送的差值向量;
确定模块805,具体可以用于根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
本说明书实施例还提供了另一种基于隐私保护的数据处理装置,包括:第一接收模块,用于接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;第二接收模块,用于接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;计算模块,用于根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;确定模块,用于根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,提供本说明书实施例提供的基于隐私保护的数据处理装置,能够有效地降低数据处理过程中的数据传输量,并简化分片数据的确定过程,提高整体的数据处理效率,使得第一服务器和第二服务器可以通过合作,在保护以双方数据隐私的前提下,高效地确定出关于双方所分别持有的第一目标数据和第二目标数据乘积的秘密的分片数据。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种基于隐私保护的数据处理方法,应用于第一服务器,所述第一服务器持有第一目标数据,所述方法包括:
接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;
对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;
根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;
接收第二服务器发送的差值向量;
根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
2.根据权利要求1所述的方法,根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据,包括:
根据预设的秘密分享乘法协议,计算第一随机向量与差值向量的乘积,得到中间值;
计算中间值与第一随机数的和,得到所述秘密的第一分片数据。
3.根据权利要求1所述的方法,所述预设的第一编码处理包括:one-hot编码。
4.根据权利要求1所述的方法,所述第一目标数据包括训练样本的特征数据,相应的,所述第二目标数据包括模型参数。
5.根据权利要求4所述的方法,在确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据之后,所述方法还包括:
根据预设的秘密分享乘法协议,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练目标模型。
6.根据权利要求5所述的方法,根据预设的秘密分享乘法协议,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练模型,包括:
根据预设的秘密分享乘法协议,采用梯度下降法或牛顿法,利用所持有的所述秘密的第一分片数据,与持有所述秘密的第二分片数据的第二服务器合作,以联合训练目标模型。
7.一种基于隐私保护的数据处理方法,应用于第二服务器,所述第二服务器持有第二目标数据,所述方法包括:
接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;
接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;
根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;
根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
8.根据权利要求7所述的方法,根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,包括:
根据所述编号差值,确定出目标方向;并确定出所述编号差值的绝对值,作为目标数量;
根据预设的秘密分享乘法协议,将第二目标数据中的各个数据元素的数据值沿目标方向,平移目标数量个元素位置,得到处理后的第二目标数据;
利用所述处理后的第二目标数据,减去第二随机向量,得到所述差值向量。
9.根据权利要求8所述的方法,根据所述编号差值,确定出目标方向,包括:
在确定所述编号差值大于0的情况下,确定目标方向为向右;
在确定所述编号差值小于0的情况下,确定目标方向为向左。
10.根据权利要求9所述的方法,所述方法还包括:
在确定所述编号差值等于0的情况下,利用所述第二目标数据,减去第二随机向量,得到所述差值向量。
11.根据权利要求7所述的方法,根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据,包括:
根据预设的秘密分享乘法协议,将所述第二随机数确定为所述秘密的第二分片数据。
12.一种基于隐私保护的数据处理方法,应用于第三服务器,包括:
响应初始化请求,根据预设的生成规则,生成第一随机向量、第二随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;
根据预设的生成规则,利用所述第一随机向量、第二随机向量和第一随机数,计算得到第二随机数;
将所述第一随机向量、第一随机数发送至第一服务器;将所述第二随机向量、第二随机数发送至第二服务器;其中,所述第一服务器持有第一目标数据,所述第二服务器持有第二目标数据;所述第一服务器和所述第二服务器根据预设的秘密分享乘法协议,通过合作分别确定得到关于第一目标数据和第二目标数据乘积的秘密的第一分片数据和第二分片数据。
13.一种基于隐私保护的数据处理装置,包括:
第一接收模块,用于接收第三服务器发送的第一随机向量和第一随机数;其中,所述第一随机向量包含一个数据值为预设数值的第一数据元素;第三服务器还将第二随机向量和第二随机数发送至第二服务器;
编码模块,用于对第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;其中,所述第一目标向量包含一个数据值为预设数值的第二数据元素;
计算模块,用于根据预设的秘密分享乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间的编号差值,并将编号差值发送至第二服务器;其中,第二服务器根据预设的秘密乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量;
第二接收模块,用于接收第二服务器发送的差值向量;
确定模块,用于根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第一分片数据;其中,所述第二服务器根据预设的秘密分享乘法协议,利用第二随机数,确定出秘密的第二分片数据。
14.一种基于隐私保护的数据处理装置,包括:
第一接收模块,用于接收第三服务器发送的第二随机向量和第二随机数;其中,所述第三服务器还将第一随机向量和第一随机数发送至第一服务器;所述第一随机向量包含一个数据值为预设数值的第一数据元素;所述第一服务器对所持有的第一目标数据进行预设的第一编码处理,得到对应的第一目标向量;所述第一目标向量包含一个数据值为预设数值的第二数据元素;
第二接收模块,用于接收第一服务器发送的编号差值;其中,所述第一服务器根据预设的秘密乘法协议,计算第二数据元素的元素位置编号与第一数据元素的元素位置编号之间编号差值;
计算模块,用于根据预设的秘密分享乘法协议,利用所述编号差值、所持有的第二目标数据和第二随机向量,计算差值向量,并将所述差值向量发送至第一服务器;
确定模块,用于根据预设的秘密分享乘法协议,利用第二随机数,确定出关于第一目标数据和第二目标数据乘积的秘密的第二分片数据;其中,第一服务器根据预设的秘密分享乘法协议,利用所述差值向量、第一随机向量和第一随机数,确定出秘密的第一分片数据。
15.一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至6,或7至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110243206.7A CN113094739B (zh) | 2021-03-05 | 2021-03-05 | 基于隐私保护的数据处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110243206.7A CN113094739B (zh) | 2021-03-05 | 2021-03-05 | 基于隐私保护的数据处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094739A true CN113094739A (zh) | 2021-07-09 |
CN113094739B CN113094739B (zh) | 2022-04-22 |
Family
ID=76667938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110243206.7A Active CN113094739B (zh) | 2021-03-05 | 2021-03-05 | 基于隐私保护的数据处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094739B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792322A (zh) * | 2021-11-15 | 2021-12-14 | 南京可信区块链与算法经济研究院有限公司 | 一种安全两方比较方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009089B1 (en) * | 2011-06-27 | 2015-04-14 | Hrl Laboratories, Llc | Secure pattern matching |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111178549A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111291417A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合训练对象推荐模型的方法及装置 |
CN111475854A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法及系统 |
CN111523145A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN111967035A (zh) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置和电子设备 |
-
2021
- 2021-03-05 CN CN202110243206.7A patent/CN113094739B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009089B1 (en) * | 2011-06-27 | 2015-04-14 | Hrl Laboratories, Llc | Secure pattern matching |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111178549A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111291417A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合训练对象推荐模型的方法及装置 |
CN111475854A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法及系统 |
CN111523145A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN111967035A (zh) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置和电子设备 |
Non-Patent Citations (3)
Title |
---|
MAHIR CAN DOGANAY: "Distributed privacy preserving k-means clustering with additive secret sharing", 《PAIS "08: PROCEEDINGS OF THE 2008 INTERNATIONAL WORKSHOP ON PRIVACY AND ANONYMITY IN INFORMATION SOCIETY》 * |
何明星等: "高可靠性分片密钥分配与恢复", 《计算机工程与应用》 * |
宋海龙等: "基于精确再生码的秘密共享方案", 《中南大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792322A (zh) * | 2021-11-15 | 2021-12-14 | 南京可信区块链与算法经济研究院有限公司 | 一种安全两方比较方法及系统 |
CN113792322B (zh) * | 2021-11-15 | 2022-02-15 | 南京可信区块链与算法经济研究院有限公司 | 一种安全两方比较方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113094739B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9037870B1 (en) | Method and system for providing a rotating key encrypted file system | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
CN109948347B (zh) | 一种数据存储方法及装置、服务器及可读存储介质 | |
CN112800466B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN110933063B (zh) | 数据加密方法、数据解密方法及设备 | |
CN112132676B (zh) | 联合训练目标模型的贡献度的确定方法、装置和终端设备 | |
US10601580B2 (en) | Secure order preserving string compression | |
CN112100679B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN112073444B (zh) | 数据集的处理方法、装置和服务器 | |
CN113032357A (zh) | 文件的存储方法、装置和服务器 | |
CN113468601B (zh) | 数据隐私融合方法和装置 | |
CN114255037A (zh) | 隐私保护下的多方联合排序方法和数据处理方法 | |
CN112100643B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN113094739B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN114254353A (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN107133517B (zh) | 一种基于内存中数据加密和计算的数据还原方法 | |
CN116488919B (zh) | 一种数据处理方法、通信节点及存储介质 | |
CN110874481A (zh) | 一种基于gbdt模型的预测方法和装置 | |
CN112597525A (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN113254989B (zh) | 目标数据的融合方法、装置和服务器 | |
CN113255928B (zh) | 模型的训练方法、装置和服务器 | |
CN116522355A (zh) | 一种电力数据边界保护方法、设备、介质及装置 | |
CN115118520A (zh) | 数据处理方法、装置和服务器 | |
CN110569659B (zh) | 数据处理方法、装置和电子设备 | |
CN113094745B (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 |