隐私集合求交算法的对比分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第31卷第2期北京电子科技学院学报
2023年6月
Vol.31No.2JournalofBeijingElectronicScienceandTechnologyInstituteJun.2023
隐私集合求交算法的对比分析∗
田文亮㊀王志强㊀张艳硕
北京电子科技学院,北京市㊀100070
摘㊀要:隐私集合求交(PrivateSetIntersection,PSI)属于隐私计算领域的特定应用问题,包括秘密共享㊁同态加密㊁不经意传输㊁混淆电路和Hash技术等基础知识,其兼具重要的理论意义与极强的现实应用价值㊂随着用户数据的隐私保护需求的日益提升,PSI可以在满足依赖个人信息的业务的便利性的同时最大程度保护个人信息私密性需求㊂本文首先介绍了隐私集合求交的研究现状,其次按照底层密码技术对PSI进行分类并对比分析了它们的复杂度,对其优缺点进行对比分析,同时对比分析了基于不同密码技术的PSI的使用场景,最后指出其发展方向并得出结论㊂
关键词:隐私集合求交;秘密共享;同态加密;不经意传输;混淆电路;Hash技术中图分类号:TP312㊀㊀㊀文献标识码:A
文章编号:1672-464X(2023)2-98-112
∗㊀基金项目:2022年基本科研业务费优硕培养项目 HTTP协议的流量拟态技术研究 (项目编号:328202280); 信息安全 国
家级一流本科专业建设点和2020年教育部新工科项目 新工科背景下数学课程群的教学改革与实践
∗∗㊀作者简介:田文亮(1996-),男,研究生在读,计算机技术专业㊂E⁃mail:1070274287@qq.com
王志强(1985-),男,副教授,博士,硕导㊂E⁃mail:wangzq@besti.edu.cn
张艳硕(1979-),男,通信作者,副教授,博士,硕导,从事密码理论及其应用研究㊂E⁃mail:zhang_yanshuo@163.com
1㊀引言
㊀㊀隐私数据保护最早源于安全多方计算(securemultipartycomputation,MPC),由姚期智[1]借百万富翁问题提出,指各计算参与方无法得到除计算结果外的任何其他信息,解决互不信任的数据持有者如何对隐私数据进行计算的问题㊂隐私集合交集是安全多方计算中的热点问题,允许在分布式场景下各自持有隐私集合的参与方联合计算出集合交集而不泄露除交集以外的任何隐私信息㊂在隐私保护的场景中,PSI协议具有重要意义,如新冠接触者追踪[2]㊁隐私通讯录查找[3]㊁在线广告实际效果计算[4]㊁基因
序列匹配检测[5]等㊂传统的PSI协议针对2个参与方设计,Meadows[6]基于公钥加密和利用Diffie⁃Hellman密钥交换的乘法同态性质提出了第1个PSI协议㊂随后,由Huberman等人[7]对Meadows[6]的方案做出了完整描述㊂2004年由Freedman等人[8]借助不经意多项式求值和同态加密构造了第1个安全PSI协议㊂2017年申立艳等人[9]对安全多方计算框架下的PSI协议进行了简要总结㊂之后涌现了大量PSI的研究成果,一大批新技术手段和构造框架被提出㊂除了传统的安全多方计算理论中的混淆电路(garbledcircuit,GC)㊁不经意传输(oblivioustransfer,OT)㊁秘密共享(secretsharing,SS)㊁同态加密(homo⁃
第31卷隐私集合求交算法的对比分析㊀
morphicencryption,HE)等技术外,不经意伪随机函数(obliviouspseudo⁃randomfunction,OPRF)㊁经意多项式求值(obliviouspolynomialevaluation,OPE)㊁布隆过滤器(Bloomfilter,BF)等集合元素比较技术的应用,使得PSI的效率得到了很大的提高㊂
现有PSI已经非常高效,但现有很多实际应用中仍然以使用高效但存在安全隐患的解决方案为主,了解现有基于不同密码原语构建的PSI及其特定适用场景,对促进实际场景中使用安全的方案替换存在隐患的方案有很大帮助㊂在敌手模型方面,研究人员从诚实且好奇的安全模型出发,开始考虑在恶意模型下安全的PSI协议㊂随着研究人员对隐私集合交集协议的深入研究,除了传统两方PSI协议之外,已衍生出了云辅助PSI㊁阈值PSI(thresholdPSI,TPSI)㊁不平衡PSI(unbalancedPSI,UPSI)和多方PSI新型应用场景㊂
本文全面的介绍了PSI研究现状,对基于不同底层密码技术的PSI算法进行了较为详尽的描述,对不同的PSI协议原理进行对比分析,同时对PSI协议的复杂度以及PSI协议的优缺点进行了对比分析,得出了基于不经意传输的PSI协议目前具有更高效率的结果㊂最后针对当前存在的问题,指出PSI协议的发展方向以及结论㊂
2㊀隐私集合求交的研究现状
㊀㊀隐私集合求交(PSI)协议有很多分类方法,按照底层依赖的密码技术分类主要包括:基于公钥密码的PSI方案,包括:基于密钥交换(DH:Diffie⁃Hellman)的PSI方案和RSA盲签名的PSI方案;基于不经意传输的PSI方案;基于通用MPC的PSI方案,例如基于混淆电路的PSI方案;基于同态加密的PSI方案;基于以上密码技术同时对多方PSI进行描述㊂2 1㊀基于公钥密码的PSI方案
1986年,Meadows[6]提出了基于Diffie⁃Hellman问题的PSI协议,该协议类似于Diffie⁃Hellman密钥协商协议㊂双方以各自的输入集合中的元素作为Diffie⁃Hellman密钥协商中选择出的 随机数 角色,将集合元素映射到随机 会话密钥 空间,接收方在 会话密钥 空间中进行匹配,并获取到最终的交集元素;可以看出,该方案需要双方执行多次的模指数运算(这种代价很高的计算),因此所得的PSI方案效率并不高㊂与基于杂凑函数的算法类似,同样可以在签名空间进行比对㊂例如基于盲签名,发起方盲化本方输入的每个元素,向响应方的请求盲签名,获得结果并去盲后得到响应方私钥的签名㊂同时,响应方签名本方的每个元素,并将结果发送给发起方;发起方比对双方的签名结果,获得交集结果㊂
DeCristofaro与Tsudik[17]在2010年提出了基于RSA盲签名的PSI协议㊂在该协议中,响应方随机产生RSA密钥;发起方对本方的每一个输入元素进行随机盲化,将结果发送给响应方;响应方使用RSA私钥对盲化结果进行签名并发送给发起方,同时将本方的输入元素用本方私钥进行签名,将结果发送给发起方;发起方对盲化的签名进行去盲,与响应方的签名进行比对,得出交集结果㊂
基于公钥体制的方案除了转换匹配空间之外,将参与方输入的集合元素看作是多项式的根,多项式可以与输入集合建立映射关系,对于多项式的某些操作可以转换为集合的某些操作㊂2022年AranhaDF[35]提出了一种新的两方简洁PSI协议,该协议从理论和实践两个方面都以最小化发送方的开销为目标㊂该协议在概念上非常简单,这使得在实践中实现它不易出错:在协议执行期间,只发送两条消息,一条消息从接收方发送到发送方,另一条消息返回㊂接收者的消息的大小是单个组元素(独立于接收者的
㊃99㊃
北京电子科技学院学报2023年
输入集合的大小),而发送者的消息大小与发送者的输入集合大小成线性关系㊂发送方的计算复杂度与接收方输入集的大小无关㊂该协议为了证明新假设的合理性,证明了它在一般群体模型中是成立的㊂还讨论了在主动攻击存在的情况下保证隐私的简单对策,并提出了一个协议,该协议提供了完全基于模拟的安全性来对抗主动攻击㊂
2 2㊀基于不经意多项式计算的PSI方案
不经意多项式计算的PSI协议主要是将参与方集合元素表示为多项式的根,利用多项式的数学性质来计算交集,并采用同态加密算法加密交互过程中的信息来保证协议的隐私㊂
最早由Freedman等人在2004年提出的PSI协议[8]就是不经意多项式计算的PSI协议㊂其协议的主要过程为:客户端生成同态加密密钥对(pk,sk)并发送公钥给服务器端,将输入集X={x1,x2, ,xv}表示为多项式P的根P(z)=(x1-z)(x2-z) (xv-z)=ðvu=0auzu,利用插值法求得多项式系数{a1,a, ,av},将多项式系数用Paillier[13]或EIGamal[15]同态加密算法加密发送给服务器端;服务器端输入集合为Y={y1,y2, ,yw}对集合中的每一个元素y,利用同态加密性质计算Enc(r.P(y)+y),并将计算的密文混淆发送给客户端;客户端解密所有的密文,依次判断解密的结果是否和输入集合X中的某一元素x相等,相等则说明x属于集合交集㊂该协议中,多项式的次数过高,会导致同态加密运算中指数的计算代价太大㊂因此作者又采用Hash函数将集合中元素映射到B个桶中,每个桶最多M个元素,在客户端生成M个低次多项式,服务器端采用同样的Hash函数将元素进行映射,客户端将相对应的桶里的元素和多项式进行集合交集判断;为了减小M的值,作者采用了负载均衡Hash[21]方法㊂2014年Freedman等人进一步在文献[8]的基础上改进PSI协议[31],客户端和服务器端分别采用不同的Hash函数将集合元素进行映射来减少协议的计算复杂度,并将随机Hash㊁负载均衡Hash㊁布谷鸟散列[22]进行实验对比,其中应用负载均衡Hash㊁布谷鸟散列进行集合元素计算的复杂度较低㊂以上协议被证明在标准模型下对半诚实敌手是安全的㊂2 3㊀基于不经意传输的PSI方案
不经意传输是密码协议体系中的一个基础协议,由Rabin于1981年提出[23]㊂与最原始的概念相比,在更标准化的定义中,发送方拥有若干个输入,接收方输入一个索引下标,该索引下标表示接收方想要得到的结果,在协议过程中这一指标并不会泄露给发送方㊂最基础的OT协议是2选1OT㊂
基于OT的PSI协议需要使用的OT运行实例的数量与PSI双方输入的集合大小有关系,因此OT协议成为大集合PSI方案的主要瓶颈㊂OT扩展协议的出现[13],使得大集合PSI方案的落地成为现实㊂所谓OT扩展协议是指,OT协议在并行数量方面的扩展㊂具体来说,是用少量的OT协议实例来构造较为大数量的OT协议实例㊂文献[14-16]给出了OT扩展的相关理论结果与实现改进㊂
2013年,Dong等人在文献[24]中第一次将布隆过滤器引入到PSI中,并与OT扩展结合,使得PSI协议能处理的集合数量首次突破了亿级别㊂此后,对于布隆过滤器的改进也成为优化PSI协议的一个重要方向㊂通过改进布隆过滤器,Rindal和Rosulek给出了第一个恶意模型下的PSI协议[25],这一方案也在200s时间内完成了两方百万数据量的安全求交㊂
2016年,在文献[26]中,Kolesnikov等人使用OT扩展来实现不经意伪随机函数,并且将此概念运用到PSI中,这也成为后续基于不经意传输的PSI协议的主要方向㊂以上所有PSI协议的实现几乎都是在两个参与方的场景㊂对于多个参与方的场景,文献[27]中Kolesnikov等人引入
㊃001㊃
第31卷隐私集合求交算法的对比分析㊀
了不经意的可编程伪随机函数的概念(Program⁃mableObliviousPseudorandomFunctions,OP⁃PRF),并且基于插值多项式㊁布隆过滤器等技术
实现OPPRF㊂OPPRF要求只对发送者编程进去的集合元素,接收者才可以进行不经意地函数取值,未编程进去的元素,接收者返回随机值㊂各个参与方之间顺次循环扮演发送方和接收方角色,最终完成交集的结果㊂2022年,李顺[48]提出了一种基于并行化OPPRF的隐私集合交集协议㊂2022年,魏立斐等人[49]提出了基一种于云服务器的公平多方隐私集合交集协议,该协议基于该不经意伪随机函数构建了半可信云服务器辅助的隐私集合交集计算协议,将主要计算量外包给云服务器,允许半可信的云服务器参与相等性测试,又不泄露参与方任何集合信息㊂2 4㊀基于同态加密的PSI方案
PSI根据参与者的数量可分为两方和多方,下面均以两方为例㊂假设参与PSI的两方为发送方S(Sender)和接受方R(Receiver),分别持有数据集X和Y㊂根据两方数据集大小的不同,分为平衡场景和非平衡场景㊂在平衡场景下,双方样本数量相差不大,适用于双方客群有较多重叠的场景,如集团子部门之间的安全求交场景;在非平衡场景下,双方样本数量相差非常大,如营销场景中筛选本机构种子用户与外部数据方海量用户群中的共有用户群,实现目标客群筛选㊂
在平衡场景中,PSI的实现方式目前较为成熟的有基于RSA㊁基于Diffie⁃Hellman(DH)和基于不经意传输等㊂综合安全性㊁效率和通信量考虑,基于OT以及OTExtension[41]系列的对齐方案被广泛使用㊂在非平衡场景中,可在基于OT的PSI方案基础上,将同态加密技术结合特定的优化方法,实现高效的PSI㊂下面介绍两种高效的基于同态加密的非平衡PSI方案㊂2017年,Chen等[46]在CCS2017中将同态加密应用到非平衡PSI中,综合使用了Cuckoohash㊁Partition㊁Window和ModulusSwitch技术㊂实验表明,在数据量为NX=5000,NY=1600万时,Chen在CCS2017[28]中提出的方案的通信量为12 5MB,求交时间为36s㊂2018年,Chen等[46]改进了CCS2017方案,提出了一个能抵抗恶意攻击的非平衡PSI方案(CCS2018[29])㊂与CCS2017[28]方案相比,该方案支持更高位(512位和1024位)的Item(CCS2017方案支持32位),改进了SIMD编码,在不增加加密参数的前提下,提升了效率和安全性㊂该方案较CCS2017方案在性能上做出很大改进,在数据量为NX=224和NY=5535时,CCS2017方案需要20MB的通信量和40s的在线计算时间,CCS2018通信量为16MB,在线计算时间为22s(单线程),运行时间几乎缩短2倍和通信量节约27%㊂此外,当接受方R的数据集更小时,CCS2018方案的同态加密的参数会更小,能进行更少的密文计算,当接受方R的数据量为512或1024时,该方案运行时间分别只需9 1s和17 7s,以及8 2MB的通信量,较CCS2017方案快2 4倍,发送的数据量降低一半,同时支持任意长度的Item㊂
2 5㊀其他
根据底层密码学技术对传统多方PSI进行梳理,主要分为基于公钥的多方PSI和基于OT的多方PSI,由于混淆电路在预计算阶段构造复杂,且内存占用较高,并没有基于混淆电路的传统多方PSI协议的研究,但又鉴于混淆电路可以方便地计算任何功能函数的特性,其更适用于构造门限等特殊场景下的多方PSI协议㊂
基于公钥的多方PSI方案主要采用同态加密技术㊂第1个基于同态加密技术的多方PSI协议方案由Freedman等人[8]提出,首先使用加法同态加密实现的OPE技术,将集合元素表示为多项式的根从而代替集合进行运算,实现了在半诚实敌手模型下的两方PSI,其次提出了针对恶意的客户端㊁恶意的服务端㊁恶意的两方以及多方的情况下的PSI协议的构造思路㊂在半诚
㊃101㊃
北京电子科技学院学报2023年
实敌手模型中,Kissner等人[19]在2005年对加法同态加密的私钥进行秘密共享,协议的计算复杂
度和通信复杂度是集合大小和参与方数目的2
次方㊂2017年,Hazay等人[44]使用星型通信模型将多方PSI协议的通信轮数从O(n)降低为O(1),且加解密的操作数与参与方集合大小呈线性关系㊂其中,星型通信结构是最直观的多方通
信结构,多个参与方与同一个中心参与方进行交
互,此结构对中心参与方的带宽和计算能力要求
较高㊂
基于OT协议的多方PSI协议主要分为两
种,一是使用OT协议构造OPRF㊁OPPRF㊁多点OPRF等一系列协议,而后基于OPRF系列协议构造多方PSI协议;二是多方直接使用OT协议进行数据传输㊂基于OPRF的多方PSI协议中最经典的同时也是首篇将多方PSI进行代码实现的协议为Kolesnikov等人[42]在2017年提出的方案㊂该文献首次提出了使用OPRF构造OPPRF的概念,旨在使用发送方的输入来对OPRF的密钥进行编程,其与单点OPRF的区别在于OPPRF中密钥与发送方的私有集合元素相关㊂在直接使用OT协议作为数据传输协议方面,2018年,Inbar等人[45]在半诚实敌手模型和增强的半诚实敌手模型中分别提出了两种多方PSI协议,是对Dong等人[24]两方PSI协议的扩展㊂Inbar等人的协议[45]与Kolesnikov等人的协议[42]相比的优势在于随着参与方数目的增多,协议消耗时间增长缓慢,与参与方数目呈次线性关系;而Kolesnikov等人的协议[42]的最后一个步骤中需要多次计算和比较,计算开销较大㊂由于混淆电路具有计算任何功能函数的特性,可以方便地设计多功能的安全计算协议,因此基于混淆电路的门限多方PSI也是研究方向之一㊂2021年,Chandran等人[46]提出了半诚实敌手模型下的多方PSI协议,并设计了两种变体协议,门限多方PSI便在其研究范围中㊂协议主要分两部分,首先选择一个特定参与方与其他所有参与方两两交互进行元素相等性判断,此后所有参与方交互通过电路计算结果㊂
近年来涌现了很多基于云辅助器的PSI协议[49-52],由于在日常生活中数据量庞大,因此借
助云辅助器的方案可能是我们以后研究的重点㊂本文对以上基于不同密码技术的PSI协议现状进行了总结,不仅对每一种PSI协议的历史发展进行描述,而且说明其特点及基本使用场景㊂
3㊀PSI算法原理的对比分析
㊀㊀PSI算法既可以有两方参与,又可以有多方参与,以下分别对两方㊁多方以及不经意伪随机函数等PSI原理进行对比分析㊂
3 1㊀两方PSI基本原理
算法参与方包括Server和Client,假设sever和client输入元素个数分别为ks和kc,server方输入元素记为yi,iɪ[1,ks],client方输入元素记为xi,iɪ[1,kc];2)基于公钥加密技术的加法同态加密算法Enc(x)㊁Dec(c)满足Enc(m1+m2)=Enc(m1)+Enc(m2)(km)=k(m)1)client方针对全部输入元素利用插值法构造如下多项式P(y)=ðkci=1(y-xi),显然该多项式的最高次数为kc,用系数表示为P(y)=ðkci=0(aiyi)㊂然后将全部系数进行加密后发送给server;
2)server针对每一个yi进行如下计算:选择随机数ri计算Ci=Enc(riP(yi)+yi,并将Ci发送给client;
3)client进行如下验证:对Ci进行解密得到mi=riP(yi)+yi㊂如果yi和某个xi相等,则riP(yi)为0,解密结果mi必定等于该xi,即为PSI结果之一,如果yi不等于任一xi,则解密结果mi是一个随机数㊂
3 2㊀多方PSI基本原理
在2方PSI算法基础上可以扩展到多方
㊃201㊃
第31卷隐私集合求交算法的对比分析㊀
PSI㊂具体原理如下:
1)假定n+1个参与方,记为Ll,lɪ[1,n+1],第Ln+1为leader;
2)对前面n个参与方Ll,lɪ[1,n],生成各自的同态加密算法公私钥公钥pkl和私钥skl,公开公钥pkl;
3)对前面n个参与方Ll,lɪ[1,n],针对已方全部元素xli生成自己的多项式Pl(y),并将多项式参数进行加密(使用公钥pkl)后发送给leader;
4)Leader针对己方每个元素yi进行如下操作:生成n个随机数slj,lɪ[1,n],确保 ni=1slj=yj,然后针对n个参与方Ll的每一方计算密文Clj
=Enc(rl

P(yj)+yj),然后将全部Clj发送给Ll;5)对前面n个参与方LL,lɪ[1,n],解密Clj得到mlj,并将已方解密出来的mlj全部公开:6)对前面n个参与方Ll,针对收到的全部mlj进行计算yj= nl=1mlj,如果yj等于已方的某个元素xlj相等则表明该元素是多方交集元素㊂3 3㊀基于不经意伪随机函数的PSI
PSI算法参与方包括server和client,假设sever和client输入元素个数都为n㊂OPRFPSI算法的基本思想是利用PRG函数对双方明文元素进行加密,然后server方和client方对加密后元素进行逐一比对找出共同交集元素,PRG函数设置加密密钥时通过OT协议交互使得该密钥能够确保相同交集元素的密文相同且不泄露明文元素的信息㊂
OPRFPSI算法相对其他PSI算法的优势是计算量和通信量都比较小,而且对于client方来说安全性很高,能够确保server方无论是半诚实还是恶意模型下的client方安全性,这样通过OPRFPSI算法构建隐查询PIR时能够保证查询方的绝对安全性㊂
(1)基本原理
1)OPRF函数记为OPRFk(x)=H(q [F(x)㊃s]),㊃表示位与操作,⊕表示位异或操作,F(x)表示x作为种子的随机数生成器,H表示Hash摘要函数(具有randomoracle特性)㊂q,sɪ{0,1}λ,λ表示安全参数;
2)client对己方输入元素x:先采样随机字符串r0ѳƔ{0,1}n,计算r1=r0 F(x);3)server端先采样随机字符串sѳƔ{0,1}n;4)client和server运行λ次OT协议:client发送方输入r0[i]和r1[i],server端输入选择比特s[i]㊂server通过λ次OT协议获取到的λ比特随机字符串q=rs[1][1] rs[2][2]... rs[λ][λ];
5)server端设置OPRFkeyk=(q,s),对己方输入元素y计算OPRF值OPRFk(y)=H(q [F(y)㊃s]),并将改值发送给client;6)client检验:当OPRFk(y)=H(r0)时表明y=x㊂
(2)OPRF算法协议
公共函数及参数约定如下:
λ表示计算安全参数,统计安全参数σ,协议参数m,w,l1,l2,Hash函数H1:{0,1}∗ң{0,1}l1和H2:{0,1}wң{0,1}l2,伪随机函数F:{0,1}Aˑ{0,1}lң[m]w;
具体协议过程如下:
1)阶段1:预处理
server端采样随机字符串sѳƔ{0,1}w;client端执行:
初始化个mˑω二进制矩阵D为全1,Dj表示D第j列,D1=D2= =Ds=1m;
采样随机字符串kѳ
Ɣ{0,1}λ作为PRF函数F密钥;
对于client端的每个元素y:计算v=Fk(H1(y)),vɪ[m]w,对矩阵D的每一列设置Di[v[i]]=0,iɪ[w]㊂
2)阶段2ʒ0T传输
㊃301㊃
北京电子科技学院学报2023年
client端随机产生一个mˑω二进制矩阵Aѳ${0,1}mˑw,计算B=A⊕D;
client和server运行w次OT协议,client作为发送方,server作为接收方,每次
OT,client输入消息{Ai,Bi},iɪ[w],server输入si进行选择㊂OT协议结束后server获得w㊀个m比特字符串,然后作为ω列得到一个mˑω二进制矩阵C㊂
3)阶段3:OPRF值验证
client端将PRF函数F密钥发送给server;server端针对每个元素xi:计算vj=Fk(H1(yj)),计算OPRF值Vi=H2(C1[vi[1]]) Cw[vi[w]);
server将所有:发送给client
client端针对己方每个元素yi:计算vj=Fk(H1(yj)),计算OPF值中,㊀ϕj=H2(A1[vj[1]] Aw[vi[w]]),然后逐个比较中ϕj和ψi,当且仅当ϕj=ψi时,㊀yj=xi㊂3 4㊀不经意的可编程伪随机函数的PSI
PRF函数F跟OPRF中的定义一致㊂OPPRF协议的参与方包括Sender(记为S)和Receiver(记为R)两方㊂协议运行过程如下:1)约定安全参数Κ,公开参数PRF函数F:2)S方输入{(x1,y1),(x2,y2) (xn,yn)},xi不相等,协议生成F加密密钥k和公共参数hint;
3)R方进行公q次查询,每次查询输入x,协议返回y=F(x,k,hint)㊂
S方的输入可以理解为一些点坐标,协议对S方输入进行加密计算得到公共参数hint,PRF函数F加密密钥k㊂R方的输入为x,协议返回一个随机值y,当x与S方某个输入x相等时,R方获得输出即为y=yi㊂协议的安全性要求S方无法获知R方输入的查询信息,R方无法获知查询输出是否匹配到了S方的某个输入㊂也就是说R方每次查询中无论输入值是否匹配到S方的某个输入xi,输出y相对R方都是一个随机均匀分布㊂
OPPRF基于多项式的实现:假设S方输入{(x1,y1),(x2,y2) (xn,yn)},令yᶄi=yi F(k,xi),S方通过对{(x1,yᶄ1),(x2,yᶄ2) (xn,yᶄn)}进行拉格朗日插值得到多项式如下:
P(x)=ðni=1yᶄi(ᵑ1ɤjɤnjʂix-xjxi-xj)
记上述多项式系数为hint,记R方查询输入为q,则查询输出为:
F(q,k,hint)=F(k,q) P(q)
正确性验证:当R查询输入q=x时,查询输出为yi
F(k,xi) P(xi)=F(k,xi) yᶄi
=F(k,x
i) yi F(k,xi)
=yi
当输入q不等于任一xi时,查询输出是随机均匀分布的㊂因为yi随机均匀分布,因此P(x)系数也是随机均匀分布的㊂
3 5㊀MultiPSI算法
原理:
算法关键是利用秘密分享技术,通过2次OPPRF找出共同元素㊂
1)第一次OPPRF:step1中各参与方对本方的每个元素和其他各参与方生成多份秘密分享值si,jk,然后step2中各参与方运行OPPRF,此时如果有相同元素进行查询则会获取到对方相同元素的某一份秘密分享值㊂如果是不相同元素的查询则是获得一个随机值;
2)第二次OPPRF:step3中各参与方通过本方所有秘密分享值计算一个映射Si(xik),然后step4中P1作为协议中leader(负责最终交集元素的输出),和各参与方运行第二次OPPRF.每个参与方的Si(xik)值包含了单个元素在各个参与方对应的秘密分享值㊂Step5中P1对各个参与方S(x)进行XOR计算,此时如果是该元素在
㊃401㊃
第31卷隐私集合求交算法的对比分析㊀
各个参与方都有,则 iɪ[n]yik包含了所有参与方关于xik元素的全部秘密分享值,因此 iɪ[n]yik=0意味着元素xik在各个参与方输入中都存在㊂4㊀PSI算法复杂度的对比分析㊀㊀不同PSI协议的计算复杂度和通信复杂度在表2中有所示㊂表1为符号说明,表2中的计算复杂度是通过非对称或是对称密码原语的使用次数衡量的,通信复杂度是通过在信道上传输的比特数衡量的㊂这里的假设是每完成一次OT协议花费3次对称密码操作(对于使用布隆过滤器的花费2 5次对称密码操作)㊂计算姚氏电路中的与门使用4次对称密码操作,计算GMW电路中的与门使用6次对称加密操作㊂在同一类别中的PSI方案大多数拥有类似的复杂度㊂朴素哈希方法与服务器辅助的方法需要对每一个元素执行一次对称加密操作(哈希),基于公钥的协议需要对每一个元素执行两次公钥操作,并且需要发送两个密文和一个哈希值㊂基于电路的方法的计算复杂度与电路中与门的数量成正比,在基于布隆过滤器的协议中,计算复杂度与布隆过滤器的大小成正比㊂在基于OT的协议中,基于布隆过滤器的协议[24],通
信复杂度是与安全参数κ的平方成正比的,但是在[34]中的协议,通信复杂度是与κ呈线性关系㊂
表1㊀符号说明
符号说明
S服务端或是发送端
R客户端或是接收端
X,Y发送端和接收端的集合
NX,NY发送端和接收端集合的大小
m哈希表的大小
v消息编码的长度
σ集合元素的长度
κ,λ计算意义的安全参数和统计意义的安全参数ρ,ϕ非对称安全参数与椭圆曲线的规模
表2㊀不同PSI协议复杂度比较
分类协议
计算复杂度
(对称或非对称密码原语的次数)通信复杂度(比特)
基于公钥体系的
基于有限域DH的[6]2tpktρ+NXv基于椭圆曲线上DH的[6]2tpktϕ+NXv基于RSA的[30]2tpktρ+NXv
基于电路的
姚氏电路使用SCS12mσlogm+3mσsym6mΚσlogm+3mσ
GMW使用SCS18mσlogmsym6m(Κ+2)σlogm
姚氏电路使用PWCσ(4 NYmaxb+4sNX+3 NY)sym2 NYΚmaxbσ+3sNXΚσ+2 NYσGMW使用PWC6σ( NYmaxb+sNX)sym2(Κ+2)σ( NYmaxb+sNX)姚氏电路使用OPRF21760NY+3σNYsym10880NYΚ+2NYΚσ+NXvGMW使用OPRF32640NYsym10880NY(Κ+2)+NXvCiampi等人的方案M(4σlogm+3σ)symm(2σ+1)mΚ
基于OT协议的使用布隆过滤器[24]3 6mΚsym1 44mΚ(Κ+λ)使用哈希表[20]3 NY+(k+s)NXsym512 NY+(k+s)NXv使用哈希表[26](s+3)m+( m+s)sym4( m+s)k+(s+3)mv使用哈希表[31]∗-6Κn+βnlogm
基于FHE的[46]--1 5CσNYlog2Nx
㊀㊀注:其中sym和pk分别表示对称与非对称操作的统计,t=NX+NY,m=max(NX,NY),βʈλ+2logn-1, ,k,s,maxb是哈希函数用到的参数,v是在OT扩展协议中,使用的哈希函数的输出长度,C是一个常数,表示[26]的同态操作产生的密文扩展㊂标有∗的是在恶意模型下安全的协议㊂
5㊀PSI性能的对比分析
㊀㊀基于公钥密码的PSI方案中,一些协议公钥加解密操作的次数与集合大小成线性关系㊂因此虽然通信复杂度是最小的,但是计算开销远不及后面叙述的基于不经意传输扩展协议的PSI㊂使用公钥加密体系的PSI有另一个优点,就是在双方集合大小相差很大的情况下,花销很大的公钥加密操作可以集中在一方进行㊂结合这种方案通信复杂度低的优点,Chen等人在文献[28]㊁
㊃501㊃。

相关文档
最新文档