基于函数秘密共享的外包数据对齐方法技术

技术编号:37353877 阅读:10 留言:0更新日期:2023-04-27 07:04
本发明专利技术提供了一种基于函数秘密共享的外包数据对齐方法,实现步骤为:两个用户和两个服务器初始化相应参数;两个用户分别对各自的样本ID进行哈希映射;两个用户对各自映射后的哈希表进行编码;用户A对编码后的布谷鸟哈希表进行函数秘密共享,将得到的结果共享密钥函数对集合进行分割并分别发送给两个服务器;两个用户和两个服务器获取外包数据对齐的结果。本发明专利技术采用了函数秘密共享的方式代替现有技术中的安全比较电路来获取外包数据对齐的结果,避免了现有的技术中存在的通信开销过大和对齐不对称技术的缺陷,本发明专利技术获取数据对齐的结果是对称的,即参与的用户双方都可以获得外包数据对齐的结果,并且有效地减少了通信开销,从而减轻了服务器的负担。从而减轻了服务器的负担。从而减轻了服务器的负担。

【技术实现步骤摘要】
基于函数秘密共享的外包数据对齐方法


[0001]本专利技术属于隐私数据
,涉及一种外包数据对齐的方法,具体涉及一种基于函数秘密共享的外包数据对齐的方法,是纵向联邦学习场景的前置步骤,可用于金融、教育、医疗以及交通领域等实现数据对齐。

技术介绍

[0002]当今时代,互联网技术高速发展,对人民日常生活的渗透越来越深,用户自身数据量的指数级增长,数据量的增大使得其在本地存储和处理操作的难度增大,因此,把数据外包给第三方进行计算然后返回结果的方式应运而生,这种计算方式被称为外包计算。
[0003]外包计算允许用户将私有数据上传到一个或多个服务器,以完成复杂的计算任务,把需要上传的私有数据称为外包数据。对于外包计算来说,一个普遍讨论的场景是在垂直分区的数据上实现机器学习或神经网络模型的训练。然而,这些场景下的外包计算技术方案中都有一个默认假设是外包的数据已经是对齐的,或者样本ID的隐私不在考虑的范围之内。数据对齐的过程是指将这些数据的样本ID进行对齐,对齐后得到各个用户的样本交集,在交集上进行模型训练。外包数据的对齐是指在外包的第三方服务器上实现对齐,来获得各个用户的数据的交集的过程。外包数据在进行使用和处理之前如何不进行对齐,存在着严重的实用性和安全性的问题。首先,数据在对齐之前,服务器无法获得完整的数据来进行后续的计算任务;其次,在进行对齐之时,样本ID通常是必不可少的信息,如身份证号码或者手机号码等用户专用的一些重要信息,此时的ID不能直接以明文形式进行求外包,需要对样本ID进行加密处理,一般是指利用匿名化、密文计算或者去标识化等当前比较流行的技术保障手段,对样本ID中的用户隐私进行保护。用户之间的外包数据对齐,使得相互独立存在的数据产生关联,并且用户可以利用这些存储的数据做运营或战略决策。
[0004]外包数据对齐的本质就是用户对各自的数据进行外包求交集的过程,基本原理是利用哈希函数将用户数据的样本ID映射到均匀分布的空间中,传输映射后的样本ID并进行比对求交集,并且传输的过程中使用一定的加密手段对用户双方的数据进行加密。目前实现外包数据对齐主要是通过Circuit

PSI的技术方法,在保护用户数据的隐私性的前提下,通过Circuit

PSI参与方可以得到所有数据集合的交集数据,而无法获知或反推其他参与方的非交集部分数据,并且可以不对外显示交集的前提下在交集上进行任意的对称函数的计算任务。但是目前采用Circuit

PSI的技术方法来实现外包数据对齐仍具有许多的挑战。例如Benny Pinkas等人在2019年4月于期刊Advances in Cryptology

EUROCRYPT 2019上发表的论文文献“Efficient Circuit

Based PSI with Linear Communication”公开了一种基于OPPRF函数的高效Circuit

