摘要

本文描述了一种基于Diffle-Hellman密钥协定协议的两方私有集合交集(PSI)协议。在理想的排列+随机语言模型中,该协议被证明可以安全抵抗恶意方。

对于小集合来说(500个项目甚至更少),我们的协议需要最少的时间和通信,相比于任何已知的PSI协议,即使是那些只有半诚实安全的和不基于Diffle-Hellman的协议。这是20年间对经典的Diffle-Hellman PSI协议的少数显著改进之一。

我们的协议实际上是一个通用转换,它从一类密钥协定协议构造PSI。这一转变的灵感来自于赵、达赫曼-解决和贾雷奇(CTRSA 2016)的技术的启发,我们通过几个重要的方式进行简化和优化,以实现我们更高的效率。


1介绍

在一个私有集合交集(PSI)协议中,Alice提供了一个项目的输入集合XXX,Bob提供了一个输入集合YYY,然后其中一方或两方学习X∩YX \cap YX∩Y。而对于对方不在交集中的信息,则完全无法获得。许多最引人注目的安全多方计算的现实世界应用是PSI的直接应用或PSI的紧密变体,如私人联系人发现。

PSI技术的最先进水平。最近,PSI协议已经成为典型具体性能改进的重点。目前对于PSI来说已经有了几种协议范例,但在这片文章中我们重点关注的是两种最实用的方法:Diffle-Hellman协议和不经意传输(OT)扩展协议。其他的协议范例(FHE,RSA,通用MPC)则要慢很多数量级。

Diffle-Hellman协议。第一个也是可以说是最简单的PSI协议是由Huberman、Franklin和Hogg设计,但其根源可以追溯到Meadows。这是一种半诚实的协议,要求在Diffie-Hellman群的幂中与集合中项目的数量成比例。因为这个协议过于遵循Diffie-Hellman密钥协议,所以半诚实安全的变体设计空间相当有限。DH-PSI协议已经在一些工作中针对恶意安全得到了加强。迄今为止最有效的方法是由De Cristofaro、Kim和Tsudik设计。另一个有效的恶意变体是由Jarecki&Liu设计,尽管它实现了一个稍微宽松输入独立安全保证的功能。

OT扩展协议。另一类的PSI协议是基于OT扩展的。借助于OT扩展,各方可以只用少量不变数量的公钥操作生成许多不经意传输实例。通过基于许多OT的PSI,生成的PSI协议中的公钥操作(指数)的数量只与安全参数相关,而与输入集的大小无关。这一类中的PSI协议包括[11、36、42-47]。
一般来说,基于OT的协议比基于Diffie-Hellman的协议(明显)更快,但需要更多的通信。然而,Pinkas等人最近的工作提出了一种基于OT的协议,其通信(和运行时间)比基于Diffie-Hellman的PSI略少。

为什么要关注基于Diffie-Hellman的PSI协议呢?相比于基于OT的PSI协议,基于DH的PSI协议要慢得多,研究它有什么价值呢?我们有以下几个原因:
■在某些情况下,通信成本远远比计算成本更重要。作为一个具体的例子,Ion等人[30,31]报告了他们在谷歌中一个类似PSI功能的真实部署。他们选择部署Diffie-Hellman PSI,并解释他们选择的原因如下:有些令人惊讶的是,对于我们考虑的离线“批计算”场景,通信成本比计算重要得多。对于涉及多个业务的安全协议尤其如此,因为服务器不能共同定位(广域网解决方案)。网络本质上是共享的,而且在共享网络中添加CPU比扩大网络容量要便宜得多。我们改进的DH-PSI协议在基于DH和基于OT的协议中通信量是最低的。
■考虑在小集合上的PSI的范围。例如,PrivateDrop系统加强了Apple的AirDrop特性通过执行一个用户的整个地址簿(几千个项目)和另一个用户的个人标识符(例如,电话号码和电子邮件地址,可能有10项)的PSI协议,以确定是否一个用户出现在另一个用户的地址簿中。在另一个示例中,双方可能希望使用其可用日历时间的PSI来安排一次会议。基于dh的PSI协议对于这些输入大小是最便宜的(几百项的等大小集,或者更大的集合是几千个项目);我们对DH-PSI的改进提供了进一步的改进。
基于OT的PSI协议使用OT扩展,其“基本OT”每个都需要公钥操作(指数级)。具体地说,使用迄今为止最有效的1/2的OT协议[38],128个基本OT需要花费3个×128=384组通信元素和5个×128=640次求幂。这已经比我们在200大小的集上改进的DH-PSI协议更昂贵,这意味着对于这个大小的集,我们的协议必然比任何基于OT扩展的协议都便宜。事实上,基于ot的协议要超过我们的平衡点,在快速网络(10Gbps)上为500到1000个项目之间,在慢网络(50Mbps)上需要有超过1000个项目。
■对于基于OT的PSI协议,由于[43]最近对恶意PSI进行的改进,半诚实和恶意协议之间的性能差距已经相当小了。对于基于DH的PSI的情况则有很大不同:相对于半诚实PSI,最有效的恶意PSI也要慢5倍,需要2.5倍的通信。对于基于DH的PSI,我们的新方法基本上缩小了半诚实和恶意之间的性能差距。
■最后,[29]的半诚实的DH-PSI协议是一个相当经典的协议,但在20多年来并没有得到改进。我们新的半诚实协议变体是第一个对DH-PSI的通信成本进行改进的,而且改进并不小(超过40%)。甚至我们的恶意变体也比经典的半诚实协议更有效。我们所知道的唯一可比较的改进是Jarecki和Liu,他们仅改善了计算成本,根据我们的经验提高约5-15%。


