CN113094745A - 基于隐私保护的数据变换方法、装置和服务器 - Google Patents
基于隐私保护的数据变换方法、装置和服务器 Download PDFInfo
- Publication number
- CN113094745A CN113094745A CN202110345581.2A CN202110345581A CN113094745A CN 113094745 A CN113094745 A CN 113094745A CN 202110345581 A CN202110345581 A CN 202110345581A CN 113094745 A CN113094745 A CN 113094745A
- Authority
- CN
- China
- Prior art keywords
- data
- random
- server
- target
- group
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供了基于隐私保护的数据变换方法、装置和服务器。持有shuffle变换集的第一服务器、持有待进行数据变换的目标数据的第二服务器,以及负责提供随机数生成服务的第三服务器,可以根据基于G‑module action的预设协议进行相关的数据交互和数据运算,从而可以在保护第一服务器和第二服务器的数据隐私的前提下,高效地通过合作对第二服务器所持有的目标数据进行相应的shuffle变换,并由第一服务器和第二服务器分别得到上述目标数据的数据变换结果的一个分片数据。
Description
技术领域
本说明书属于互联网技术领域,尤其涉及基于隐私保护的数据变换方法、装置和服务器。
背景技术
在机器学习场景中,有时需要双方合作,由其中一方(记为第一数据方)指定shuffle变换算子,再基于该shuffle变换算子对另一方(记为第二数据方)所持有的数据进行shuffle变换,以提升数据的模型训练效果,进而后续可以根据上述shuffle变换后的数据进行具体的模型训练。上述过程中,有时还会要求要避免向第二数据方泄露第一数据方所指定的shuffle变换算子,同时也要避免向第一数据方泄露第二数据方所使用的数据。
因此,亟需一种能够在保护双方的数据隐私的前提下,高效地通过双方合作对其中一方所持有的数据进行shuffle变换的方法。
发明内容
本说明书提供了一种基于隐私保护的数据变换方法、装置和服务器,以在保护第一服务器和第二服务器的数据隐私的前提下,高效地通过合作对第二服务器所持有的目标数据进行shuffle变换。
本说明书提供的一种基于隐私保护的数据变换方法、装置和服务器是这样实现的:
一种基于隐私保护的数据变换方法,应用于第一服务器,包括:接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
一种基于隐私保护的数据变换方法,应用于第二服务器,包括:接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
一种基于隐私保护的数据变换方法,应用于第三服务器,包括:响应数据变换请求,根据基于G-module action的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
一种基于隐私保护的数据变换方法,应用于第一服务器,包括:接收第三服务器提供的第一随机参数;并响应数据变换请求,利用第一随机数种子生成第一随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
一种基于隐私保护的数据变换方法,应用于第二服务器,包括:接收第三服务器提供的第二随机参数;并响应数据变换请求,利用第二随机数种子生成第二随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
一种基于隐私保护的数据变换方法,应用于第三服务器,包括:响应数据变换请求,根据基于G-module action的预设协议,利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;将所述第一随机参数发送至第一服务器;将所述第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
一种基于隐私保护的数据变换装置,包括:接收模块,用于接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;第一运算模块,用于根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;第二运算模块,用于根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
一种基于隐私保护的数据变换装置,包括:接收模块,用于接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;第一运算模块,用于根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;第二运算模块,用于根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
一种基于隐私保护的数据变换装置,包括:生成模块,用于响应数据变换请求,根据基于G-module action的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;发送模块,用于将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述基于隐私保护的数据变换方法的相关步骤。
本说明书提供了基于隐私保护的数据变换方法、装置和服务器,当需要合作对目标数据进行数据变换时,负责提供随机数服务的第三服务器可以先根据基于G-moduleaction的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群,所述第一数据群为与所述第二数据群存在G-module关系的数据群;第三服务器再将上述第一随机数据和第一随机参数发送至第一服务器,将第二随机数据和第二随机参数发送至第二服务器;进而,第一服务器可以利用所持有的目标变换算子,结合第一随机数据和第一随机参数,根据预设协议,与持有目标数据的第二服务器合作,进行相关的数据交互和数据运算,以分别得到目标数据的数据变换结果的一个分片数据,从而可以在保护第一服务器和第二服务器的数据隐私的前提下,高效地通过合作对第二服务器所持有的目标数据进行相应的数据变换。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的基于隐私保护的数据变换方法的系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的基于隐私保护的数据变换方法的流程示意图;
图3是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据变换方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据变换方法的一种实施例的示意图;
图5是本说明书的一个实施例提供的基于隐私保护的数据变换方法的流程示意图;
图6是本说明书的一个实施例提供的基于隐私保护的数据变换方法的流程示意图;
图7是本说明书的一个实施例提供的服务器的结构组成示意图;
图8是本说明书的一个实施例提供的基于隐私保护的数据变换装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供了一种基于隐私保护的数据变换方法,该方法具体可以应用于包含有第一服务器(可以记为P_1)、第二服务器(可以记为P_2)和第三服务器(可以记为P_3)的系统中。参阅图1所示,第一服务器、第二服务器和第三服务器相互之间可以通过有线或无线的方式相连,以进行具体的数据交互。
其中,上述第一服务器具体可以理解为部署于第一数据方一侧的服务器。具体的,第一服务器至少可以持有shuffle变换集(可以记为Sn)。其中,上述shuffle变换集中存储有多个用于进行不同的shuffle变换的shuffle变换算子。上述shuffle变换具体可以理解为一种将数据的排序打乱的数据变换。
上述第二服务器具体可以理解为部署于第二数据方一侧的服务器。具体的,第二服务器至少可以持有第二数据方(例如,某购物网站等)所拥有的与样本相关的数据,例如,购物者的特征数据,或者购物者的标签数据等。
上述第三服务器具体可以理解为部署于可信的第三数据方一侧的服务器。具体的,上述第三方具体可以为独立于第一数据方、第二数据方,负责为第一服务器和第二服务器生成所需要的符合具体要求的随机数数据。进一步,第三服务器可以持有第一数据群和第二数据群。其中,所述第二数据群具体可以为阿贝尔群(Abel群,也称交换群,可以简记为A);所述第一数据群具体可以为与上述第二数据群存在G-module关系的数据群(也称G模群,可以简记为G)。
其中,上述G-module关系具体可以是指有限群G在有限群A上具有如下的群作用:G和A的笛卡尔积仍为A(即,存在G×A→A);并且满足分配率。
在本实施例中,上述第一服务器、第二服务器、第三服务器具体可以包括一种能够实现数据传输、数据处理等功能的后台服务器。具体的,上述第一服务器、第二服务器、第三服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,上述第一服务器、第二服务器、第三服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定上述第一服务器、第二服务器、第三服务器所包含的服务器数量。上述第一服务器、第二服务器、第三服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
当前要求第一服务器和第二服务器在保护各自的数据隐私的前提下,由第一服务器选定目标变换算子,再通过合作对第二服务器的目标数据进行数据变换;最终,在第一服务器一侧生成并得到目标数据的数据变换结果的第一分片数据,在第二服务器一侧生成并得到目标数据的数据变换结果的第二分片数据。
具体实施时,当需要对目标数据进行数据变换时,可以是第一服务器或第二服务器在系统中发起数据变换请求。
第三服务器可以先响应上述数据变换请求,根据基于G-module action的预设协议,从第一数据群(例如,G)中随机抽取一个数据作为第一随机数据(可以记为h),从第二数据群(例如,A)中随机抽取一个数据作为第二随机数据(可以记为b)。进一步,第三服务器可以根据第二数据群生成一个随机数,作为第一随机参数(可以记为u_0)。再根据预设协议,利用上述第一随机数据、第二随机数据和第一随机参数,计算出满足预设的数据关系的参数,作为第二随机参数(可以记为u_1)。其中,上述预设的数据关系可以表示为hb=u_0+u_1。
接着,第三服务器可以将上述第一随机数据、第一随机参数发送至第一服务器;将第二随机数据、第二随机参数发送至第二服务器。
相应的,第一服务器接收上述第一随机数据、第一随机参数。同时,第一服务器也响应上述数据变换请求,从所持有的shuffle集中随机抽取一种shuffle变换算子作为目标变换算子(可以记为g)。
第二服务器接收上述第二随机数据、第二随机数参数。同时,第二服务器也响应上述数据变换请求,从所持有的数据集中取出待进行数据变换的目标数据(可以记为x)。
进而,第一服务器和第二服务器可以通过根据预设协议利用各自所持有的数据进行多次的数据交互、多轮数据运算,以利用目标变换算子完成对目标数据进行shuffle变换,并分别得到目标数据的数据变换结果的一个分量数据。
具体的,第一服务器可以根据预先协议,利用目标变换算子、第一随机数据进行如下所示的运算:f:=gh-1,得到第一中间数据(可以记为f),并将第一中间数据发送给第二服务器。
同时,第二服务器可以根据预设协议,利用目标数据、第二随机数据进行如下所示的运算:c=x-b,得到第二中间数据(可以记为c),并将第二中间数据发送给第一服务器。
进一步,第一服务器可以根据预设协议,利用目标变换算子、第二中间数据、第一中间数据和第一随机参数进行如下所示的运算:v_0:=gc+fu_0,得到目标数据的数据变换结果的第一分片数据(记为v_0)。
同时,第二服务器可以根据预设协议,利用第一中间数据、第二随机参数进行如下所示的运算:v_1:=fu_1,得到目标数据的数据变换结果的第二分片数据(记为v_1)。
其中,上述第一分片数据和第二分片数据组合在一起,可以得到完整的目标数据的数据变换结果。因此,上述第一分片数据和第二分片数据满足如下关系:v_0+v_1=g*x。上述g*x表示利用shuffle变换算子g对目标数据x进行shuffle变换后得到的数据变换结果。
通过上述方式,根据基于G-module action的预设协议进行数据交互和数据运算,第一服务器没有向第二服务器泄露所使用的目标变换算子g,同时第二服务器也没有向第一服务器泄露所持有的目标数据x,从而可以在保护双方数据隐私的前提下,高效地完成对目标数据的shuffle变换,得到目标数据的数据变换结果,以提升目标数据的模型训练效果,并使得第一服务器和第二服务器可以各自持有上述目标数据的数据变换结果的一个分片数据。
接着,第一服务器和第二服务器可以分别使用各自所持有的目标数据的数据变换结果的分片数据作为输出,通过进行安全多方计算,进行联合建模,得到用于目标模型(例如,能够预测购物者的购买偏好的预测模型)。
最终,第一服务器可以得到并持有目标模型的第一模型分片,第二服务器可以得到并持有目标模型的第二模型分片。
当第二服务器需要使用目标模型时,第一服务器可以将上述第一模型分片提供给第二服务器;第二服务器通过组合第一模型分片和第二模型分片可以得到完整的目标模型。
进而,第二服务器可以利用上述目标模型,预测购物网站上购物者的购买偏好;再根据购物者的购物偏好,对购物者进行较为精准的信息推送,以有效地提高成单率。
参阅图2所示,本说明书实施例提供了一种基于隐私保护的数据变换方法。其中,该方法具体可以应用于第一服务器一侧。具体实施时,该方法可以包括以下内容。
S201:接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群。
在一些实施例中,上述第一服务器可以持有变换集,例如,包含有多个预设的shuffle变换算子的shuffle变换集。上述shuffle变换具体可以是指一种将数据顺序打乱的数据变换操作。通常在模型训练过程中,可以通过对样本数据进行shuffle变换,以提升样本数据的训练效果。当然,需要说明的是,上述所列举的shuffle变换只是一种示意性说明。具体实施时,也可以根据具体情况和处理需求,将本说明书提供方法拓展应用其他类型的数据变换中。
在一些实施例中,上述第二服务器可以持有目标数据。
在一些实施例中,上述目标数据具体可以是用于模型训练的样本的特征数据和/或标签数据。
具体的,例如,在联合训练能够预测用户的交易风险的目标模型的联合建模场景中,上述目标数据可以是样本用户的职业、月收入、违约次数等特征数据,也可以是样本用户的风险标签等。
在一些实施例中,上述第三服务器独立于第一服务器和第二服务器,为负责提供数据处理所需要的随机数和/或随机向量的服务器。
具体的,第三服务器可以持有存在G-module关系的第一数据群和第二数据群。具体实施时,第三服务器可以利用上述第一数据群和第二数据群,并结合两个数据群之间所存在的G-module关系特性,来生成符合要求的随机数据提供给第一服务器、第二服务器使用。
在一些实施例中,上述第二数据群具体可以为一个阿贝尔群(Abel群,也称交换群,可以简记为A);上述第一数据群具体可以为与上述第二数据群存在G-module关系的数据群(也称G模群,可以简记为G)。
其中,上述G-module关系具体可以是指有限群G在有限群A上具有如下的群作用:G和A的笛卡尔积仍为A;并且满足分配率。
具体的,存在一个(g,a)→ga:G×A→A,s.t.
1.对任意的g,h∈G,m∈A,存在gh(m)=g(h(m));
2.对G中恒元1,以及任意的m∈A,存在1(m)=m;
3.对于任意的g∈G,m,n∈A,存在g(m+n)=g(m)+g(n)。
在一些实施例中,上述预设协议具体可以理解为一种考虑到了第一数据群和第二数据群之间所存在的上述G-module关系,基于G-module action设计得到涉及数据交互、数据运算的规则集。
在一些实施例中,当需要进行如下合作:由第一服务器确定用于进行数据变换的目标变换算子,并基于上述目标变换算子对第二服务器所持有的目标数据进行数据变换时,可以由第一服务器,或第二服务器发起数据转换请求。
在一些实施例中,可以参阅图3所示,在第三服务器一侧,第三服务器可以响应上述数据转换请求,根据预设协议,利用上述第一数据群、第二数据群,生成符合要求的第一随机数据、第二随机数据、第一随机参数和第二随机参数。
首先,第一服务器可以根据预设协议,从第一数据群中随机抽取出一个随机数据,作为第一随机数据(可以记为h);从第二数据群中随机抽取一个随机数据,作为第二随机数据(可以记为b)。
进一步,第三服务器可以先生成第一随机参数(可以记为u_0);再根据第一随机数据、第二随机数据、第一随机参数生成第二随机参数(可以记为u_1)。
具体的,第三服务器可以根据预设的数据关系,利用上述第一随机数据、第二随机数据,以及第一随机参数,计算出相应的第二随机参数。例如,按照以下所示的预设的数据关系,计算得到第二随机参数:u_1=hb-u_0。
在获得上述第一随机数据、第二随机数据、第一随机参数和第二随机参数后,第三服务器可以根据预设协议,将第一随机数据、第一随机参数发送至第一服务器;同时,将第二随机数据、第二随机参数发送至第二服务器。
相应的,第一服务器接收并获取上述第一随机数据、第一随机参数;第二服务器接收并获取上述第二随机数据、第二随机参数。
在一些实施例中,在第一服务器一侧,可以参阅图3所示,第一服务器可以响应上述数据转换请求,从所持有的shuffle变换集中随机抽取一个shuffle变换算子作为后续用于对目标数据进行shuffle变换的目标变换算子。
当然,第一服务器也可以响应数据转换请求,根据具体情况和处理需求,从所持有的shuffle变换集中有选择地确定出一个适用于目标数据的shuffle变换算子作为目标变换算子。
需要说明的是,第一服务器所确定出的上述目标变换算子不发送给第二服务器,也不对外公开。这是因为上述目标变换算子往往还可能会承载有诸如保持正负样本比例、维持局部稳定等作用,因此对上述目标变换算子保密,可以在一定程度下减少数据信息的泄露风险。
在一些实施例中,在第二服务器一侧,第二服务器可以响应上述数据转换请求,从所持有的数据集中确定并获取待进行数据变换的目标数据。
具体的,上述数据转换请求还可以携带有与要求进行待进行数据转换的目标数据对应的数据标识。相应的,第二服务器可以根据上述数据标识,确定出待进行数据转换的目标数据。
S202:根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器。
在一些实施例中,在第一服务器一侧,可以参阅图3所示,第一服务器可以根据预设协议,在本地利用目标变换算子、第一随机数据进行第一轮运算,得到第一中间数据(可以记为f);再将上述第一中间数据发送至第二服务器。
在一些实施例中,上述根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,具体实施时,可以包括:根据预设协议,计算出第一随机数据的逆;将所述目标变换算子和所述第一随机数据的逆相乘,以得到所述第一中间数据。这样可以避免目标变换算子离开第一服务器本地,保护目标变换算子的数据安全。
具体的,第一服务器可以按照以下算式进行运算,以得到第一中间数据:f:=gh-1。
同时,在第二服务器一侧,可以参阅图3所示,第二服务器可以根据预设协议,在本地利用目标数据、第二随机数据进行第一轮运算,得到第二中间数据(可以记为c);再将上述第二中间数据发送至第一服务器。这样可以避免目标数据离开第二服务器本地,保护目标数据的数据安全。
具体的,第二服务器可以按照以下算式进行运算,以得到第二中间数据:c=x-b。
相应的,第一服务器可以接收第二服务器发送的第二中间数据;第二服务器可以接收第一服务器发送的第一中间数据。
在一些实施例中,为了避免第三方窃取第一服务器和第二服务器之间交互的第一中间数据和第二中间数据。具体实施前,第一服务器和第二服务器还可以通过秘钥协议生成并持有相互对应的第一秘钥和第二秘钥。其中,第一服务器持有第一秘钥,第二服务器持有第二秘钥。
进而,第一服务器在将第一中间数据发送至第二服务器之前,可以先使用所持有的第一秘钥对上述第一中间数据进行加密处理,得到第一中间数据的密文数据;再将第一中间数据的密文数据发送至第二服务器。第二服务器在接收到第一中间数据的密文数据之后,可以使用所持有的第二秘钥通过解密处理,以得到第一中间数据。
类似的,第二服务器在将第二中间数据发送至第一服务器之前,可以先使用所持有的第二秘钥对上述第二中间数据进行加密处理,得到第二中间数据的密文数据;再将第二中间数据的密文数据发送至第一服务器。第一服务器在接收到第二中间数据的密文数据之后,可以使用所持有的第一秘钥通过解密处理,以得到第二中间数据。
通过上述方式,可以进一步更加全面地保护参与数据变换的双方的数据隐私。
S203:根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
在一些实施例中,在第一服务器一侧,可以参阅图3所示,第一服务器可以根据预设协议,在本地利用目标变换算子、第二中间数据和第一随机参数进行第二轮运算,得到目标数据的数据变换结果的第一分片数据(可以记为v_0)。第一服务器可以持有上述目标数据的数据变换结果的第一分片数据。
在一些实施例中,上述根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据,具体实施时,可以包括:根据预设协议,计算出目标变换算子与第二中间数据的乘积、第一中间数据与第一随机参数的乘积;将所述目标变换算子与第二中间数据的乘积、第一中间数据与第一随机参数的乘积相加,以得到目标数据的数据变换结果的第一分片数据。
具体的,第一服务器可以按照以下算式进行运算,以得到目标数据的数据变换结果的第一分片数据:v_0:=gc+fu_0。
在一些实施例中,在第二服务器一侧,可以参阅图3所示,第二服务器可以根据预设协议,在本地利用第一中间数据、第二随机参数进行第二轮运算,得到目标数据的数据变换结果的第二分片数据(可以记为v_1)。第二服务器可以持有上述目标数据的数据变换结果的第二分片数据。
在一些实施例中,上述根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据,具体实施时,可以包括:根据预设协议,将所述第一中间数据和所述第二随机参数相加,以得到目标数据的数据变换结果的第二分片数据。
具体的,第二服务器可以按照以下算式进行运算,以得到目标数据的数据变换结果的第一分片数据:v_0:=gc+fu_0。
根据预设协议,通过上述两次数据交互、两轮数据运算,可以使得在目标变换算子不离开第一服务器本地、目标数据不离开第二服务器本地的情况下,在第一服务器一侧生成目标数据的数据变换结果的第一分片数据,在第二服务器一侧生成目标数据的数据变换结果的第二分片数据,从而可以在保护双方的数据隐私的前提,完成对目标数据的shuffle变换。此外,在上述两次数据交互过程中,需要交互传输的数据量相对较少,因此,可以获得较高的传输效率。
在一些实施例中,基于预先约定的合作协议,可以由第一服务器持有并保管数据变换结果的第一分片数据,由第二服务器持有并保管数据变换结果的第二分片数据。
这样单个服务器只基于自己所持有的分片数据,是无法得到完整的目标数据的数据变换结果的。需要双方再基于合作协议再进行进一步的数据交互和数据运算,以分别使用各自所持有的分片数据来合作,得到完整的目标数据的数据变换结果;进而可以利用上述完整的目标数据的数据变换结果,进行进一步的数据处理。
在一些实施例中,在得到目标数据的数据变换结果的第一分片数据之后,所述方法具体实施时,还可以包括:响应联合建模请求,以所述目标数据的数据变换结果的第一分片数据作为输出,与以所述目标数据的数据变换结果的第二分片数据作为输出的第二服务器合作,进行联合建模,以训练得到目标模型。
具体的,在联合建模场景中,参阅图4所示,首先,第一服务器可以生成并发起联合建模请求(也可以是第二服务器生成并发起联合建模请求)。进而,第一服务器可以响应上述联合建模请求,使用所持有的目标数据的数据变换结果的第一分片数据作为输出;同时,第二服务器可以响应上述联合建模请求,使用所持有的目标数据的数据变换结果的第二分片数据作为输出,双方可以根据预先约定的合作协议,基于安全多方计算框架,通过进行安全多方计算,来合作进行联合建模。最终,可以通过上述合作,可以训练得到符合要求的目标模型。具体的,基于合作协议,可以第一服务器可以得到并保管目标模型的第一模型分片,第二服务器可以得到并保管目标模型的第二模型分片。
具体的,例如,当第一服务器需要使用完整的目标模型时,第一服务器可以根据合作协议向第二服务器发起使用请求。第二服务器可以响应使用请求,将所持有的目标模型的第二模型分片的使用权限暂时提供给第一服务器。这样第一服务器可以暂时使用上述第二模型分片,结合自己所持有的第一模型分片,在一个时间段内组合得到完整的目标模型。进而第一服务器可以在该时间段内使用目标模型完成具体的业务数据处理。
具体的,又例如,当第一服务器需要使用完整的目标模型时,第一服务器也可以根据合作协议,发起联合运算请求。接着,第一服务器和第二服务器可以响应上述联合运算请求,各自以所持有的模型分片作为输出,基于安全多方计算框架,进行相应的安全多方计算,以合作得到完整的目标模型。进一步,第一服务器可以基于上述安全多方计算框架,来运行上述目标模型处理具体的业务数据。
在一些实施例中,针对不同的应用场景和处理需求,第一服务器和第二服务器还可以利用各自分别持有的目标数据的数据转换结果的分片数据进行其他类型的数据处理。例如,进行联合数据统计等等。
由上可见,基于本说明书实施例提供的基于隐私保护的数据变换方法,当需要合作对目标数据进行数据变换时,负责提供随机数服务的第三服务器可以根据基于G-moduleaction的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群,所述第一数据群为与所述第二数据群存在G-module关系的数据群;第三服务器再将上述第一随机数据和第一随机参数发送至第一服务器,将第二随机数据和第二随机参数发送至第二服务器;进而,第一服务器可以利用所持有的目标变换算子,结合第一随机数据和第一随机参数,与持有目标数据的,并接收到第二随机数据和第二随机参数的第二服务器,根据预设协议进行相关的数据交互和数据运算,以各自生成得到目标数据的数据变换结果的一个分片数据,从而可以在保护第一服务器和第二服务器的数据隐私的前提下,高效地通过双方合作对第二服务器所持有的目标数据进行相应的数据变换。
参阅图5所示,本说明书实施例还提供了一种应用于第二服务器一侧的基于隐私保护的数据变换方法。该方法具体实施时,可以包括以下内容。
S501:接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
S502:根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;
S503:根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
在一些实施例中,上述利用目标数据、第二随机数据进行运算,得到第二中间数据之前,所述方法具体实施时,还可以包括:响应数据变换请求,从所持有的数据集中获取匹配的目标数据;其中,所述数据变换请求携带有目标数据的标识信息。
在一些实施例中,所述目标数据具体可以包括特征数据和/或标签数据等等。当然,需要说明的是,上述所列举的目标数据只是一种示意性说明。具体实施时,根据具体情况和处理需求,上述目标数据还可以包括其他类型的需要进行数据变换的数据。
在一些实施例中,上述根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据,具体实施时,可以包括:根据预设协议,将所述目标数据和所述第二随机数据相减,以得到所述第二中间数据。
在一些实施例中,上述根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据,具体实施时,可以包括:根据预设协议,将所述第一中间数据和所述第二随机参数相加,以得到目标数据的数据变换结果的第二分片数据。
本说明书实施例还提供了一种应用于第三服务器一侧的基于隐私保护的数据变换方法。该方法具体实施时,可以包括以下内容:响应数据变换请求,根据基于G-moduleaction的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
本说明书还提供了另一种基于隐私保护的数据变换方法,具体可以应用第一服务器一侧,参阅图6所示,可以包括以下内容。
S601:接收第三服务器提供的第一随机参数;并响应数据变换请求,利用第一随机数种子生成第一随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
S602:根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;
S603:根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
在本实施例中,具体实施前,第三服务器可以预先与第一服务器交互,以分别得到并持有相同的第一随机数种子。其中,上述第一随机数种子具体可以是根据第一数据群生成的。同时,第三服务器可以预先与第二服务器交互,以分别得到并持有相同的第二随机数据种子。其中,上述第二随机数种子具体可以是根据第二数据群生成的。
具体实施时,在第三服务器一侧,第三服务器可以响应数据变换请求,利用上述第一随机数种子,通过伪随机数生成器(例如,PRF)生成一个随机数据作为第一随机数据;同时利用上述第二随机数种子,通过伪随机数生成器生成另一个随机数据作为第二随机数据。第三服务器进一步可以生成第一随机参数和第二随机参数。
在第一服务器一侧,第一服务器可以响应数据变换请求,在本地利用第一随机数种子,通过伪随机数生成器生成与第三服务器相同的第一随机数据。
类似的,在第二服务器一侧,第二服务器可以响应数据变换请求,在本地利用第二随机数种子,通过伪随机数生成器生成与第三服务器相同的第二随机数据。
进而,第三服务器只需要将数据量相对较小的第一随机参数和第二随机参数分别发送给第一服务器和第二服务器,而不需要将数据量相对较大的第一随机数据和第二随机数据发送给第一服务器和第二服务器。
通过上述实施例,可以有效地减少第三服务器与第一服务器、第二服务器之间数据交互过程中的数据传输量,提高数据传输效率;同时,也有助于降低第三服务器与第一服务器、第二服务器之间数据交互过程中数据被窃取的风险,从而可以更好地保护数据安全。
本说明书还提供了一种基于隐私保护的数据变换方法,应用于第二服务器,包括:接收第三服务器提供的第二随机参数;并响应数据变换请求,利用第二随机数种子生成第二随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
本说明书还提供了一种基于隐私保护的数据变换方法,应用于第三服务器,包括:响应数据变换请求,根据基于G-module action的预设协议,利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;将所述第一随机参数发送至第一服务器;将所述第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
为了能够更加准确地完成上述指令,参阅图7所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口701、处理器702以及存储器703,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口701,具体可以用于接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群。
所述处理器702,具体可以用于根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
所述存储器703,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口701可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器702可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器703可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述基于隐私保护的数据变换方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图8所示,在软件层面上,本说明书实施例还提供了一种基于隐私保护的数据变换装置,该装置具体可以包括以下的结构模块:
接收模块801,具体可以用于接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
第一运算模块802,具体可以用于根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;
第二运算模块803,具体可以用于根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本说明书还提供了一种基于隐私保护的数据变换装置,包括:接收模块,具体可以用于接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;第一运算模块,具体可以用于根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;第二运算模块,具体可以用于根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
本说明书还提供了一种基于隐私保护的数据变换装置,包括:生成模块,具体可以用于响应数据变换请求,根据基于G-module action的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;发送模块,用于将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
由上可见,基于本说明书实施例提供的基于隐私保护的数据变换装置,可以在保护第一服务器和第二服务器的数据隐私的前提下,高效地通过双方合作对第二服务器所持有的目标数据进行shuffle变换,并由第一服务器和第二服务器分别生成并持有目标数据的数据变换结果的一个分片数据。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (19)
1.一种基于隐私保护的数据变换方法,应用于第一服务器,包括:
接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;
根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
2.根据权利要求1所述的方法,在根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据之前,所述方法还包括:
响应数据变换请求,从shuffle变换集中随机抽取一个shuffle变换算子作为所述目标变换算子。
3.根据权利要求2所述的方法,根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,包括:
根据预设协议,计算出第一随机数据的逆;
将所述目标变换算子和所述第一随机数据的逆相乘,以得到所述第一中间数据。
4.根据权利要求2所述的方法,根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据,包括:
根据预设协议,计算出目标变换算子与第二中间数据的乘积、第一中间数据与第一随机参数的乘积;
将所述目标变换算子与第二中间数据的乘积、第一中间数据与第一随机参数的乘积相加,以得到目标数据的数据变换结果的第一分片数据。
5.根据权利要求2所述的方法,所述目标数据包括:特征数据和/或标签数据。
6.根据权利要求5所述的方法,在得到目标数据的数据变换结果的第一分片数据之后,所述方法还包括:
响应联合建模请求,以所述目标数据的数据变换结果的第一分片数据作为输出,与以所述目标数据的数据变换结果的第二分片数据作为输出的第二服务器合作,进行联合建模。
7.一种基于隐私保护的数据变换方法,应用于第二服务器,包括:
接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;
根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
8.根据权利要求7所述的方法,在根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据之前,所述方法还包括:
响应数据变换请求,从所持有的数据集中获取匹配的目标数据;其中,所述数据变换请求携带有目标数据的标识信息。
9.根据权利要求8所述的方法,所述目标数据包括特征数据和/或标签数据。
10.根据权利要求7所述的方法,根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据,包括:
根据预设协议,将所述目标数据和所述第二随机数据相减,以得到所述第二中间数据。
11.根据权利要求7所述的方法,根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据,包括:
根据预设协议,将所述第一中间数据和所述第二随机参数相加,以得到目标数据的数据变换结果的第二分片数据。
12.一种基于隐私保护的数据变换方法,应用于第三服务器,包括:
响应数据变换请求,根据基于G-module action的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
13.一种基于隐私保护的数据变换方法,应用于第一服务器,包括:
接收第三服务器提供的第一随机参数;并响应数据变换请求,利用第一随机数种子生成第一随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;
根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
14.一种基于隐私保护的数据变换方法,应用于第二服务器,包括:
接收第三服务器提供的第二随机参数;并响应数据变换请求,利用第二随机数种子生成第二随机数据;其中,所述第三服务器根据基于G-module action的预设协议利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;
根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
15.一种基于隐私保护的数据变换方法,应用于第三服务器,包括:
响应数据变换请求,根据基于G-module action的预设协议,利用第一随机数种子生成第一随机数据,利用第二随机数种子生成第二随机数据,并生成第一随机参数和第二随机参数;所述第一随机数种子与第一数据群关联,所述第二随机数种子与第二数据群关联;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
将所述第一随机参数发送至第一服务器;将所述第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
16.一种基于隐私保护的数据变换装置,包括:
接收模块,用于接收第三服务器提供的第一随机数据和第一随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
第一运算模块,用于根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据;并将所述第一中间数据发送至第二服务器;其中,所述第二服务器根据预设协议,利用目标数据,以及所接收到的第二随机数据进行运算,得到第二中间数据,并将所述第二中间数据发送至第一服务器;
第二运算模块,用于根据预设协议,利用目标变换算子、所述第二中间数据、所述第一中间数据和所述第一随机参数进行运算,得到目标数据的数据变换结果的第一分片数据;其中,第二服务器得到目标数据的数据变换结果的第二分片数据。
17.一种基于隐私保护的数据变换装置,包括:
接收模块,用于接收第三服务器提供的第二随机数据和第二随机参数;其中,所述第三服务器根据基于G-module action的预设协议从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
第一运算模块,用于根据预设协议,利用目标数据、第二随机数据进行运算,得到第二中间数据;并将所述第二中间数据发送至第一服务器;其中,所述第一服务器根据预设协议,利用目标变换算子、第一随机数据进行运算,得到第一中间数据,并将所述第一中间数据发送至第二服务器;
第二运算模块,用于根据预设协议,利用所述第一中间数据、所述第二随机参数进行运算,得到目标数据的数据变换结果的第二分片数据;其中,第一服务器得到目标数据的数据变换结果的第一分片数据。
18.一种基于隐私保护的数据变换装置,包括:
生成模块,用于响应数据变换请求,根据基于G-module action的预设协议,从第一数据群中抽取第一随机数据,从第二数据群中抽取第二随机数据,并生成第一随机参数和第二随机参数;其中,所述第二数据群为阿贝尔群;所述第一数据群为与所述第二数据群存在G-module关系的数据群;
发送模块,用于将所述第一随机数据和第一随机参数发送至第一服务器;将所述第二随机数据和第二随机参数发送至第二服务器;其中,所述第一服务器和所述第二服务器根据预设协议,通过合作分别得到目标数据的数据变换结果的第一分片数据和第二分片数据。
19.一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至6,7至11,或12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110345581.2A CN113094745B (zh) | 2021-03-31 | 2021-03-31 | 基于隐私保护的数据变换方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110345581.2A CN113094745B (zh) | 2021-03-31 | 2021-03-31 | 基于隐私保护的数据变换方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094745A true CN113094745A (zh) | 2021-07-09 |
CN113094745B CN113094745B (zh) | 2022-09-23 |
Family
ID=76671374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110345581.2A Active CN113094745B (zh) | 2021-03-31 | 2021-03-31 | 基于隐私保护的数据变换方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094745B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180181878A1 (en) * | 2016-12-28 | 2018-06-28 | Samsung Electronics Co., Ltd. | Privacy-preserving transformation of continuous data |
US20190244138A1 (en) * | 2018-02-08 | 2019-08-08 | Apple Inc. | Privatized machine learning using generative adversarial networks |
CN111539027A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于双方隐私保护的信息验证方法和系统 |
CN111625572A (zh) * | 2019-02-27 | 2020-09-04 | 第四范式(北京)技术有限公司 | 在数据隐私保护下执行机器学习的方法和系统 |
CN111737755A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 业务模型的联合训练方法及装置 |
CN112000991A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 多方数据联合处理方法、装置及系统 |
CN112511361A (zh) * | 2021-02-05 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置和计算设备 |
-
2021
- 2021-03-31 CN CN202110345581.2A patent/CN113094745B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180181878A1 (en) * | 2016-12-28 | 2018-06-28 | Samsung Electronics Co., Ltd. | Privacy-preserving transformation of continuous data |
US20190244138A1 (en) * | 2018-02-08 | 2019-08-08 | Apple Inc. | Privatized machine learning using generative adversarial networks |
CN111625572A (zh) * | 2019-02-27 | 2020-09-04 | 第四范式(北京)技术有限公司 | 在数据隐私保护下执行机器学习的方法和系统 |
CN111539027A (zh) * | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于双方隐私保护的信息验证方法和系统 |
CN111737755A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 业务模型的联合训练方法及装置 |
CN112000991A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 多方数据联合处理方法、装置及系统 |
CN112511361A (zh) * | 2021-02-05 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113094745B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3114602B1 (en) | Method and apparatus for verifying processed data | |
CN112800466B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN110750801A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN104395889A (zh) | 使用边缘数据中心的应用增强 | |
CN111131412B (zh) | 实现5g移动端计算的方法、系统、移动端及云端服务器 | |
CN109687952A (zh) | 数据处理方法及其装置、电子装置及存储介质 | |
CN112365001B (zh) | 模型的生成方法、装置和服务器 | |
EP3395031B1 (en) | Method for providing a proof of retrievability | |
Saini et al. | E2EE for data security for hybrid cloud services: a novel approach | |
CN115694777A (zh) | 基于同态加密的隐私集合求交方法、装置、设备及介质 | |
CN111767411A (zh) | 知识图谱表示学习优化方法、设备及可读存储介质 | |
CN115801220A (zh) | 加速设备、计算系统及加速方法 | |
CN115664629A (zh) | 一种基于同态加密的智慧物联平台数据隐私保护方法 | |
CN114611008A (zh) | 基于联邦学习的用户服务策略确定方法、装置及电子设备 | |
CN113051586A (zh) | 联邦建模系统及方法、联邦模型预测方法、介质、设备 | |
CN112668748A (zh) | 一种预测方法、装置和电子设备 | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及系统 | |
CN115118520B (zh) | 数据处理方法、装置和服务器 | |
CN113094745B (zh) | 基于隐私保护的数据变换方法、装置和服务器 | |
CN113254989B (zh) | 目标数据的融合方法、装置和服务器 | |
CN113094739B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN113255928B (zh) | 模型的训练方法、装置和服务器 | |
CN112468285B (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 |