基于交集保护的数据处理装置转让专利

申请号 : CN202311444078.8

文献号 : CN117171779B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张黎

申请人 : 闪捷信息科技有限公司

摘要 :

本发明提供一种基于交集保护的数据处理装置,属于数据处理技术领域,所述装置包括第一参与设备和第二参与设备。本发明的基于交集保护的数据处理装置通过对各样本ID进行可交换加密,可以便于样本ID进行快速安全求交,而对特征数据进行同态加密,便于特征数据进行安全训练或分析,而在在样本ID进行二次可交换加密后,与加密特征数据组成元祖,然后发送给另一方,可以保证样本交集信息不会泄漏,且在密文求交后的ID可直接作为密文样本ID使用,而不需要进行密态对齐,在密文求交后直接得到密态下的交集,也不需要使用特定密态对齐的秘密分享作为交集结果的标记列,提高了数据处理效率。

权利要求 :

1.一种基于交集保护的数据处理装置,其特征在于,所述装置至少包括第一参与设备与第二参与设备,

所述第一参与设备用于对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第一同态加密特征;所述第一参与设备将各第一可交换加密ID与各第一同态加密特征发送至第二参与设备,并接收所述第二参与设备发送的第二参与设备的各第二可交换加密ID和各第二同态加密特征;

所述第一参与设备还用于对所述第二参与设备的各第二可交换加密ID进行二次可交换加密,得到各第二二次可交换加密ID,并基于各第二同态加密特征确定各第二二次可交换加密ID对应的独有第二特征秘密份额;所述第一参与设备将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖发送至所述第二参与设备,并接收所述第二参与设备发送的各第一二次可交换加密ID和各第一二次可交换加密ID对应的目标第一特征秘密份额所构成的元祖;所述第一参与设备根据计算任务对接收到的各元祖进行处理,得到所述第一参与设备与所述第二参与设备的整体秘密分享;

所述第一参与设备还用于生成各第二同态加密特征对应的随机向量,并分别与对应的各第二同态加密特征进行相减,得到各第二二次可交换加密ID对应的目标第二特征秘密份额;

所述第一参与设备将各第二二次可交换加密ID对应的元祖组成的列表进行随机排序后发送至所述第二参与设备,并确定各第二同态加密特征对应的随机向量的元祖;

所述计算任务为纵向联邦学习,所述第一参与设备还用于对接收到的各元祖中的各第一二次可交换加密ID对应的目标第一特征秘密份额进行解密,并按照各样本ID与各第二同态加密特征对应的随机向量的元祖进行求交,得到第一交集;在所述第一交集正确性验证通过的情况下,所述第一参与设备将所述第一交集对应的元祖进行纵向拼接,得到所述第一交集的整体秘密分享;

所述计算任务为安全联合分析的JOIN计算,所述第一参与设备还用于对接收到的各元祖中的各第一二次可交换加密ID对应的目标第一特征秘密份额进行解密,并按照各样本ID与各第二同态加密特征对应的随机向量的元祖进行双层循环遍历,确定与所述第一二次可交换加密ID匹配的特征,得到匹配特征集;所述第一参与设备用于基于所述匹配特征集,将对应样本的元祖按特征列进行纵向拼接,得到所述JOIN计算的整体秘密分享。

2.根据权利要求1所述的基于交集保护的数据处理装置,其特征在于,所述JOIN计算为目标类型的JOIN计算,在未确定出与所述第一二次可交换加密ID匹配的特征的情况下,所述第一参与设备还用于生成与所述第一参与设备对应的特征相同数据列大小的零向量的特征秘密份额。

3.根据权利要求2所述的基于交集保护的数据处理装置,其特征在于,所述目标类型的JOIN计算为左连接、右连接或者全连接。

4.根据权利要求1所述的基于交集保护的数据处理装置,其特征在于,所述第一参与设备还用于确定安全素数q以及所述安全素数对应的欧拉函数;所述安全素数q的值大于目标阈值;所述第一参与设备将与所述欧拉函数互素的整数e作为公钥对各样本ID进行可交换加密计算,得到各第一可交换加密ID。