1.1 相关工作

自引入以来,已经提出了几种技术来提高PSI的性能。在本节中,我们将概述现有的高效PSI协议,并更重点关注由于公钥技术而具有线性通信复杂性的解决方案。从这里开始,我们假设每个集合都有nnn项,其中每个项都有σ\sigmaσ位长度。我们让λ\lambdaλ和κ\kappaκ分别表示统计安全和计算安全参数。

最早的PSI协议是在20世纪80-90年代的[29,39]中提出的,并在随机语言模型中被证明可以安全地对抗半诚实的对手。这些协议仍然是基于差异-海尔曼的协议之间的比较的基础。
Freedman等人在标准模型中引入了可以安全抵抗半诚实和恶意对手的PSI协议。他们的协议是基于不经意多项式估值(OPE)的,其使用加法同态加密(AHE)来实现,如Paillier加密方案。基于OPE技术,Kissner和Song提出了不同集操作的协议,例如二次运算上的集交与集并和数据集大小的通信复杂度。DachmanSoled等人提出了一种改进的PSI协议的结构,它在恶意对手面前实现了O(nκ2log2(n)+κn)O(n \kappa^2log^2(n)+ \kappa n)O(nκ2log2(n)+κn)组元素和O(n2κlog(n)+nκ2log2(n))O(n^2\kappa log(n)+n\kappa^2log^2(n))O(n2κlog(n)+nκ2log2(n))指数的通信。他们避免了一般的零知识证明,因为Shamir的秘密共享包含一个Reed-Solomon编码。随后,Hazay和Nissim扩展了基于OPE的PSI协议,并将完美隐藏承诺方案的效率与OPRF(不经意伪随机函数)评估协议结合起来。[26]中的PSI协议导致O(n(1+log⁡σ))O(n(1+\log{\sigma} ))O(n(1+logσ))组元素的通信,以及O(n(1+log⁡log⁡(n)+log⁡(σ)))O(n(1+\log{\log(n)}+\log(\sigma )))O(n(1+loglog(n)+log(σ)))模块指数的计算。随后,我们还研究了该问题的其他变体,如隐藏大小集合交集、PSI基数、私有交集和。在这里,我们强调了具有线性复杂度的基于公钥的PSI协议。

半诚实的PSI协议。目前最先进的半诚实PSI(独立于协议是否基于DH)是[11,36,42]的协议,最好的协议取决于计算相对于通信的相对成本。我们的协议涉及到将值编码为多项式,并且这种技术以某种形式出现在几个PSI协议中。其中一个协议是由Cho,Dachman-Soled和Jarecki设计的。我们的协议主要建立在他们的协议基础上,我们稍后将进行更详细的讨论。Pinkas等人设计的另一个协议是基于OT扩展的,但也在一个多项式中对某些值进行编码。在我们工作出现之前,该协议具有最低的通信,不包括那些基于昂贵的FHE或RSA累加器的协议。
对于基于RSA的PSI方法,据我们所知,Cristofaro和Tsudik的工作及其改进提出了在半诚实的环境中通信最低的PSI协议。这个协议是基于RSA累加器的。后一种协议实现的通信仅略高于不安全的交叉协议(在该协议中,双方只发送其输入的哈希)。然而,由于RSA操作的成本,它们的计算需求(至少是nlog⁡(n)n\log(n)nlog(n)RSA指数)使该协议在实践中非常昂贵。我们将在后面的第5.2节中进一步比较RSA方法。

