返回 Expert 笔记
Expert Day 252

TEE基础 — Intel SGX/AMD SEV-SNP/Arm TrustZone

TEE硬件架构、TCB模型、attestation chain、三大平台对比

2027-01-08
Phase 4 - FHE & MPC & TEE (Day 244-258)
TEESGXSEVTrustZoneAttestationTCB

日期: 2027-01-08 方向: 隐私技术 / FHE/MPC/TEE 阶段: Phase 4 - FHE & MPC & TEE (Day 244-258) 标签: #TEE #SGX #SEV #TrustZone #Attestation #TCB


今日目标

类型内容
学习TEE硬件架构、TCB模型、attestation chain、三大平台对比
实操阅读Intel SGX论文 + 部署SGX hello-world (理论步骤)
产出tee_intro.md(本笔记)

1. TEE (Trusted Execution Environment) 概述

1.1 定义

TEE = 处理器内提供的隔离执行环境,保证里面运行的代码和数据机密性 + 完整性,即使操作系统/Hypervisor被攻陷也不影响。

1.2 三个核心保证

保证含义
隔离 (Isolation)内存/CPU状态对外不可见
完整性 (Integrity)代码运行不被tamper
可证 (Attestable)远程证明"我跑的是这个代码"

1.3 TCB (Trusted Computing Base)

TCB = 必须信任的硬件+软件总和。TEE目标是最小化TCB

系统TCB大小
普通OSOS + Hypervisor + Hardware~10M lines
SGXCPU硬件 + Microcode + Enclave内代码~10K lines
SEV-SNPCPU + 微码 + VM较大(整个VM)
Nitro EnclaveNitro Hypervisor + Nitro Card + Enclave镜像

2. Intel SGX (Software Guard Extensions)

2.1 历史

  • 2013年发布(Skylake起)
  • 2021年宣布 client SGX deprecation(消费级Skylake+不再支持)
  • 保留 server SGX(Xeon E series)继续支持
  • 2018-2022 多次严重侧信道攻击

2.2 架构核心

┌─────────────────────────────────────────┐
│             User Space                   │
│  ┌──────────────┐  ┌──────────────────┐  │
│  │   App        │  │ Enclave (隔离区)  │  │
│  │  (untrusted) │←→│   trusted code   │  │
│  └──────────────┘  └──────────────────┘  │
└─────────────────────────────────────────┘
              ↑               ↑
              │               │
┌─────────────────────────────────────────┐
│             OS Kernel                    │
│             (untrusted)                  │
└─────────────────────────────────────────┘
              ↑               ↑
              │  trusted path │
┌─────────────────────────────────────────┐
│  CPU + Microcode (only TCB)              │
│  - EPC (Enclave Page Cache, encrypted)   │
│  - MEE (Memory Encryption Engine)        │
│  - SGX instructions (ECREATE/EENTER...)  │
└─────────────────────────────────────────┘

2.3 关键机制

机制说明
EPC (Enclave Page Cache)物理内存中专用区域,硬件加密,仅enclave访问
MEE透明加密整个EPC(XEX-AES + Merkle tree完整性)
EENTER/EEXIT进入/退出enclave的特殊指令
EREPORT生成本地attestation report
EGETKEY派生enclave-specific keys(封存数据)

2.4 Attestation流程

Enclave A          Quoting Enclave (Intel)         Remote Verifier
────────           ──────────────────              ────────────────
EREPORT(A->QE) ──→
                   verify A's measurement
                   sign with EPID/ECDSA pkey ──→ Quote
                                                   verify with Intel attestation service
                                                   check measurement matches expected
                                                   ↓
                                              ALLOW or DENY

Quote包含:

  • Enclave measurement (MRENCLAVE = SHA256 of code)
  • Signer measurement (MRSIGNER = SHA256 of signing pubkey)
  • Misc state (debug flag, etc)
  • Attestation key signature (Intel的EPID或DCAP的ECDSA)

2.5 攻击历史 (重要!)

攻击影响
Foreshadow / L1TF2018通过L1 cache时序泄漏EPC内容;Intel发布microcode修复
SgxSpectre2018branch prediction侧信道
Plundervolt2019undervolt CPU让enclave计算出错 → 解密key
LVI (Load Value Injection)2020强制enclave加载attacker值
SGX-Fingerprint2021远程指纹enclave
AEPIC Leak2022APIC控制器泄漏EPC
DownFall (Gather Data Sampling)2023AVX-2的gather指令泄漏寄存器

SGX侧信道是持续军备竞赛,每个新attack需microcode/firmware响应。


3. AMD SEV / SEV-ES / SEV-SNP

