我的隐私计算学习——隐私集合求交(1)

news2025/2/22 18:16:39

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具,经由自己阅读后整理而成。

(一)PSI的介绍

隐私计算关键技术:隐私集合求交(PSI)原理介绍

隐私计算关键技术:隐私集合求交(PSI)的性能扩展

笔记分享 | 组队学习密码学 —— 隐私求交的关键路径及其应用

笔记分享 | 组队学习密码学 —— 隐私求交之不经意的伪随机函数构造

​ 隐私集合求交( Private Set Intersection,PSI)是多方安全计算领域中的经典问题,它要求参与方在互相不公开本地集合的前提下,共同计算得出多个参与方的集合的交集,且不能向任何参与方泄露交集以外的信息。

​ 在纵向联邦学习场景中,PSI 也被称为样本对齐 ( Sample Alignment ) 或者数据库撞库,即各参与方需要首先求出各自的训练样本 ID 集合之间的交集,基于计算得到的训练样本 ID 交集进行后续的纵向联邦模型训练。

样本对齐概念

​ 样本对齐是纵向联邦学习中不可或缺的一环。纵向联邦学习的样本分属于不同的组织,各个组织的样本的覆盖范围各有差异,所以需要找出参与方 A 与参与方 B 共有的训练样本 ID,且除了A和B双方共有的样本 ID(例如,一家银行和另一家电商共同的客户的 ID,可以用手机设备号的哈希值作为客户的 ID 标识,找出交集,以外,不能泄露其他样本 ID 给彼此。这个过程需要用到加密样本 ID 对齐机制。交集的方式一般是通过 Join 键(比如 ID 证件号),这些敏感信息不适合直接进行交集的计算,需要进行签名处理,并且要保障不被破解。样本对齐的方式有多种,例如基于映射的散列算法、比特承诺,基于RSA加密体系的茫然传输等。

​ 隐私集合求交技术通常是基于 ID 来实现交集的计算,即在计算的过程仅通过样本集的 ID 列参与计算,在求得 ID 集合的交集后,再同步相对应的特征标签列给其他参与方或是仅在节点内同步特征列为后续的其他计算做准备。

image-20230513205344999

(二)PSI的方法

    1. 基于 Diffie-Hellman 密钥交换的 DH 算法(公钥)

      image-20230516164405375

    1. 基于盲签名的 Blind-RSA 算法(公钥)

      以基于 RSA 盲签名和哈希算法的 PSI 技术为例,简单介绍其工作原理:

      image-20230306191653759

RSA 计算复杂度较高,协议中 RSA 的计算次数会随着数据量的增大呈线性增长,使得基于 RSA 的求交方法,在数据量较大时会产生性能问题。由于 RSA 盲签名算法在运行时只对一端的数据进行 RSA 加密,使得在求交数据量级差距较大时,可以把数据量较小的一端作为 Client 端,这样可以获得非常大的性能优势。另外,RSA 算法的流程适合并行处理,方便利用并行计算来提升性能。

RSA 盲签名协议能够在恶意对手模型下,为隐私集合求交提供安全保障,但由于非对称加密的次数随比对的数量量的增加呈线性增长,所以无法处理海量数据的隐私集合求交场景。

    1. 基于同态加密的算法

    ​ 比较适合拥有较小集合的一方将数据加密后发送给另一方进行计算,然后将结果返回给加密方进行解密的场景。但实际上,这种原型协议实现起来效率特别差,因为同态加密密文长度都不算太小。另外,同态加密电路的深度随着集合元素数量增加而快速增加,导致方案性能较差。

image-20230514001841357

​ 此协议应用相同元素的差为0的原理进行交集判断,使用 HE 算法来完成密文求差操作。为了防止差不为 0 的元素值泄露,每一次求差操作后会乘一个随机数 r。为了提高协议的实际性能,Chen 等人使用了一些优化方法。包括 PSI 领域的 hash、切分技术,还使用了 HE 领域的批处理、分窗、模数转换技术。上面的过程简化下来就是:

image-20230404111425966

基于同态加密实现 PSI 的经典论文:

  • [1] Chen, H., Huang, Z., Laine, K., & Rindal, P. (2018). Labeled PSI from Fully Homomorphic Encryption with Malicious Security. Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security.

  • [2] Cong, K., Moreno, R.C., Gama, M.B., Dai, W., Iliashenko, I., Laine, K., & Rosenberg, M. (2021). Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication. Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security.

    1. 基于不经意传输的算法(目前速度最快最流行)

    首先是基于布隆过滤器和 OT 的实现方案,有关布隆过滤器及其变种,可参考上面的布隆/混淆布隆过滤器。

    GBF 与 OT 结合解决 PSI 问题:

    image-20230324165432222

    image-20230324165536691

    ​ 接下来仍以社交软件的发现共有联系人功能为例,假设服务器端有用户集合 S,客户端有联系人集合 C,客户端通过以下步骤可最终获得双方集合的交集 C ∩ \cap S.

    1. 服务器端、客户端约定用于 B F BF BF 以及 G B F GBF GBF 的相关参数:存储的数组的长度 m,使用的哈希函数集合{ ho,…, ht-1 }。

    2. 服务器端针对集合 S 使用 G B F GBF GBF 进行映射,获得字符串数组 G B F s GBF_s GBFs .

    3. 客户端针对集合 C 使用 B F BF BF 进行映射,获得位数组 B F c BF_c BFc .

    4. 客户端使用 OT 协议从服务器端接收 G B F s GBF_s GBFs 信息,服务器端准备 m 个字符串对(xi,0 ,xi,1) ,其中 xi,0 为随机生成的字符串,xi,1 G B F s [ i ] GBF_{s}[i] GBFs[i]。客户端遍历数组 B F c BF_c BFc 。对于 0 ≤ i ≤ m-1,如果 B F c [ i ] BF_c[i] BFc[i] 值为 0,客户端获得随机字符串;如果 B F c [ i ] BF_c[i] BFc[i] 值为 1,客户端获得 G B F s [ i ] GBF_{s}[i] GBFs[i]。最终,客户端获得的结果为 G B F C ∩ S GBF_{C\cap S} GBFCS .

    5. 客户端遍历集合 C 中的所有元素,使用以下方法利用 G B F C ∩ S GBF_{C\cap S} GBFCS 判断自己所拥有的元素是否在集合 S 中。

      image-20230324165654783

    基于不经意传输的 PSI 工作原理:

    • OT:利用不经意传输完成隐私集合求交

    • OT Extension: PSI系列(2)组件 | OT Extension (IKNP)

    ​ 2014 年,Pinkas 等人提出了基于 OT 扩展协议的高效隐私集合求交方案,该方案使用 OT 扩展,传输数据使得通信双方获得一个伪随机函数,并使用此伪随机函数对双方持有的数据进行加密比对。方案主要分为三个阶段来执行,哈希阶段,隐匿传输阶段和求交阶段。在哈希阶段,通信 Alice 和 Bob 把各自持有的数据通过哈希运算均匀分布在一个给定大小的地址空间内,并使用随机数填充空余的哈希位置。在隐匿传输阶段,Bob 根据自己持有数据的比特信息作为选择位,使用 OT 扩展安全地获取 Alice 持有同样比特位置上的伪随机生成数据。最后在求交阶段,Bob 解密伪随机数据,并和自己持有的数据进行比较。

    ​ 2016 年,Kolesnikov 使用批量 OT 扩展传输和布谷鸟哈希实现了更高效的隐私集合求交方案,基于 OT 的隐私集合求交成为性能上仅次于朴素哈希求交技术的隐私集合求交方案。2019 年,Pinkas 等人提出了基于稀疏扩展的隐私集合求交方案,方案首先把秘密信息分成三份,这样在未获取到要求交的数据之前,可以提前随机生成两份秘密信息,以便在离线阶段进行 OT 扩展传输,提前获取伪随机生成函数。在在线阶段,为了避免传输大量的秘密信息,方案使用了多项式技术,把要传输的数据融入多项式,仅传递多项式的参数来代替传输大量数据。根据该方案的测试结果,在要对比的数据量庞大,或者带宽受限制场景下,此方案相较于目前最优的基于 OT 的隐私集合求交方案,提供了更好的性能优势。

    ​ 虽然基于不经意传输的隐私集合求交技术仍然是使用非对称加密技术作为其实现原理,但不经意传输使用有限次非对称加密,来完成任意数量的安全数据传输。基于不经意传输的隐私集合求交方案,是目前研究最为活跃的隐私集合求交方案,对该方案的研究是基于安全性和性能平衡后的一种考量,研究的思路主要在减少非对称加密次数和通信双方传输的数据量。

    1. 基于混淆电路等 MPC 技术的算法

    ​ 使用混淆电路通用框架来计算交集有易扩展特性,这是因为使用通用的多方安全计算协议,计算交集的函数是通过电路实现的,而将计算交集的电路的输出连到其他计算电路作为输入就可以计算交集的大小、交集中元素的和等,而且全部过程都能满足保护输人隐私的要求。这种易于扩展的性质是基于公钥加密或基于不经意传输的 PSI 所没有的,因此其是一种有实际应用价值的方案。

​ 总之,以上方法都可以解决两方的 PSI 问题,当遇到多方 PSI 问题时,它们是通过两两求交集的替代方法来实现“等效的多方 PSI”。这一方法可以降低计算的复杂度,却会带来一个非常严重的安全隐患,即会泄露那些属于两方交集但不属于多方交集的数据。

image-20230322164309910

  • 隐私计算关键技术:多方隐私集合求交(PSI)从原理到实现

​ 针对此问题,基于 Freedman 协议提出了一种严格的多方安全 PSI 协议,可以保证除了多方样本 ID 交集信息之外,任何其他信息均不会泄露。多方 PSI 协议的核心思想是将样本 ID 集合编码成特殊的数据结构,即不经意多项式,其中每一个样本 ID 均为不经意多项式的根。利用半同态加密算法对多项式参数进行保护,使多个参与方可以在密文空间下进行多项式求值,同时又无法读取多项式参数的明文。

​ 然而,大整数多项式系数展开和求值的计算复杂度均为 O(n3) ,为了解决这一计算瓶颈,提出了一种基于哈希分桶的优化方法。具体而言,利用哈希分桶技术将 ID 集合均匀映射到若干 ID 分桶中,这里要求各参与方使用相同的哈希函数,以便确保相同的样本 ID 被映射到相同的分桶中。这样一来,只需要进行“桶内计算、桶间合并”即可得到完整的多方 ID 集合的交集。将单个桶内样本数量视为一个常数,算法的计算复杂度可以优化到 O(n) 。


10月份新开了一个GitHub账号,里面已放了一些密码学,隐私计算电子书资料了,之后会整理一些我做过的、或是我觉得不错的论文复现、代码项目也放上去,欢迎一起交流!Ataraxia-github

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1299391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用Node.js和cpolar实现远程访问,无需公网IP和路由器设置的完美解决方案

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

Python开发运维:Python垃圾回收机制

目录 一、理论 1.Python垃圾回收机制 一、理论 1.Python垃圾回收机制 (1)引⽤计数器 1)环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 name "david" age 20 hobby ["篮球",游泳…

【链表Linked List】力扣-114 二叉树展开为链表

目录 题目描述 解题过程 官方题解 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应…

渗透测试——十、渗透列举及命令详解

渗透测试 一、协议配置与分析1、HTTPS 的定义2、HTTPS的验证 二、Kali Linux 常用工具三、Windows 命令详解 一、协议配置与分析 1、HTTPS 的定义 HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)是以安全为目标的 HTTP 通道。…