5.根据权利要求1所述的基于交集保护的数据处理装置,其特征在于,第一参与设备对持有的各样本对应的特征进行同态加密的同态加密算法为Paillier算法、BFV算法以及BGV算法中的至少一个。

6.根据权利要求1所述的基于交集保护的数据处理装置,其特征在于,所述第一参与设备为中央服务器、云平台、边缘服务器、边缘计算设备以及私有数据中心中的任一个。

说明书 :

基于交集保护的数据处理装置

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种基于交集保护的数据处理装置。

背景技术

[0002] 随着人工智能及大数据技术的发展,人们对相关技术所涉及隐私问题逐步关心,法律法规也对数据流通过程的隐私保护具有明确规范。因此,机构之间由于数据流通合规性问题导致大量数据孤岛存在。联邦学习是一种解决数据孤岛的关键技术,它通过密码学和分布式机器学习进行结合,使多方数据能安全完成联合的模型训练,提升模型性能。另外,数据分析在业务中具有重要作用,安全联合分析也是数据安全流通、数据可用不可见的关键技术。它通过安全多方计算MPC和数据分析技术结合,是多方数据能共同完成数据分析,提升智能决策、智能分析能力。
[0003] 联邦学习的模型训练中,按照数据的划分方式可分为横向联邦学习和纵向联邦学习。横向联邦学习是多个参与方具有相同维度特征,但具有不同样本的联合学习模型。纵向联邦学习是多个参与方具有相同样本,但各自有相同样本的不同特征的联合学习模型。
[0004] 在纵向联邦学习中,通常首先需要将参与方之间的数据进行安全求交(隐私集合求交),得到待学习的共同样本,再进行后续的联合学习。一般的安全求交通常是在保护双方非交集样本情况下得到共有交集样本,且存在多种实现方案,如RSA盲签名、Diffie‑Hellman密钥协商、混淆布隆过滤器、不经意伪随机函数(OPRF)、不经意可编程伪随机函数OPPRF、向量不经意线性评估VOLE等。一般安全求交之后会透露共有交集样本信息,然而在部分场景或参与方限制下,需要同时保护交集样本前提下进行纵向联邦学习训练。因此,一般的安全求交方案不能达到要求。同样,安全联合分析也存在类似问题。在联合分析中,通常需要对多方数据进行JOIN计算,而JOIN计算需要指定JOIN联表的特定字段。为了保护参与方的所有数据不被泄漏,需要对联表字段的数据在密态下进行表对齐。

发明内容

