目录
首先必须感谢蚂蚁集团及隐语社区带来的学习机会!
第六课也是由张磊和冯骏老师讲述,核心内容是隐语实现的PIR协议及其开发实践
隐匿查询PIR全称Private Information Retrieval,典型场景是用户需要在一个数据库服务器里查询一些数据,但是不希望服务器知晓查询的内容,保护查询者的隐私。
隐匿查询和不经意传输比较类似,但是差别在于:隐匿查询场景通常假设数据库是不用保密的(最简单的PIR实现方法就是把数据库下载到本地进行查询,当然一般由于数据库太大或者数据价值保护的原因不会这样做),而不经意传输是只能得到想要的那个数据,无法得到其他数据。
1、PIR协议的分类
(1)按服务器数量:
- 单服务器方案:通常是计算安全性,较为实用,研究的主流
- 多服务器方案:可以实现理论安全性,常使用秘密分享的思想来实现
(2)按查询类型分类:
- 基于索引的PIR(Index PIR):查询方需要知道待查询的数据的“位置”,即index
- 基于关键字的PIR(Keyword PIR):理解为(key,value)对,返回对应key的value值
2、基于索引的PIR协议
2.1 核心思想
利用同态加密可以比较简单地实现基于索引的PIR,假设数据库中有n个数据,你要想得到第i个数据,则通过同态加密算法(目前还不需要知道到底使用哪种算法)对长度为n的0和1组成的向量按分量分别进行加密,只有第i个位置上分量为1,其他的分量都为0。服务器收到加密的向量后,与数据库中的n个数据组成的向量进行内积计算,并返回给查询者密文结果。查询者解密这个密文就得到了对应的第i个数据。
正确性:根据内积计算和同态加密原理,密文结果只是保留了第i个数据,丢弃了其他数据;
隐私性:由于查询向量进行了同态加密,服务器不能知晓查询的到底是哪一个数据。
2.2 实现上的优化
主要问题:查询向量是n和密文组成的向量,同态加密的密文又比较长,这样造成查询请求发送时数据量太大!
优化方法:
(1)数据打包:服务器将多个数据打包成一个同态加密的明文数据HE Plaintext,原始查询的db_index转换为plaintext_index
(2)查询压缩:为了减少查询向量的通信量,将查询向量压缩成一个密文,服务器有相应的展开(expand)操作还原出查询密文向量
(3)多维查询:2维的查询将数据为维的矩阵,减少expand的计算量
(4)多个查询:使用Cuckoo哈希支持多个查询
(5)同态加密:使用BFV算法,使用SEAL算法库:https://github.com/microsoft/SEAL
文献出处:PIR with compressed queries and amortized query processing, SP 2018.
3、基于关键字的PIR协议
基于关键字的PIR实际上是利用Label PSI,把keyword对应的value作为Label PSI算法中的Label,keyword命中后得到对应的value值,如果没命中则返回随机值。
3.1 核心思想
Label PSI的核心思想就是插值多项式,具体地,利用一个匹配多项式来验证查询的keyword是否命中数据库中的某个keyword,如果命中则输出对应插值多项式的值,插值多项式满足对于keyword的输入,输出为对应的value值。原理如下:
3.2 实现上的优化
实际上为了提高效率会使用很多别的优化技巧:
(1)打包和SIMD技术:SIMD使得可以一次性发送多个数据加密后的密文给发送方
(2)窗口化方法:发送平方幂及高次幂服务器,以便于服务器更高效地计算同态密文。对数据进行分块,以避免计算的同态多项式的次数过高。
(3)Extremal postage stamp基
可以比窗口化方法进一步减少通信量。
(4)特定的乘法算法:Paterson-Stockmeyer 算法
文献出处:
(1)CLR17:Fast Private Set Intersection from Homomorphic Encryption 给出了使用全同态(Level Full Homorphic Encryption) 构造PSI的方法,并给出了优化方法。
(2)CHLR18:Labeled PSI from Fully Homomorphic Encryption with Malicious Security 中提出在预处理阶段使用不经意随机函数(OPRF)对原始数据进行安全加强。
(3)CMGD+21:Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication给出了具体的参数优化方法,减少了在线阶段计算和通信量。
4、PIR后续更高效的协议
参考论文:
(1)Spiral PIR论文:Spiral: Fast, High-Rate Single-Server PIR via FHE Composition, 2022
(2)Simple PIR论文:One Server for the Price of Two:Simple and Fast Single-Server Private Information Retrieval,2023
5、下面分享Slides