TPM 解决的是”启动可信”,但启动后内存仍然透明——OS、Hypervisor、root 用户都能 dump 内存。TEE(Trusted Execution Environment) 在 CPU 内开辟”加密飞地”,让运行时数据也”硬件加密”。本文展开各家 TEE。
TEE 的核心思想
graph TB
subgraph WITHOUT["传统模式"]
OS[OS / Hypervisor / root
都能看 / 改 进程内存]
end
subgraph WITH["TEE 模式"]
TEE[加密飞地内存]
TEE -.- |"只有 enclave 内代码能访问"| OUT[OS / 攻击者看不到]
end
TEE 的目标:
1 2 3 4
| 1. 内存加密: enclave 内存硬件级加密,OS 看不到明文 2. 完整性保护: enclave 代码 / 数据被改 → CPU 拒绝执行 3. 远程证明: 远端可验证 "我在某个 TEE 里跑了某段代码" 4. 隔离: 不同租户 / 进程的 enclave 互相隔离
|
TEE 的几种主流路线
graph TB
TEE[TEE 路线]
TEE --> P1[进程级
一个进程内的飞地]
TEE --> P2[VM 级
整个 VM 加密]
TEE --> P3[安全世界级
独立"安全 OS"]
P1 --> SGX[Intel SGX]
P2 --> TDX[Intel TDX]
P2 --> SEV[AMD SEV / SEV-SNP]
P2 --> CCA[ARM CCA]
P2 --> CSV[海光 CSV]
P3 --> TZ[ARM TrustZone]
P3 --> SE[Apple Secure Enclave]
Intel SGX(Software Guard Extensions)
最早商用的进程级 TEE,2015 年 Skylake 引入:
graph TB
PROC[用户进程]
PROC --> EN[Enclave 飞地]
EN --> EPC[EPC 加密内存]
OS[OS 内核]
OS -.- |看不到 Enclave 内存| EN
SGX 工作机制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 1. 应用启动: 普通进程 2. 创建 Enclave: - ECREATE 指令分配加密内存(EPC) - 加载 Enclave 代码 + 数据 - EINIT 锁定,从此 OS 看不到内存
3. 进入 Enclave: - EENTER 指令切入 enclave - 在 enclave 内执行受保护代码 4. 退出: EEXIT 回到普通模式
EPC 内存: - CPU 访问时 MEE(Memory Encryption Engine)解密 - DRAM 中存的是密文 - DMA / 总线嗅探拿不到明文
|
SGX 的限制
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| EPC 大小: - SGX1:128 MB(Skylake/Coffee Lake,物理上限) - SGX2:512 MB - 1 GB(Ice Lake Server) - SGX 3rd gen: 几十到几百 GB(Sapphire Rapids,2023+)
性能开销: - 加密 / 完整性校验: 内存访问慢 30-50% - 进入 / 退出 Enclave: 几千 CPU cycles - 不适合大数据集计算 攻击: - Foreshadow(2018): 侧信道泄露 - LVI / Plundervolt: 其他 CVE - 这些已修复但生态信心受损
|
SGX 的应用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 密钥管理 KMS: - 在 enclave 内做加密 / 签名 - 即使 root 也偷不到密钥 区块链 / Confidential Computing: - Microsoft Azure Confidential Containers(早期) - Hyperledger Avalon - Intel ISV 生态
数据库加密: - SQL Server Always Encrypted - Microsoft Azure SQL Confidential SDK: - Intel SGX SDK - Open Enclave SDK(Microsoft) - Gramine(项目): 把整个 Linux 应用塞进 SGX
2022+ Intel 缩减消费级 SGX: - 11th gen 桌面 CPU 起取消 SGX - 服务器仍然支持 - 重心转向 TDX
|
Intel TDX(Trust Domain Extensions)
TDX 是 SGX 的”VM 级”继任者,2023 年 Sapphire Rapids 商用:
graph TB
HV[Hypervisor / Host OS
不可信]
HV --> TD1[TD 1
Trust Domain VM]
HV --> TD2[TD 2]
HV --> TD3[TD 3]
TD1 -.- HV
TDX 工作机制
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 1. TDX Module: CPU 内的固件,管理 TD 2. Trust Domain: 一台加密 VM - VM 内存全部加密(MK-TME) - VM 寄存器在切换时加密保存 - Hypervisor 不能读 VM 内存 3. 远程证明: - TDX Quote 包含 TD 启动哈希 - 远端验证 TD 是真 TDX 且内容正确
整个 VM 是 TEE: - 应用不需要重写 - Linux / Windows / 数据库 等都能跑 - 性能开销 < 5%(内存加密硬件级)
|
TDX 的优势 vs SGX
1 2 3 4 5 6 7 8 9 10 11
| SGX: - 应用要拆 enclave 部分 - EPC 大小受限 - 编程复杂
TDX: - 整 VM 加密 - 应用无需修改 - 大内存友好 - 可跑大模型推理 / 训练 - 客户场景普适
|
TDX 在云上
1 2 3 4 5 6 7 8
| Azure DCe / DCa(2024+): Confidential VM 用 TDX GCP Confidential VM: TDX 选项 阿里云 ACK Confidential: TDX 适配中
应用: - 多方计算 / 联邦学习 - 数据安全房 (Data Clean Room) - 监管合规(GDPR / HIPAA)
|
待补充:TDX 实际生产部署规模 2025-2026 数据。
AMD SEV / SEV-ES / SEV-SNP
AMD 的”VM 级 TEE”路线,比 TDX 早:
graph LR
S1[SEV
2017
仅内存加密] --> S2[SEV-ES
2019
+ 寄存器加密]
S2 --> S3[SEV-SNP
2021
+ 完整性 + 防回滚]
SEV(2017)
1 2 3 4 5
| - AMD EPYC 第 1 代 Naples 起 - AES-128 加密 DRAM - 每 VM 一个 VEK(VM Encryption Key) - Hypervisor 看到密文 - 但寄存器 / 中断未加密
|
SEV-ES(Encrypted State,2019)
1 2 3
| - VM 进出时 CPU 寄存器也加密保存 - 防止 Hypervisor 通过 vmexit 偷状态 - AMD EPYC 第 2 代 Rome 起
|
SEV-SNP(Secure Nested Paging,2021)
1 2 3 4 5 6 7
| - 加完整性保护: 防止 Hypervisor 改 VM 内存 - RMP(Reverse Map Table): 每页归属验证 - 防回滚攻击 - 远程证明完整支持 - AMD EPYC 第 3 代 Milan 起
最完整的 AMD VM-level TEE 方案
|
SEV-SNP 在云上
1 2 3 4 5 6
| Microsoft Azure DCasv5(基于 SEV-SNP): 已大规模部署 GCP Confidential VM(C2D / N2D): SEV AWS: 自家 Nitro 等价能力 阿里云 / 腾讯云: SEV-SNP 选项
SEV 比 TDX 早 6 年商用——AMD 在 Confidential VM 市场领先。
|
ARM TrustZone
ARM 的”安全世界”路线,2003 年起:
graph TB
ARM[ARM CPU]
ARM --> NW[Normal World
普通 OS]
ARM --> SW[Secure World
独立安全 OS]
NW --> NS_OS[Linux / Android]
SW --> S_OS[OP-TEE / Trusty / 国产 TEE]
TrustZone 工作模式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| CPU 双世界: - Normal World(NS): Linux / Android - Secure World(S): 一个完全独立的安全 OS
切换: SMC 指令进入 Secure Monitor
Secure World 内: - 独立内核(OP-TEE / TrustyTEE / 国产 TEE) - 独立 RAM 区域 - 独立外设访问
应用: - 移动支付(Apple Pay / Samsung Pay) - 指纹 / 人脸数据 - DRM 视频 - 部分服务器场景
|
服务器场景
1 2 3 4 5
| ARM 服务器(Ampere / Graviton / 鲲鹏 / 飞腾): - TrustZone 仍存在 - 但服务器 TEE 主要看 CCA TrustZone 在服务器侧用得少——主要是嵌入式 / 移动场景。
|
ARM CCA(Confidential Compute Architecture)
ARM 在服务器市场对位 TDX / SEV-SNP 的方案:
1 2 3 4 5 6 7 8 9 10
| ARM CCA(v9 引入,2021): - Realm 模式(VM 级 TEE) - RMM(Realm Management Monitor) - 类似 TDX 思路 - Realm VM 内存加密 + 完整性 状态(2026): - ARM v9 服务器 CPU 商用 - 软件生态成熟中 - 主流云厂家适配中
|
待补充:ARM CCA 实际商用部署案例。
海光 CSV(China Secure Virtualization)
海光 DCU 时讲过——这里重点讲 CSV:
1 2 3 4 5 6 7 8 9 10 11 12
| 海光 CSV: - AMD SEV 国产授权 + 加密算法替换 - SM4 加密 DRAM(不是 AES) - 与 SEV API 兼容 - 海光 C86 / 7000 系列起支持
CSV1 / CSV2 / CSV3: 与 SEV / SEV-ES / SEV-SNP 对应
应用: - 信创云 - 国产机密计算 - 政企客户
|
待补充:海光 CSV 实际部署规模。
鲲鹏 ITrustee
1 2 3 4 5 6 7 8
| 华为鲲鹏 / 麒麟 / 海思的 TEE: - 基于 ARM TrustZone - 自研 Secure World OS(iTrustee) - 与昇腾 / 昇思深度集成 华为云 TEE: - 鲲鹏 + iTrustee - 支持机密计算 SDK(secGear)
|
TEE 编程模型
Open Enclave SDK(跨平台)
1 2 3
| oe_create_enclave("my_enclave.signed"); oe_call_enclave(enclave, "func", args);
|
支持 SGX / TrustZone / OP-TEE。
Gramine LibOS(容器化)
1 2 3 4 5 6
| Gramine(前身 Graphene): - 把整个 Linux 应用塞进 SGX enclave - 不需要改代码 - 性能损失但可用性好
graphene-direct: 非 SGX 也能跑(用于开发)
|
Confidential Computing Consortium(CCC)
1 2 3 4 5 6
| Linux Foundation 旗下: - Open Enclave SDK - Veracruz - Confidential Containers - SPDM 标准 - 跨厂家 TEE 抽象层
|
远程证明(Attestation)的演进
graph TB
TPM[TPM 远程证明
启动状态]
TPM --> SGX_AT[SGX 远程证明
Enclave 状态]
SGX_AT --> TDX_AT[TDX/SEV-SNP 远程证明
VM 状态]
TDX_AT --> CCA_AT[ARM CCA 远程证明
Realm 状态]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| SGX 远程证明: - Intel Attestation Service(IAS) - 后来改 DCAP(Data Center Attestation Primitives) TDX 远程证明: - Intel Trust Authority - 跨云通用
SEV-SNP 远程证明: - AMD KDS(Key Distribution Service) - SNP_REPORT 命令
工业标准趋同: - IETF RATS(Remote ATtestation procedureS) - 跨厂家可互验
|
TEE 的性能数字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| SGX: Enclave 内 CPU 性能: ~95%(小数据) 大数据 / 跨 enclave IO: 50-70% Enclave 切换: 几千 cycles(~ μs 级)
TDX / SEV-SNP: 整 VM 性能损失: < 5%(内存加密硬件级) 启动 + 远程证明: +几秒 TrustZone: Secure World 切换: 几百 cycles 适合短计算(密钥操作 / 验证)
CCA Realm: 类似 TDX,性能开销 < 5%(待实测验证)
|
TEE 的几个安全”老坑”
坑 1:侧信道攻击
1 2 3 4 5 6 7 8
| SGX 历史: Foreshadow / LVI / SGAxe / Plundervolt TDX: 一些早期理论攻击 SEV: Cipherleaks / Crossline
教训: - TEE 不是"绝对安全" - 仍有侧信道 / 故障注入风险 - 应用层仍需防护
|
坑 2:远程证明实现复杂
1 2 3 4 5 6 7 8 9 10 11 12
| 正确实现 attestation: - 验证签名链(厂家根 → CPU 证书 → Quote) - 验证 PCR / MR 哈希匹配预期 - 验证 nonce 防重放 - 验证 TCB level 不旧 - 验证撤销列表
错误实现: - 跳过签名验证 - 不验 nonce - 不查 TCB → 攻击者可重放或冒充
|
坑 3:性能预期错位
1 2 3 4 5
| SGX 大内存应用: 性能崩 TDX 内存加密: 带宽降 5-10% SEV-SNP: 类似
设计: 先 PoC 实测,再上生产
|
坑 4:CPU 错失支持
1 2 3 4 5 6 7 8 9
| 不是所有 CPU 都支持: - SGX:Skylake+ 服务器 - TDX:Sapphire Rapids+ - SEV:EPYC 全系 - SEV-SNP:Milan+ - CCA:ARM v9 - 桌面 / 老服务器:不支持
→ 采购前确认 CPU 支持
|
坑 5:CSP 与租户信任假设
1 2 3 4 5 6 7 8 9 10
| TDX / SEV-SNP 实际信任假设: - 租户 trust:CPU 厂家(Intel / AMD) - 不 trust: Hypervisor / Host OS / CSP
但: - CPU 厂家有后门? - CPU 厂家 KMS 被入侵? - Quote 服务被劫持? → 现实中是"减少信任面",不是"零信任"
|
TEE 与 GPU
GPU TEE 是新前沿:
1 2 3 4 5 6 7 8 9 10 11
| NVIDIA Confidential Computing(H100+): - GPU 内存加密 - PCIe 总线密文 - 需配 TDX / SEV-SNP CPU - VM 与 GPU 端到端加密 - 2024+ 量产
应用: - 多方训练(数据所有者不信任 CSP) - 模型权重保护(推理服务防偷模) - 监管合规 AI 训练
|
待补充:NVIDIA H100 / B200 Confidential Computing 实际部署案例。
一些查询命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| cpuid -1 | grep -i sgx ls /dev/sgx_enclave
cat /proc/cpuinfo | grep -i tdx dmesg | grep -i tdx
dmesg | grep -i sev ls /dev/sev
ls /dev/tee* ls /dev/teepriv* optee-toolchain status
grep -E "aes|sha_ni|gfni|vaes" /proc/cpuinfo
cat /proc/cmdline | grep -E "kvm_intel.tdx|kvm_amd.sev"
|
几个 TEE 选型场景
| 场景 |
选什么 |
理由 |
| 密钥保护 / KMS |
SGX 或 HSM |
小内存,强隔离 |
| Confidential VM 大模型 |
TDX 或 SEV-SNP |
整 VM 加密,无修改 |
| 数据库 Always Encrypted |
SGX(部分操作) |
进程级精细控制 |
| 移动应用支付 |
TrustZone |
嵌入式 + 已成熟 |
| 多方计算 / 联邦学习 |
TDX / SEV-SNP + Confidential GPU |
端到端加密 |
| 国产化机密计算 |
海光 CSV / 鲲鹏 iTrustee |
信创要求 |
一些数字直觉
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| TEE 启动时间: TDX VM: 比普通 VM 多 3-5 秒(attestation) SEV VM: +2-4 秒 SGX Enclave: 100-500 ms
价格溢价: Confidential VM vs 普通 VM: +10-20% Confidential GPU: 价格暂未公开,预计溢价显著
部署规模(2026): TDX / SEV-SNP: 主流公有云已量产 海光 CSV: 国内信创规模化 ARM CCA: 初始 GPU TEE: 小规模
|
信任模型对比
graph TB
M1[传统模式]
M1 --> T1[trust:硬件 + 固件 + Hypervisor + OS + 应用]
M2[Confidential Computing]
M2 --> T2[trust:CPU 厂家硬件 + 固件 + 应用代码]
M2 --> NT2[不 trust:CSP / Hypervisor / Host OS]
TEE 把信任面从”整个云栈”缩到”CPU 硬件 + 固件”——这是机密计算的根本价值。
小结
- TEE 让运行时数据”硬件加密”,连 OS / 攻击者也看不到
- 进程级 TEE: Intel SGX,灵活但 EPC 受限
- VM 级 TEE: Intel TDX、AMD SEV-SNP、ARM CCA、海光 CSV,主流方向
- 安全世界: ARM TrustZone,移动 / 嵌入式
- 远程证明是 TEE 价值的关键
- TDX / SEV-SNP 性能开销 < 5%
- GPU TEE(NVIDIA Confidential Computing)是新前沿
- 国产路线: 海光 CSV、鲲鹏 iTrustee
下一篇讲机密计算(Confidential Computing)—— TEE 在云上的实际产品形态。