MPC、同态加密与 TEE

本节目标

能用参与方、密钥、串谋、输入/输出可见性、完整性与硬件信任比较 MPC、HE/FHE 和 TEE;能识别性能、侧信道、访问模式、恶意输入和密钥运维等未解决边界。

不要从技术名开始

先写函数与威胁模型:谁有输入,谁需要输出,谁可能串谋或偏离协议,需要隐藏输入、输出、函数还是访问模式,能否信任硬件,允许多大延迟和运维复杂度。若删除字段或在数据持有方做本地统计就能完成目的,复杂密码协议可能没有必要。

安全多方计算(MPC)

MPC 让多个参与方联合计算函数,同时按协议安全定义限制各方获知其他输入。直觉上可把输入拆成多个份额,任何不足阈值的份额不能恢复秘密,协议在份额上运算并重构批准输出。

实际保证取决于:半诚实/恶意对手、腐败与串谋阈值、是否有诚实多数、是否保证公平/活性、谁可中止、网络与同步假设、协议和实现。MPC 隐藏输入不等于输出安全;若函数输出“某人是否患病”,协议正确执行仍会泄露。恶意参与方还可能输入虚假数据,因此需要输入有效性、范围证明或治理控制。

同态加密(HE/FHE)

HE 允许对密文执行特定运算,持钥方解密结果;FHE 目标是支持任意可表达计算。它适合把计算委托给不应看到明文的执行方,通常减少多轮交互,但需要处理:

  • 支持的数值/电路、近似精度、噪声增长与参数;
  • 计算、内存、密文膨胀和延迟;
  • 密钥生成、保管、轮换、阈值解密与灾难恢复;
  • 结果完整性——加密输入并不自动证明服务器按批准程序计算;
  • 访问模式、元数据、输出和应用旁路。

截至 2026-07-21,NIST PEC 将 FHE 描述为持续跟踪、面向未来标准化/建议的领域;不要把所有方案宣传成已有统一 NIST 标准。具体库参数应由密码专家按当前实现审查。

可信执行环境(TEE)

TEE/机密计算用硬件隔离保护“使用中”代码和数据,并通过远程证明让验证方检查特定硬件/软件测量值。它能承载更通用的现有程序,但把信任放到 CPU/固件、厂商根、证明服务、加载代码、云控制面与补丁流程。

远程证明只在你验证了正确测量、配置、新鲜度和证书链时有意义。侧信道、回滚、I/O、网络、访问模式、宿主拒绝服务和实现漏洞仍需处理。TEE 中的恶意程序仍可把秘密作为“合法输出”发出;因此代码审核、出站策略和输出最小化不可省略。

对比表

维度MPCHE/FHETEE
主要信任协议假设与不足阈值不串谋密钥持有者、参数、实现硬件/固件/证明链与加载代码
交互常需多方在线、多轮计算方可非交互执行类似常规服务交互
通用性协议与框架相关受可表达计算/性能限制较接近通用程序
主要成本通信、协调、掉线计算、内存、密文膨胀硬件可用性、证明与补丁运营
不自动保证输出隐私、输入真实性计算完整性、访问模式、输出隐私程序善意、侧信道、输出隐私

组合与完整性

MPC、HE 与 TEE 常用于减少计算过程中输入或中间值对某些参与方的可见性,但精确保证由协议、对手模型、密钥/硬件和实现决定:某些 MPC 协议可同时提供恶意安全或结果完整性,另一些只覆盖半诚实机密性;HE 本身通常不证明计算正确;TEE 则依赖证明链和加载代码。DP 可限制发布结果对个体的影响;零知识证明可在某些方案中证明输入或计算满足关系。组合不是“强度相加”:每层的主体、假设、参数、失败模式和输出必须在一张端到端数据流中一致。

练习与自测

分别评审:两家银行求欺诈名单交集、云端计算加密风险分数、云中运行通用敏感分析。为每个场景写输入/输出、候选技术、密钥/证明、串谋、完整性、性能和仍泄露的元数据;至少提出一种更简单的最小化方案。

  • 能说出 MPC、HE/FHE、TEE 各自把信任放在哪里。
  • 能区分机密性、完整性、可用性与输出隐私。
  • 能解释远程证明、阈值和密钥管理为何属于协议保证。
  • 能拒绝没有威胁模型、版本和基准的“隐私计算”营销结论。

下一步

进入 隐私技术选型与组合边界,形成可评审决策记录。

参考资料