Skip to main content
QUICK REVIEW

[论文解读] Asymmetric Private Set Intersection with Applications to Contact Tracing and Private Vertical Federated Machine Learning

Nick Angelou, Ayoub Benaissa|arXiv (Cornell University)|Nov 18, 2020
Privacy-Preserving Technologies in Data参考文献 38被引用 22
一句话总结

本文提出一个开源的多语言库,用于非对称私有集合交集(PSI)和私有集合交集基数(PSI-C),结合基于DDH的密码学与布隆过滤器压缩技术,以减少通信开销。该库支持C++、C、Go、JavaScript、Python、Rust及WebAssembly,适用于x86和浏览器环境,实现高性能且跨语言开销极小,支持端到端数据保护的隐私保护型联系人追踪与垂直联邦学习。

ABSTRACT

We present a multi-language, cross-platform, open-source library for asymmetric private set intersection (PSI) and PSI-Cardinality (PSI-C). Our protocol combines traditional DDH-based PSI and PSI-C protocols with compression based on Bloom filters that helps reduce communication in the asymmetric setting. Currently, our library supports C++, C, Go, WebAssembly, JavaScript, Python, and Rust, and runs on both traditional hardware (x86) and browser targets. We further apply our library to two use cases: (i) a privacy-preserving contact tracing protocol that is compatible with existing approaches, but improves their privacy guarantees, and (ii) privacy-preserving machine learning on vertically partitioned data.

研究动机与目标

  • 解决现有实际部署中缺乏支持PSI与PSI-C的跨平台、多语言PSI库的问题。
  • 通过基于布隆过滤器的服务器端数据压缩,降低非对称PSI场景下的通信复杂度。
  • 在联系人追踪和垂直划分的机器学习等敏感领域,实现隐私保护协议的实际部署。
  • 提供生产就绪的开源实现,对现代编程语言和浏览器环境提供第一等支持。
  • 通过两个真实用例(隐私保护型联系人追踪与安全垂直联邦学习)证明该库的实用性。

提出的方法

  • 协议采用基于DDH的PSI框架,并在服务器端使用布隆过滤器压缩加密集合,从而在非对称设置中减少通信量。
  • 客户端发送随机密钥并查询布隆过滤器以识别潜在交集,服务器则返回与过滤器匹配的加密元素。
  • 通过调整布隆过滤器参数控制误报率,协议在DDH假设下保证安全性,并通过公开参数的正确模拟实现。
  • 该库在C++、C、Go、JavaScript、Python和Rust中提供绑定,并可编译为WebAssembly以在浏览器中执行。
  • 为提升性能,实现采用Protocol Buffers进行序列化,并在C++核心中利用优化的椭圆曲线运算。
  • 还实现了使用戈洛姆压缩集合的更高效通信变体,但未在主要实验中进行完整评估。

实验结果

研究问题

  • RQ1能否构建一个支持多语言、跨平台的PSI库,在非对称设置中保持强隐私保障的同时最小化通信开销?
  • RQ2在实际部署中,面对大规模服务器端数据集,基于布隆过滤器的压缩在降低PSI通信成本方面有多高效?
  • RQ3在不同编程语言和执行环境(包括浏览器)中,性能能在多大程度上得以保持?
  • RQ4该库能否实现实用的、隐私保护型联系人追踪,且优于现有协议?
  • RQ5PSI能否有效集成到垂直联邦学习流程中,以在模型训练过程中保护原始数据?

主要发现

  • 由于语言绑定开销极小,C++、C、Go和Python版本的性能几乎完全一致,执行时间主要由椭圆曲线运算决定。
  • WebAssembly和JavaScript版本在现代浏览器上的性能开销低于10倍于原生C++,10万元素的客户端计算时间少于3分钟。
  • 在线阶段的总通信量显著低于最接近的先前工作(Kales等[26]),尽管由于Protocol Buffer序列化,设置消息大小略高。
  • 对于100万服务器元素和1000个客户端元素,设置消息大小为241.54 MiB,误报率为10^-9。
  • 该库支持所有主流平台和编程语言,是首个提供如此广泛语言与平台覆盖的PSI库。
  • 使用戈洛姆压缩集合的更高效通信变体相比布隆过滤器可减小数据结构大小,但完整评估留待未来工作。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。