当前位置 : 主页 > 编程语言 > 其它开发 >

云辅助隐私集合求交(Server-Aided PSI)协议介绍:学习

来源:互联网 收集:自由互联 发布时间:2022-06-29
原文来自:云辅助隐私集合求交(Server-Aided PSI)协议介绍,下面学习一波,并记录一些笔记。 背景 总结: 1、 PSI-CA和PSI相比,前者在乎的是交集的大小,后者在乎的是交集本身 。另外

原文来自:云辅助隐私集合求交(Server-Aided PSI)协议介绍,下面学习一波,并记录一些笔记。

背景

image
总结:
1、PSI-CA和PSI相比,前者在乎的是交集的大小,后者在乎的是交集本身。另外扩展一下,阈值PSI在乎的是交集大小与阈值的关系(不关心交集大小、交集本身,只想要知道答案:是/否)
2、云辅助,字面意思就是借助云进行PSI。
3、另外这里的Cardinality,这里理解为“基数”,我更愿意理解为“势”!

云辅助PSI的需求

image
总结:
1、当前工业级的PSI,肯定都是云辅助下的。
2、借助第三方云计算平台,性能(计算和通信)确实提升了,下面得重点考虑安全了!

云辅助PSI应用场景

image
image
总结:
1、第三方云计算平台是不可信的,数据需要盲化(加密、hash、加噪音、编码、PRF等)存储
2、在第三方云计算平台完成秘密求交,返回本地后去盲得到计算结果。
3、出现除参与者之外的第三方,还需要考虑合谋问题。
4、加入抗合谋后的协议主要用于两类场景:
(1)云平台和拥护交集完成PSI计算
(2)PSI计算完全放在云平台,用户只负责上传数据和处理计算结果

云辅助PSI具体协议

根据上面两类场景,下面介绍具体协议,其中场景(1)又可分为两种(Client-Server,Server-Server),场景(2)为(Client-Client

S-S

image
image
分析:
1、该协议只用了PRF实现PSI,效率(计算和通信)肯定是高,但高安全性就很难保证了
2、两方中,需要两个密钥,即两次PRF。
3、这里云平台用了“洗牌”技术,打乱了伪随机值的顺序,使得服务器2逐个计算判断是否有相同的,但不确定位置,只能确定相同的个数,即交集的势

C-S

image
分析:
1、通过多项式插值和otd-OPRF实现PSI
2、这里的Otd-OPRF使得,若\(x=y\),则\(F(k,x)=F(k,y)\)。在云平台和强S之间执行OPRF
3、在强S中将伪随机值和随机数\(r\)插值成多项式发给云平台
4、云平台带入弱S的伪随机值,得到key,返回给弱S
5、弱S比较对应的随机值是否一样,判断交集。
6、云平台通过“洗牌”打乱随机值顺序,只能比较有一个重复的,不能判断具体是哪一个,所以只能得到交集的势。

扩展

1、伪随机生成器/pseudorandom generator/PRG
主要参考:现代密码学3.3--伪随机生成器/PRG
功能:能用“短的、均匀的”字符串(seed) 生成 “长的,看起来均匀的”字符串

2、密钥为 (s, k) 的不经意伪随机函数:BaRK-OPRF
image
\(x=y\),则可以消去\(C(.)\wedge s\),得到OPRF值;否则,就是一个随机数。

3、不经意两方分布式伪随机函数 (oblivious two-party distributed pseudorandom function, Otd-PRF)
image
其中,\(C()\)是具有XOR同态性的线性编码函数;\(\wedge\)表示按比特与(AND)。
这里若\(x_1=x_2\),则\(F_s(k,y)=t=F(k,x_1\bigoplus x_2)\)

C-C

image

分析:
1、这里具体如何计算PSI,加密是对称/流加密,还需看原论文!
2、在云平台计算出密态交集结果,分发给个参与方,各自解密。
3、当需增填/删除参与者时,需要重新协商密钥。另外密钥是一个参与方生成的,安全能否保证?

可验证

存在第三方云平台,就会存在恶意行为,比如:云计算平台返回任意结果作为交集(例如仅返回部分交集元素、返回空交集、返回输入集(认为所有元素都是交集)),所以需要参与方可以验证结果(完整性)。

C-C 恶意(云平台)

image
分析:
1、这里使用了\(D_0,D_1,D_2,公共数据\)D_0\(防止云平台返回空交集;\)D_i\(防止云平台方返回全部输入集(怎么输入,怎么输出) 2、参与者将数据\)S_i\(复制\)r\(份,每份后串接\)r$,防止云平台仅返回部分交集元素。


这点不太理解,,


恶意(云平台、参与方)

上面说的恶意的云品台,若是存在恶意的参与者,即提供一个错误的输入,导致获得一个无效的输出,但恶意参与者还是能获得有效交集。
image
分析:
1、“提供一个错误的输入,导致获得一个无效的输出,但恶意参与者还是能获得有效交集”,这个怎么理解?
2、改造后的协议,增加了各参与方可以籽云平台上验证。具体验证方法还得看论文!
3、这里为什么用到\(K_1.K_2\),回看论文!


待补充


可验证,可重复,可决定

下面协议实现了云计算平台的全部理想功能:
(1)计算交集的任务完全委托给云计算平台
(2)一旦数据集加密外包后即可进行无数次的PSI计算,无需对数据集再次加密和上传
(3)同时弱客户端具有允许哪些弱客户端使用他们集合的决定
image
image
分析:
1、数据外包阶段,就是数据处理阶段,先将数据hash,填入到hash表中,同一行使用相同密钥计算PRF,然后对每个元素(第\(j\)\(i\)列)的伪随机值(PRF值)进行盲化,将盲化值“串成”向量发送给云平台
2、这部分符号有些乱,需要去看原文【Improved secure efficient delegated private set intersection】


待补充


可更新

以上PSI协议中上传到云计算平台的数据均为静态数据不可更新,下面实现云计算平台全部理想功能外还实现了加密数据可更新的功能:
image
分析:
1、加入更新操作,使用BF(布隆过滤器)
2、看起来比较复杂,后面再看原论文【Feather: lightweight multi-party updatable delegated private set intersection】。


待补充


总结

1、给出云-PSI求交、求势的具体协议
2、给出云-PSI中恶意攻击的解决办法(三种情况)
3、给出可更新数据的云-PSI。

上一篇:netty系列之:在netty中实现线程和CPU绑定
下一篇:没有了
网友评论