机密计算原理详解:TEE 如何保护使用中的数据
机密计算是借助硬件级 TEE 保护使用中数据的安全方法。它通过隔离环境、内存加密和远程证明降低未授权访问风险,适合敏感数据 AI 与多方数据分析。

什么是机密计算?
机密计算(Confidential Computing)是一种通过基于硬件的可信执行环境 TEE 来保护使用中的数据的方法。它关注的是数据正在被应用、分析任务、模型推理或机器学习工作负载处理时的安全状态,而不只是数据存储或传输时的安全。
在传统安全体系中,数据通常会在传输阶段通过加密通道保护,在存储阶段通过落盘加密保护。但当数据进入内存并被程序处理时,系统管理员、宿主机软件或其他高权限组件仍可能成为潜在风险点。机密计算要补齐的,正是这段“使用中数据”的保护空白。
要点: 机密计算不是简单地把数据锁起来,而是让数据在受保护的硬件隔离环境中完成计算,从而降低未经授权访问或修改的风险。
机密计算解决的核心问题
机密计算要解决的核心问题可以概括为:如何在数据必须被计算的同时,尽量减少它对运行环境、运维人员和其他软件组件的暴露。
“使用中的数据”通常出现在以下场景中:
- 应用服务正在处理用户请求或业务数据;
- 分析任务正在对敏感数据集进行计算;
- AI 模型正在进行推理或训练;
- 多方数据协作需要联合分析,但各方不希望暴露原始数据。
这些场景的共同点是:数据不能一直保持静态加密状态,它必须进入运行环境并参与计算。机密计算通过硬件级 TEE 创建受保护的执行区域,让应用和数据在隔离环境中运行,降低外部系统直接读取、篡改或窥探运行时数据的可能性。
可信执行环境 TEE 如何提供隔离保护
TEE,即可信执行环境,是安全且独立的执行环境。它的作用是阻止对使用中的应用和数据进行未经授权的访问或修改。
在机密计算中,TEE 通常承担三个关键职责:
| 机制 | 作用 | 解决的问题 |
|---|---|---|
| 硬件隔离 | 将受保护工作负载与普通主机环境隔离 | 降低宿主机软件或其他组件直接接触敏感数据的风险 |
| 受控执行 | 让应用在安全区域内处理数据 | 防止运行时数据被未经授权读取或修改 |
| 信任边界收缩 | 将可信范围限制在硬件支持的安全环境内 | 减少对外部运维环境的依赖 |
可以把 TEE 理解为一个“可以在里面处理文件的保险柜”。普通保险柜只负责存放文件,而机密计算的目标是让文件在保险柜内部被阅读、计算和处理;外部人员即使管理房间,也不应直接看到保险柜内的内容。
机密计算的隔离目标不仅是普通攻击者,也包括可能拥有较高权限的系统管理员或软件组件。换句话说,它试图降低这样一种风险:主机环境拥有管理权限,并不意味着一定能够看到安全区域内的数据。
机密计算的典型工作流程
机密计算的实现会因平台和硬件而异,但典型流程通常包含受保护环境建立、运行时隔离、内存保护和可信性验证几个环节。
工作负载进入受保护环境
应用、模型或数据处理任务会被放入基于硬件的 TEE 中运行。这个环境与主机系统运维环境相隔离,用于承载需要保护的工作负载和使用中的数据。
在这个阶段,核心目标是先建立一个明确的安全边界:哪些代码和数据在受保护区域内运行,哪些组件位于边界之外。
运行时数据在隔离环境中处理
当工作负载开始执行后,敏感数据会在隔离环境中被处理。TEE 会限制外部系统、宿主机软件或其他未经授权组件对安全区域内应用和数据的访问或修改。
这一步对应机密计算最核心的价值:保护数据正在被使用的过程,而不是只保护数据进入系统之前或处理完成之后的状态。
硬件可信根和启动链度量确认环境可信
一些机密计算实现会基于硬件可信根,并通过启动链度量来确认运行环境从启动阶段开始处于预期状态。启动链度量的意义在于:不仅要保护运行中的数据,也要尽量确认承载这些数据的环境没有在启动过程中偏离预期。
这类机制为后续的可信执行和验证提供基础。
内存加密保护运行时数据机密性
内存加密用于保障运行时数据的机密性。由于使用中的数据通常会出现在内存中,内存侧保护可以降低数据在运行阶段暴露的风险。
需要注意的是,内存加密并不等同于完整的应用安全体系。它是机密计算中的重要机制之一,通常需要与 TEE 隔离、启动链度量和访问控制等能力配合使用。
远程证明提供可验证的信任
远程证明用于让外部参与方验证某个工作负载是否运行在预期的可信环境中。对于多方数据分析、跨组织协作或敏感数据 AI 场景,远程证明很重要,因为参与方往往不能只依赖对方的口头承诺。
通过远程证明,外部系统可以在交换敏感数据或发起计算任务之前,确认运行环境具备预期的可信属性。
机密计算与常见数据安全措施的关注点不同
机密计算并不是传输加密或存储加密的替代品,而是补充保护“使用中数据”这一环节。实际系统通常需要把多种安全措施组合起来,覆盖数据生命周期的不同阶段。
| 安全措施 | 主要保护阶段 | 主要目标 | 典型机制 | 适用场景 |
|---|---|---|---|---|
| 传输加密 | 数据传输中 | 降低网络传输过程中的窃听和篡改风险 | 加密通道、证书校验等 | API 调用、服务间通信、客户端与服务端通信 |
| 存储加密 | 数据静态存放时 | 降低磁盘、对象存储或备份介质泄露后的数据暴露风险 | 磁盘加密、文件加密、密钥管理等 | 数据库、文件存储、备份归档 |
| 机密计算 | 数据使用中 | 降低运行时数据被未经授权访问或修改的风险 | 硬件级 TEE、隔离环境、内存加密、远程证明 | 敏感数据计算、多方分析、AI 工作负载 |
如果只使用传输加密和存储加密,数据在进入应用运行环境后仍可能面临运行时暴露风险。机密计算的价值在于把安全边界推进到计算发生的位置,让敏感数据在被处理时仍处于受保护状态。
多方数据分析和机器学习中的应用价值
机密计算特别适合数据必须被联合使用、但参与方不希望直接暴露原始数据的场景。多方数据分析、机器学习和敏感数据 AI 是较典型的应用方向。
| 用户需求 | 解决方式 | 效果 |
|---|---|---|
| 多个组织希望联合分析数据,但不希望彼此暴露原始数据 | 将分析或机器学习工作负载放入基于 TEE 的隔离环境中运行 | 合并数据集可以被计算,同时在参与者之间保持私密性 |
| 企业希望在敏感数据上运行 AI | 使用机密计算保护模型和使用中的数据 | 降低模型推理或训练过程中敏感数据暴露的风险 |
| 参与方需要确认计算环境可信 | 使用远程证明验证工作负载运行在预期可信环境中 | 为跨组织协作提供可验证的信任基础 |
| 业务需要降低高权限访问风险 | 通过隔离工作负载环境限制特权软件或人员接触安全区域内数据 | 减少对主机运维环境的直接信任依赖 |
在 AI 场景中,机密计算不仅可以用于保护输入数据,也可以用于保护模型和运行中的计算过程。对于隐私敏感分析、跨组织数据协作、模型推理或训练任务,它可以让数据在保持受控暴露的前提下参与计算。
引入机密计算前应确认的适用条件
机密计算更适合那些确实存在运行时数据保护需求的业务。引入之前,可以先从安全目标、协作模式和平台能力三个方面判断是否匹配。
适用性检查清单
- 是否存在敏感数据必须进入应用、分析任务或 AI 工作负载中被处理的情况?
- 是否希望降低系统管理员、高权限软件或宿主机环境访问运行时数据的风险?
- 是否存在多方数据协作,但各方不希望直接共享原始数据的需求?
- 是否需要向外部参与方证明工作负载运行在预期的可信环境中?
- 所选平台或方案是否支持硬件级 TEE?
- 是否具备内存加密、启动链度量、远程证明等关键机制?
- 是否已经明确哪些数据、代码和模型需要进入受保护环境?
更适合优先评估的场景
如果业务重点是敏感数据计算、多方协作或 AI 工作负载,机密计算通常更值得优先评估。例如,跨组织联合分析、隐私敏感模型推理、敏感数据处理等场景,都可能需要在数据使用阶段增加额外保护。
需要谨慎验证的因素
机密计算的实际落地效果会受到硬件、云平台、操作系统、运行时、应用架构和工作负载类型影响。性能开销、成本、兼容性和部署复杂度都不宜在没有实际测试的情况下提前下结论。
要点: 机密计算解决的是“使用中的数据如何被保护”这一问题。它应作为整体安全架构的一部分,与身份认证、访问控制、传输加密、存储加密、密钥管理和审计机制配合使用。