恶意的PSI协议。Jarecki和Liu提出了第一个存在恶意对手时基于OPRF的线性复杂度PSI协议。他们为Dodis-Yampolskiy PRF fk(x)=g1/(k+x)f_k(x)=g^{1/(k+x)}fk​(x)=g1/(k+x)构建了一个OPRF协议,该协议需要O(1)O(1)O(1)模块指数,并具有常数轮通信。然而,它们的OPRF功能的安全计算协议是在公共参考字符串(CRS)模型中,其中CRS包括一个安全的RSA组合,它必须由可信方预先生成,或者在安全的两方计算模型中生成时意味着高开销。该协议的另一个限制是,它的安全证明在输入域上运行穷尽搜索。这意味着在安全参数中输入域应该是多项式的。
De Cristofaro等人提出了一种在恶意设置下安全的PSI协议,它在不限制输入域大小的情况下,实现了与之前的工作相同的渐近界,并且不需要CRS模型。他们的PSI协议需要在一个循环群中计算11n+311n+311n+3模指数。
Jarecki和Liu的工作与[16]是同时进行的。他们的协议只需要5n5n5n模块指数来计算恶意对手存在时的自适应集合交集,但是前提是在One-More Gap Diffie-Hellman(OMGDH)假设下。该假设认为即使DDH问题是容易的,One-More Diffie-Hellman问题也是困难的。
目前,最快的恶意两方PSI协议是由Pinkas、Rindal&Schoppmann设计的。他们不是基于Diffie-Hellman,而是基于有效的OT扩展或向量OLE。当集合的大小足够大时(例如:n>220n>2^20n>220)时,[48]的协议是有效的,但它具有显著的固定成本,这使得它在较小的集合中效率低下。
在表1中,我们展示了我们的协议与半诚实和恶意协议相比的理论通信复杂性。


1.2 结果总结

我们将展示如何将任何KA协议(具有伪随机消息和一个自然的不可塑属性)转换为一个PSI协议。

CDJ起点。我们的出发点是Cho、Dachman-Soled和Jarecki(CDJ)的方法。假设Alice持有项目x1,...,xnx_1,...,x_nx1​,...,xn​且Bob有项目y1,...,yny_1,...,y_ny1​,...,yn​。每一方都将运行一个(恶意的)安全字符串相等测试协议的nnn个实例,每个输入都有一个。考虑与项目xix_ixi​对应的Alice的等式测试协议实例。她将如何将协议消息发送给Bob,以便(1)如果Bob也有xix_ixi​,那么他将把它与这个实例(平等测试协议)关联,而不是其他实例,(2)如果Bob没有xix_ixi​,他就不会知道Alice是否在运行一个与 xix_ixi​关联的实例。
CDJ的主要见解是在多项式中嵌入协议消息,其灵感源自Manulis,Pinkas和Poettering。对于等式测试协议的每一条消息,Alice将插值一个多项式PPP,这样P(xi)P(x_i)P(xi​)等于第iii个等式测试实例的下一条消息。当Bob接收到这个多项式时,他可以在他的每个yiy_iyi​输入上计算它,响应每个输入,并将它们编码为他自己的多项式。重要的是,如果等测协议消息是足够随机的,那么多项式PPP就隐藏了Alice的xix_ixi​值。

我们的改进。我们在几个维度上改进了这个CDJ范例。(1)我们可以嵌入来自纯密钥协定(KA)协议的消息,而不是将来自恶意安全的字符串相等协议的消息嵌入到一个多项式中。(2)我们证明了一方可以避免将nnn个KA消息嵌入到一个多项式中,而是只发送一个KA消息。这就大大减少了总的通信量。(3)我们简化了协议,以便使用理想的排列来代替理想的密码。
更详细地说,CDJ机制让各方运行字符串相等性测试的nnn个实例。每个相等性测试将返回真或假,指示哪些项在交集中。我们观察到,成熟的等式测试对于CDJ来说太过分了。相反,让双方运行普通KA的nnn个实例,根据他们的PSI输入嵌入到多项式中。每个KA实例都以一个输出键终止。如果Alice和Bob持有一个共同的项目,那么他们将有一个共同的密钥。如果Alice有一个Bob没有的项(反之亦然),我们将显示Alice计算了一个对Bob来说是随机的密钥。因此,对于PSI,双方只要简单地比较他们的KA输出集就足够了。
不仅关键协定协议在概念上比字符串相等测试协议更简单、更有效——它们也是不需要输入的。因此,KA协议具有它们的第一个协议消息可以为许多实例重用的属性。对于字符串相等式测试协议,这并不一定是这样的,因为当事方的输入字符串通常会被“嵌入”到第一个协议消息中。就PSI协议而言,这意味着我们的协议不需要第一个消息的一个

