1. 硬件强制隔离
- 通过CPU硬件机制,在物理内存中划分出受保护的区域,该区域与普通内存地址空间完全隔离
- 任何来自TEE外部的访问请求(包括特权软件发起的访问)都会被硬件直接拒绝
- 这种隔离不依赖软件层面的权限控制,而是基于硬件的安全边界。
2. 内存数据全链路加密
- 数据在内存中始终以加密形式存在,仅在CPU内部解密参与运算
- 内存总线上的数据传输也被加密保护,防止通过物理探测总线获取敏感信息
- Intel SGX早期实现使用AES-128加密算法(以缓存行64字节为单位进行加密),现代实现已切换到AES-XTS加密算法,支持更大容量的EPC。
3. 远程证明建立信任链
- 数据提供方在发送敏感数据前,先验证接收方是否运行在合法的TEE环境中
- 证明过程由CPU硬件直接参与,证明报告使用CPU内置的签名密钥进行签名,具有极高的伪造难度
- 只有通过证明验证,数据提供方才会与接收方建立加密通信通道并传输数据。
4. 最小化信任边界
- 传统计算模型需要信任整个软件栈(BIOS、操作系统、虚拟机监控器、库函数等)
- 机密计算将信任边界收缩至CPU硬件和TEE内部的代码,大幅减少可信计算基(TCB)的规模
- 部分TEE方案支持运行时TCB测量与验证,确保运行过程中代码的完整性。
5. 数据密封(Sealing)存储保护
- TEE可将敏感数据加密后存储到外部存储介质,加密密钥与CPU硬件和TEE代码度量值绑定
- 只有相同的TEE代码运行在相同的CPU上时,才能解密此前密封存储的数据
- 即使外部存储设备被盗取,攻击者也无法解密其中的敏感数据。