PSI技术方案,该技术方案的主要分为三个阶段:哈希映射,编码和获得交集结果。在哈希映射阶段,利用简单哈希技术和布谷鸟哈希技术将参与双方数据的样本ID哈希映射在一个均匀分布的给定大小的地址空间内,并使用随机数填充空余的哈希位置;在编码阶段,利用高效OPPRF函数对哈希之后的样本ID进行编码处理,参与方可以安全地获取另一方编码后的样本ID;在求交集阶段,获取编码后的样本ID的一方对
双方编码后的样本ID进行比对求交集,利用一个安全比较电路来获得数据对齐的结果。该技术方法将安全比较电路的调用复杂度降低为线性,但通信开销,即在整个电路运算的过程中需要传输的数据总量仍然很高。例如计算2
20
个元素的交集,该方法就有2.5GB的通信开销。显然如此大量的通信开销对于承担安全外包计算任务的服务器来说是一个巨大的负担。此外,该技术方案的数据对齐是不对称的,即在求交集阶段结束之后,只有获取双方编码后的样本ID的参与方才能得到交集结果,另一方则无法获取参与双方样本的交集,也就无法将外包的数据和交集结果对齐。

技术实现思路

[0005]本专利技术的目的用于数据外包之前的对齐问题,针对上述现有技术中存在的不足,提供了一种基于函数秘密共享的外包数据对齐的方法,用于解决现有的技术中存在的通信开销过大和对齐不对称技术的问题。
[0006]为实现上述目的,本专利技术采取的技术方案为包括如下步骤:
[0007](1)初始化参数:
[0008]初始化包括来自不同类型机构的两个参与方用户A和用户B,以及两个用于外包数据的服务器S0和S1的纵向联邦学习系统,用户A的样本ID集X={x1,x2,...,x
m
,...,x
M
},用户B的样本ID集Y={y1,y2,...,y
n
,...,y
N
},用户A待映射的空的布谷鸟哈希表T0、用户B待映射的空的简单哈希表T1均包括H个分箱,用户A构建布谷鸟哈希表T0'和用户B构建简单哈希表T1'所用的两个哈希函数为f0,f1,其中,x
m
表示用户A的第m个样本ID,M表示用户A的样本ID的总数,M≥1,y
n
表示用户B的第n个样本ID,N表示用户B的样本ID的总数,N≥1,H=(1+ε)M,ε表示经验参数,ε≥0;
[0009](2)两个用户分别对各自的样本ID进行哈希映射:
[0010]用户A使用布谷鸟哈希所用到的两个哈希函数f0,f1将x
m
映射到空布谷鸟哈希表T0的一个分箱中,得到x
m
所在分箱的映射值为f0(x
m
)或f1(x
m
),其余H

