论文标题
使用FPGA构建自己值得信赖的执行环境
Building Your Own Trusted Execution Environments Using FPGA
论文作者
论文摘要
近年来,我们目睹了使用硬件辅助的可信执行环境(TEE)或飞地来保护商品设备上的敏感代码和数据的前所未有的增长。即使专有的T恤带来了许多好处,但它们因缺乏透明度,脆弱性和各种限制而受到批评。例如,现有TEE仅提供静态和固定的硬件可信计算基础(TCB),该计算基础无法为不同的应用程序定制。现有的TEE TIME-SHARE带有丰富的执行环境(REE)的处理器核心,使执行效率降低且容易受到缓存侧通道攻击的影响。此外,Trustzone缺乏对多个TEE,远程证明和内存加密的硬件支持。 在本文中,我们介绍Byotee(构建您自己值得信赖的执行环境),这是一种易于使用的基础架构,可通过利用商品字段可编程门阵列(FPGA)设备来构建多个同样安全的飞地。 Byotee用自定义的硬件TCB创建飞地,其中包括SoftCore CPU,Block RAMS和外围连接,并按需在FPGA中。此外,BYOTEE提供了机制,以证明定制的飞地硬件和软件堆栈的完整性,包括Bitstream,固件和对安全敏感的应用程序(SSA)以及其输入和输出对远程验证器。我们为Xilinx系统中的芯片(SOC)FPGA实施Byotee系统。对四个SSA和12个基准应用的低端Zynq-7000系统的评估证明了BYOTEE框架的使用,安全性,有效性和性能。
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.