背景

随着《个人信息保护法》《数据安全法》的落地,跨机构数据共享面临严格的合规约束。"数据不出域、价值可流通"成为数据协作的核心技术需求。

本文从技术实现角度,梳理四种主流方案的原理、适用场景与性能特征。


方案一:多方安全计算(MPC)

核心原理

MPC基于密码学协议,允许多个参与方在不暴露各自输入的情况下,联合计算一个函数的输出。

主要协议包括:

  • 秘密分享(Secret Sharing):将数据拆分为多个份额分发给各方,各方只持有部分信息,联合计算后还原结果
  • 混淆电路(Garbled Circuit):将计算逻辑编译为加密电路,双方在不知道对方输入的情况下执行
  • 不经意传输(Oblivious Transfer):一方从另一方获取特定数据,但不知道其他数据,另一方也不知道获取了哪条

隐私求交(PSI)实现

PSI是MPC最常见的应用场景之一:

参与方A持有集合 S_A = {a1, a2, ..., an}
参与方B持有集合 S_B = {b1, b2, ..., bm}
目标:计算 S_A ∩ S_B,双方均不暴露非交集元素

基于哈希的朴素PSI(仅用于理解原理,实际不安全):

# 不安全的朴素实现,仅供理解
def naive_psi(set_a, set_b):
    hashed_a = {hash(x) for x in set_a}
    hashed_b = {hash(x) for x in set_b}
    intersection_hashes = hashed_a & hashed_b
    # 问题:哈希值可被暴力破解,实际需使用OPRF等密码学原语
    return intersection_hashes

生产环境通常使用基于OPRF(Oblivious Pseudo-Random Function)的PSI协议,安全性基于DDH假设。

性能特征

数据规模 PSI耗时(参考) 通信量
100万条 ~10秒 ~500MB
1000万条 ~100秒 ~5GB
1亿条 ~15分钟 ~50GB

以上数据因网络环境和硬件配置差异较大,仅供参考


方案二:联邦学习(FL)

横向联邦学习流程

1. 服务器初始化全局模型 w_0
2. 每轮训练:
   a. 服务器广播当前全局模型 w_t 给各参与方
   b. 各参与方 i 在本地数据 D_i 上训练,得到本地梯度 g_i
   c. 各参与方上传 g_i(可加差分隐私噪声)
   d. 服务器聚合:w_{t+1} = w_t - η * Σ(g_i) / n
3. 重复直到收敛

梯度安全保护

原始梯度存在信息泄露风险,常用保护方案:

差分隐私(DP)

def add_dp_noise(gradient, sensitivity, epsilon):
    """
    向梯度添加高斯噪声实现差分隐私
    sensitivity: 梯度的L2敏感度
    epsilon: 隐私预算
    """
    sigma = sensitivity * (2 * math.log(1.25 / delta)) ** 0.5 / epsilon
    noise = np.random.normal(0, sigma, gradient.shape)
    return gradient + noise

安全聚合(Secure Aggregation):服务器只能看到聚合后的梯度,无法看到单个参与方的梯度。

纵向联邦学习

纵向联邦中,各方持有相同用户的不同特征,标签通常只有一方持有。

关键步骤:

  1. 样本对齐(PSI):找到各方共同用户
  2. 前向传播:各方在本地计算中间结果,加密后传给标签方
  3. 反向传播:标签方计算损失,加密梯度传回各方
  4. 本地更新:各方用收到的加密梯度更新本地模型参数

方案三:可信执行环境(TEE)

Intel SGX基本原理

SGX(Software Guard Extensions)在CPU内创建称为Enclave的隔离执行环境:

  • Enclave内存被加密,CPU外部无法读取
  • 即使操作系统、Hypervisor也无法访问Enclave内存
  • 通过远程证明(Remote Attestation)验证Enclave的完整性

数据处理流程

1. 数据所有方验证远程证明,确认TEE环境可信
2. 使用TEE公钥加密数据,传入Enclave
3. Enclave内解密数据,执行计算逻辑
4. 输出加密的计算结果
5. 原始数据在Enclave内销毁

性能对比

方案 相对明文计算的性能损耗 适用延迟要求
MPC(秘密分享) 10-1000倍 分钟级以上
联邦学习 通信开销为主 小时级(训练)
TEE(SGX) 5-30% 毫秒级
数据沙箱 <5% 毫秒级

方案四:数据沙箱

核心机制

数据沙箱通过以下技术手段限制数据导出:

  • 网络隔离:沙箱环境无法访问外部网络
  • 输出审计:所有输出结果经过人工或自动审核
  • 操作限制:禁止截图、复制、文件导出等操作
  • 行为监控:记录所有操作日志,异常行为告警

与TEE的区别

数据沙箱的安全性依赖管理措施,TEE的安全性由硬件保证。对于高敏感数据,建议使用TEE;对于中低敏感数据,数据沙箱的部署成本更低。


技术选型建议

场景 推荐方案 原因
联合建模 联邦学习 专为模型训练设计
实时风控 TEE 性能损耗低,延迟可控
隐私求交 MPC(PSI) 专用协议效率高
数据开放授权 数据沙箱 部署简单,用户体验好
复杂混合场景 MPC+FL+TEE组合 根据子场景选择最优方案

如果你在做类似方向的工作,欢迎交流讨论。

蓝象智联官网:www.trustbe.cn

参考资料

  • Yao, A. C. (1982). Protocols for secure computations. FOCS.
  • McMahan, B., et al. (2017). Communication-efficient learning of deep networks from decentralized data. AISTATS.
  • Costan, V., & Devadas, S. (2016). Intel SGX explained. IACR Cryptol. ePrint Arch.
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