「隐语小课」Blazing Fast PSI 协议解读

简介: 「隐语小课」Blazing Fast PSI 协议解读


前言:隐私求交(Private Set Intersection, PSI)作为一种发展比较成熟的安全计算技术,在撞库、隐私数据对齐等许多现实场景中有广泛的应用。在近 2~3 年,得益于 (subfield) (Vector) Oblivious Linear Evauluation (sVOLE / VOLE/ OLE) 原语技术的发展,越来越多的研究人员希望使用其替换传统 PSI 中的 Oblivious Transfer (OT) 来进一步提升 PSI 性能。例如:

Peter Rindal and Phillipp Schoppmann. 2021. VOLE-PSI: Fast OPRF and Circuit-PSI from Vector-OLE. In EUROCRYPT 2021 [1]

Wutichai Chongchitmate, Yuval Ishai, Steve Lu, and Rafail Ostrovsky. 2022. PSI from Ring-OLE. In CCS '22 [2]

Srinivasan Raghuraman and Peter Rindal. 2022. Blazing Fast PSI from Improved OKVS and Subfield VOLE. In CCS '22 [3]

我们这篇文章着重介绍一下 2022 年 CCS 的文章 “Blazing Fast PSI from Improved OKVS and Subfield VOLE”。在具体介绍协议细节之前我们先看一下文中给出的新 PSI 性能与已有 PSI 性能比较(单线程、LAN、CPU=Intel i7 9750H、RAM=16GB、计算双方数据量相同)

在 2^20 = 1048576 大小的数据集上

新协议时间:0.37s

KKRT 协议时间:2.07s

Blazing Fast 文章使用了两个关键技术,相比于以往的 PSI 得到了比较好的通信性能提升。由于篇幅原因,本文不对以下两个技术的具体实现细节展开(感兴趣的小伙伴可以参考原论文),而是把重点放在解释如何使用这两种工具构建高效的 PSI 算法。

Subfield VOLE (Vector Oblivious Linear Evaluation) [6]

Improved OKVS (Oblivious Key-Value Store) 参考原始论文实现

注:本文中仅对半诚实模型下的协议进行了探讨,恶意安全协议请参考原始文章。

1.完整 PSI 协议流程

注意:在本文中,我们假设做 PSI 协议的两个参与方所持有的数据集大小是相等的。这样的假设更多的是为了方便我们进行复杂度的计算,并更容易与已有方案之间做比对。

本文大写字母表示矩阵,例如,大写字母 + 箭头表示向量,例如;为了大家的习惯,本文依旧使用X,Y分别表示 Receiver 数据集以及 Sender 数据集。

Blazing fast PSI 协议是建立在 OKVS-based PSI 框架之上的。Oblivious Key-Value Store 机构在 [4] 中被首次提出,并应用在高性能的 PSI 协议构建,具体 PSI 协议流程如下所示:

我们先给出上图黑盒调用模块的具体定义:

定义:OKVS (Oblivious Key Value Store)

编码函数,给定输入数据:,输出数据:

解码函数,给定输入数据:,输出数据:

Obliviousness性质,即:对于任意,以及均匀随机的,有:

常用的 Decoding “同态” 的 OKVS 定义(注:上图中的 OKVS-PSI 使用的就是 Linear OKVS)

Linear OKVS,假设是一个长度扩展 PRG

Encode 函数为乘法运算,即

Decode 函数为内积乘法运算

定义:VOLE (Vector Oblivious Linear Evaluation)

在计算结束后,其中一个参与方获得:有限域整数,向量

在计算结束后,另一个参与方获得: 向量 ,其中

我们首先来验证一下协议的正确性,由于 Correlation-Robust Hash 并不会影响正确性,因此我们只需要比对 Decoding 过程的安全性即可。

1.首先根据定义,我们有上图中的

2.那么 Sender 端的计算结果可以分步骤被拆解

