隐私保护求交集PSI
定义
隐私集合求交(Private Set Intersection, PSI)允许持有各自隐私数据集的多方计算他们数据的交集,同时不泄露任何交集以外的信息。假设一方持有数据集A,另一方持有数据集B,则PSI的结果为A交B。A方从B方获得的信息仅为AB的交集;同理,B方从A方获得的信息仅为AB的交集。
⚠️:PSI在概念上集合持有者是完全平等的,但是在协议执行过程中,求交结果通常由一方首先获得,并同步给另一方。
基于哈希的方案
假设A拥有数据
- A和B事先商量好一个哈希函数H()。
- B发给A:
. - A收到后与
比较,并找出相同项。
尽管这一协议是十分有效的,但是当「输入域较小」的时候存在着一方使用暴力碰撞攻击的可能(一方计算域上所有元素的哈希值,然后进行交集运算,从而得到另一方的所有输入)。当输入集合的取值范围非常大(>280)时,此种简单比较哈希值的协议也可以被证明是安全的。然而,如此大的输入域在现实应用中是不存在的。
优化
引入一个第三方服务提供商S,A、B双方分别发送自己数据集合的哈希值给S,由S计算交集并返回给A、B。由于S并不知晓哈希函数H,因此S无法通过明文生成对应的哈希值执行碰撞攻击。
优点
与朴素哈希方案性能几乎一致
缺点
- 需要辅助服务器长期在线
- 辅助服务器不能与任意一方共谋,否则依旧可以执行暴力碰撞攻击
- 服务器S可以通过长期缓存参与方的数据得到其几乎所有数据的哈希值,从而有能力使其离线,独自提供求交服务。
基于Diffie-Hellman问题的方案[M86,HFH99,AES03]
来自论文【3,4,5】
- A和B事先商量好一个群G,并商量好生成元g
- A取随机数
,并把签名过的数据发给B,即发送: - B取随机数
,并发给A两个东西- 对收到数据的加密:
- 对自己签名的数据的加密:
- 对收到数据的加密:
- A然后对B的数据加密:
,并比较与B发来的数据中的相同项。
优点
不需要辅助服务器
缺点
公钥加密运算普遍需要昂贵的模幂等大数运算操作,计算开销较大。
基于Blind RSA的方案[CT10]
来自论文[6]。
- B生成密钥对
,A为每一个数据选一个随机数 ,将数据用公钥加密后发给B: - B给A发送的
- 私钥加密后并签名的数据:
- 私钥加密后并签名的数据:
- A收到第二串数据后,把每个数据除掉自己生成的随机数
,并用哈希函数加密就得到 ,就可以比较两个集合相同的元素了。
基于Oblivious Polynomial Evaluation的方案[FNP04]
来自论文[7].
- A计算多项式
, - A将系数通过同态加密后发送给B:
- B为每个数据生成随机数
,B计算下式并发送给Alice: - 如果
,那么B发送来的应该就是 .A只要比较收到的数据是否与 相等即可。
参考
【1】https://zhuanlan.zhihu.com/p/396327172
【2】https://zhuanlan.zhihu.com/p/407290294
【3】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.
【4】 Ishai Y, Kilian J, Nissim K, et al. Extending oblivious transfers efficiently[C]//Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 2003: 145-161.
【5】Steinfield, C., & Whitten, P. (1999). Community level socio-economic impacts of electronic commerce. Journal of Computer-Mediated Communication, 5(2), JCMC524.
【6】De Cristofaro, E., & Tsudik, G. (2010, January). Practical private set intersection protocols with linear complexity. In International Conference on Financial Cryptography and Data Security (pp. 143-159). Springer, Berlin, Heidelberg.
【7】Freedman, M. J., Nissim, K., & Pinkas, B. (2004, May). Efficient private matching and set intersection. In International conference on the theory and applications of cryptographic techniques (pp. 1-19). Springer, Berlin, Heidelberg.