1. PSI定义
-
安全求交集:Private Set Intersection(PSI)
-
安全要求:
-
Alice不能拿到Bob中任何非交集的元素。(Alice会尝试任何方法获取Bob的非交集元素,但不会成功)。
- 安全可证明。
-
2. 最常用基础的PSI:Two-Party Semi-Honest PSI
-
仅对于交集:
- 交集可以被两方或者一方看见。
-
仅对于两方:
- Alice和Bob。
-
仅对于半诚实安全:
- 如果两方中存在攻击者,那么这个攻击者首先需要严格遵守和执行协议。其次可能会对对方的数据感兴趣而采取线下分析等操作以推测出对方的隐私信息,但攻击者无法做到。
-
挑战1:隐藏非交集元素(hiding)
- 密码学安全定义的“隐藏”。
- 需要向非交集的元素中添加某种噪音以防止被穷举和计算出来。
-
挑战2:计算交集元素(comparing)
- 当两个元素相等时,他们的相等性计算结果不能因为添加噪音而改变。
-
挑战3:效率高(efficiency)
- 提出的PSI协议应该适用大规模的应用
3. 方法1:基于哈希的PSI(不安全的PSI协议,仅作为教学)
-
基础思想:先哈希再比较
-
哈希密码算法
- 单陷门属性。
- 极低的碰撞概率
-
-
隐藏非交集元素:由单陷门加密哈希函数保证。
-
计算交集元素:两个相同的元素通过哈希输出应该是相同的。
-
效率:哈希算法速度快。
-
问题:
- 高熵的输入数据,像是无穷长度字符串是没有任何问题的。
- 然而,在现实世界中输入的元素是低熵的比如身份证号,手机号等。
- 上述低墒元素完全可以通过穷举进行攻击,获取数据。
4. 方法2:基于Diffie-Hellman的密钥交换
-
DH 密钥交换PSI[3]:
-
基础思想:各自加密然后交换。
-
隐藏非交集元素:加密非交集元素。
-
计算交集元素:交换属性。
-
效率:
- 与元素个数是线性关系。
- 任然是主流PSI的应用。
- 因为DH原语的提升会直接提升PSI,例如椭圆曲线。
-
5. DH密钥交换
-
离散对数问题(DLP):给出
四个大的正整数。假设满足
其中
是一个大素数,如果给出了
,如何找到
是一个困难问题。
-
计算
是简单的。
- 满足高效性。
-
但是通过
寻找
是困难的。
- 满足隐藏非交集元素。
-
基于DH的PSI,其假设是基于DLP问题的。
-
与
是相同的(交换)。
- 计算交集元素。
-
需要满足密码学中的一定苛刻条件才能满足困难问题密码。
-
6. 方法3:基于OPRF的PSI
-
协议[5]
- 发送者计算一个加密函数,然后将结果发送给接收者。
- 接收者通过与发送者交互计算一个相同的加密函数。
- 接收者比较发送者的输出结果与自己的结果。
-
隐藏非交集元素:
- 由加密函数保证:发送者不会知道接收者的数据,接收者不会知道加密函数。
-
计算交集元素:
- 通过加密函数后的数据可以进行计算。
-
效率:
- 大多数为高效的密码学操作,像是哈希或者对称密钥加密,只有小部分是非对称密钥操作。
7. OPRF(Oblivious Pseudo-Random Functions)
-
OPRF:发送者给定一个密钥
,输入接收者的元素。
- 计算
- 接收者知道
的输入,但不能知道密钥
。
- 发送者不能知道接收者的输入和输出。
- 计算
-
OPRF for PSI
-
接收者在自己的数据集上用发送者的密钥
评估OPRF。
- 接收者不能知道发送者的密钥
。、
- 发送者不能知道接收者的数据集。
- 接收者不能知道发送者的密钥
-
发送者在自己的数据集上评估OPRF并将结果发送给接收者。
-
接收者通过将自己的数据结果与发送者的结果进行对比。
-
-
安全:OPRF。
-
性能:高计算开销,因为每个数据都需要对比所以需要
次。
-
使用布谷鸟哈希和简单哈希提高性能:
- 接收者通过布谷鸟哈希将他们的元素插入到哈希表中。
- 发送者通过简单哈希将他们的元素插入到哈希表中。
- OPRF的计算和比较只需要对哈希表中的同一个栈进行比较。
-
-
KKPT PSI 协议
-
- OPRF大约需要
次计算。
- 接收者需要执行
次比较。
- OPRF大约需要
8. 两方半诚实安全PSI
-
应用:
- 黑/白名单,撞库等等。
-
除了应用以外还可以考虑哪些?
- 交集使用?
- 多方PSI?
- 计算模型?
- 安全模型?
- 非对称PSI?
-
交集使用
- 动机:
- 交集可能不属于PSI的参与方
- 数据可能属于其他人。
- 举例:
- Alice在银行A和银行B用她自己的身份证分别都开了一个账户。
- 如果两个银行进行PSI发现了账户Alice是可以的吗?
- 取决于Alice是否同意。
- 交集可能不属于PSI的参与方
- 挑战:交集的可用不可见
- case1:交集是秘密的,但交集的个数可以被使用。
- 方法:
- PHE+多项式评估[8]
- 洗牌后的基于DH的PSI[20]
- 方法:
- case2:交集是秘密的,我们需要计算的交集里的数据的附带信息是允许的。
- 方法:
- 基于电路的PSI[9]
- 使用半同态的DH-PSI[20]
- 方法:
- case3:交集是秘密的,但我们需要使用。
- 方法:
- FHE-PSI和差分隐私。[10]
- DH-PSI和差分隐私
- 方法:
- case1:交集是秘密的,但交集的个数可以被使用。
- 动机:
-
多方PSI
- 常规多方PSI
- 动机:
- 有
方参与。
- 有
- 挑战:
- 通过使用两两交集求多方交集,会导致两方的交集被看到,这不符合只有N方交集才能被看到的定义。
- 方法:
- PHE+多项式表示[8]
- OPPRF[11]
- 动机:
-
特殊多方PSI
- 动机:
- 想让其中两方的交集被其他的特殊方看到。
- 挑战:
- 情况不固定。
- 需要定制解决方案。
- 方法:
- 基于需求定制PSI协议。
- 动机:
- 常规多方PSI
-
计算模型
- 单陷门模型:
- 动机:
- 只有一方可以看到交集。
- 例如:
- 一个客户提交自己的联系人列表给一个新的社交媒体服务。
- 只有客户能看到交集,服务端不应该看到交集。
- 方法:
- 基于OPRF的PSI
- 动机:
- 互惠模型:
- 动机:
- 两方都能看到交集。
- 例如:两个银行想要找到共同的用户。
- 方法:
- DH-PSI
- 动机:
-
Outsourced/Delegated/Server-Aided PSI:
- 动机:
- 两方执行协议并且需要第三方帮助,但是第三方不可信。
- 挑战:
- 第三方帮助完成计算但不应该看到输出结果。
- 方法:
- 多项式表示+PHE+PRF[12]
- 动机:
- 单陷门模型:
-
安全模型
- 半诚实安全模型
- 动机:
- 简单,高效
- 大多数隐私计算PSI模型都是半诚实的模型。
- 挑战:
- 安全假设太强,也就意味着安全模型比较弱。
- 方法:
- 基于DH的PSI,OPRF[1][2][3][5]。
- 动机:
- 恶意PSI
- 动机:
- 提高安全。
- 该类安全假设更符合实际情况。
- 攻击人可以采取任意攻击。
- 挑战:
- 更多的计算和通信开销。
- 方法:
- 额外认证的PSI协议。[7][13]
- 动机:
- 半诚实安全模型
-
非对称PSI
- 动机:
- 有一方的元素比另一方多很多。
- 例如,客户和服务器模型。
- 大多数实际应用场景都需要非对称PSI。
- 挑战:
- 常规的PSI对于非对称PSI的应用效率会非常差。
- 方法:
- ECC-OPRF-PSI[21]
- FHE-PSI[14][15]
- 动机:
9. PSI最新进展
- 优化离线片段:
- 使用最新的OT[17]
- 将OT换位VOLE[6]
- 将布谷鸟哈希替换成新的:
- PaXos[13]
- OKVS[5]
- 支持交集上的安全计算:
- OPRF[9]
- 用差分隐私做PSI[10]
- 亿级计算
- 高带宽
- 高算力
- 分钟级别完成
- 最实用的隐私计算方法之一
10. PSI和其他隐私计算技术结合
- PSI+DP
- 方法:
- FHE-PSI+DP(Very inefficient)
- DH-PSI+DP
- 方法:
- PSI+MesaTEE
11. 参考文献
[1] Benny Pinkas, Thomas Schneider, Michael Zohner. Faster Private Set Intersection based on OT Extension, USENIX Security 2014
[2] Benny Pinkas, Thomas Schneider, Michael Zohner. Scalable Private Set Intersection Based on OT Extension, ACM Transactions on Privacy and Security, 2018
[3] Rakesh Agrawal, Alexandre V. Evfimievski, and Ramakrishnan Srikant. Information sharing across private databases. Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, 2003
[4] Emiliano De Cristofaro and Gene Tsudik. Practical private set intersection protocols with linear computational and bandwidth complexity, IACR Cryptology ePrint Archive, 2009:491, 2009
[5] Vladimir Kolesnikov, Ranjit Kumaresan, Mike Rosulek, and Ni Trieu. Efficient batched oblivious PRF with applications to private set intersection. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security,2016
[6] Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole, Advances in Cryptology - EUROCRYPT 2021, 2021
[7] Peter Rindal and Srinivasan Raghuraman. Blazing fast PSI from improved OKVS and subfield VOLE. IACR Cryptology ePrint Archive, 2022:320, 2022
[8] Lea Kissner and Dawn Song, Privacy-Preserving Set Operations, Crypto 2005.
[9] Benny Pinkas, Thomas Schneider, Oleksandr Tkachenko, and Avishay Yanai. Efficient circuit-based PSI with linear communication. Advances in Cryptology - EUROCRYPT 2019
[10] Bailey Kacsmar , Basit Khurram , Nils Lukas , Alexander Norton , Masoumeh Shafieinejad , Zhiwei Shang, Yaser Baseri , Maryam Sepehri, Simon Oya, Florian Kerschbaum, Differentially Private Two-Party Set Operations, 2020 IEEE European Symposium on Security and Privacy.
[11 ]Vladimir Kolesnikov, Naor Matania, Benny Pinkas, Mike Rosulek, and Ni Trieu. Practical multi-party private set intersection from symmetric-key techniques. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, 2017
[12] Abadi, Aydin, Sotirios Terzis, Roberto Metere, and Changyu Dong. Efficient Delegated Private Set Intersection on Outsourced Private Datasets, IEEE Transactions on Dependable and Secure Computing, 2017. [13] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. PSI from paxos: Fast, malicious private set intersection. Advances in Cryptology - EUROCRYPT 2020
[14] Hao Chen, Kim Laine, Peter Rindal, Fast Private Set Intersection from Homomorphic Encryption, ACM CCS 2017
[15] Hao Chen, Zhicong Huang, Kim Laine, Peter Rindal, Labeled PSI from Fully Homomorphic Encryption with Malicious Security, CCS 2018
[16] Giuseppe Ateniese, Emiliano De Cristofaro, Gene Tsudik. (If) Size Matters: Size-Hiding Private Set Intersection, PKC 2011
[17] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. Spot-light: Lightweight private set intersection from sparse OT extension. Advances in Cryptology - CRYPTO 2019
[18] Adam Groce, Peter Rindal, and Mike Rosulek, Cheaper Private Set Intersection via Differentially Private Leakage, PoPETS 2019
[19] MesaTEE, https://github.com/zjshen14/mesatee
[20] Mihaela Ion, Ben Kreuter, Ahmet Erhan Nergiz, Sarvar Patel, Shobhit Saxena, Karn Seth, Mariana Raykova, David Shanahan, Moti Yung, On Deploying Secure Computing: Private Intersection-Sum-with-Cardinality, EuroS&P, 2020
[21] Amanda Cristina Davi Resende and Diego de Freitas Aranha, Faster Unbalanced Private Set Intersection, FC2018