# 数据不出域的技术实现:MPC、FL、TEE、数据沙箱原理与对比
·
背景
随着《个人信息保护法》《数据安全法》的落地,跨机构数据共享面临严格的合规约束。"数据不出域、价值可流通"成为数据协作的核心技术需求。
本文从技术实现角度,梳理四种主流方案的原理、适用场景与性能特征。
方案一:多方安全计算(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):服务器只能看到聚合后的梯度,无法看到单个参与方的梯度。
纵向联邦学习
纵向联邦中,各方持有相同用户的不同特征,标签通常只有一方持有。
关键步骤:
- 样本对齐(PSI):找到各方共同用户
- 前向传播:各方在本地计算中间结果,加密后传给标签方
- 反向传播:标签方计算损失,加密梯度传回各方
- 本地更新:各方用收到的加密梯度更新本地模型参数
方案三:可信执行环境(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.
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)