Trusted Execution Environments

Wiki Powered byIconIQ
Trusted Execution Environments

我们刚刚发布了 IQ AI.

查看详情

Trusted Execution Environments

可信执行环境 (TEE) 是计算机主处理器中安全、隔离的区域,旨在保护代码和数据的机密性和完整性。 TEE 也称为飞地,提供硬件强制屏障,将敏感计算与主机系统的操作系统、虚拟机管理程序和其他应用程序分开,确保即使是完全控制机器的管理员也能保护数据。 [1] [2]

概述

可信执行环境的核心目的是实现代码的安全执行和数据的机密处理。这是通过硬件级别的隔离来实现的,它创建了一个受保护的容器,任何外部软件(包括主机操作系统)都无法访问该容器。TEE 的安全性由“硬件信任根”锚定,这通常涉及在制造过程中嵌入到处理器中的不可变的私钥,从而防止环境被用户控制的软件模拟或破坏。[3]

该技术最初出现在 20 世纪 90 年代,用于数字版权管理 (DRM) 和安全支付等应用。[1] 2000 年代中期,开放移动终端平台 (OMTP) 在其“高级可信环境:OMTP TR1”标准中更正式地定义了这个概念。[3] 近年来,TEE 在 领域获得了显著的关注,成为实现隐私、增强可扩展性和降低安全风险(如最大可提取价值 (MEV))的实用解决方案。[4]

TEE 通常与纯粹的密码学隐私解决方案(如 (ZKP) 和全同态加密 (FHE))进行比较。虽然 ZKP 提供了一种基于数学证明的“无需信任”模型,但 TEE 依赖于对硬件制造商的信任。然而,对于通用计算而言,TEE 通常被认为性能更高、更灵活,能够运行现有应用程序,而无需定制的领域特定语言或复杂的证明系统。[1] [3]

技术

核心原则

TEE 的功能建立在几个关键原则之上,这些原则共同提供了一个安全的计算环境:

  • 保密性:加载到 TEE 中的代码和数据在内存中加密。它们无法被 enclave 之外的任何软件访问,包括主机操作系统、内核或虚拟机监控程序。
  • 隔离性:硬件级别的分离可防止主机系统访问或干扰 TEE 中运行的进程。TEE 强制执行严格的内存访问控制,主机操作系统尝试读取 TEE 受保护内存的任何尝试都会被硬件阻止。
  • 可证明性:TEE 可以生成密码学证明,称为“证明”,证明其来源和正在执行的确切代码。这允许远程第三方验证计算是否由运行可信、未篡改软件的真正 TEE 执行。 [1]

运作机制

TEE 中代码和数据的生命周期涉及多个硬件管理步骤,以确保从启动到退出的安全性:

  1. 初始化:在系统启动时,BIOS/UEFI 初始化硬件并为 TEE 分配一个内存区域。专用的内存加密引擎 (MEE) 会加密此 RAM 区域。
  2. 加载:加密的代码和数据从存储加载到 TEE 的受保护内存中,并在 enclave 中解密以供使用。
  3. 执行:应用程序使用特殊的 CPU 指令进入 enclave,这个过程类似于传统操作系统中从用户模式切换到内核模式。
  4. 交互:由于存储和网卡等外围设备位于 TEE 的信任边界之外,因此所有 I/O 操作都通过共享内存处理。从这些不受信任的组件进入 TEE 的数据必须经过验证。对于安全的网络通信,TEE 可以在内部生成自己的密钥对,以建立传输层安全 (TLS) 会话。
  5. 退出:TEE 使用安全 API 或退出函数与非 TEE 资源交互。 [1]

远程证明

远程证明是一项关键功能,允许 TEE 向远程方证明其完整性。该过程通常包括四个步骤:

  1. 测量:CPU 测量可信计算基,其中包括启动固件、操作系统和应用程序二进制文件。
  2. 存储:此测量结果存储在 CPU 内的安全硬件寄存器中。
  3. 签名:CPU 使用唯一的私有证明密钥对测量结果进行签名,该密钥在制造过程中嵌入到硬件中。
  4. 验证:签名的测量结果(或“证明报告”)被发送到远程验证者。验证者可以检查签名以确认 enclave 的真实性,并验证正在执行正确的代码。 [2]

主要实现

几家主要的硬件制造商已经开发了自己的TEE技术:

  • Intel: Software Guard Extensions (SGX) 及其后续产品 Trust Domain Extensions (TDX)。
  • AMD: Secure Encrypted Virtualization (SEV)。
  • ARM: Confidential Compute Architecture (CCA)。
  • NVIDIA: 在其 Hopper 和 Blackwell GPU 架构上的 Enclaves。 [1]

用例

传统应用和Web2应用

中采用可信执行环境(TEE)之前,它已广泛应用于各个领域,以保护敏感数据和知识产权:

  • 数字版权管理(DRM):保护高价值内容,如4K电影和优质音频,免受未经授权的复制。
  • 金融服务:保护移动钱包、非接触式支付和销售点(POS)终端的安全。
  • 身份验证:为生物识别数据处理提供安全环境,包括面部识别、指纹扫描和语音授权,类似于iPhone中的Apple Secure Enclave。
  • 企业和政府:在移动设备和服务器基础设施上安全地处理机密信息。 [3] [5]

Web3 和区块链应用

TEE为领域的几个关键挑战提供了解决方案,包括隐私、可扩展性和安全性。截至2025年9月,据报道有超过50个团队正在积极从事基于TEE的项目。 [2]

私有智能合约

