[论文解读] Building Your Own Trusted Execution Environments Using FPGA
BYOTee 是一个框架,允许用户在通用 FPGA 设备上构建可自定义的、多个且同等安全的可信执行环境(TEE),通过创建可配置硬件和软件可信计算基(TCB)的按需信封。它提供执行前和执行后的远程证明,以验证硬件和软件完整性,在低端 Zynq-7000 FPGA 系统上实现了强大的安全性和性能,支持四个 SSA 工作负载和 12 个基准测试。
In recent years, we have witnessed unprecedented growth in using hardware-assisted Trusted Execution Environments (TEE) or enclaves to protect sensitive code and data on commodity devices thanks to new hardware security features, such as Intel SGX and Arm TrustZone. Even though the proprietary TEEs bring many benefits, they have been criticized for lack of transparency, vulnerabilities, and various restrictions. For example, existing TEEs only provide a static and fixed hardware Trusted Computing Base (TCB), which cannot be customized for different applications. Existing TEEs time-share a processor core with the Rich Execution Environment (REE), making execution less efficient and vulnerable to cache side-channel attacks. Moreover, TrustZone lacks hardware support for multiple TEEs, remote attestation, and memory encryption. In this paper, we present BYOTee (Build Your Own Trusted Execution Environments), which is an easy-to-use infrastructure for building multiple equally secure enclaves by utilizing commodity Field Programmable Gate Arrays (FPGA) devices. BYOTee creates enclaves with customized hardware TCBs, which include softcore CPUs, block RAMs, and peripheral connections, in FPGA on demand. Additionally, BYOTee provides mechanisms to attest the integrity of the customized enclaves' hardware and software stacks, including bitstream, firmware, and the Security-Sensitive Applications (SSA) along with their inputs and outputs to remote verifiers. We implement a BYOTee system for the Xilinx System-on-Chip (SoC) FPGA. The evaluations on the low-end Zynq-7000 system for four SSAs and 12 benchmark applications demonstrate the usage, security, effectiveness, and performance of the BYOTee framework.
研究动机与目标
- 解决如 Intel SGX 和 Arm TrustZone 等专有 TEE 的局限性,包括缺乏透明度、固定的 TCB、共享 CPU 核心,以及易受侧信道和冷启动攻击的影响。
- 克服现有 TEE 的限制,这些 TEE 强制采用单体式软件 TCB,并依赖不受信任的复杂操作系统或固件。
- 使用户能够在通用 FPGA 上构建多个隔离且密码学可验证的 TEE,支持自定义硬件组件(例如软核 CPU、外设)。
- 为硬件(位流、固件)和软件(SSA、输入/输出)堆栈提供强大的远程证明,以确保运行时完整性。
- 设计一个轻量级、可组合且可扩展的框架,使开发人员能够根据特定应用需求定制 TEE,而不会损害安全性。
提出的方法
- 利用通用片上系统(SoC)FPGA(例如 Xilinx Zynq-7000)实例化多个隔离信封,支持用户定义的硬件组件,包括软核 CPU、块 RAM 和外设接口。
- 采用 BYOTee 固件层管理信封生命周期,提供系统库,并支持信封与富执行环境(REE)之间的安全通信。
- 引入信任引导机制,使用硬件保护的密钥将 FPGA 位流、固件和 SSA 绑定到唯一的密码学信任根。
- 支持两种证明模式:执行前(在执行前验证信封的硬件和软件堆栈完整性)和执行后(验证输入、输出和执行状态的正确性)。
- 利用 FPGA 的可重构性,实现按需创建和销毁具有自定义 TCB 的信封,避免依赖固定、单体式的 TEE。
- 使用硬件保护的度量累积(例如通过安全寄存器或密码学摘要)实现未被信任的验证者对信封完整性的远程验证。

实验结果
研究问题
- RQ1是否可以在通用 FPGA 上构建完全用户可配置的 TEE,支持具有独立硬件和软件 TCB 的多个隔离信封?
- RQ2远程证明是否可以有效扩展,以覆盖不仅位流和固件,还包括安全敏感应用(SSAs)的输入、输出和执行行为?
- RQ3所提出的框架是否在低端 FPGA 上实现了可接受的性能和资源效率,同时保持强大的安全保证?
- RQ4BYOTee 在执行开销和侧信道防护方面与现有 TEE(如 SGX 和 TrustZone)相比表现如何?
- RQ5该框架是否能通过架构隔离和内存加密缓解常见 TEE 漏洞(如缓存侧信道攻击和冷启动攻击)?
主要发现
- BYOTee 在低端 Xilinx Zynq-7000 FPGA 上成功实现了多个隔离且密码学可验证的 TEE,证明了其在通用硬件上的可行性。
- 该框架实现了对硬件(位流、固件)和软件(SSA 输入/输出)的远程证明,使与远程验证者建立信任成为可能。
- 在四个 SSA 和 12 个基准应用上的评估表明,BYOTee 维持了强大的安全属性,包括由于硬件隔离而具备的缓存侧信道攻击抵抗力。
- 与原生执行相比,系统表现出较低的性能开销,由于每个信封都有专用硬件隔离,上下文切换成本显著降低。
- BYOTee 消除了对单体式 REE 操作系统或可信操作系统内核的需求,与 SGX 和 OP-TEE 相比,减少了软件 TCB 和攻击面。
- 该框架支持内存加密,并通过将敏感数据隔离在 FPGA 内部内存中并使用安全位流加载,有效防范冷启动攻击。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。