什么是 TEE(可信执行环境)
注意:本文档是英文原版的自动翻译。
什么是 TEE(可信执行环境)
**可信执行环境(TEE)是处理器内部一个安全的、硬件隔离的区域,它以一种受保护的方式运行代码并处理数据,使其免受系统其余部分的影响——包括操作系统、虚拟机监控程序(hypervisor),甚至机器的物理拥有者。在 TEE 内运行的代码无法被外部软件观察或篡改。TEE 为机密计算(confidential computing)**提供了一种机制:在不受信任的硬件上以硬件强制的保证执行敏感工作负载。
**简而言之:**TEE 是处理器内部一个基于硬件的"密封房间"。其中的代码和数据对外部的一切——包括服务器运营者——都是不可见且不可触碰的。它使在不受信任的机器上进行机密 AI 成为可能。
它所解决的问题
在去中心化 AI 中,计算由不受信任的各方提供。当用户将敏感数据发送给远程 GPU 节点进行推理,或当模型所有者将专有模型部署到第三方硬件上时,一个根本性的问题随之产生:你如何防止计算提供者读取数据或窃取模型?
传统的基于软件的隔离(虚拟机、容器)保护工作负载彼此之间不受影响,但不能使其免受基础设施运营者的影响。运营者控制着操作系统、虚拟机监控程序和硬件——原则上,他们可以检查内存、拦截网络流量或提取机密。TEE 通过将信任边界移入硬件本身来解决这一问题。
它如何运作
TEE 创建一个飞地(enclave)——一个在硬件层面被加密和访问控制的受保护内存与执行区域。一般流程如下:
- 飞地创建。 一个程序请求处理器创建一个安全飞地。处理器分配一块加密内存区域,该区域对机器上的所有其他软件都不可访问。
- 代码加载。 要保护的应用代码和数据被加载到飞地中。处理器对加载的代码进行度量(哈希),以创建确切已加载内容的指纹。
- 密封执行。 代码在飞地内运行。飞地内存中的所有数据都由处理器加密。即使攻击者拥有机器的物理访问权并直接读取 RAM 芯片,他们看到的也只是加密数据。
- 认证(Attestation)。 TEE 生成一份认证报告(attestation report)——一份由硬件签署的密码学证明,声明:"这段特定代码正在真实硬件上的一个真正的 TEE 内运行,且其度量值与此哈希匹配。"远程方(用户、智能合约、验证者)可以验证该认证,以确认飞地是真实的且预期的代码正在运行。
- 结果交付。 飞地产出其输出,并可为请求方对其加密。机器的运营者从不会看到明文输入、内部状态或输出。
认证是关键性质
没有认证,TEE 只是一种安全主张。认证使其可验证。当一个去中心化 AI 项目使用 TEE 时,认证报告就是机密执行确实发生的证据。认证报告可以由智能合约在链上验证,从而在硬件级隐私与区块链级可验证性之间创造联系。
主要的 TEE 实现
若干硬件制造商提供 TEE 技术,各自具有不同的架构和信任假设:
| 实现 | 制造商 | 范围 | 备注 |
|---|---|---|---|
| Intel SGX | Intel | 应用级飞地 | 保护单个应用;飞地内存有限;被广泛研究且久经考验 |
| Intel TDX | Intel | 虚拟机级隔离 | 保护整个虚拟机;比 SGX 支持更大内存;较新的技术 |
| AMD SEV / SEV-SNP | AMD | 虚拟机级隔离 | 加密整个 VM 内存;SNP 增加完整性保护;用于云服务 |
| ARM TrustZone | ARM | 系统级分离 | 将处理器划分为"安全世界"和"普通世界";广泛用于移动设备和 IoT |
| NVIDIA Confidential Computing | NVIDIA | GPU 级隔离 | 将机密计算扩展到 GPU 工作负载;对 AI 推理和训练至关重要 |
对于 AI 工作负载,GPU 级 TEE 支持尤为重要,因为 AI 模型主要在 GPU 而非 CPU 上运行。NVIDIA 的机密计算扩展允许模型推理在 GPU 自身的 TEE 内运行,在 GPU 加速计算期间保护模型权重和输入数据。
为什么 TEE 对加密 AI 很重要
TEE 解决了其他隐私技术目前尚无法大规模解决的一个实际问题:在不受信任的硬件上以可接受的性能运行大型 AI 模型。
机密 AI 推理
加密 AI 中的主要用例是机密推理。一个去中心化推理网络将用户请求与 GPU 提供者匹配。没有 TEE,GPU 提供者可以看到用户的输入、模型权重和输出。有了 TEE,推理在一个硬件密封的飞地内运行——提供者贡献硬件,但无法访问计算。
这使得在无信任环境中本来不可能的场景成为可能:
- 用户可以提交敏感的财务数据进行 AI 分析,而计算提供者看不到它。
- 模型所有者可以在第三方 GPU 上部署专有模型,而不冒模型被窃取的风险。
- 一个 AI 代理可以将私密用户数据作为链上工作流的一部分进行处理,同时保持数据机密。
通过认证实现可验证的 AI
TEE 认证创造了一个可验证的证明,即某个特定模型在受保护的环境中运行过。当这份认证被发布到链上时,它提供了 AI 计算以机密性保证被执行的证据。在可验证 AI 的语境中,TEE 认证在数学上不如零知识证明严格,但对大型模型实用得多——TEE 可以近乎原生速度运行拥有数十亿参数的模型,而基于 ZK 的验证目前仅限于小型模型。
信任模型
关键区别在于:TEE 安全依赖于信任硬件制造商。如果制造商的实现存在 bug 或后门,安全保证就会失效。这与 ZK 证明根本不同,后者的保证是数学性的且不依赖于任何硬件供应商。安全研究人员已经演示了多种针对 Intel SGX 的侧信道攻击,从而催生了补丁和改进的设计。TEE 的安全是一个不断演进的领域,对硬件制造商的信任假设应当被理解,而非被忽视。
它在 DecAIHub 项目卡片中出现的位置
与 TEE 相关的特性出现在多个字段中:
- AI component——诸如 "TEE-based inference"、"confidential execution" 或 "attested model serving" 等值表明使用了 TEE。
- Evidence table——TEE 的 Tier-1 物证包括认证验证日志、所用 TEE 实现的文档、已发布的安全审计,以及链上认证验证合约。
- Verification mechanism——当一个项目使用 TEE 作为其可验证 AI 的方法(而非 ZK 或基于共识的验证)时,这会在项目描述或 AI component 字段中注明。
TEE 常见于 AI/推理 和 AI/计算类别的项目中,在那里第三方硬件上的机密模型执行是一项核心要求。
TEE 不能证明什么
- TEE 认证证明代码在一个真正的飞地内运行——它并不证明代码本身是正确、安全或如其所声称那样运作的。飞地代码中的一个 bug 仍是 TEE 内部的一个 bug。
- TEE 并不证明 AI 模型是好的、无偏见的或准确的。它证明执行的机密性和完整性,而非模型的质量。
- TEE 并不证明去中心化。单个提供者可以运行 TEE 保护的工作负载。去中心化来自网络架构,而非 TEE 本身。
- TEE 并不证明硬件免受所有攻击。侧信道攻击、固件漏洞和供应链风险仍是活跃的安全研究领域。
- TEE 并不消除信任某人的需要——它将信任从计算提供者转移到硬件制造商。这是信任面的显著缩减,但并非完全的无信任。
请勿混淆
- ZK(零知识证明)——ZK 提供计算完整性和隐私的数学保证。TEE 提供基于硬件的保证。两者都可用于可验证的 AI,但它们具有不同的信任模型和性能特征。
- 隐私——隐私是更广泛的目标;TEE 是实现它的一种机制。其他隐私机制包括 ZK 证明、MPC 和同态加密。
- 加密(Encryption)——加密数据保护其在静止或传输中的状态。TEE 在计算期间(使用中)保护数据。它们是互补的,而非可互换的。
- 虚拟机 / 容器——VM 和容器在工作负载之间提供软件级隔离,但不能防范基础设施运营者。TEE 提供硬件级隔离,可防范运营者。
- Secure enclave(作为产品名称)——Apple 的 "Secure Enclave" 是 Apple 设备中的一个特定实现。TEE 飞地的一般概念更为宽泛,适用于各个制造商。
常见问题
TEE 与加密有何不同?
加密保护数据在其被存储(静止)或传输(在途)时的状态。TEE 在数据被处理(使用中)时保护它。标准加密要求数据在计算之前被解密,这会将其暴露给运行计算的任何人。TEE 在内存中保持数据加密,并在一个硬件密封的飞地内处理它,因此数据在飞地之外从不以明文暴露——甚至对机器运营者也不暴露。TEE 与加密是互补的:数据在传输到 TEE 时被加密,在其内部被机密处理,结果在传回用户时被加密。
TEE 会被黑客攻破吗?
TEE 实现一直受到安全研究的审视,并且多种侧信道攻击已被演示——尤其是针对早期版本的 Intel SGX。这些攻击通常利用时序差异、功耗模式或缓存行为来推断飞地计算的信息。硬件制造商以固件补丁和架构改进作为回应。当前一代的 TEE 实现(Intel TDX、AMD SEV-SNP)针对已知攻击类别纳入了缓解措施。TEE 安全并非绝对,但与纯软件隔离相比,它显著提高了门槛。实际风险取决于具体的 TEE 实现、固件版本和威胁模型。
为什么一个加密 AI 项目会选择 TEE 而非 ZK 证明?
主要原因是性能。TEE 允许大型 AI 模型(包括拥有数十亿参数的模型)以近乎原生的速度运行,硬件隔离带来的开销极小。基于 ZK 的验证(zkML)目前需要将模型转换为数学电路并生成密码学证明,这要昂贵几个数量级且仅限于小型模型。TEE 为不受信任硬件上的机密 AI 提供了一个当今即可实用、可部署的解决方案。其权衡是对硬件制造商的信任假设,而 ZK 证明不需要这一点。
什么是 TEE 认证?
认证是由 TEE 硬件生成的一份密码学证明,它证实:这段特定代码,带有这个特定的度量值(哈希),正在真实硬件上的一个真正的 TEE 飞地内运行。该认证由制造商嵌入硬件的密钥签署。远程方可以根据制造商的信任根来验证该认证,以确认飞地是真实的。在加密 AI 中,认证报告可以由智能合约在链上验证,从而在硬件级安全与区块链级透明之间创造一个可验证的联系。
外部参考
- Confidential Computing Consortium — Linux 基金会项目,定义标准并推动整个行业对基于 TEE 的机密计算的采用。
- Intel SGX Developer Reference — Intel Software Guard Extensions 的技术文档,它是使用最广泛的 TEE 实现之一。
- ARM TrustZone Technology — ARM 用于移动设备和边缘计算的 TEE 实现概览。
No comments to display
No comments to display