TEE 使得创建机密智能合约成为可能,其中逻辑、数据输入和状态对公众甚至对运行网络的运营商保持私密。这允许在链上处理敏感信息的应用程序,例如医疗保健或财务数据。运营商的 TEE 可以在不访问数据本身的情况下对这些私有数据执行计算。[1]

“TEE 使运营商能够在不知道在其服务器上处理的私有数据的情况下参与网络。” [1]

可扩展性和链下计算

计算密集型任务可以从主卸载到支持TEE的节点。这些节点安全地在链下执行任务,并将结果和正确执行的证明提交回链上。这降低了网络负载和交易成本,从而提高了吞吐量。这种模型用于一些Layer 2扩展解决方案和去中心化云计算平台。 [3]

MEV 缓解

最大可提取价值 (MEV) 是指通过重新排序、插入或审查交易从中提取的利润。TEE 正在被实施以通过创建私有交易池和可验证的构建者来对抗 MEV。在这种系统中,用户将其交易提交给在 TEE 内部运行其操作的构建者。TEE 确保交易数据在中最终确定之前保持机密,从而防止 MEV 搜索者抢先交易或进行三明治攻击。这种方法旨在通过创建一个同时快速、去中心化和私有的系统来解决“MEV 三难困境”。 [5]

安全预言机和互操作性

TEE可以为计算提供安全环境,确保输入智能合约的外部数据的完整性。它们还可以作为可信的中介,促进不同网络之间安全的数据交换和资产转移,从而增强跨链互操作性。 [3]

实现与采用

Web3生态系统中许多项目已将TEE集成到其架构中:

  • :第一个默认启动私有智能合约的,使用Intel SGX。它基于Cosmos SDK构建,支持机密状态和交易。
  • :一个使用TEE为Sapphire提供支持的平台,Sapphire是其与EVM兼容的机密ParaTime,可在类似以太坊的环境中实现私有dApp。
  • :由Uniswap团队开发的乐观rollup,于2024年10月推出。它与Flashbots合作,在其区块构建过程中使用TEE(最初是Intel TDX),以创建抗MEV的基础设施。
  • Flashbots:一个专注于MEV的研究组织,正在开发一种利用TEE的“可验证构建器”(rollup-boost)。这项技术是Unichain设计的核心组成部分。
  • :一个去中心化云计算平台,使用Intel SGX进行安全链下计算。
  • rollup,使用TEE作为与ZK证明器并行的第二种证明器,以增加冗余并增强安全性。 其他值得注意的项目包括Cycles ProtocolAutomata[2] [5] [4]

挑战与局限性

尽管 TEE 具有实用性,但它们的安全模型和对中心化硬件的依赖性面临着重大挑战和批评。

供应商信任和中心化

TEE 的整个安全模型依赖于对硬件制造商(例如,英特尔、AMD)的信任。这引入了一个中心化的故障点,并且与许多项目的去中心化精神背道而驰。存在制造商可能被政府机构强迫引入后门,或者在复杂的供应链中引入缺陷的风险。 [2] [3]

安全漏洞

TEE已被证明容易受到多种攻击,这些攻击会损害其机密性和完整性保证。

  • 侧信道攻击:这些攻击通过观察硬件操作中的模式来提取信息。例如,Spectre利用推测执行,而Plundervolt则通过操纵CPU电压来诱导SGX enclave内部的故障并提取密钥。
  • 微处理器漏洞:TEE容易受到诸如Meltdown之类的通用硬件错误的影响。
  • 物理攻击:研究表明,没有现有的TEE设计可以完全防御具有物理芯片访问权限的复杂攻击者。
  • 实现错误:TEE的隔离机制或内部运行的软件中的缺陷可能会损害其安全性。例如,英特尔的SGX技术在“sgx.fail”等网站上记录了漏洞历史。 [1] [5]

Blockworks Research的Daniel Shapiro指出等协议的风险,他说:“随着链的增长,攻击的动机也会随之增长。可能会出现新的安全漏洞,从而使用户资金面临风险。” [5]

风险缓解与研究

为了解决TEE固有的局限性,开发人员和研究人员提出了各种缓解策略,并正在探索下一代设计。

实施的最佳实践

建议开发者在设计系统时假设TEE最终可能被攻破。

  • 为失败而设计:系统架构应使TEE漏洞成为“麻烦,而不是生存风险”。例如,TEE不应是保护系统完整性的唯一组件。
  • 隐私优先于完整性:TEE更适合用于保密性。不鼓励将其用作完整性关键任务(如交易验证)的唯一机制,因为妥协会允许攻击者伪造资产。
  • 不经意的RAM(ORAM):当TEE与主机RAM交互时,可以使用此技术来模糊内存访问模式,从而以牺牲性能为代价来缓解侧信道泄漏。
  • 前向保密和密钥轮换:定期更换加密密钥可以限制漏洞的影响,因为被盗密钥不能用于解密受旧密钥保护的过去数据。 [1]

分布式密钥管理

为了防止单点故障,基于TEE的系统通常采用分布式密钥管理。Ekiden协议首创了一种模型,其中由受信任节点组成的“密钥管理委员会”(KMC)使用门限密码学管理敏感密钥。KMC向各个工作节点颁发短期、有限访问权限的密钥,这些节点必须通过远程证明来证明其合法性才能接收密钥。该系统包括主动密钥轮换,以进一步增强安全性。 [2]

未来研究方向

目前正在进行研究,以开发不需要信任制造商的TEE。提议的解决方案包括使用物理不可克隆函数(PUF)来保护信任根,结合掩蔽技术来保护计算免受物理攻击,以及构建具有开源硬件和经过正式验证、可重现构建的TEE,以确保设计完整性。 [4]

参考文献

首页分类排名事件词汇表