浅谈PSI隐私集合求交

举报
tics神奇海螺 发表于 2021/05/13 17:36:53 2021/05/13
【摘要】 1      简介PSI全称隐私保护集合交集(Private Set Intersection, PSI),是指持有数据的两方能够计算得到双方数据集合的交集部分,而不暴露交集以外的任何数据集合信息。PSI通常具有以下三个特点: 半可信场景:数据双方不愿意暴露所有数据,仅希望求得数据集合交集 数据最小化:除了数据集合交集以外的数据不能泄露给任意一方 安全双方计算:参与计算的双方需要共同实现一套...

1      简介

PSI全称隐私保护集合交集(Private Set Intersection, PSI),是指持有数据的两方能够计算得到双方数据集合的交集部分,而不暴露交集以外的任何数据集合信息。

PSI通常具有以下三个特点:

  1. 半可信场景:数据双方不愿意暴露所有数据,仅希望求得数据集合交集
  2. 数据最小化:除了数据集合交集以外的数据不能泄露给任意一方
  3. 安全双方计算:参与计算的双方需要共同实现一套安全的计算协议,以保证数据的安全性。

PSI有多种实现方式,以下是一些常见的实现方式及复杂度。


2      简单案例

根据两方选择的数据和唯一标识数据的字段(可以理解为主键,例如id、身份证、手机号),找到两方数据集共有的记录,并按一样的顺序排列存储为对齐结果。

例如:AB两方有两张表ab,分别为

a 人员存款表:

姓名

身份证

银行卡存款

tom

123

200000

jerry

456

30000

hank

789

5000

wang

54321

0

 

b 消费汇总表:

身份证

是否vip会员

年消费

789

1

4000

01234

0

500

11111

1

6000

456

0

5000

123

1

10000

 

双方通过身份证字段进行PSI,计算出最后共有的记录是标红的三条,结果如下:

123

456

789

 

在此过程中,A方不希望B方知道交集数据的银行卡存款,B方也不希望A方知道交集数据的年消费额等数据,同时A方也不该知道B方还有“01234”身份证的用户,反之亦然。双方应该只知道结果中的身份证是数据集合的交集。

 

3      技术原理

以下简单介绍一下使用伪随机函数实现的PSI


假设有两方AB,分别有XY数据id集合。

  1. H()是指AB双方对自己的数据id集合做一次hash,确保两方PSI计算数据等长
  2. B方使用伪随机函数生成的随机因子r,乘以自己的H(Y),并发给A
  3. A方使用伪随机函数生成的密钥k,分别乘以自己的H(X)B方发送过来的B1得到AB2,再把两个计算结果都发送给B
  4. B方在使用随机因子r的逆r-1乘以B2,消去随机因子r,得到B
  5. AB使用相同的密钥k加密,即可进行密文比较计算交集。

 

4      应用场景

  • 计算广告的实际效果

线上广告是一种重要的广告形式。对于广告的有效程度的衡量的常见方法是计算所谓的转换率,也就是浏览广告的用户中有多少用户最终浏览了相应的商品页面,或是最终购买了相应的商品或是服务。一种通用的计算方法是由计算浏览广告的用户信息(由广告发送方占有)和完成相应交易的用户信息(由商家占有)的交集来计算(如计算交易总额或是总交易量等)。

  • 寻找联系人

当一个用户注册使用一种新的服务(如微信、Whatsapp 等)的时候,从用户的现有联系人中寻找有哪些已经注册了同类的服务是一种在大多数情况下十分必要的操作。通过将用户的联系人发送给服务提供商可以有效地完成这项功能,但是与此同时用户的联系人信息,一种在大多数情况下被认为是隐私的信息,也被暴露给服务提供商了。因此在这种场景下,将用户的联系人信息作为一方的输入,将服务提供商的所有用户信息作为另一方的输入来进行PSI 协议可以完成发现联系人的功能,而且可以防止交集以外的信息泄露给任何一方。

  • 联邦学习样本对齐

在联邦学习发起训练之前,必须基于双方的数据进行PSI,使用双方共有的用户信息(例如用户ID)找出交集,从而对应两方数据的特征和标签,在对齐的数据集上进行模型训练才有意义。

5     参考

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。