隐私集合求交(PSI)协议研究综述
作者:京东科技 孙晓军
摘要
隐私集合求交(PSI)是安全多方计算(MPC)中的一种密码学技术,它允许参与计算的双方,在不获取对方额外信息(除交集外的其它信息)的基础上,计算出双方数据的交集。隐私集合求交在数据共享,广告转化率,联系人发现等领域有着广泛的应用空间。本文对隐私集合求交的各项实现技术做了介绍和对比,对隐私集合求交的原理进行了分析,并进一步阐述了隐私集合求交目前面临的挑战和发展前景。
【关键词】:隐私集合求交,安全多方计算,不经意传输
1 引言
隐私集合求交(PSI)是安全多方计算(MPC)中的一种密码学技术,它允许参与计算的双方,在不获取对方额外信息(除交集外的其它信息)的基础上,计算出双方数据的交集。随着大数据,人工智能,云计算等技术的兴起,企业和个人对隐私数据的保护越来越重视。隐私集合求交,作为安全多方计算中的关键技术,在近年来的理论研究也得到了长足的发展。
在数字经济的众多安全威胁中,数据泄露已成为全球范围高发的安全事件之一,且这个趋势仍在持续。
2018 年,Facebook 因向第三方公司恶意泄露其用户信息被判罚数十亿美元
2019 年,字节跳动因收集未成年人信息被罚款总计约 1 亿美元
2020 年,中国电信 2 亿用户信息被贩卖,相关人员被判刑并处以罚款
2021 年,亚马逊因违反数据隐私法规被处罚 8.88 亿美元
在这些数据安全问题中,有人为原因的故意泄露,也有技术缺陷导致的数据泄露。数据隐私问题,直接影响着企业的利益和信用,甚至因此导致企业倒闭。
随着中国在信息化和数字化的持续发展,大量具有敏感性和私密性的个人和企业信息在互联网上传播。如何安全地利用这些信息为企业和个人提供便捷的服务,同时又能保障信息不在传输过程中被泄露,对数字经济的健康发展,有着非常重要的作用和意义。
2021 年 6 月 10 日,十三届人大常委会第二十九次会议通过了《数据安全法》
2021 年 8 月 20 日,十三届人大常委会第三十次会议表决通过《中华人民共和国个人信息保护法》。
可以预见,对个人和企业隐私数据的保护,会被越来越多的企业和个人重视。我们通过对隐私集合求交的现状和发展的综述,重点介绍隐私集合求交的技术原理,为建立企业和个人对隐私数据保护的重视和信任,提供理论依据,并对隐私集合求交的发展前景进行分析,推进隐私计算的基础研究和商业应用发展。
2 基础原语
2.1 安全模型
安全模型又被称为对手模型或敌手模型,被用来衡量一个协议的安全等级。基于模型的安全假设,通常把安全模型分为诚实(honest),半诚实(semi-honest)和恶意(malicious)三种。
诚实型对手会完全按照密码学的协议执行,并且不会主动尝试获取额外的信息。
半诚实型对手会完全按照密码学的协议执行,但会尽可能尝试从收到的信息中获取额外的信息。
恶意模型不会严格按协议执行,他们可以做任何事情来达到获取额外信息的目的。
迄今为止,隐私集合求交的协议,大多基于对手模型是半诚实模型的前提下进行的研究。对抗恶意模型的协议,虽然提供了更好的安全保障,但通常具有较为低下的执行效率 [8]。虽然半诚实模型不能对协议的双方提供完全的安全保护,但基于半诚实模型的协议的研究,可以为对抗恶意模型的协议,提供技术储备。并且基于对手模型为半诚实模型的协议,可以通过配合诸如随机预言,惩罚性措施等多种技术手段,来达到接近恶意模型下的协议的效果。
2.2 秘密共享
秘密共享(Secret Sharing,SS)是将一份原始秘密信息,拆分成多份。再把多份数据,分给不同的用户持有。其中的任何一份数据,都不能够完全恢复原始的秘密信息。只有达到指定数量的用户,集合他们手中持有的秘密,经过计算才能得出原始的秘密信息。秘密共享的关键在于秘密的拆分方式和恢复方法。秘密共享已经成为密码学中的一个重要分支,是信息安全和数据保密中的重要手段,被广泛应用于电子支付,密钥托管和隐私保护领域。
2.3 同态加密
同态加密(Homomorphic Encryption,HE)是将数据加密后,对加密数据进行运算处理,之后对数据进行解密,解密结果等同于数据未进行加密,并进行同样的运算处理。目前,同态加密支持的运算主要为加法运算和乘法运算。按照其支持的运算程度,同态机密分为半同态加密(Partially Homomorphic Encryption, PHE)和全同态加密(Fully Homomorphic Encryption, FHE)。半同态加密在数据加密后只持加法运算或乘法运算中的一种,根据其支持的运算的不同,又称为加法同态加密或乘法同态加密。半同态加密由于机制相对简单,相对于全同态加密技术,拥有着更好的性能。全同态加密对加密后的数据支持任意次数的加法和乘法运算。
3 隐私集合求交的主要技术方案
3.1 朴素哈希求交技术
图 1 朴素哈希求交法
朴素哈希(simple hashing)求交技术 [1] 的原理是使用哈希函数,把集合中的元素映射到一个均匀分布的空间。利用哈希函数的不可逆的性质,传输映射后的数据并进行比对求交。
朴素哈希求交法是一种非安全的求交方法。如果发送者 Alice 持有的数据集 X 的样本空间 Ω 较小(比如手机号码或特定的电子邮件等),那么 Bob 在接收数据后,可以进行对样本空间内的所有数据进行哈希计算来破解。即使要比对的数据拥有足够大的样本空间,朴素哈希求交法也并非绝对安全,接收者 Bob 仍可以根据获取到的计算后的数据,判断 Alice 是否具有哪些特定的信息。
实际应用中,为了对抗彩虹表攻击,朴素哈希求交法一般会在运行时通信双方临时协商一个随机的盐值,在哈希计算时使用对应的盐值进行加盐哈希计算。加盐朴素哈希的隐私集合求交一般过程为:
发送者 Alice 持有数据 X={x1, x2, ..., xm}, 接收者 Bob 持有数据 Y={y1, y2, ..., yn}
Alice 和 Bob 使用相同的哈希函数 H
Alice 生成随机盐值 Salt 并发送给 Bob
Bob 使用 salt 对所有 Y 进行哈希计算 hyi = H(yi, salt)
Alice 使用 Salt 对所有 X 进行哈希计算 hxi = H (xi, salt), 并发送 hxi 给 Bob
Bob 计算 {hx1, hx2, ..., hxm }∩{hy1, hy2, ..., hyn } 的结果为 Alice 和 Bob 数据的交集
朴素哈希求交法,是目前 PSI 协议中,性能最优的协议。由于协议本身不具备安全求交能力,一般只能应用在特定问题下的非敏感数据的求交场景。
3.2 姚氏混淆电路
姚氏混淆电路(Yao’s Garbled Circuits)[2] 协议由 1986 年由图灵奖获得者姚期智院士提出,用来解决著名的姚氏百万富翁问题。混淆电路使用布尔电路(与,或,非等)构建电路表,保障计算的过程中,双方的数据不被泄露。最终根据混淆电路的计算结果,以及混淆电路表,可以计算双方数据的计算结果。
图 2 完整的姚氏电路 [2]
一个典型的姚氏混淆电路的计算过程分为混淆电路生成阶段,电路执行阶段和电路评估阶段。
混淆阶段,Alice 生成一个布尔混淆电路表,使用混淆电路表为每个布尔值生成密钥。Alice 对混淆电路的计算结果,使用布尔电路中对应的密钥进行加密,打乱顺序后和自己持有的数据 X 对应的密钥信息发送给 Bob。
执行阶段,Bob 根据自己持有的数据 Y,通过 OT 协议获取混淆电路表对应的密钥信息。Bob 使用自己持有的数据对应的密钥和 Alice 给的密钥对 Alice 发送过来的混淆电路的计算结果进行解密,其中,只有 Alice 和 Bob 持有的数据对应的混淆电路的数据,能够被正常解密。
评估阶段,Bob 发送解密后的值给 Alice,Alice 对照混淆电路计算结果,得出最终的计算结果。
图 3 用于相等比较的混淆电路设计
混淆电路的设计不仅可以应用在隐私集合求交的数据相等的比较场景,也可以应用于安全的数据大小比较,模糊查询等场景。 基于混淆电路的方案相较于热门的基于不经意传输的方案在性能上处于劣势,且同样基于半诚实的对手模型,使得此方案目前在实际应用中使用较少。
3.3 基于同态加密
图 4 基于全同态加密的隐私集合求交协议 [5]
2017 年,Hao Chen 等人,给出基于全同态加密(FHE)的隐私集合求交方法 [5]。基于同态加密的隐私集合求交方法主要是对数据进行同态加密,并使用加密后的数据和原始数据构建多项式并计算多项式的值。其主要步骤为:
发送者 Alice 持有数据 X={x0, x1, ..., xn-1}, 接收者 Bob 持有数据 Y={y0, y1, ..., ym-1}
Bob 生成同态加密密钥,并对集合中的所有数据进行全同态加密生成新的集合 C = {c0, c1, ..., cm-1}
Alice 生成随机一组随机数 R,并使用如下公式来计算多项式的值。
Alice 将计算结果的数据集 {d0, d1, ..., dn-1} 发送给 Bob
Bob 对数据集进行解密,收集所有解密结果为 0 的数据,即是数据集 X 与数据集 Y 的交集。
在交互过程中,Alice 收到的是同态加密后的数据,所以 Alice 不知道 Bob 的数据集 Y 的信息。Bob 收到的是经过多项式计算后的同态加密数据,如果解密后的结果为 0,Bob 知道对应的数据存在于 Alice 的数据集 X 中,否则解密后的数据对于 Bob 来说是一个随机数。
在上述过程中,Bob 对数据集 Y 内的所有数据进行同态加密,Alice 计算高阶多项式,和 Bob 对多项式计算结果进行解密是方案中对性能负面影响较大的行为。在 Chen 等人的方法中,针对这些问题进行了一些列的优化处理,其中包括使用布谷鸟哈希方法和批处理同态加密,降低协议的计算开销和通信开销。使用分窗的方法来加速高阶多项式计算。
基于同态加密的隐私集合求交,只对一方的数据进行同态加密和解密,使得此方案适合双方的数据集大小差异较大的场景(n>>m)。
同态加密算法目前是一种低效的加密算法,全同态加密的密文长度通常非常大,使得目前基于同态加密的隐私集合求交方案在性能上不占据优势。
特别地,Chen 的基于全同态加密的隐私集合求交方案,只对接受者一侧执行同态加密,这使得算法适合运行在求交的集合差异较大的场景。
3.4 基于公钥加密
图 5 RSA 盲签名协议 [7]
基于 RSA 的求交法 [6] 最早由 Meadows 等人于 1986 年提出,协议的主要思想是通信的双方各自生成一个大素数,对数据进行乘方运算,并比对计算的结果。2010 年,Cristofaro 等人提出的基于 RSA 盲签名的隐私集合求交技术 [7],是目前性能最好的基于公钥加密的隐私集合求交技术。其一般步骤为:
发送者 Alice (Server) 持有数据 S={s1, s2, ..., sw}, 接收者 Bob 持有数据 C={c1, c2, ..., cv}
Alice 和 Bob 使用相同的哈希函数 H 和 H`,Bob 有持有 RSA 的私钥 (n, e),并将公钥 (n, d) 发送给 Alice
离线阶段:
3.1. Alice 使用公钥对每个 S 计算 hsj = H(sj), Ks:j = RSA(hsj ), tj = H`(Ks:j)
3.2. Bob 生成随机数 Rc:i (Rc:i< n 且 gcd (Rc:i, n) = 1),并使用私钥对数据 C 计算 hci = H(ci), yi = hci * RSA(Rc:i)
在线阶段:
4.1. Bob 发送所有 yi 给 Alice
4.2. Alice 使用私钥计算 yi' = RSA(yi)
4.3. Alice 发送所有 yi' 和 tj 给 Bob
4.4. Bob 计算 Kc:i = (yi' / Rc:i) mod n, ti' = H'(Kc:i)。之后计算 { t1' , t2', ..., tn' }∩{t1, t2, ..., tw}, 输出的结果为 Bob 和 Alice 数据的交集
基于 RSA 的求交协议,比较典型的是 RSA 盲签名求交协议。RSA 盲签名求交协议是对基于 RSA 的求交协议(基于 RSA 的密钥交换方法)的改进方法,可以在对手是恶意模型时,安全计算数据的交集,并提供了更好的计算性能。算法分为离线阶段和在线阶段,其中离线阶段操作可以在数据预处理阶段完成。实际执行求交算法时,只对一方的数据执行一次 RSA 加密操作,相较于其它基于 RSA 的求交协议,具有更好的性能优势。RSA 盲签名算法的正确性基于如下公式 (注意原论文中的 Kc:i = yi' / Rc:i, 实际应为 Kc:i = (yi' / Rc:i) mod n, 作者在后续论文中有纠正):
其原理是使用大数的离散对数没有有效的计算方法的特点,Alice 对 Bob 持有的伪随机数据进行签名,Bob 去除伪随机得到签名过的自己的数据,再和 Alice 端的签名数据做对比求交。
由于 RSA 计算复杂度较高,协议中 RSA 的计算次数会随着数据量的增大呈线性增长,使得基于 RSA 的求交方法,在数据量较大时会产生性能问题。
由于 RSA 盲签名算法在运行时只对一端的数据进行 RSA 加密,使得在求交数据量级差距较大时,可以把数据量较小的一端作为 Client 端,这样可以获得非常大的性能优势。另外,RSA 算法的流程适合并行处理,方便利用并行计算来提升性能。
RSA 盲签名协议能够在恶意对手模型下,为隐私集合求交提供安全保障,但由于非对称加密的次数随比对的数量量的增加呈线性增长,所以无法处理海量数据的隐私集合求交场景。
3.5 基于不经意传输
图 6 不经意传输
OT(Oblivious Transfer)是基础的密码学原语,中文译为不经意传输,茫然传输。OT 协议最早于 1981 年由 Michael O. Rabin 提出,协议由发送方和接收方两方参与,接收方请求获取信息,发送方发送信息给接收方。在这个过程中,发送方对接收方的请求信息一无所知,同时接收方也无法获取请求的信息之外的额外信息。OT 协议主要利用有限的非对称加密技术,达到安全传输大量数据的功能
2014 年,Pinkas 等人提出了基于 OT 扩展协议的高效隐私集合求交方案 [8],该方案使用 OT 扩展,传输数据使得通信双发获得一个伪随机函数,并使用此伪随机函数对双方持有的数据进行加密比对。方案主要分为三个阶段来执行,哈希阶段,隐秘传输阶段和求交阶段。在哈希阶段,通信 Alice 和 Bob 把各自持有的数据通过哈希运算均匀分布在一个给定大小的地址空间内,并使用随机数填充空余的哈希位置。在隐秘传输阶段,Bob 根据自己持有数据的比特信息作为选择位,使用 OT 扩展安全地获取 Alice 持有同样比特位置上的伪随机生成数据。最后在求交阶段,Bob 解密伪随机数据,并和自己持有的而数据进行比较。
2016 年,Kolesnikov 使用批量 OT 扩展传输和布谷鸟哈希实现了更高效的隐私集合求交方案 [9],基于 OT 的隐私集合求交成为性能上最仅仅朴素哈希求交技术的隐私集合求交方案。2019 年,Pinkas 等人提出了基于稀疏扩展的隐私集合求交方案 [10],方案首先把秘密信息分成三份,这样在未获取到要求交的数据之前,可以提前随机生成两份秘密信息,以便在离线阶段进行 OT 扩展传输,提前获取伪随机生成函数。在在线阶段,为了避免传输大量的秘密信息,方案使用了多项式技术,把要传输的数据融入多项式,仅传递多项式的参数来代替传输大量数据。根据该方案的测试结果,在要对比的数据量庞大,或者带宽受限制场景下,此方案相较于目前最优的基于 OT 的隐私集合求交方案,提供了更好的性能优势。
虽然基于不经意传输的隐私集合求交技术仍然是使用非对称加密技术作为其实现原理,但不经意传输使用有限次非对称加密,来完成任意数量的安全数据传输。基于不经意传输的隐私集合求交方案,是目前研究最为活跃的隐私集合求交方案。
4 隐私集合求交前景展望
隐私集合求交作为安全多方计算的关键技术,自诞生以来,得到了企业,个人和机构的高度的关注,目前仍在快速发展中。近些年来,频繁出台的隐私和信息保护的法律法规,促使了我国在隐私计算领域相关的研究和落地的高速发展。目前最为流行的隐私集合求交方案是基于不经意传输的隐私集合求交方案,对该方案的研究是基于安全性和性能平衡后的一种考量,研究的思路主要在减少非对称加密次数和通信双方传输的数据量。
虽然隐私集合求交技术在最近这些年得到了长足的发展,但仍面临了诸多挑战,其中包含最流行的基于不经意传输协议的隐私集合求交方案是限定对手模型是半诚实模型的前提下的安全求交协议。隐私集合求交技术作为基础应用技术,其性能仍有提升需求。目前的各种技术方案,缺少标准的对抗手段来证明其确实在实际应用中保护了数据安全。以及缺少基于隐私集合求交的各种标杆性应用。
隐私计算在金融,政务,运营商,营销商,科研机构等对自身数据极为敏感,且对 IT 智能化有强烈需求的行业和领域,有着重要的地位。对于隐私集合求交技术在实际行业应用上的实践,需要关注的主要为题有:
安全性。隐私计算为提升系统安全性而生,作为隐私计算底层关键性技术之一的隐私集合求交,需要在安全性方面提供令业界信服的能力和证明方式。这决定了隐私集合求交的核心技术,需要提供可信服的论文和理论依据,且通常为大众认可的开源代码。
权威认证。隐私计算对安全性要求极为敏感,除了在算法方面有可信理论依据之外,还需要对应的权威机构认证。这包括安全性认证的权威机构,模拟破坏性攻击防御能力的权威机构等。
主动防御能力。在基于智能分析或满足客户设定的阈值的前提下,如果在计算过程中,应用及时识别出通信的参与方可能包含恶意攻击,应能够及时停止计算并记录判定攻击的相关数据。
可解释性。可解释性是更好的主动观测计算过程和维护的能力。包含计算过程的可视化,通信数据抓取,事件审计能力等方案。
优异的性能。作为安全通信的底层技术,隐私集合求交需要提供相对优异的性能,以便应对海量数据处理以及实时数据分析的需求。这要求隐私集合求交算法的性能,应尽可能去逼近朴素哈希求交算法的性能。
隐私集合求交目前在国内已经有商业化应用落地,但仍缺少标志性的成功商业应用作为标杆,使得隐私计算的商业化进程在需求和质疑中缓步前行。在当前的市场背景下,如何保障今后的技术创新和应用能够在符合法律法规的前提下,安全高效地进行数据交互,将会是未来数据密集型系统的一个重要的支撑能力。对于持有大量敏感数据的传统企业来说,也急需一种可靠的技术,既能够利用数据创造价值,又能够保障持有者的数据的隐私安全。
参考文献
[1] M. Raab and A. Steger. “Balls into bins” - a simple and tight analysis. In Randomization and Approximation Techniques in Computer Science (RANDOM’98), volume 1518 of LNCS, pages 159–170. Springer, 1998.
[2] A. C. Yao. How to generate and exchange secrets. In Foundations of Computer Science (FOCS’86), pages 162–167. IEEE, 1986.
[3] M. Bellare, V. Hoang, and P. Rogaway. Foundations of garbled circuits. In Proceedings of the 2012 ACM Conference on Computer and Communications Security, CCS’12, pages 784–796, 2012.
[5] Chen H, Laine K, Rindal P. Fast private set intersection from homomorphic encryption[C] //Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017: 1243-1255.
[6] Meadows C. A more efficient cryptographic matchmaking protocol for use in the absence of a continuously available third party[C]//1986 IEEE Symposium on Security and Privacy. IEEE, 1986: 134-134.
[7] E. De Cristofaro, G. Tsudik, Practical private set intersection protocols with linear complexity, in: International Conference on Financial Cryptography and Data Security, Springer, 2010: pp. 143–159.
[8] B. Pinkas, T. Schneider, and M. Zohner. Faster private set intersection based on OT extension. In USENIX Security Sympo sium, pages 797–812. USENIX, 2014.
[9] V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious
PRF with applications to private set intersection. In ACM CCS 2016, pages 818–829,
Vienna, Austria, October 24–28, 2016. ACM Press. 7
[10] B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai. SpOT-light: Lightweight private set
intersection from sparse OT extension. In CRYPTO 2019, Part III, LNCS 11694,
pages 401–431, Santa Barbara, CA, USA, August 18–22, 2019. Springer, Heidelberg,
Germany. 7
[11] 申立艳,陈小军,时金桥,胡兰兰。隐私保护集合交集计算技术研究综述 [J]. 计算机研究与发展,2017,54 (10):2153-2169.
[12] 黄翠婷,张帆,孙小超,等。隐私集合求交技术的理论与金融实践综述 [J]. 信息通信技术与政策,2021 (6):50-56. DOI:10.12267/j.issn.2096-5931.2021.06.006.
内容来源:京东云开发者社区 [https://www.jdcloud.com/]
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/940c984b203b75fe2ab81a19a】。文章转载请联系作者。
评论