[0005] 本发明提供一种基于交集保护的数据处理装置,用以解决现有技术中求交集会泄露共有信息且处理效率低的缺陷,实现对交集数据的保护并提高数据处理效率的效果。
[0006] 本发明提供一种基于交集保护的数据处理装置,所述装置至少包括第一参与设备与第二参与设备,
[0007] 所述第一参与设备用于对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第一同态加密特征;所述第一参与设备将各第一可交换加密ID与各第一同态加密特征发送至第二参与设备,并接收所述第二参与设备发送的第二参与设备的各第二可交换加密ID和各第二同态加密特征;
[0008] 所述第一参与设备还用于对所述第二参与设备的各第二可交换加密ID进行二次可交换加密,得到各第二二次可交换加密ID,并基于各第二同态加密特征确定各第二二次可交换加密ID对应的独有第二特征秘密份额;所述第一参与设备将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖发送至所述第二参与设备,并接收所述第二参与设备发送的各第一二次可交换加密ID和各第一二次可交换加密ID对应的目标第一特征秘密份额所构成的元祖;所述第一参与设备根据计算任务对接收到的各元祖进行处理,得到所述第一参与设备与所述第二参与设备的整体秘密分享。
[0009] 根据本发明提供的一种基于交集保护的数据处理装置,所述第一参与设备还用于生成各第二同态加密特征对应的随机向量,并分别与对应的各第二同态加密特征进行相减,得到各第二二次可交换加密ID对应的目标第二特征秘密份额。
[0010] 根据本发明提供的一种基于交集保护的数据处理装置,所述第一参与设备还用于将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖;所述第一参与设备将各第二二次可交换加密ID对应的元祖组成的列表进行随机排序后发送至所述第二参与设备,并确定各第二同态加密特征对应的随机向量的元祖。
[0011] 根据本发明提供的一种基于交集保护的数据处理装置,所述计算任务为纵向联邦学习,所述第一参与设备还用于对接收到的各元祖中的各第一二次可交换加密ID对应的目标第一特征秘密份额进行解密,并按照各样本ID与各第二同态加密特征对应的随机向量的元祖进行求交,得到第一交集;在所述第一交集正确性验证通过的情况下,所述第一参与设备将所述第一交集对应的元祖进行纵向拼接,得到所述第一交集的整体秘密分享。
[0012] 根据本发明提供的一种基于交集保护的数据处理装置,所述计算任务为安全联合分析的JOIN计算,所述第一参与设备还用于对接收到的各元祖中的各第一二次可交换加密ID对应的目标第一特征秘密份额进行解密,并按照各样本ID与各第二同态加密特征对应的随机向量的元祖进行双层循环遍历,确定与所述第一二次可交换加密ID匹配的特征,得到匹配特征集;所述第一参与设备用于基于所述匹配特征集,将对应样本的元祖按特征列进行纵向拼接,得到所述JOIN计算的整体秘密分享。
[0013] 根据本发明提供的一种基于交集保护的数据处理装置,所述JOIN计算为目标类型的JOIN计算,在未确定出与所述第一二次可交换加密ID匹配的特征的情况下,所述第一参与设备还用于生成与所述第一参与设备对应的特征相同数据列大小的零向量的特征秘密份额。
[0014] 根据本发明提供的一种基于交集保护的数据处理装置,所述目标类型的JOIN计算为左连接、右连接或者全连接。
[0015] 根据本发明提供的一种基于交集保护的数据处理装置,所述第一参与设备还用于确定安全素数q以及所述安全素数对应的欧拉函数;所述安全素数q的值大于目标阈值;所述第一参与设备将与所述欧拉函数互素的整数e作为公钥对各样本ID进行可交换加密计算,得到各第一可交换加密ID。
[0016] 根据本发明提供的一种基于交集保护的数据处理装置,第一参与设备对持有的各样本对应的特征进行同态加密的同态加密算法为Paillier算法、BFV算法以及BGV算法中的至少一个。
[0017] 根据本发明提供的一种基于交集保护的数据处理装置,所述第一参与设备为中央服务器、云平台、边缘服务器、边缘计算设备以及私有数据中心中的任一个。
[0018] 本发明还提供一种基于交集保护的数据处理方法,所述方法应用于第一参与设备,所述方法包括:对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第一同态加密特征;将各第一可交换加密ID与各第一同态加密特征发送至第二参与设备,并接收所述第二参与设备发送的第二参与设备的各第二可交换加密ID和各第二同态加密特征;对所述第二参与设备的各第二可交换加密ID进行二次可交换加密,得到各第二二次可交换加密ID,并基于各第二同态加密特征确定各第二二次可交换加密ID对应的独有第二特征秘密份额;将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖发送至所述第二参与设备,并接收所述第二参与设备发送的各第一二次可交换加密ID和各第一二次可交换加密ID对应的目标第一特征秘密份额所构成的元祖;根据计算任务对接收到的各元祖进行处理,得到所述第一参与设备与所述第二参与设备的整体秘密分享。
[0019] 本发明还提供一种基于交集保护的数据处理方法,所述方法应用于第二参与设备,所述方法包括:对持有的各样本ID进行可交换加密计算,得到各第二可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第二同态加密特征;将各第二可交换加密ID与各第二同态加密特征发送至第一参与设备,并接收所述第一参与设备发送的第一参与设备的各第一可交换加密ID和各第一同态加密特征;对所述第一参与设备的各第一可交换加密ID进行二次可交换加密,得到各第一二次可交换加密ID,并基于各第一同态加密特征确定各第一二次可交换加密ID对应的独有第一特征秘密份额;将各第一二次可交换加密ID以及各第一二次可交换加密ID对应的目标第一特征秘密份额作为元祖发送至所述第一参与设备,并接收所述第一参与设备发送的各第二二次可交换加密ID和各第二二次可交换加密ID对应的目标第二特征秘密份额所构成的元祖;根据计算任务对接收到的各元祖进行处理,得到所述第一参与设备与所述第二参与设备的整体秘密分享。
[0020] 本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于交集保护的数据处理方法。
[0021] 本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于交集保护的数据处理方法。
[0022] 本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于交集保护的数据处理方法。
[0023] 本发明提供的基于交集保护的数据处理装置,通过对各样本ID进行可交换加密,可以便于样本ID进行快速安全求交,而对特征数据进行同态加密,便于特征数据进行安全训练或分析,而在在样本ID进行二次可交换加密后,与加密特征数据组成元祖,然后发送给另一方,可以保证样本交集信息不会泄漏,且在密文求交后的ID可直接作为密文样本ID使用,而不需要进行密态对齐,在密文求交后直接得到密态下的交集,也不需要使用特定密态对齐的秘密分享作为交集结果的标记列,提高了数据处理效率。

