摘要:PSI全称隐衷爱护汇合交加(Private Set Intersection, PSI),是指持有数据的两方可能计算失去单方数据汇合的交加局部,而不裸露交加以外的任何数据汇合信息。
本文分享自华为云社区《浅谈PSI隐衷汇合求交》,原文作者:tics神奇海螺 。
1、简介
PSI全称隐衷爱护汇合交加(Private Set Intersection, PSI),是指持有数据的两方可能计算失去单方数据汇合的交加局部,而不裸露交加以外的任何数据汇合信息。
PSI通常具备以下三个特点:
- 半可信场景:数据单方不违心裸露所有数据,仅心愿求得数据汇合交加
- 数据最小化:除了数据汇合交加以外的数据不能泄露给任意一方
- 平安单方计算:参加计算的单方须要独特实现一套平安的计算协定,以保证数据的安全性。
PSI有多种实现形式,以下是一些常见的实现形式及复杂度。
2、简略案例
依据两方抉择的数据和惟一标识数据的字段(能够了解为主键,例如id、身份证、手机号),找到两方数据集共有的记录,并按一样的顺序排列存储为对齐后果。
例如:A、B两方有两张表a和b,别离为
表a 人员贷款表:
表b 生产汇总表:
单方通过身份证字段进行PSI,计算出最初共有的记录是标红的三条,后果如下:
在此过程中,A方不心愿B方晓得交加数据的银行卡贷款,B方也不心愿A方晓得交加数据的年消费额等数据,同时A方也不该晓得B方还有“01234”身份证的用户,反之亦然。单方应该只晓得后果中的身份证是数据汇合的交加。
3、技术原理
以下简略介绍一下应用伪随机函数实现的PSI。
假如有两方A、B,别离有X、Y数据id汇合。
- H()是指A、B单方对本人的数据id汇合做一次hash,确保两方PSI计算数据等长
- B方应用伪随机函数生成的随机因子r,乘以本人的H(Y),并发给A方
- A方应用伪随机函数生成的密钥k,别离乘以本人的H(X)和B方发送过去的B1失去A和B2,再把两个计算结果都发送给B方
- B方在应用随机因子r的逆r-1乘以B2,消去随机因子r,失去B
- A和B应用雷同的密钥k加密,即可进行密文比拟计算交加。
4、利用场景
计算广告的实际效果
线上广告是一种重要的广告模式。对于广告的无效水平的掂量的常见办法是计算所谓的转换率,也就是浏览广告的用户中有多少用户最终浏览了相应的商品页面,或是最终购买了相应的商品或是服务。一种通用的计算方法是由计算浏览广告的用户信息(由广告发送方占有)和实现相应交易的用户信息(由商家占有)的交加来计算(如计算交易总额或是总交易量等)。
寻找联系人
当一个用户注册应用一种新的服务(如微信、Whatsapp 等)的时候,从用户的现有联系人中寻找有哪些曾经注册了同类的服务是一种在大多数状况下十分必要的操作。通过将用户的联系人发送给服务提供商能够无效地实现这项性能,然而与此同时用户的联系人信息,一种在大多数状况下被认为是隐衷的信息,也被裸露给服务提供商了。因而在这种场景下,将用户的联系人信息作为一方的输出,将服务提供商的所有用户信息作为另一方的输出来进行PSI 协定能够实现发现联系人的性能,而且能够避免交加以外的信息泄露给任何一方。
联邦学习样本对齐
在联邦学习发动训练之前,必须基于单方的数据进行PSI,应用单方共有的用户信息(例如用户ID)找出交加,从而对应两方数据的特色和标签,在对齐的数据集上进行模型训练才有意义。
5、参考
隐衷爱护汇合求交技术PSI — 晓鹿(https://blog.alienx.cn/2020/1...
崔泓睿,刘天怡,郁昱,程越强,张煜龙,韦韬:多方平安计算热点-隐衷爱护汇合求交技术(PSI)剖析钻研报告 (https://anquan.baidu.com/uplo...
点击关注,第一工夫理解华为云陈腐技术~