[隐语]第1讲 理论基础:隐私求交PSI

Chenyang|zhao 2024-12-08 16:56:48

第1讲 理论基础:隐私求交PSI

基础知识

不经意伪随机函数(OPRF)

OPRF(Oblivious Pseudo-Random Function)是一种密码学构造,可以在保持双方隐私的情况下完成某些操作。它的核心特性是:即使发送方和接收方互相不了解对方的私密信息,依然可以进行有效的计算和数据交互。基于 OPRF 的 PSI 协议通过利用这一点,允许两个方在不暴露自己集合的前提下计算并比较交集,保障了双方的隐私安全。

 

  • OPRF:给定发送方的密钥 k 和接收方的输入元素 e,计算 F_k(e)

    • 接收方知道 F_k(e) 的输出,但不知道密钥 k

    • 发送方无法知道 F_k(e) 的输出或接收方的输入元素 e

  • OPRF 用于 PSI

    • 接收方使用来自发送方的密钥 k 对自己的集合应用 OPRF。

    • 接收方无法知道发送方的密钥 k

    • 发送方无法知道接收方的集合。

    • 发送方对自己的集合应用 OPRF,并将结果发送给接收方。

    • 接收方通过比较接收到的结果与自己的 OPRF 结果,找出集合的交集。

Cuckoo Hashing

布谷鸟哈希(Cuckoo Hashing)是一种旨在实现高效查找的哈希方案。它利用多个哈希函数和元素逐出策略,将元素放入一组固定数量的桶(bins)中。以下为布谷鸟哈希的关键点:

 

 

  1. 多个哈希函数(k): 与传统单一哈希函数的方法不同,布谷鸟哈希使用 kkk 个不同的哈希函数 h1,h2,…,hkh_1, h_2, \ldots, h_kh1​,h2​,…,hk​ 。每个元素 eee 都有 kkk 个可能的放置位置,对应于 Bh1(e),Bh2(e),…,Bhk(e)B{h_1(e)}, B{h_2(e)}, \ldots, B_{h_k(e)}Bh1​(e)​,Bh2​(e)​,…,Bhk​(e)​ 这 kkk 个桶。

  2. 桶的数量(b): 哈希表中有 bbb 个桶(bins),每个桶通常只能放一个元素。为了在实际中保证较低的碰撞概率和较好的性能,人们常选择 bbb 稍大于要存储的元素数量 mmm,例如 b≈(1+ϵ)mb \approx (1+\epsilon)mb≈(1+ϵ)m,其中 ϵ\epsilonϵ 是一个较小的常数。

  3. 插入过程: 在插入一个元素 eee 时:

    • 首先尝试将它放入 Bh1(e)B_{h_1(e)}Bh1(e)。

    • 如果 Bh1(e)B_{h_1(e)}Bh1(e) 是空的,则插入成功。

    • 如果桶中已存在一个元素 ooo,则将 ooo 从该桶“踢出”(evict),并根据 ooo 的下一个哈希函数位置将 ooo 移动到另一个桶 Bhi(o)B_{h_i(o)}Bhi(o)(这里的 hih_ihi 是 ooo 的不同哈希函数映射所指示的位置,且不与 eee 的当前桶相同)。

    • 这个“逐出”过程可能会重复数次,直到所有元素都找到合适的桶为止,或者在极少数情况下,若始终无法完成放入操作,会触发重建整个哈希表或使用备用策略。

  4. 查找效率: 由于每个元素最多由 kkk 个桶决定其可能的位置,查找时只需要对这 kkk 个特定桶进行检查即可。通常 kkk 很小(如2或3),这样查找过程非常快。

  5. 在隐私集合交集(PSI)中的应用: 在一些密码学应用(如私有集合交集协议 PSI)中,接收方会使用布谷鸟哈希存储其元素集,以实现高效的查找操作。发送方则使用简单的哈希方式,对每个元素应用相同的 kkk 个哈希函数生成指纹,再与接收方的布谷鸟哈希表进行匹配,从而高效地确认哪些元素在两者的集合中共同存在。

01 安全求交集(PSI)定义

安全求交集:Private Set Intersection (PSI)

