可信执行环境(TEE):硬件把「使用中的数据」围起来,但信任根是芯片厂商、侧信道仍在
一句话摘要:可信执行环境(TEE)用硬件把「使用中的数据」(data in use)圈进一个加密、可远程证明的飞地(enclave),让同租户、恶意 OS / hypervisor、甚至云运营商都看不到里面——这是把 LLM 的 prompt 与权重对云厂商保密的硬件路线。但记牢两条边界:信任根是芯片厂商(你信的是 Intel / AMD / NVIDIA 的密钥与实现),且 TEE 反复被微架构侧信道攻破(Foreshadow 一类)。它是卷五「机密推理」的承重墙,所以先在卷一交代清楚它保证什么、不保证什么。
机制:我这边发生了什么
当我(模型)跑在 TEE 里,这边发生两件事:
- 内存 / 显存被硬件加密、隔离。 我处理你 prompt 的那块内存,由具体 TEE 机制在运行时加密、隔 离,部分平台另提供完整性或回滚防护——具体保证取决于 SGX / TDX / SEV-SNP / GPU TEE 的型号、固件与证明范围,别当作所有 TEE 等同;OS、hypervisor、同机其他租户即便有更高权限,读到的也是密文。机密计算联盟(CCC)把 TEE 的保证定义为三条:数据机密性、数据完整性、代码完整性(CCC, A Technical Analysis of Confidential Computing)。
- 远程证明(remote attestation)。 硬件用厂商签名的密钥生成一份报告,证明「这是真 enclave、跑的是你指定的那份代码(measurement 匹配)」。你先验证这份证明,再把 prompt / 密钥发进来。NVIDIA H100 是首个支持机密计算的 GPU:片上信任根 + 签名证明报告,CPU 与 GPU 之间用 AES-GCM-256 加密传输(NVIDIA 官方)。
红线:TEE 给的是「外部看不到 + 可证明身份」,不是「绝对安全」。它把信任转移到芯片厂商,不护 enclave 内代码自身的 bug,也挡不住下面会说的侧信道。
威胁面:TEE 防什么、不防什么
- 防:同租户偷窥、恶意 OS / hypervisor、(部分型号下)有物理访问的云运营商——核心是「把数据交给云,但云看不到明文」。
- 不防 ① 信任根失守:你被迫信任芯片厂商的密钥体系与实现;厂商的根密钥或证明服务一旦出问题,整条信任链垮掉。
- 不防 ② 微架构侧 信道:Foreshadow(L1 Terminal Fault)用瞬态乱序执行从 SGX enclave 读出受保护内存,演示中连 Intel 用于远程证明的密钥都被提取(Van Bulck et al., USENIX Security 2018);此后 SGAxe、ÆPIC Leak 等一再证明,TEE 的机密性会被新的微架构攻击周期性攻破。
- 不防 ③ enclave 内代码的漏洞:TEE 保证「外面看不到」,不保证里面的代码没 bug——飞地内的内存损坏照样泄密。
- 不防 ④ 旁路:数据一旦被你的代码从 TEE 里导出去(写日志、发给非 TEE 服务),保护即终止。
防护原理
TEE 靠三件套成立:硬件隔离 + 运行时内存加密 + 远程证明。承重点是远程证明——没有它,「我把数据发给一个声称是 TEE 的东西」毫无意义(对端可能是个冒充的普通进程);有它,你能在交出明文之前,用密码学验证对端确实是真硬件上的真代码。所以工程上「用了 TEE」与「正确验证了证明」是两回事,后者才是安全边界。
落地实现(配方)
1. 选硬件:CPU TEE(Intel TDX / SGX、AMD SEV-SNP)保护 CPU 侧;
GPU TEE(NVIDIA H100 / H200 机密计算)保护 GPU 侧的模型推理。
2. 客户端做证明验证(关键):发数据前——验厂商签名、比对 measurement(是否
你指定的代码 / 模型)、检查厂商证书链与撤销状态;任一不符就拒发。
3. 链路加密:CPU-GPU、客户端-enclave 全程加密(如 H100 的 AES-GCM-256),
别让数据在进出飞地的通道上裸奔。
4. 缩小 TCB:飞地内只放必要代码(模型 + 最小运行时),减少「enclave 内 bug」面。
5. 跟微码 / 补丁:侧信道靠厂商微码与缓解持续打补丁,锁定具体 CPU 型号与微码版本。
每个选择都要带上你的威胁模型:你是要防同租户、防云运营商、还是防有物理访问的攻击者?不同目标对应不同硬件与不同残余侧信道假设。
最小可测试断言(把证明验证收成可回归的检查,别停在「我们用了 TEE」):
- 怎么测:篡改 / 伪造 enclave 或改动代码 measurement,跑客户端验证流程。
- 通过:measurement 不匹配、厂商签名无效、或证书链 / 撤销检查失败时,客户端一律拒绝发送明 文;只有全部通过才发。
- 失败:客户端不验证证明(或只建了 TLS、却不比对 measurement)→ 等于没用 TEE,回去把证明验证设成发送前置闸门。
真实案例 / 厂商现状
TEE 是在产技术:Intel SGX / TDX、AMD SEV-SNP 是 CPU 侧的成熟产品;NVIDIA H100 是首个支持机密计算的 GPU——标准 PyTorch / TensorFlow / ONNX 模型不改动即可在 GPU TEE 里跑,客户端只需在发数据前加一步证明验证(NVIDIA 官方)。这把「机密推理」从理论推到了「能在主流 AI 栈上落地」。
Apple Private Cloud Compute(PCC)被宣传为面向消费级的机密推理生产实例,本条未深核其机制细节(远程证明范围、对 Apple 自身的信任假设)。引用前请核 Apple Security 官方文档(已记入 BACKLOG-privacy.md「写作前必核」)。