我们可以看到,当那么,那么最终结果为,最终 decode 结果为与 Reciver 端一致。

而对于安全性来说,在半诚实的安全模型下,我们需要保证在时,Receiver端收到的与任意一个随机的无法区分。而由于我们使用了 Random Oracle ,因此可以保证安全性。

注:此处属于安全性描述,并不严谨,请参考原始原始论文中的形式化安全证明。

2. 使用 Subfield VOLE 进行性能提升

VOLE 的具体定义如下图所示,而 Subfield VOLE 属于一种特殊的 VOLE,其在调用时需要设定参数:一个“比较小”的域和一个“比较大”的域,而通常在 VOLE 里面我们会设定

在计算结束后,其中一个参与方获得:有限域整数,向量

在计算结束后,另一个参与方获得: 向量,其中

例:某些 Subfield VOLE 应用会设定,以及

结合 OKVS-PSI 的原协议,我们可以发现可以在不影响安全性的前提下将图中 VOLE 修改为 subfield VOLE,好处是:

Subfield VOLE 的构造速度比 VOLE 快

可以有效减少 产生的 Online 通信(从

OKVS 的 Encode 发生在比较小的有限域

那么我们应该如何选取

由于OPRF最终的结果在上,为了保证较小的OPRF碰撞概率,因此需要。再者,我们同样需要保证(这里为计算安全参数)

3. 结尾

在学术界,PSI 协议近两年处于快速进步的时间点,隐语致力于对用户提供易用的、稳定的、可证安全的高性能密码模块,请期待隐语后续的更新。

Reference

[1] Peter Rindal and Phillipp Schoppmann. 2021. VOLE-PSI: Fast OPRF and Circuit-PSI from Vector-OLE. In Advances in Cryptology – EUROCRYPT 2021: 40th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, October 17–21, 2021, Proceedings, Part II. Springer-Verlag, Berlin, Heidelberg, 901–930. https://doi.org/10.1007/978-3-030-77886-6_31

[2] Wutichai Chongchitmate, Yuval Ishai, Steve Lu, and Rafail Ostrovsky. 2022. PSI from Ring-OLE. In Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS '22). Association for Computing Machinery, New York, NY, USA, 531–545. https://doi.org/10.1145/3548606.3559378

[3] Srinivasan Raghuraman and Peter Rindal. 2022. Blazing Fast PSI from Improved OKVS and Subfield VOLE. In Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS '22). Association for Computing Machinery, New York, NY, USA, 2505–2517. https://doi.org/10.1145/3548606.3560658

[4] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. 2020. PSI from PaXoS: Fast, Malicious Private Set Intersection. In Advances in Cryptology – EUROCRYPT 2020: 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10–14, 2020, Proceedings, Part II. Springer-Verlag, Berlin, Heidelberg, 739–767. https://doi.org/10.1007/978-3-030-45724-2_25

[5] Garimella, G., Pinkas, B., Rosulek, M., Trieu, N., Yanai, A. (2021). Oblivious Key-Value Stores and Amplification for Private Set Intersection. In: Malkin, T., Peikert, C. (eds) Advances in Cryptology – CRYPTO 2021. CRYPTO 2021. Lecture Notes in Computer Science(), vol 12826. Springer, Cham. https://doi.org/10.1007/978-3-030-84245-1_14

[6] Couteau, G., Rindal, P., Raghuraman, S. (2021). Silver: Silent VOLE and Oblivious Transfer from Hardness of Decoding Structured LDPC Codes. In: Malkin, T., Peikert, C. (eds) Advances in Cryptology – CRYPTO 2021. CRYPTO 2021. Lecture Notes in Computer Science(), vol 12827. Springer, Cham. https://doi.org/10.1007/978-3-030-84252-9_17


相关文章
|
数据采集 缓存 安全
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
1109 0
|
机器学习/深度学习 安全 算法
技术焦点篇|Cheetah猎豹及其在隐语中的实现
技术焦点篇|Cheetah猎豹及其在隐语中的实现
1308 1
|
编解码 算法 安全
瓴羊Dataphin隐私计算:数据安全流通方案-开源项目mpc4j
瓴羊Dataphin隐私计算:数据安全流通方案-开源项目mpc4j
691 0
|
算法 安全 数据挖掘
如何更轻松地学习差分隐私——《动手学差分隐私》中文版正式发布!
2022年10月28日,阿里巴巴集团数据技术及产品部DataTrust团队成员刘巍然、李双为差分隐私在线书籍《动手学差分隐私(Programming Differential Privacy )》提供的中文翻译版本正式被原著作者Joseph P. Near和Chiké Abuah合并到书籍GitHub仓库(https://github.com/uvm-plaid/programming-dp/)中
2501 0
如何更轻松地学习差分隐私——《动手学差分隐私》中文版正式发布!
|
算法 安全 大数据
隐私计算实训营第5讲-------隐私求交和隐语PSI介绍以及开发实践
隐私求交(Private Set Intersection, PSI)是利用密码学技术在不暴露数据集以外信息的情况下找到两集合的交集。隐语SPU支持三种PSI算法:ECDH(适合小数据集)、KKRT(基于Cuckoo Hashing和OT Extension,适合大数据集)和BC22PCG(使用伪随机相关生成器)。ECDH基于椭圆曲线 Diffie-Hellman,KKRT利用OT Extension实现高效处理,而BC22PCG通过压缩满足特定相关性的随机数减少通信量。此外,还有基于Oblivious Pseudo-Random Function (OPRF)的PSI协议。
1139 0
|
机器学习/深度学习 SQL 人工智能
隐私计算框架“隐语”介绍及展望(附ppt)
隐私计算框架“隐语”介绍及展望(附ppt)
971 0
|
存储 算法 安全
「隐语小课」伪随机相关生成器与 OT/VOLE
「隐语小课」伪随机相关生成器与 OT/VOLE
2198 0
|
API 数据库
课6-匿踪查询和隐语PIR的介绍及开发实践
隐匿查询(PIR)允许用户从服务器检索数据而不暴露查询内容。类型包括单服务器与多服务器方案,以及Index PIR和Keyword PIR。隐语支持SealPIR用于单服务器Index PIR,压缩查询并支持多维和多查询处理。另外,它采用Labeled PSI实现单服务器Keyword PIR,优化了计算和通信效率,基于微软代码并扩展了功能,如OPRF、特定ECC曲线支持和预处理结果保存。隐语提供的PIR相关API包括`spu.pir_setup`和`spu.pir_query`。
课6-匿踪查询和隐语PIR的介绍及开发实践
|
数据安全/隐私保护
课5-隐私求交和隐语PSI介绍及开发实践
Alice和Bob分别创建了CSV文件`alice_psi_input.csv`和`bob_psi_input.csv`,包含姓名和年龄数据。他们使用SecretFlow库执行隐私保护集合求交(PSI)协议,版本v1和v2,通过ECDH_PSI_2PC或PROTOCOL_ECDH协议,不泄露原始数据。在PSI过程中,双方找出共享的姓名,结果发送给Alice。
|
Ubuntu Linux Docker
课4-隐语SecretFlow、SecretNote安装部署
SecretFlow是支持Python 3.8及以上版本的隐私计算框架,兼容CentOS 7、Anolis8、Ubuntu 18.04等等。它提供两种安装包:所有需求的大体积`secretflow`和仅含基础功能的小体积`secretflow-lite`。用户可通过Docker、pip或源码安装。安装后,可使用Docker镜像在本地部署,并通过Ray进行集群仿真。更多详细信息和部署指南可在官方手册中找到。此外,SecretFlow还提供了类似Jupyter Notebook的SecretNote工具,实现多节点代码自动执行和跟踪。

热门文章

最新文章