例子:Alice拥有集合X, Bob拥有集合Y。经过PSI计算,Alice只知道X∩Y,没有其他信息

  • Alice无法知道Bob中不属于X∩Y的元素

    • If Alice试图从Bob那 里知道不匹配的数据,Alice无法成功

  • 可证明安全

  •  

 

思考: 思考PSI还需要什么? 如何设计它们?

02 PSI功能和分类

2.1Two-Party Semi-Honest PSI

最常用基础的PSI: Two-Party Semi-Honest PSI

性质:

  • 只求交集:只有交集是公开的,而非交集是保密的

  • 仅限双方使用

  • 只有半诚实的安全:攻击者严格遵守协议,但对其他方的秘密信息好奇

2.1.1设计思路

两方半诚实PSI对应的挑战:

  • 挑战1:隐藏非交集元素(隐藏) 密码学安全“隐藏”:当两个元素是不相等的,一定是某种“噪音”附加,使不匹配的元素不能穷举计算

  • 挑战2:计算交集元素(比较) 当两个元素相等,它们的相等应该能够以某种方式披露

  • 挑战3:效率高(效率) PSI协议适合大规模应用

2.1.2 Method1 based on Hash

 

  1. 基本思想:哈希然后匹配

    • 密码散列

    • 单向财产

    • 碰撞阻力

  2. 隐藏:单向加密散列函数

  3. 比较:相同输入的散列输出是相同的

  4. 效率:散列速度很快

  5. 问题:

    • 高熵输入数据集是“OK”的,就像具有无限长度的随机字符串

    • 在大多数现实世界的实现中,输入数据集是低熵的,如IDs,电话号码等。(暴力攻击)

2.1.3 Method2 Based on Diffie-Hellman Key Exchange

Diffie-Hellman密钥交换PSI [3]

  • 基本想法:具有交换性质的“双重加密”

  • 隐藏: “ 加密 ”隐藏元素

  • 比较:交换性

  • 效率:

    • 线性沟通成本

    • 依然是 PSI的主流实现

    • 多对椭圆曲线等加密基元的增强

  • 设计一种能够满足所有要求的加密方法

Diffie-Hellman 密钥交换与离散对数问题(DLP)

  • 离散对数问题(DLP):Diffie-Hellman 基于的安全性是基于离散对数问题的困难性。给定一个大素数 p 和生成元 g,如果知道 g^x ≡ y mod p,要找出 x 是一个计算上困难的问题。

    • 虽然可以很容易地计算出 g^x mod p(高效)

    • y 和已知的 gp 推算出 x 是非常困难的,这就是 DLP 的核心。(隐藏)

    • g^xy mod p = g^yx mod p

 

2.1.4Method3 OPRF-based PSI

OPRF(Oblivious Pseudo-Random Function)是一种密码学构造,可以在保持双方隐私的情况下完成某些操作。它的核心特性是:即使发送方和接收方互相不了解对方的私密信息,依然可以进行有效的计算和数据交互。基于 OPRF 的 PSI 协议通过利用这一点,允许两个方在不暴露自己集合的前提下计算并比较交集,保障了双方的隐私安全。

  1. 协议:[5]

    • 发送方对其集合计算一个“秘密”函数,并将结果发送给接收方。

    • 接收方通过与发送方的交互,使用该“秘密”函数计算自己的集合。

    • 接收方将收到的结果与自己的计算结果进行比较,找出交集。

  2. 隐藏性:“秘密”函数:发送方无法得知接收方的数据,接收方也无法知道“秘密”函数的具体内容。

  3. 比较:经过“秘密”函数处理后的数据可以进行比较,找出交集。

  4. 效率:大部分操作为高效的加密操作,例如哈希和对称密钥加密,只有少量的公钥基础设施(PKI)操作。

  5. 设计目标:提供一种满足所有隐私保护和效率要求的加密方法。

 

  • OPRF:给定发送方的密钥 k 和接收方的输入元素 e,计算 F_k(e)

    • 接收方知道 F_k(e) 的输出,但不知道密钥 k

    • 发送方无法知道 F_k(e) 的输出或接收方的输入元素 e

  • OPRF 用于 PSI

    • 接收方使用来自发送方的密钥 k 对自己的集合应用 OPRF。

    • 接收方无法知道发送方的密钥 k

    • 发送方无法知道接收方的集合。

    • 发送方对自己的集合应用 OPRF,并将结果发送给接收方。

    • 接收方通过比较接收到的结果与自己的 OPRF 结果,找出集合的交集。

高计算和通信开销

PSI with Hash Binning

 

 

KKRT PSI Protocol

 

概要:在一个典型的利用布谷鸟哈希(Cuckoo Hashing)辅助实现的隐私集合求交(Private Set Intersection, PSI)协议中,一般步骤如下:

  1. 步骤1:将元素哈希进哈希表(Cuckoo Hashing) 客户端(客户端集合为 X)首先使用布谷鸟哈希结构将自己的元素集 X 映射并存储到对应的哈希表中。服务端(服务端集合为 Y)则对其元素集 Y 应用相同的哈希函数,将 Y 中的元素映射至一组桶中(简单哈希即可)。

  2. 步骤2:使用 OPRF 对元素进行掩码(OPRF:Oblivious Pseudo-Random Function) 双方通过 OPRF 协议对各自元素的哈希映射值进行加密掩码处理,以确保在后续比较中不暴露真实元素的信息。

    • 客户端对其哈希表中的元素位置应用 OPRF,将结果发送给服务端。

    • 服务端对其映射的元素位置也应用 OPRF,并将结果返回给客户端。

  3. 步骤3:基于 OPRF 结果计算明文交集 客户端接收到服务端返回的 OPRF 结果后,与自己经过 OPRF 处理的元素标识进行匹配。由于相同元素在经过相同的 OPRF 处理后会映射至同一伪随机输出值,因此客户端可根据匹配结果还原出交集的元素集合 Z,即 Z=X∩YZ = X \cap Y。

结果:

  • 服务端无法从协议中获得输出(也不知道交集结果的详情)。

  • 客户端则根据匹配到的 OPRF 结果,得到交集 Z=X∩YZ = X \cap Y。

2.2Two-Party Semi-Honest Secure PSI应用场景

2.2.1交集使用

下面是关于在私有集合求交(PSI)中使用交集结果的动机、挑战及相应方法的总结。总体而言,虽然 PSI 协议保证了交集本身的隐私性,但在实际应用中,交集可能还需要被进一步使用(如查询其大小、对交集中数据进行后续安全计算、或者用于差分隐私分析),而这些需求又对安全和隐私提出了新的要求。

动机:

  • PSI各方在求得交集后可能并不希望让所有参与者都直观看到或知晓交集本身。

  • 交集中包含的元素属于双方(或多方)的特定集合成员(如客户信息),在某些场景下不宜轻易曝光真实的交集元素。

  • 举例:Alice在银行A和银行B都有账户,并用相同ID注册。通过PSI,这两个银行可以找到共同客户Alice。但问题在于:银行A和B是否应得知这一点?这取决于具体的合规和隐私政策。

挑战:

  • 如何在不暴露交集中具体元素的前提下,使用或利用交集的信息?

  • 我们希望实现交集的“可用不可见”(use without exposing): 即在满足应用需求(如统计、后续计算、分析)前提下,交集本身对各方仍然保持机密性。

以下是根据不同的使用需求,对交集使用方式进行分类,并给出相应的加密与隐私增强技术:

Case 1:交集内容是机密的,但交集的基数(数量大小)可公开

  • 在此情况下,只需要向授权方披露交集的规模,而非具体的交集元素。

  • 方法示例:

    • 利用部分同态加密(PHE)和多项式评估技术 [8]

    • 基于 Diffie-Hellman (DH) 的 PSI 并结合打乱(shuffle)技术 [20]

Case 2:交集内容是机密的,但需要对隐蔽的交集进行后续安全计算

  • 此场景下,交集本身作为中间结果被“加密保存”,后续对这些加密的交集元素进行进一步的安全计算(例如:对交集中的元素负载进行安全运算)。

  • 例如:当 PSI 结果作为后续安全数据分析的输入时,交集元素本身保持隐藏。

  • 方法示例:

    • 基于电路(circuit-based)的 PSI [9]

    • 利用 DH-PSI 并结合置换(permutation)和 PHE(同态加密)[20]

Case 3:交集内容是机密的,但仍然需要利用交集进行分析或应用,同时兼顾差分隐私

  • 此案例涉及在隐私保护的同时对交集进行某种“混淆”或扰动,从而达到差分隐私的效果。这样既可保护个体隐私,又可保证数据的统计或营销价值。

  • 例如:联合广告营销中对重叠受众(交集)分析,但不能精确暴露具体用户。

  • 方法示例:

    • 基于全同态加密(FHE)的 PSI 并结合差分隐私 [10]

    • 如何在其中加入一定的假阳性和假阴性来达到差分隐私效果?

      • 利用 DH-PSI 并结合差分隐私策略

总结: 在不同应用场景下,PSI 的交集结果可能需要不同程度的保密与利用方式。有的方法仅披露交集大小,有的方法在后续计算中仍保持交集加密,还有的方法需要在统计分析层面引入差分隐私。上述多种方案体现了在隐私、实用性和安全性之间的权衡与技术探索。

2.2.2多方 PSI

下面是关于多方 PSI(Private Set Intersection)的一些要点说明:

多方 PSI 的动机与挑战: 在多方 PSI 场景中,有 NN 个参与方(每方有自己的集合),他们想要共同计算出所有参与方集合的交集。与两方 PSI 相比,多方 PSI 面临的挑战更加复杂。例如,如果有 NN 个参与方,那么不仅要确保在计算过程中不暴露任何单个参与方的元素给其他参与方,还要在结果层面保证仅有全局交集信息被披露(如果这是系统的目标),而不中途泄漏任何两两之间的中间信息。

常规多方 PSI

动机:

  • 多方 PSI 用于在 NN 方间找到全局交集,即所有 NN 个参与方的集合元素中共同存在的部分。

挑战:

  • 需要在不暴露两两交集(或任意子集的交集)的前提下,计算出整个 NN 方的交集。

  • 在扩展到多方时,计算量和通信复杂度会增加,协议设计难度也随之上升。

方法:

  • 基于部分同态加密(PHE)与多项式表示的方案 [8]: 将各方的集合通过多项式的方式编码,并利用同态加密进行安全计算,从而在不暴露单方元素的前提下计算全局交集。

  • 基于 OPRF(Oblivious Pseudo-Random Function)的扩展 OPPRF 协议 [11]: 使用 OPRF 来对元素进行安全映射,从而实现隐匿的元素比较与匹配,在多方情境下结合 OPPRF 技术可实现对全局交集的安全计算。

特殊多方 PSI

动机:

  • 在某些应用中,并非只需要得到全局的 NN 方交集。有时需要计算并披露某些特定方之间的交集,而不是所有方的交集,也可能需要满足一些额外的特殊政策或访问控制要求。

挑战:

  • 不同场景下的需求变化很大,可能需要对安全策略进行定制。

  • 某些特定方可能需要知道某些其他方间的交集结果,而这些信息对其它方仍需保密。

  • 此类需求往往无法用通用的多方 PSI 协议直接满足,需要对协议进行定制和灵活扩展。

方法:

  • 基于需求定制的 PSI 协议: 根据具体应用场景的需求,对 PSI 协议进行调整与扩展,比如针对特定参与方之间的交集引入额外的加密步骤、访问控制机制或基于策略的泄漏控制。

  • 利用已有的 PSI 技术模块(如 PHE、OPRF、FHE 等)并结合访问控制与策略定制实现动态灵活的方案。

总结: 多方 PSI 可以根据不同的需求被分类为“常规的”(所有参与方的全局交集)和“特殊的”(只对某些特定方间的交集进行计算和披露)。常规多方 PSI 已有一些较成熟的方法(如基于同态加密的多项式表示和 OPPRF),而特殊场景则需要进行定制化解决方案的设计与扩展。

2.2.2计算模型

One-way Model(单向模型)1[5]

动机(Motivation): 在单向模型中,只有一方需要获得最终的交集结果,另一方不需要得到交集信息。例如:

  • 客户端向一个新的社交媒体服务提交联系人列表(如手机通讯录),希望得知该服务用户中有谁是自己的联系人。

  • 客户端希望只知道与服务端用户集的交集,而服务端除了知道客户端输入的大小外,什么也不知。

挑战(Challenge):

  • 确保在交互过程中,服务端不会学习关于客户端集合的额外信息。

  • 确保客户端在获取交集的同时不泄露服务端集合的隐私。

方法(Method):

  • 基于 OPRF(Oblivious Pseudo-Random Function)的 PSI 协议是典型方案。 客户端可以利用 OPRF 从服务端获取经过伪随机映射的元素指纹,在不暴露自己元素的情况下判断哪些元素在服务端的集合中。

Mutual Model(双向模型)[3]

动机(Motivation): 在双向模型中,两方互为对等方,双方都需要在协作中获取交集。例如:

  • 两家银行希望在保持各自客户数据私密性的前提下,找到双方共同的客户。

挑战(Challenge):

  • 确保双方都能在不暴露自身完整数据的情况下,获得交集结果。

方法(Method):

  • 基于 Diffie-Hellman (DH) 的 PSI 协议是常用方法之一(DH-PSI)。

  • 利用 DH 密钥协商和哈希技巧实现双方的对等匹配,不泄露非交集元素信息。

Outsourced/Delegated/Server-Aided PSI(外包/委托/服务器辅助模型)

动机(Motivation):

  • 当双方参与者本身没有足够的资源来计算 PSI(例如计算能力有限的终端设备),可以将数据外包给云服务或可信执行环境,由第三方帮助完成计算。

  • 该第三方被假设为“不可信但不串通”,即第三方可能想获取信息,但不与任意一方串谋。

挑战(Challenge):

  • 第三方应只能辅助计算,不应获得最终结果或敏感信息(包括交集的基数信息)。

  • 即使作为计算辅助方的第三方也不应能推断出参与方的元素信息。

  • 必须确保云(第三方)对交集数据一无所知(包括大小),仅提供计算服务。

方法(Method):

  • 利用多项式表示(Polynomial representation)、部分同态加密(PHE)及伪随机函数(PRF)[12] 的综合方案:

    • 将集合编码成多项式,加密多项式的系数或密文结果让第三方进行同态运算。

    • 第三方在不知晓明文的情况下完成匹配相关计算,并返回加密结果给客户端(或双方)。

    • 最终由参与方解密获得交集结果。

总结: 根据谁需要获得交集结果、参与方资源能力以及隐私要求的不同,PSI 可以在多种计算模型下实现。单向模型中只有一方需得知结果,多采用 OPRF 技术;双向模型中双方均需要结果,多采用 DH-PSI;外包模型中引入第三方计算辅助,但需用加密和无泄漏协议确保第三方不获知交集详情。不同模型适应不同应用场景和安全需求。

2.2.3安全模型

半诚实安全(Semi-Honest)PSI

动机(Motivation):

  • 半诚实模型下的攻击者(对手)被假设为被动的,即他严格遵守协议步骤,不做出越权行为。

  • 该模型的优点是简单高效,因此大多数已实现的 PSI 协议都是针对半诚实模型的。

挑战(Challenge):

  • 半诚实安全假设过于强烈,不考虑主动攻击和作弊行为。

  • 在真实世界中,假设对手严格执行协议而不偏离的场景较少。

方法(Method):

  • 基于 Diffie-Hellman (DH)、OPRF 等构建的 PSI 协议常在此模型下实现 13

  • 这些协议在半诚实模型下通常具有较好的性能表现。

恶意安全(Malicious)PSI

动机(Motivation):

  • 为了获得更高的安全级别,需要考虑恶意对手,即对手可能会偏离协议、发送虚假消息或试图诱骗另一方以获取敏感信息。

  • 在现实应用中更具代表性,因为攻击者不会一直遵守协议。

恶意对手定义(Malicious Adversary Definition):

  • 恶意对手可以任意偏离协议流程,篡改消息或不按规定的步骤进行计算,以期泄漏另一方隐私或破坏协议执行。

挑战(Challenge):

  • 针对恶意模型的 PSI 协议设计相对复杂,需要额外的校验步骤、防篡改机制和零知识证明等来确保协议正确执行。

  • 这些额外防护会带来更高的计算和通信开销。

方法(Method):

  • 在半诚实模型的基础上增加额外的验证过程,以抵御恶意行为。例如:

    • 使用零知识证明(ZKP)或可验证加密方案来保证参与方正确行为 7

  • 总体上,这类协议牺牲一定的性能来换取更健壮的安全性。

总结: 半诚实模型提供了较高效率但安全假设相对弱,而恶意模型则考虑了更实际的攻击场景,需要额外的机制保证协议安全性,但会导致较高的系统开销。在实际应用中,需根据安全要求和性能条件权衡选择合适的安全模型。

2.2.4其他特殊需求

Size-hiding PSI [16]:

  • 动机:在许多应用中,不仅需要隐藏集合的内容,还需要隐藏集合的大小,或至少使对手难以准确得知集合规模。集合大小本身也是一种潜在的敏感信息(例如,用户数量、客户规模)。

  • 挑战:在标准 PSI 协议中,对手通常能够推断出另一方的大致集合大小(通过通信量、协议交互次数等)。实现 size-hiding 需要对协议进行特殊设计。

  • 方法:通过引入额外的填充、同态加密或盲化技术,对实际数据规模进行隐藏。例如,可在协议执行前预先填充虚假元素,使得外部观察者无法区分真实元素与填充值,从而达到集合大小隐藏的效果。

定制化业务场景要求(Business scenario with customized requirements):

03 PSI最新进展

下面是对 PSI(私有集合求交)领域最新研究进展的简要总结:

1. 优化离线阶段

  • 使用最新的OT(Oblivious Transfer)技术 [17]: 通过采用高效的OT扩展方法,大幅减少PSI协议中预处理(offline)阶段的通信与计算开销。

  • 将OT替换为VOLE(Vector-OLE)[6]: VOLE作为更轻量级的基础构件,与OT相比能在通信和计算上进一步降低成本,为PSI的离线阶段提供更高效的预处理手段。

2. 替换布谷鸟哈希(Cuckoo Hashing)为新原语

  • Probe-and-Xor-of-Strings (PaXos) [13]: PaXos是一种新型数据结构替代方案,它通过将查询与XOR操作相结合实现高效查找,降低复杂度和内存占用。

  • Oblivious Key-Value Store (OKVS) [5]: OKVS是一种新的数据结构,用于在不暴露密钥和值对应关系的前提下完成隐式键值匹配。结合OKVS可以使PSI协议在数据组织与查找阶段表现更优,减少通信开销和存储压力。

3. 支持对交集数据进行后续安全计算

  • Programmable OPRF [9]: 可编程的OPRF允许在获得OPRF结果后对其进行定制化处理,使得对交集的后续安全计算变得更灵活。例如,可以在不泄漏真实元素情况下,对交集中元素附加的属性数据进行安全计算。

  • 结合差分隐私(DP)的PSI [10]: 在获得交集的基础上引入差分隐私,使得在统计和分析交集时保护各方的单独贡献数据不被识别。这为PSI在数据分析与统计应用中提供了更强的隐私保障。

4. 性能与实用性突破

  • 随着高速网络带宽与高性能计算资源的不断普及,PSI协议已经能够在“亿级数据量”上实现分钟级计算性能。这意味着:

    • 可以在大规模数据集上快速执行PSI,为实际的商业和数据分析应用铺平道路。

    • 在高带宽、强算力环境下,PSI协议信道与计算优化技术相结合,已成为最实用、最有前景的隐私计算方法之一,为大型企业级应用落地提供了可行性。

总结: PSI的最新进展主要在三个方向上取得显著提升:

  • 协议基础组件优化:采用高效OT/VOLE与新数据结构(如PaXos、OKVS)提升协议性能与可扩展性。

  • 扩展功能性:利用可编程OPRF、差分隐私等技术,使PSI不仅能求交集,还能在隐私前提下对交集数据进行后续处理与分析。

  • 实用性提高:通过高带宽、强算力环境以及协议工程优化,PSI在大规模数据场景中实现分钟级处理,成为业界应用隐私计算的重要工具。

04 PSI和其他隐私计算技术结合

4.1差分隐私

差分隐私(DP)是一种保护隐私的技术,通过在数据中添加随机噪声,使得观察者很难判断某个特定元素是否存在于数据集中。换言之,即便攻击者掌握了输出结果,依然很难确定某个单独元素的真实归属。

案例1:对交集本身引入差分隐私

  • 动机

    :在求得两个集合的交集后,想要在不明显破坏整体统计效果的同时,通过添加假阳性(false positive)和假阴性(false negative)来使得任何单个元素是否真正位于交集变得难以区分。这样可以保护交集中个体元素的隐私。

    • 例如,在联合营销(joint marketing)场景下,两方希望找到共同用户进行营销,但不想让对方清晰地知道每个交集用户的真实存在情况,从而保护这些用户的身份隐私。

  • 挑战

    1. 交集通常是加密状态(例如使用同态加密或DH-PSI获得的密文结果),如何在不泄露真实交集内容的前提下,由一方正确地向结果中添加合适数量和类型的“假元素”(即噪声)?

    2. 保证添加噪声后的统计结果依然有用,同时保护单个元素的隐私。

  • 方法

    • 利用全同态加密(FHE)和差分隐私的方案 [10]:通过在同态加密结果上引入噪声实现DP保护。但全同态加密在实际中非常低效。

    • 利用DH-PSI并在结果阶段加入DP机制:相比FHE方案会更高效一些,但仍有复杂性上的挑战。

案例2:提升协议性能

  • 利用差分隐私减少协议中所需填充(padding)的长度 [18]: 在某些 PSI 协议中,需要对数据集进行填充以隐藏真实大小和元素分布。如果通过差分隐私的方式引入不确定性,就可以减少填充量,从而降低计算和通信开销,同时保证一定程度的隐私。

将差分隐私与安全求交集技术相结合可以在保证整体数据统计可用性的同时增强个体隐私保护。然而,这也带来了额外的计算与协议设计难度。全同态加密方案虽然理论上能满足要求但往往计算代价高昂,实际应用倾向于选择更高效的方案(如DH-PSI结合DP),同时探索利用DP减少填充带来的额外成本。随着技术的不断进步,安全求交集与差分隐私的结合可能成为满足数据分析与隐私保护双重需求的重要工具。

4.2可信执行环境

下面是将安全求交(PSI)与可信执行环境(Trusted Execution Environment, TEE)相结合的关键点描述:

使用 TEE 进行安全求交的基本思路

MesaTEE [19]:

  • 背景:MesaTEE 是一个开源项目,旨在利用可信执行环境(如 Intel SGX)提供安全和隐私保障的计算环境,在此环境中可高效实现 PSI 协议。

  • 原理

    1. TEE 内部产生一个随机盐值(salt)。

    2. 各参与方将自己的数据结合该盐值进行哈希处理,然后将哈希结果发送至 TEE 内部。由于盐值只在 TEE 内部掌控,外部观察者无法从哈希值中轻易恢复原始数据或判断特定元素是否存在。

    3. TEE 内部执行 PSI 计算,对哈希值进行匹配和交集求取。

    4. TEE 将最终的交集结果以安全方式返回给各参与方。

特点与对比

  • 简单与高效: 在 TEE 环境中进行 PSI,省去许多复杂的加密操作和协议交互。执行速度较快,步骤更直接。

  • 灵活性: 可根据实际业务需求定制交集计算逻辑,不需要繁琐的密码学构造。

  • 信任根在 TEE: 与纯密码学方案不同,这类方案将安全和隐私的信任基础建立在可信硬件上。 换言之,如果 TEE 被攻破或被怀疑不可信,那么安全假设将受到影响。

总结

利用 TEE(如 MesaTEE)来实现 PSI 是一种简化部署和提升性能的实用途径。通过将敏感数据的处理与求交逻辑完全放入可信硬件环境中,PSI 的实现可以变得更加轻量和高效。然而,这也意味着信任模型发生转变:从完全依赖密码学保证转为部分依赖可信硬件的安全性。

05 References

[1] Benny Pinkas, Thomas Schneider, Michael Zohner. Faster Private Set Intersection based on OT Extension, USENIX Security 2014

[2] Benny Pinkas, Thomas Schneider, Michael Zohner. Scalable Private Set Intersection Based on OT Extension, ACM Transactions on Privacy and Security, 2018

[3] Rakesh Agrawal, Alexandre V. Evfimievski, and Ramakrishnan Srikant. Information sharing across private databases. Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, 2003

[4] Emiliano De Cristofaro and Gene Tsudik. Practical private set intersection protocols with linear computational and bandwidth complexity, IACR Cryptology ePrint Archive, 2009:491, 2009

[5] Vladimir Kolesnikov, Ranjit Kumaresan, Mike Rosulek, and Ni Trieu. Efficient batched oblivious PRF with applications to private set intersection. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016

[6] Peter Rindal and Phillipp Schoppmann. VOLE-PSI: fast OPRF and circuit-psi from vector-ole, Advances in Cryptology - EUROCRYPT 2021, 2021

[7] Peter Rindal and Srinivasan Raghuraman. Blazing fast PSI from improved OKVS and subfield VOLE. IACR Cryptology ePrint Archive, 2022:320, 2022

[8] Lea Kissner and Dawn Song, Privacy-Preserving Set Operations, Crypto 2005.

[9] Benny Pinkas, Thomas Schneider, Oleksandr Tkachenko, and Avishay Yanai. Efficient circuit-based PSI with linear communication. Advances in Cryptology - EUROCRYPT 2019

[10] Bailey Kacsmar, Basit Khurram, Nils Lukas, Alexander Norton, Masoumeh Shafieinejad, Zhiwei Shang, Yaser Baseri, Maryam Sepehri, Simon Oya, Florian Kerschbaum, Differentially Private Two-Party Set Operations, 2020 IEEE European Symposium on Security and Privacy.

[11] Vladimir Kolesnikov, Naor Matania, Benny Pinkas, Mike Rosulek, and Ni Trieu. Practical multi-party private set intersection from symmetric-key techniques. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, 2017

[12] Abadi, Aydin, Sotirios Terzis, Roberto Metere, and Changyu Dong. Efficient Delegated Private Set Intersection on Outsourced Private Datasets, IEEE Transactions on Dependable and Secure Computing, 2017.

[13] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. PSI from paxos: Fast, malicious private set intersection. Advances in Cryptology - EUROCRYPT 2020

[14] Hao Chen, Kim Laine, Peter Rindal, Fast Private Set Intersection from Homomorphic Encryption, ACM CCS 2017

[15] Hao Chen, Zhicong Huang, Kim Laine, Peter Rindal, Labeled PSI from Fully Homomorphic Encryption with Malicious Security, CCS 2018

[16] Giuseppe Ateniese, Emiliano De Cristofaro, Gene Tsudik. (If) Size Matters: Size-Hiding Private Set Intersection, PKC 2011

[17] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. Spot-light: Lightweight private set intersection from sparse OT extension. Advances in Cryptology - CRYPTO 2019

[18] Adam Groce, Peter Rindal, and Mike Rosulek, Cheaper Private Set Intersection via Differentially Private Leakage, PoPETS 2019

[19] MesaTEE, https://github.com/zjshen14/mesatee

[20] Mihaela Ion, Ben Kreuter, Ahmet Erhan Nergiz, Sarvar Patel, Shobhit Saxena, Karn Seth, Mariana Raykova, David Shanahan, Moti Yung, On Deploying Secure Computing: Private Intersection-Sum-with-Cardinality, EuroS&P, 2020

[21] Amanda Cristina Davi Resende and Diego de Freitas Aranha, Faster Unbalanced Private Set Intersection, FC 2018

...全文
54 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

551

社区成员

发帖
与我相关
我的任务
社区描述
隐语开源社区,隐私计算开发者交流和讨论的平台。
密码学可信计算技术安全 企业社区
社区管理员
  • 隐语SecretFlow
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【最新活动】

3月18日:隐私计算实训营第一期

试试用AI创作助手写篇文章吧