M个为空的分箱用随机值填充的布谷鸟哈希表T0'={x1,x2,...,x
h
,...,x
H
};用户B使用简单哈希所用到的两个哈希函数f0,f1将y
n
映射到空简单哈希表T1的两个分箱中,得到y
n
所在分箱的映射值分别为f0(y
n
)和f1(y
n
)的简单哈希表T1'={y1,y2,...,y
h
,...,y
H
},其中x
h
表示布谷鸟哈希表T0'的第h个分箱存放中的样本ID,y
h
表示简单哈希表T1'的第h个分箱中存放的样本ID,1≤h≤H;
[0011](3)两个用户对布谷鸟哈希表T0'和简单哈希表T1'进行编码:
[0012](3a)初始化密钥为K的伪随机函数F;
[0013](3b)用户A和用户B按照不经意伪随机函数协议,使用伪随机函数F的密钥K对布谷鸟哈希表T0'进行编码,得到用户A的编码后的布谷鸟哈希表T
0”=F
K
(T0')={x1',x2',...,x
h
',...,x
H本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于函数秘密共享的外包数据对齐方法,其特征在于,具体包括以下步骤:(1)初始化参数:初始化包括来自不同类型机构的两个参与方用户A和用户B,以及两个用于外包数据的服务器S0和S1的纵向联邦学习系统,用户A的样本ID集X={x1,x2,...,x
m
,...,x
M
},用户B的样本ID集Y={y1,y2,...,y
n
,...,y
N
},用户A待映射的空的布谷鸟哈希表T0、用户B待映射的空的简单哈希表T1均包括H个分箱,用户A构建布谷鸟哈希表T0'和用户B构建简单哈希表T1'所用的两个哈希函数为f0,f1,其中,x
m
表示用户A的第m个样本ID,M表示用户A的样本ID的总数,M≥1,y
n
表示用户B的第n个样本ID,N表示用户B的样本ID的总数,N≥1,H=(1+ε)M,ε表示经验参数,ε≥0;(2)两个用户分别对各自的样本ID进行哈希映射:用户A使用布谷鸟哈希所用到的两个哈希函数f0,f1将x
m
映射到空布谷鸟哈希表T0的一个分箱中,得到x
m
所在分箱的映射值为f0(x
m
)或f1(x
m
),其余H

M个为空的分箱用随机值填充的布谷鸟哈希表T0'={x1,x2,...,x
h
,...,x
H
};用户B使用简单哈希所用到的两个哈希函数f0,f1将y
n
映射到空简单哈希表T1的两个分箱中,得到y
n
所在分箱的映射值分别为f0(y
n
)和f1(y
n
)的简单哈希表T1'={y1,y2,...,y
h
,...,y
H
},其中x
h
表示布谷鸟哈希表T0'的第h个分箱存放中的样本ID,y
h
表示简单哈希表T1'的第h个分箱中存放的样本ID,1≤h≤H;(3)两个用户对布谷鸟哈希表T0'和简单哈希表T1'进行编码:(3a)初始化密钥为K的伪随机函数F;(3b)用户A和用户B按照不经意伪随机函数协议,使用伪随机函数F的密钥K对布谷鸟哈希表T0'进行编码,得到用户A的编码后的布谷鸟哈希表T
0”=F
K
(T0')={x1',x2',...,x
h
',...,x
H
'},其中,x
h
'表示编码后的布谷鸟哈希表T
0”的第h个分箱中存放的编码样本ID,1≤h≤H;(3c)用户B使用密钥K对简单哈希表T1'进行编码,得到用户B编码后的简单哈希表T
1”=F
K
(T1')={y1',y2',...,y
h
',...,y
H
'},并且用户B将编码后的简单哈希表T
1”同时发送给服务器S0和S1,其中,y
h
'表示编码后的简单哈希表T
1”的第h个分箱中的编码样本ID;(4)用户A对编码后的布谷鸟哈希表T
0”进行函数秘密共享:用户A采用PSM

Share算法对编码后的布谷鸟哈希表T
0”中的每个编码样本IDx
h
'进行函数秘密共享,得到包含H个密钥函数对的密钥函数对集合其中,表示密钥函数对集合P中的第h个密钥函数对;(5)用户A对共享密钥函数对集合P进行分割并分别发送给两个服务器:用户A将密钥函数对集合P进行分割,得到两个密钥函数子集和并将密钥函数子集P0发送给服务器S0,密钥函数子集P1发送给服务器S1;(6)两个用户和两个服务器获取外包数据对齐的结果:(6a)用户A使用映射函数g对布谷鸟哈希表T0'中的每个样本IDx
h
进行映射,得到二进制向量集U={u1,u2,...,u
h
,...,u
H
},并将二进制向量集U同时发送给服务器S0和服务器S1;用
户B使用映射函数g将简单哈希表T1'中的每个样本ID y
h
进行映射,得到二进制向量集V={v1,v2,...,v
h
,...,v
H
},并将二进制向量集V同时发送给服务器S0和服务器S1,其中,u
h
表示二进制向量集U的第h个二进制向量,v
h
表示向量集V的第h个二进制向量;(6b)服务器S0采用PSM

Eval算法对密钥函数子集P0中的每个密钥函数和编码后的简单哈希表T
1”中的每个编码样本IDy
h
'进行相等性检测,得到布谷鸟哈希表T0'的第h个分箱中存放的样本IDx
h
和简单哈希表T1'的第h个分箱中存放的样本IDy
h
的相等性检测值子集Q0={s
10
,s
20
,...,s
h0
,...,s
H0
};服务器S1采用PSM

Eval算法对密钥函数子集P1中的每个密钥函数和编码后的简单哈希表T
1”中的每个编码样本IDy
h
'进行相等性检测,得到布谷鸟哈希表T0'的第h个分箱中存放的样本IDx
h
和简单哈希表T1'的第h个分箱中存放的样本ID y
h
的相等性检测值子集Q1={s
11
,s
21
,...,s
h1
,...,s
H1
},其中,s
h0
表示相等性检测值子集Q0的第h个检测值,s
h1
表示相等性检测值子集Q1的第h个检测值;(6c)服务器S0和服务器S1对相等性检测值子集Q0中的每个检测值s
h0
和相等性检测值子集Q1中每个检测值s
h1
进行加性运算,得到相等性检测值集合Q={s1,s2,...,s
h
,...,s
H
}={s
10
+s
11
,s
20
+s
21
,...,s
h0
+s
h1
,...,s
H0
+s
H1
},其中,s
h
表示相等性检测值集合Q的第h个检测值,取值为0或1;(6d)服务器S0和服务器S1对相等性检测值集合Q中的每个检测值s
h
和二进制向量集U和V中的每个二进制向量u
h
和v
h
分别进行乘法计算,得到外包数据对齐的结果{s1·
u1,s2·
...

【专利技术属性】
技术研发人员:马卓胡翠刘洋马鑫迪杨易龙刘心晶
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1