3.1 演化

  • SEV (2016): VM-level加密,保护VM内存不被hypervisor读
  • SEV-ES (2017): 加上CPU register state加密
  • SEV-SNP (2020): 增加完整性 + remote attestation + page validation

3.2 vs SGX

SGXSEV-SNP
隔离单位进程内enclave (~MB)整个VM (~GB)
编程模型拆分代码完全unmodified VM
TCB大小小 (~10K)大(整个VM image)
性能开销5-50%5-15%
Cloud采用老旧Azure Confidential VMs广泛

3.3 SEV-SNP attestation

  • VM启动时由 AMD Secure Processor 测量并签名
  • 用户VM拿到 attestation report → 给远程verifier
  • 不需要修改VM内代码(unlike SGX要写enclave)

4. Arm TrustZone

4.1 设计

  • 2003年发布 (ARMv6+)
  • "Secure World" vs "Normal World",处理器状态切换
  • 粗粒度(整个OS分两侧),不像SGX那样细粒度enclave

4.2 应用

  • 手机生态:Samsung Knox, iOS Secure Enclave (类似)
  • DRM:Widevine L1 (Netflix高画质需要TrustZone)
  • 支付:Apple Pay, Samsung Pay的TEE

4.3 vs SGX/SEV

  • 更简单更粗粒度
  • 适合手机/IoT(资源受限)
  • 不适合云服务(每Tenant隔离差)

5. AWS Nitro Enclaves(明日重点)

预告(今日不深入):

  • 不是CPU enclave,而是hypervisor-level隔离
  • 基于Nitro Card + Nitro Hypervisor
  • VM-style,无SGX侧信道
  • 启动~30s,attestation document via NSM

6. 三大平台对比

维度Intel SGXAMD SEV-SNPArm TrustZone
隔离粒度Enclave (process-level)VM-levelWorld-level (粗)
TCB大(整VM)
代码修改必需(Intel SGX SDK)不需要(VM直接跑)视情况
性能开销5-50% (随enclave-外I/O频率)5-15%<5%
远程attestEPID/DCAPAMD Secure ProcessorOEM/平台特定
支持OSLinux/Windows enclaveLinux/Windows VMLinux/Android/iOS
典型用例银行/医疗高值workloadCloud confidential VM手机DRM/支付
生产代表Phala (Web3), Asylo, FortanixAzure CVM, ConstellationSamsung Knox, iOS SE
主要漏洞Foreshadow, AEPIC, DownfallCrossTalk, SEVered(相对较少公开)

7. TEE在金融/Web3的实际部署

项目平台用例规模
Phala NetworkIntel SGXconfidential smart contracts, AI推理$PHA mcap ~$200M (2026-12)
Oasis NetworkIntel SGX (ParaTime: Sapphire/Cipher)confidential EVM$ROSE FDV ~$250M
MarlinIntel SGX (TDX migration)secure compute marketplace$POND mcap ~$80M
Secret NetworkIntel SGXprivate smart contracts$SCRT mcap ~$50M
iExecIntel SGX (TEE marketplace)dapp confidential compute$RLC mcap ~$70M
Flashbots SUAVETEE (multiple)MEV-protected order flowmainnet 2026
Chainlink CCIPTEE-aided oraclesecure cross-chain messagingenabled多链 $X TVL
AWS Nitro(AWS专属)enterprise confidential workload政府/银行
Azure Confidential ComputingSGX, SEV-SNPenterprisemajor government clients

8. 性能基准

OperationBare metalSGX overheadSEV-SNP overheadNitro Enclave
Compute-bound (matrix mul)1x1.05x1.05x1.1x
Memory-bound (sort)1x1.5-2x1.1x1.2x
I/O-heavy (frequent OCALLs)1x5-50x1.2x1.3x (vsock)
Enclave启动~100msVM boot~30s
Attestation生成~50ms~50ms~100ms

9. TEE attestation chain

                    Hardware Vendor Root CA (Intel/AMD/Apple)
                                  │
                                  ▼
                       Intermediate CA (regional/batch)
                                  │
                                  ▼
                         CPU/SoC unique key
                                  │
                                  ▼
                    Quote/Attestation key
                                  │
                                  ▼
                    [signed] Attestation report
                    {
                        "MRENCLAVE": <hash of code>,
                        "MRSIGNER": <hash of dev cert>,
                        "platform_info": {...},
                        "user_data": <app-specific>,
                        "timestamp": ...
                    }

Verify流程

  1. 拿到attestation report
  2. 沿信任链验签到vendor root CA
  3. 检查MRENCLAVE是否预期版本
  4. 检查platform info(无known vulnerable CPU)
  5. ALLOW

