其他
云辅助隐私集合求交(Server-Aided PSI)协议介绍
本文作者:神谱科技(小海Cryptology)
云计算平台作为不可信第三方服务提供商使用; 各参与方将私有数据通过一系列加密或盲化处理(如同态加密、伪随机函数、密码安全hash函数、噪声因子等)后上传到云计算平台; 云计算平台在密文上完成集合交集(集合交集基数)计算,并返回结果。
例如两个具有一定计算能力的服务商之间需要计算集合交集,通过加入一个不可信的云计算平台提供重新编码功能帮助服务器仅通过伪随机函数实现PSI协议的安全性。(图4左) 例如设备受限的客户端 C 将计算外包给云计算平台H与有一定计算能力的服务商 S 之间计算集合交集。(图4中)
例如参与方均为设备受限的客户端无法支撑百万数据的存储和计算,参与方均将数据外包给云计算平台,云计算平台存储和计算交集再将结果返回参与方。(图4右)
服务器1随机选择两个密钥 作为伪随机函数(Pseudorandom function,PRF) 的密钥。发送 给云计算平台,发送 给服务器2。 服务器2采用密钥 计算集合 的伪随机值 ,发送给云计算平台。云计算平台不知晓密钥 ,伪随机值 随机不可区分. 云计算平台采用密钥 计算集合 的伪随机值 ,将 发送给服务器2。服务器2不知晓密钥 ,伪随机值 随机不可区分. 服务器1采用密钥 计算集合X的伪随机值得到 ,将 发送给服务器2.服务器2比较 和 得到交集结果。
弱客户端随机选择短种子r,seed发送给强服务器,双方通过PRG得到相同的随机字符串。 对于每一个 ,弱客户端采用随机种子seed生成随机数 ,盲化 发送给云计算平台。 云计算平台和强服务器执行以BaRK-OPRF的OTE作为安全支撑框架的Otd-OPRF.强服务器输出密钥 . 强服务器本地计算 的Otd-OPRF: 如果 和 相等则 和 相等。发送多项式 给云计算平台。 云计算平台插值 得到与 相对应的随机值 并发给弱客户端。 弱客户端比较 得到交集。
弱客户端随机选择一个密钥K发送给各弱客户端 ; 弱客户端 采用密钥 加密集合 并进行混淆打乱得到 ; 云计算平台计算交集 并返回给各方; 弱客户端本地解密得到交集。
将随机密钥 替换为两个随机密钥 和 对集合进行加密; 云计算平台计算出交集结果后公开承诺交集结果,保证 在后续无法更改; 弱客户端 发送 给云计算平台进行验证,若 和打开集一致,则云计算平台公开交集 。
弱客户端A、B分别采用朴素hash算法将集合 、 插入朴素hash表 . 弱客户端A、B分别对朴素hash表 进行盲目:以弱客户端A为例对于hash表第j行选择同一个密钥 ,对第j行i列元素生成伪随机值 进行盲化 。将盲化值表示为向量 传输给云计算平台。
弱客户端A发送主密钥 和id 给弱客户端B 若B同意,则B随机选取新密钥tk1,计算伪随机值 ,构造一个 阶伪随机多项式 ,盲化多项式得到 ,将向量q ⃗和 发送给云计算平台。
云计算平台计算 . 随机选取新密钥tk2,计算伪随机值 ,构造 计算 云发送向量 给弱客户端A
计算 通过插值 到对应bin的多项式看是否为多项式的根判断是否为交集。
END
往期推荐: