隐私求交(PSI)技术原理完整分析

隐私求交(PSI)技术原理分析

一、基础概念定义

1. 什么是隐私求交 PSI(Private Set Intersection)

两方参与场景:A 方持有集合 X,B 方持有集合 Y,双方仅能得到交集 X∩YX∩YXY,且不能获取对方集合中不在交集中的任何元素。
核心约束(安全目标):

  1. 正确性:输出一定是真实交集;

  2. 隐私性:

    • A 无法知道 Y 中不属于交集的数据;

    • B 无法知道 X 中不属于交集的数据;

  3. 公平性:理想 PSI 双方同时拿到结果,无一方单方面窃取全部数据;

  4. 无第三方:主流 PSI 为两方本地计算,不需要可信第三方 TTP。

典型业务场景:广告人群匹配、金融多头借贷排查、医疗病例重合、政务数据互通、可信数据空间。

2. 安全模型分类

  1. 半诚实模型(Honest-but-Curious)
    双方严格执行协议,但会记录所有交互数据尝试推导对方隐私;工业界绝大多数 PSI 采用该模型,性能最优。

  2. 恶意模型(Malicious)
    参与方可篡改输入、伪造消息欺骗对方;安全性更强,但计算 / 通信开销极高,极少落地。

二、四大主流 PSI 技术路线原理拆解

路线 1:朴素哈希 PSI(基础入门,无密码学安全,仅脱敏)

原理流程
  1. A、B 各自对本地集合元素做单向哈希 h(x)h(x)h(x),加盐防止彩虹表;

  2. 双方交换全部哈希值;

  3. 本地比对哈希重合项,还原交集。

缺陷(不满足严格隐私)
  • 无盐泄露哈希可暴力枚举原始数据;

  • 对方能完整获取你所有元素哈希,泄露集合大小、元素分布;
    仅适用于低敏感场景,不属于密码学安全 PSI。

路线 2:基于不经意传输 OT 的 PSI(经典安全 PSI,通用标准)

不经意传输 OT 是底层密码原语:发送方持有 (m0,m1)(m_0,m_1)(m0,m1),接收方选 b∈0,1b∈{0,1}b0,1,仅获取 mbm_bmb,发送方不知道 b。
PSI 基于1-out-of-N OT扩展实现。

2.1 基础 OT-PSI 完整流程(半诚实)

设 A 输入集合 X,B 输入集合 Y

  1. OT 初始化
    B 作为接收方,生成 OT 选择向量;A 作为发送方,构造每个元素的密码掩码;

  2. 集合布隆编码
    双方将集合映射到布隆过滤器 / 二进制向量,压缩元素为固定长度比特串,降低 OT 交互次数;

  3. 多轮不经意传输交互
    对每一个编码位置执行 OT:

    • A 持有两条加密数据;

    • B 仅取回与自身集合匹配的那条密文;
      A 全程无法获知 B 选中哪些位置;

  4. 本地解密求交
    B 用 OT 取回的密钥解密,得到双方共同匹配元素,即为交集;A 无法得到任何 B 的私有元素。

2.2 优化:OT 扩展 OT-Extension

原生 OT 运算开销极大(基于公钥加密),工业界用少量基础 OT 生成大量伪随机 OT,把百万级元素 PSI 成本降低百倍,代表实现:KKRT16(当前 OT-PSI 性能标杆)。

优缺点
  • 优势:通用、支持任意字符串 / 数字输入、安全证明完备;

  • 劣势:通信量随集合规模线性增长,超大规模集合(千万级)带宽压力大。

路线 3:基于同态加密 HE 的 PSI(云端友好,计算密集)

采用部分同态加密 PHE(Paillier、ElGamal),支持密文加法,不支持乘法。

核心原理
  1. 客户端 A 加密全部集合元素 Enc(xi)Enc(x_i)Enc(xi) 发送给服务端 B;

  2. B 本地对密文做匹配运算:对每个本地 y,计算 ∏(Enc(xi)−Enc(y))\prod (Enc(x_i)-Enc(y))(Enc(xi)Enc(y))
    若存在相等 x=y,乘积密文为 0 密文;

  3. B 将所有乘积密文返回 A,A 解密;解密结果为 0 对应的元素就是交集。

变种:阈值同态 PSI

引入多项式映射:把集合元素映射到多项式根,密文计算多项式求值,大幅减少交互次数。

优缺点
  • 优势:交互轮次极少(1-2 轮),适合跨地域、低带宽场景;计算可外包给第三方算力节点;

  • 劣势:大数模运算 CPU 消耗极高,千万级集合延迟显著;密文膨胀严重。

路线 4:基于不经意布隆过滤器 / 伪随机函数 OPRF-PSI(工业落地最主流,高性能)

OPRF:不经意伪随机函数,核心原语:

  • 客户端输入 x,服务端持有密钥 k;

  • 客户端得到 Fk(x)F_k(x)Fk(x),但看不到 k;

  • 服务端看不到 x,只能看到加密后的盲化值。

OPRF-PSI 完整流程(标准实现:RR17)