关键风险

  • Vendor root CA私钥被盗 → 全系受损
  • CRL/TCB-info服务可被Vendor撤销 → 设备被锁
  • 国家强制要求vendor交出后门

10. 常见陷阱

  1. Side-channel: SGX内的Spectre/Foreshadow → 应用层做constant-time
  2. OCALL频繁: 进出enclave开销大 → batched I/O
  3. EPC limit: SGX1只128MB, SGX2扩展但仍受限 → 数据paging导致性能崩
  4. Sealing key不要hardcode: 用EGETKEY基于MRENCLAVE/MRSIGNER派生
  5. Attestation freshness: 必须用nonce防replay
  6. TCB-info过期: Intel/AMD的vulnerable CPU列表必须实时检查
  7. Memory encryption integrity 范围: SGX1 MEE只保护EPC;如内存映射文件需自己加密
  8. Debug enclaves: 一旦flag debug=1,所有保护失效(开发误用→生产事故)

11. 攻击向量深度

11.1 Foreshadow (CVE-2018-3615)

原理:L1 Terminal Fault — 当enclave页未在L1 cache被marker时,CPU过度执行返回任意值 → 通过cache timing提取。 修复:microcode + L1 cache flush on context switch。

11.2 LVI (Load Value Injection, CVE-2020-0551)

攻击者通过poison cache让enclave错误load → 再侧信道泄漏。 修复:编译器insert LFENCE before sensitive loads (Intel工具链SGX-LVI mitigation)。

11.3 AEPIC Leak (CVE-2022-21233)

APIC寄存器泄漏stale data → 提取enclave内sk。

11.4 Side channels at network protocol level

TEE oracle回应的latency/bytes在网上可被分析。缓解:constant-time response。


12. 合规与监管

12.1 优势

  • HIPAA: TEE可实现"covered entity"内部数据隔离
  • PCI-DSS Level 4 keys: TEE可保管HSM-equivalent
  • GDPR Art.32: 加密+访问控制

12.2 挑战

  • 中国《密码法》:进口商用密码模块需许可 → SGX在中国部署受限
  • Trust the vendor:监管/审计无法穿透厂商黑盒
  • Side-channel不可证防御:监管对"完美保证"vs "best effort"难定性

13. 关键速查

概念一句话
TEE硬件隔离的可信执行环境
TCB必须信任的硬件+软件总和,TEE追求最小化
EnclaveSGX的隔离区(process-level)
Attestation远程证明"我跑的是这个代码"
Sealing用enclave-bound key加密数据存盘
EPCSGX的encrypted memory pool
MEEMemory Encryption Engine
Side-channelTEE最大威胁,cache/timing/power leakage

14. 面试题

Q1:TEE和FHE/MPC/ZK的核心信任差异?

FHE/MPC/ZK 信任数学(计算难、信息论);TEE 信任硬件厂商(Intel/AMD/ARM)+ 假设无侧信道。性能上TEE远超其他(1.1-50x vs 1k-1Mx),但安全模型最弱。生产中常用TEE+ZK混合:TEE做heavy lifting,ZK做attestation transparency。

Q2:SGX vs SEV-SNP核心区别?

SGX是process-level enclave,TCB小但需重写应用(split trusted/untrusted)。SEV-SNP是VM-level,整个VM加密,应用无需修改但TCB大。云服务(Azure CVM)多用SEV-SNP;银行高值workload用SGX的细粒度TCB。

Q3:TEE的最大风险是?

侧信道。SGX历经Foreshadow/LVI/AEPIC/Downfall系列攻击。新CPU+microcode mitigations + 应用constant-time工程 + ZK + multiple TEE diversity (Intel + AMD)是缓解组合。绝对安全的TEE不存在

Q4:Web3里TEE主要用例?

(1) Confidential smart contracts (Phala, Oasis, Secret Network);(2) MEV-resistant orderflow (Flashbots SUAVE);(3) Secure oracle (Chainlink CCIP);(4) AI推理 (iExec, Phala AI);(5) Cross-chain messaging (LayerZero v2 with TEE option)。

Q5:Attestation流程为什么重要?

没有attestation,TEE就是"trust me bro"。Attestation让远程verifier密码学验证:"你的enclave跑的代码哈希是X,平台版本是Y,没已知漏洞" → 然后再发sensitive data。在Web3里,attestation通常作为oracle,链上合约验证后才信任TEE的输出。


15. 明日预告

Day 253:AWS Nitro Enclaves深度 — 云端TEE的设计哲学、attestation document、完整部署示例(含真实可运行代码)。


今日产出: tee_intro.md(本文 ~620行),含三大平台对比、攻击历史、attestation chain Lines: ~620