附图说明

[0024] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1是本发明提供的基于交集保护的数据处理装置的结构示意图;
[0026] 图2是本发明提供的基于交集保护的数据处理装置的工作流程示意图;
[0027] 图3是本发明提供的电子设备的结构示意图。

具体实施方式

[0028] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 下面结合图1‑图3描述本发明的基于交集保护的数据处理装置。
[0030] 需要说明的是,在联邦学习中,通过多个参与设备进行数据处理,可以有效提高数据处理效率。每个参与设备可以在本地进行模型训练,使用自身的本地数据进行学习,这样可以避免将原始数据集集中存储在某个中央服务器或云平台上,并减少数据传输的需求。每个参与设备在本地进行训练时,不需要将原始数据共享给某个中央服务器或云平台。这种分散的训练方式可以有效保护个人数据的隐私,因为设备上的数据不会离开本地。
[0031] 每个参与设备在完成本地训练后,还可以将模型参数上传至某个中央服务器或云平台进行聚合,通过聚合来自多个设备的模型参数,可以生成一个全局模型,从而实现模型的协同训练和更新。相比于将大量数据传输到单一中央服务器或云平台进行集中训练,联邦学习仅需要传输模型参数更新,大大减少了通信带宽的需求。联邦学习允许多个设备同时进行训练,从而加速了整体的模型训练过程。每个设备在本地进行训练,可以并行地进行计算,提高了效率。
[0032] 在一些情况下,参与设备可能包含商业敏感信息,可以采用安全联合分析这种保护数据隐私的分布式数据分析方法。它允许参与方在保持数据本地存储的同时,通过加密和安全计算协议进行数据共享和联合分析。传统的数据分析通常要求将数据集中到一个中央位置进行分析,这可能涉及将数据集交给第三方或中央服务器进行处理,存在数据泄露和隐私风险。而安全联合分析通过在保护数据不离开本地的前提下,实现多个参与方之间的数据联合和协同分析。
[0033] 安全联合分析的基本原理是使用加密和安全计算技术,使得数据在加密状态下进行计算和分析,同时保护数据隐私。具体而言,参与设备可以在本地对自己的数据进行加密,并将加密后的数据共享给其他参与设备。然后,通过安全计算协议,各方可以在密文状态下进行计算、统计和模型训练等操作,而无需直接访问其他参与方的原始数据。
[0034] 如图1所示,本发明实施例的基于交集保护的数据处理装置包括至少两个参与设备即第一参与设备P1和第二参与设备P2。
[0035] 第一参与设备用于对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第一同态加密特征。
[0036] 需要说明的是,第一参与设备P1持有M个样本,每个样本i包括样本ID:,及m个特征: ,第二参与设备P2持有N个样本,每个样本i包括样本ID: ,及n个特征:。
[0037] 第一参与设备为中央服务器、云平台、边缘服务器、边缘计算设备以及私有数据中心中的任一个。类似地,第二参与设备也可以中央服务器、云平台、边缘服务器、边缘计算设备以及私有数据中心中的任一个。此处对第一参与设备以及第二参与设备的类型不作限制。
[0038] 对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,可以包括以下过程。
[0039] 首先第一参与设备P1可以确定安全素数q以及安全素数对应的欧拉函数 。为了生成安全素数q,第一参与设备P1可以使用一些检验算法,如Miller‑Rabin素性测试等,能够在较高概率上检测是否为素数,并选择一个足够大的素数q来满足安全性要求,换言之,安全素数q的值大于目标阈值,可以满足更高的安全性要求。
[0040] 对于与欧拉函数互素的整数e,第一参与设备P1可以选择一个随机的大整数,并使用欧几里得算法验证其互素性。如果e和q的欧拉函数的最大公约数为1,则e与欧拉函数互素。P1将生成的安全素数q公开给P2,以便P2进行后续操作,P2在收到q之后,选择一个随机的整数f,并使用欧几里得算法验证f与q的互素性,确保f与q互素。
[0041] 在此基础上,P1将与欧拉函数互素的整数e作为公钥对P1的各样本ID进行可交换加密计算,得到各第一可交换加密ID。
[0042] P2可以将f作为秘钥对P2的各样本ID进行可交换加密计算,得到各第二可交换加密ID。
[0043] 换言之,P1可以根据PohligHellman算法的安全性要求生成安全素数q及与欧拉函数 互素的整数e,并将q公开给P2。P2生成与q互素的整数f。
[0044] 当然,在一些实施例中,还可以采用使用椭圆曲线加密可以实现对各样本ID进行加密,而无需进行模幂计算。
[0045] P1和P2分别生成各自的同态加密非对称公钥或对称密钥,并分别对各自的各样本特征进行同态加密,构造同态加密实例 、 。
[0046] 需要说明的是,P1对每个样本的ID进行加密计算,得到各第一可交换加密ID,即,然后使用同态加密对所有特征进行加密得到各第一同态加密特征,即 。
[0047] P2对每个样本的ID进行加密计算,得到各第二可交换加密ID,即,然后使用同态加密对所有特征进行加密,得到各第二同态加密
特征,即 。
[0048] 可以理解的是,P1对持有的各样本对应的特征进行同态加密的同态加密算法为Paillier算法、BFV算法以及BGV算法中的至少一个。若采用半同态加密算法,则可以采用Paillier算法,若采用全同态算法,则可以采用BFV算法或者BGV算法。
[0049] 当然,在一些实施例中个,也可使用RLWE或LWE等问题进行直接构造加密方案,使得加密结果仅需满足加法/异或同态特性即可。
[0050] 第一参与设备P1将各第一可交换加密ID与各第一同态加密特征发送至第二参与设备,并接收第二参与设备发送的第二参与设备的各第二可交换加密ID和各第二同态加密特征。
[0051] 可以理解的是,第一参与设备以及第二参与设备的各ID以及对应的样本特征均进行了加密,且加密分别使用了各自的密钥,所以不会泄漏任何信息。
[0052] 在此基础上,第一参与设备对第二参与设备的各第二可交换加密ID进行二次可交换加密,得到各第二二次可交换加密ID,并基于各第二同态加密特征确定各第二二次可交换加密ID对应的独有第二特征秘密份额。
[0053] 可以理解的是,P1对接收到的P2的第二可交换加密ID和特征进行处理:对第二可交换加密ID即 再次使用整数e进行二次可交换加密,得到各第二二次可交换加密ID,即 。
[0054] 第一参与设备还用于生成各第二同态加密特征对应的随机向量,并分别与对应的各第二同态加密特征进行相减,得到各第二二次可交换加密ID对应的目标第二特征秘密份额。
[0055] 在此基础上,第一参与设备为每个第二同态加密特征生成随机向量如作为P1方的秘密共享份额/分片,并与对应的各第二同态加密特征进行减法计算得到另一份特征秘密共享份额/分片,即得到各第二二次可交换加密ID对应的目标第二特征秘密份额,目标第二特征秘密份额可以表示为