【论文阅读】Compact and Malicious Private Set Intersection for Small Sets相关推荐

  1. 论文阅读笔记:A Fast Triangle-Triangle Intersection Test

    论文:A Fast Triangle-Triangle Intersection Test 作者:Tomas Moller 时间:2012.04.06 1.简介 计算两个三角形是否相交的算法及优化.( ...

  2. [论文阅读] (20)USENIXSec21 DeepReflect:通过二进制重构发现恶意行为(恶意代码ROI分析经典)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  3. Private Set Intersection(PSI)简介和资料分享

    1.什么是Private Set intersection(PSI)? 用英文定义是:A private set intersection protocol consists of two parti ...

  4. 隐私求交| Simple, Fast Malicious Multiparty Private Set Intersection

    开放隐私计算 隐私求交(Private Set Intersection, PSI)是多方安全计算中的常见例子之一,本文来源于知乎用户云波的投稿,对CCS2021年的一篇论文进行整理解读,原文可以点击 ...

  5. 论文阅读------Stochastic Gradient Descent with Differentially Private updates

    论文阅读------Stochastic Gradient Descent with Differentially Private updates SGD 代价函数 正则化描述 训练过程 梯度偏导 参 ...

  6. 【论文阅读】Realtime Robust Malicious Traffic Detection via Frequency DomainAnalysis

    [论文阅读]Realtime Robust Malicious Traffic Detection via Frequency DomainAnalysis 原文标题:Realtime Robust ...

  7. 【论文阅读】Adaptive Clustering-based Malicious Traffic Classification at the Network Edge

    [论文阅读]Adaptive Clustering-based Malicious Traffic Classification at the Network Edge 原文标题:Adaptive Clu ...

  8. 【论文阅读】Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition

    Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition 摘要: I ...

  9. 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》

    深度学习论文阅读目标检测篇(一):R-CNN<Rich feature hierarchies for accurate object detection and semantic segmen ...

最新文章

  1. Boost:同步化的测试程序
  2. 每日一笑 | 程序员的招租公告
  3. 数据结构与算法--翻转单词顺序
  4. 【离散数学中的数据结构与算法】八 排列与组合四
  5. 【剑指offer】面试题31:栈的压入,弹出序列
  6. 微软自带的浏览器Microsoft Edge不能上网的解决办法
  7. git flow使用
  8. linux vim命令的意思,Linux 中 vim 是什么意思?
  9. MD5加密概述,原理及实现
  10. ArcGIS利用DEM提取河流水系(附练习数据下载)
  11. 李宇春-唐人街无损品质mp3-flac音乐歌曲网盘免费下载
  12. Status code :200 OK (from disk cache)
  13. php ping 检测电脑在线,怎么ping网速(教你如何用ping命令来检测电脑的网速)
  14. 13-zinx-Golang-MMO游戏Proto3协议
  15. 锂电池常规认证-各国认证大全
  16. Redis 如何实现库存扣减操作和防止被超卖?(荣耀典藏版)
  17. 东莞比较好的java培训学校,先收藏了
  18. 英国伦敦国王学院计算机申请容易吗,2020年伦敦国王学院容易申请吗
  19. 第四届“橙瓜网络文学奖”暨见证·网络文学20年评选各类型十佳大神入围名单
  20. js清除cookie有时无法清除

热门文章

  1. (转)数学中的各种空间
  2. mysql设置安全卡住了_MySQL数据库安全设置与注意事项小结
  3. 视频拍摄常用运镜方式
  4. 使用 Python 将 MP4视频 转换为GIF动画
  5. 【实战】物联网安防监控项目【4】———从网页上控制A9的LED灯
  6. Linux中,显示当前目录位置、列出当前目录下的目录和文件、切换或进入目录。
  7. 【数学建模】MATLAB应用实战系列(110)-机器人路径规划——快速扩展随机树(Rapidly-exploring Random Trees)(附Python代码)
  8. 【论文阅读】Automatic Updating of Land Cover Maps in Rapidly Urbanizing Region
  9. 新能源板块又火了,如何把握投资机会?
  10. 如何导出Kindle中的电子书