IDEA Maven 配置国内源

基本步骤 分别设置下图的两个,一个是对当前项目的设置,一个是对以后创建的项目设置,这样以后就不用重新配置了。 将下面的两个勾选上 注意,两个地方,Settings 和 Settings for New Projects 的勾都要勾上。 前往 User…

【C语言基础】嵌入式面试经典题(C语言篇)----有新的内容会及时补充、更新!

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

WorkPlus即时通讯app,支持私有化部署的企业IM

当企业面临复杂的协同、业务和生态场景时,多个繁琐的应用和系统常常让员工头疼不已。然而,WorkPlus作为企业数字化转型的超级APP,以其一站式全能解决方案,为企业带来了颠覆性的便利与高效。本文将深入探讨WorkPlus的特点和优势&am…

JavaScript系列-数据类型

ES6变量类型 JavaScript编程语言中,变量类型分为基本变量类型和引用类型,两种变量类型的区别在于 基本类型变量值存放于栈中,引用类型变量值存放于堆中基本类型赋值给其他变量,是将其值复制过去引用类型赋值给其他变量&#xff…

MyString:string类的模拟实现 1

MyString:string类的模拟实现 前言: 为了区分标准库中的string,避免编译冲突,使用命名空间 MyString。 namespace MyString {class string{private:char* _str;size_t _size;size_t _capacity;const static size_t npos -1;// C标…

解锁MySQL的威力:针对常见问题的快速解决指南

数据库和表的创建 创建数据库: CREATE DATABASE IF NOT EXISTS MyDatabase; USE MyDatabase;案例: 想象您要开始一个博客项目。首先,您需要一个地方来存储所有的文章和用户信息。上述命令帮助您创建了这样一个存储空间,名为MyDa…

人力资源服务展示网站作用有哪些

就业劳务问题往往是不少人群关注的问题,每个城市都聚集着大量求业者,而人力资源管理公司每年也会新增不少,对求业者来说,通过人力资源公司可以快速便捷的找到所需工作,而对公司来说,市场大量用户可以带来收…

python/matlab图像去雾/去雨综述

图像去雾和去雨是计算机视觉领域的两个重要任务,旨在提高图像质量和可视化效果。本文将综述图像去雾和去雨的算法、理论以及相关项目代码示例。 一、图像去雾算法 基于暗通道先验的方法: 这是广泛应用于图像去雾的经典算法之一。该方法基于一个观察&…

Aloha 机械臂的学习记录2——AWE:AWE + ACT

继续下一个阶段: Train policy python act/imitate_episodes.py \ --task_name [TASK] \ --ckpt_dir data/outputs/act_ckpt/[TASK]_waypoint \ --policy_class ACT --kl_weight 10 --chunk_size 50 --hidden_dim 512 --batch_size 8 --dim_feedforward 3200 \ --n…

操作系统学习笔记---内存管理

目录 概念 功能 内存空间的分配和回收 地址转换 逻辑地址(相对地址) 物理地址(绝对地址) 内存空间的扩充 内存共享 存储保护 方式 源程序变为可执行程序步骤 链接方式 装入方式 覆盖 交换 连续分配管理方式 单一连…

self-attention|李宏毅机器学习21年

来源:https://www.bilibili.com/video/BV1Bb4y1L7FT?p1&vd_sourcef66cebc7ed6819c67fca9b4fa3785d39 文章目录 引言self-attention运作机制b1是如何产生的怎么求关联性数值 α \alpha α 从矩阵乘法的角度再来一次从A得到Q、K、V从Q、K得到 α \alpha α矩阵由…

IT行业最被低估的六项技术,再加上一项尚未消亡的技术

2023年,生成式人工智能——更具体地说是ChatGPT——吸引了业界的广泛关注,深得董事会、首席执行官和其他高管的一致赞赏(也不乏害怕情绪)。当然,他们的热情是有道理的,多项研究发现,人工智能正在…

Nginx缓存及HTTPS配置小记

缓存基础 缓存分类 某些场景下,Nginx需要通过worker到上有服务中获取数据并将结果响应给客户端,在高并发场景下,我们完全可以将这些数据视为热点数据,并将其缓存到Nginx服务上。 客户端缓存:将缓存数据放到客户端。 …

Linux和Windows环境下如何使用gitee?

1. Linux 1.1 创建远程仓库 1.2 安装git sudo yum install -y git 1.3 克隆远程仓库到本地 git clone 地址 1.4 将文件添加到git的暂存区(git三板斧之add) git add 文件名 # 将指定文件添加到git的暂存区 git add . # 添加新文件和修改过的…

DTCC2023大会-DBdoctor-基于eBPF观测数据库-附所有PPT下载链接

DTCC2023大会-DBdoctor-基于eBPF观测数据库-附所有PPT下载链接 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)在北京国际会议中心举行。聚好看在大会上首次发布基于eBPF观测数据库性能的产品DBdoctor,受到了业界广泛的关注。近期几位业内同仁过来要大会的PPT…

NLP项目实战01--电影评论分类

介绍: 欢迎来到本篇文章!在这里,我们将探讨一个常见而重要的自然语言处理任务——文本分类。具体而言,我们将关注情感分析任务,即通过分析电影评论的情感来判断评论是正面的、负面的。 展示: 训练展示如下…