[0056] 第二参与设备对第一参与设备的各第一可交换加密ID进行二次可交换加密,得到各第一二次可交换加密ID,并基于各第一同态加密特征确定各第一二次可交换加密ID对应的独有第一特征秘密份额。
[0057] P2对接收到的P1的加密ID和特征进行处理:对各第一可交换加密ID即 再次使用整数f进行加密,得到各第一二次可交换加密ID,即。
[0058] 第二参与设备还用于生成各第一同态加密特征对应的随机向量,并分别与对应的各第一同态加密特征进行相减,得到各第一二次可交换加密ID对应的目标第一特征秘密份额。
[0059] P2为每个第一同态加密特征生成随机向量如 作为P2方的秘密共享份额/分片,并与对应的各第一同态加密特征进行减法计算得到另一份特征秘密共享份额/分片,即得到各第一二次可交换加密ID对应的目标第一特征秘密份额,得到各第一二次可交换加密ID对应的目标第一特征秘密份额,目标第一特征秘密份额可以表示为。
[0060] 在此基础上,P1将每个第二二次可交换加密ID的二次可交换加密结果与对应特征同态减法秘密份额作为元祖,元祖可以表示为。P1再将所有样本元祖组成的列表
进行随机排序后发送给P2。同时P1为每个样本保留元祖,该元祖可以表示为。
[0061] P2然后将每个样本的ID二次加密结果与对应特征同态减法秘密份额作为元祖,元祖可以表示为 。P2将所有样本元祖组成的列表进行随机排序后发送给P1。同时P2为每个样本保留元祖,该元祖可以表示为。
[0062] 换言之,第一参与设备将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖发送至第二参与设备,并接收第二参与设备发送的各第一二次可交换加密ID和各第一二次可交换加密ID对应的目标第一特征秘密份额所构成的元祖,并确定与保留各第二同态加密特征对应的随机向量的元祖。
[0063] 第二参与设备将各第一二次可交换加密ID以及各第一二次可交换加密ID对应的目标第一特征秘密份额作为元祖发送至第一参与设备,并接收第一参与设备发送的各第二二次可交换加密ID和各第二二次可交换加密ID对应的目标第二特征秘密份额所构成的元祖,并确定与保留各第一同态加密特征对应的随机向量的元祖。
[0064] 需要说明的是,随机排序和求交可直接在密文ID上进行,而不需要使用密态电路进行密态排序和密态对齐,可减少大量的计算和通信开销。
[0065] 以第一参与设备为例,第一参与设备可以根据计算任务对接收到的各元祖进行处理,得到第一参与设备与第二参与设备的整体秘密分享。例如,可以对第一参与设备与第二参与设备双方的可交换加密ID进行求交或者笛卡尔JOIN,并拼接双方的秘密份额数据,得到第一参与设备与第二参与设备的整体秘密分享。
[0066] 根据本发明实施例提供的基于交集保护的数据处理装置,通过对各样本ID进行可交换加密,可以便于样本ID进行快速安全求交,而对特征数据进行同态加密,便于特征数据进行安全训练或分析,而在在样本ID进行二次可交换加密后,与加密特征数据组成元祖,然后发送给另一方,可以保证样本交集信息不会泄漏,且在密文求交后的ID可直接作为密文样本ID使用,而不需要进行密态对齐,在密文求交后直接得到密态下的交集,也不需要使用特定密态对齐的秘密分享作为交集结果的标记列,提高了数据处理效率。
[0067] 如图2所示,下面对本发明实施例提供的基于交集保护的数据处理装置的工作流程进行描述。
[0068] 可以理解的是,第一参与设备P1和第二参与设备P2首先分别初始化各自的可交换加密密钥以及同态加密密钥,再分别对各自样本ID进行第一次可交换加密、对各自特征使用同态加密。
[0069] P1和P2分别将密文ID和特征数据进行交换。P1对P2的密文ID和特征数据组成元祖的列表进行排序,P2对P1的密文ID和特征数据组成元祖的列表进行排序。
[0070] P1对P2的ID使用可交换加密进行二次加密,并对P2的特征进行秘密共享拆分。P2对P1的ID使用可交换加密进行二次加密,并对P1的特征进行秘密共享拆分。
[0071] P1将P2的二次加密ID及对应的秘密份额组成元祖的列表发送至P2,P2将P1的二次加密ID及对应的秘密份额组成元祖的列表发送至P1。P1和P2再根据需求对双方二次加密ID进行去交或笛卡尔JOIN,并拼接双方秘密份额数据。
[0072] 在一些实施例中,计算任务为纵向联邦学习,第一参与设备还用于对接收到的各元祖中的各第一二次可交换加密ID对应的目标第一特征秘密份额进行解密,并按照各样本ID与各第二同态加密特征对应的随机向量的元祖进行求交,得到第一交集。在第一交集正确性验证通过的情况下,第一参与设备将第一交集对应的元祖进行纵向拼接,得到第一交集的整体秘密分享。
[0073] 第二参与设备还用于对接收到的各元祖中的各第二二次可交换加密ID对应的目标第二特征秘密份额进行解密,并按照各样本ID与各第一同态加密特征对应的随机向量的元祖进行求交,得到第二交集。在第二交集正确性验证通过的情况下,第二参与设备将第二交集对应的元祖进行纵向拼接,得到第二交集的整体秘密分享。
[0074] 可以理解的是,P1对所有样本的元祖的第2个元素(即第二目标特征秘密份额)进行解密,元祖为 。P1可以得到,将P1和P2对应的元祖,即
与 ,按照元祖的第1个元素(即二次加密
ID)求交集,则两个集合分别得到各自的交集元祖,即 , ,
,交集基数 。
[0075] 交集正确性验证方式为:若 ,则。然后将交集样本的元祖进行纵
向拼接,得到交集样本的整体秘密分享即
, 。
[0076] P2对所有样本的元祖 的第2个元素(即第一目标特征秘密份额)进行解密,得到 ,将P1和P2对应的
元祖,即 与 ,按照元祖的第1个元素(即二
次加密ID)求交集,则两个集合分别得到各自的交集元祖: , ,
,且显然可得出交集基数 。交集正确性
验证与第上述方式相同。同样将交集样本的元祖进行纵向拼接,得到交集样本的整体秘密分享,即 , 。
[0077] 本发明在密文求交后直接得到密态下的交集,而不需要使用特定密态对齐的秘密分享作为交集结果的标记列,在密文求交后直接得到密态下交集的特征拼接,最终样本矩阵大小为 ,而不需要对样本大小和特征维度进行扩张,在后续的联邦学习或联合分析时具有紧凑的数据大小,使方案具有更小的内存开销和计算开销。
[0078] JOIN计算为目标类型的JOIN计算,在未确定出与第一二次可交换加密ID匹配的特征的情况下,第一参与设备还用于生成与第一参与设备对应的特征相同数据列大小的零向量的特征秘密份额。零向量可理解为值为零的缺省值,用于满足算法处理要求。
[0079] 需要说明的是,目标类型的JOIN计算为左连接、右连接或者全连接。
[0080] P1对所有样本的元祖 的第2个元素(即第二特征秘密份额)进行解密,得到 ,将P1和P2对应的元祖,即
与 ,按照元祖的第1个元素(即二次加密ID)进
行双层循环遍历,并判断 ,若符合条件,则将对应样本的元祖按特征列进行纵向拼接。最终得到JOIN联本的整体秘密分享,即