参与方:客户端 C、服务端 S

  1. 客户端盲化本地集合
    C 对每个元素 x 生成随机盲因子 r,计算盲化值 Blind(x)=h(x)⋅rBlind(x)=h(x)·rBlind(x)=h(x)r,全部发给 S;

  2. 服务端 OPRF 加密
    S 持密钥 k,对所有盲化值计算 Fk(Blind(x))F_k(Blind(x))Fk(Blind(x)) 回传给 C;S 全程不知道原始 x;

  3. 客户端去盲
    C 用本地 r 逆运算消去盲因子,得到 Fk(h(x))F_k(h(x))Fk(h(x))(仅客户端拥有自身集合加密结果);

  4. 服务端本地生成加密集合
    S 用密钥 k 本地计算自己全部集合 Y:Fk(h(y))F_k(h(y))Fk(h(y)),不对外泄露原始 y;

  5. 双方交换短摘要
    C 把自己的 OPRF 结果集合做压缩摘要发给 S,S 本地比对重合摘要;

  6. 返回交集标识,完成匹配。

关键安全特性
  1. S 看不到 C 原始数据;C 无法推导密钥 k,不能伪造 S 侧加密值;

  2. 可搭配布隆过滤器、Cuckoo 哈希压缩数据,通信量远小于 OT-PSI;

优缺点
  • 优势:综合性能最强,千万级集合毫秒 / 秒级完成;通信、计算开销均衡,广告、金融广泛商用;

  • 劣势:依赖 OPRF 密码原语,恶意模型下需额外零知识证明加固。

三、进阶优化技术原理(工程落地核心)

1. 布隆过滤器 Bloom Filter 压缩

双方集合先映射到定长二进制数组,存在元素则对应位置 1,大幅减少交互数据量;
配合 OPRF/OT 使用,解决海量元素逐条传输的带宽瓶颈;
代价:极低概率假阳性,可二次校验消除。

2. 分桶 PSI Hash Bucket

将集合按哈希分段分桶,仅同桶元素执行密码学匹配,桶间无交互;
将整体复杂度从 O(N∗M)O(N*M)O(NM) 降到接近线性,亿级集合必备优化。

3. 批量 OPRF / 批处理 OT

利用向量密码运算,一次密码操作批量处理上千个元素,降低单次公钥运算耗时。

4. 差分隐私结合 PSI

在交集结果中加入微小噪声,防止对方通过交集大小反推自身集合规模,适用于强合规监管场景。

四、四种技术路线横向对比

技术路线底层原语计算开销通信开销适用规模商用成熟度
哈希匹配单向哈希极低万级以内低敏感低(无安全证明)
OT-PSI不经意传输十万~百万中高
HE-PSI部分同态加密极高极低十万以内、低带宽
OPRF-PSI不经意伪随机函数百万~亿级极高(主流)

五、安全风险与底层密码学约束

  1. 集合基数泄露
    标准 PSI 会泄露交集大小;若需隐藏交集数量,需基于零知识证明的隐藏基数 PSI,性能大幅下降。

  2. 暴力枚举攻击
    若元素值域狭小(手机号、身份证前缀),单纯 OPRF 存在枚举风险,需加盐、分层哈希加固。

  3. 中间人攻击
    无 TLS / 身份认证时,攻击者可篡改交互密文,需双方证书身份绑定。

  4. 恶意输入攻击
    恶意方可构造特殊输入试探对方集合,恶意 PSI 协议搭配 ZKP 零知识证明抵御。

六、完整安全 PSI 标准执行流程(OPRF 工业版)

  1. 双方双向身份认证(CA 证书);

  2. 协商 OPRF 密钥参数、哈希盐值、布隆过滤器长度;

  3. 客户端盲化元素上传服务端;

  4. 服务端执行 OPRF 加密返回;

  5. 客户端去盲得到己方加密集合;

  6. 服务端本地生成自身加密集合;

  7. 客户端下发加密集合摘要;

  8. 服务端本地匹配得到交集加密标识,返回客户端;

  9. 双方仅持有交集,无法获取对方独有的任意元素;

  10. 可选:差分隐私扰动交集统计数据。

七、PSI 延伸变体原理

  1. PSU 隐私求并集:仅输出并集,隐藏独有数据;

  2. PSM 隐私集合匹配(带标签):匹配后附带业务标签,标签同步加密;

  3. 多方 PSI MPSI:三方及以上求交,基于分布式 OPRF / 分布式 OT,多用于政务多部门数据互通;

  4. 跨域可信 PSI:结合可信执行环境 TEE(SGX / 国密 TEE),密码学 + 硬件双重安全,信创数据空间主流方案。

八、国密适配改造原理

商用密码改造 PSI 核心替换底层原语:

  1. 哈希:SHA256 → SM3;

  2. 非对称加密 OT/OPRF 底层:RSA/ECC → SM2;

  3. 同态加密替换为基于 SM2 的国产部分同态方案;
    全程不泄露明文,符合等保、数据安全法、可信数据空间规范。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值