。其中,[0]用于表示元组的一个元素,即多次二次加密后的ID,
此处以及后续的判断都是为了确定ID是否对齐,如相等,则可以连接两条记录。
[0081] P2对所有样本的元祖 的第2个元素(即第一特征秘密份额)进行解密,得到 ,将P1和P2对应的元祖,
即 与 ,按照元祖的第1个元素(即二次加
密ID)进行双层循环遍历,并判断 ,若符合条件,则将对应样本的元祖按特征列进行纵向拼接。最终得到JOIN联本的整体秘密分享,即


[0082] 在一些实施例中,JOIN计算为目标类型的JOIN计算,在未确定出与第一二次可交换加密ID匹配的特征的情况下,第一参与设备还用于在生成第一参与设备对应的特征相同数据列大小的零向量的特征秘密份额。
[0083] 可以理解的是,若联表JOIN为左连接、右连接或者全连接,则在P1和P2中对不满足或 条件的样本在任一方生成相同数据列大小的0向量的秘密共享份额。例如在P1方生成0秘密共享,则P1得到
,P2得到
, 。
[0084] 在上述实施方式中,对于P1方得到T1,P2方得到T2,T1与T2的ID为双方二次加密的结果,在加密密钥不泄漏情况下,不会泄漏交集ID信息。若为纵向联邦学习,则双方的特征秘密共享份额均为 的矩阵,其中K为双方交集ID个数,m+n为双方特征拼接个数。若为JOIN联合分析,则双方的数据列秘密共享份额均为 的矩阵,其中 为双方二次加密ID在不同JOIN模式下笛卡尔积连接得到的大小,m+n为双方数据列拼接个数。由于特征/数据列矩阵为秘密共享份额,所以也不会泄漏双方原始特征数据。
[0085] 下面对本发明提供的基于交集保护的数据处理方法进行描述,下文描述的基于交集保护的数据处理方法与上文描述的基于交集保护的数据处理装置可相互对应参照。
[0086] 本发明还提供一种基于交集保护的数据处理方法,基于交集保护的数据处理方法应用于第一参与设备,基于交集保护的数据处理方法包括:对持有的各样本ID进行可交换加密计算,得到各第一可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第一同态加密特征;将各第一可交换加密ID与各第一同态加密特征发送至第二参与设备,并接收第二参与设备发送的第二参与设备的各第二可交换加密ID和各第二同态加密特征;对第二参与设备的各第二可交换加密ID进行二次可交换加密,得到各第二二次可交换加密ID,并基于各第二同态加密特征确定各第二二次可交换加密ID对应的独有第二特征秘密份额;将各第二二次可交换加密ID以及各第二二次可交换加密ID对应的目标第二特征秘密份额作为元祖发送至第二参与设备,并接收第二参与设备发送的各第一二次可交换加密ID和各第一二次可交换加密ID对应的目标第一特征秘密份额所构成的元祖;根据计算任务对接收到的各元祖进行处理,得到第一参与设备与第二参与设备的整体秘密分享。
[0087] 本发明还提供一种基于交集保护的数据处理方法,基于交集保护的数据处理方法应用于第二参与设备,基于交集保护的数据处理方法包括:对持有的各样本ID进行可交换加密计算,得到各第二可交换加密ID,并对持有的各样本对应的特征进行同态加密,得到各第二同态加密特征;将各第二可交换加密ID与各第二同态加密特征发送至第一参与设备,并接收第一参与设备发送的第一参与设备的各第一可交换加密ID和各第一同态加密特征;对第一参与设备的各第一可交换加密ID进行二次可交换加密,得到各第一二次可交换加密ID,并基于各第一同态加密特征确定各第一二次可交换加密ID对应的独有第一特征秘密份额;将各第一二次可交换加密ID以及各第一二次可交换加密ID对应的目标第一特征秘密份额作为元祖发送至第一参与设备,并接收第一参与设备发送的各第二二次可交换加密ID和各第二二次可交换加密ID对应的目标第二特征秘密份额所构成的元祖;根据计算任务对接收到的各元祖进行处理,得到第一参与设备与第二参与设备的整体秘密分享。
[0088] 图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行基于交集保护的数据处理方法。
[0089] 此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0090] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于交集保护的数据处理方法。
[0091] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于交集保护的数据处理方法。
[0092] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0093] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0094] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。