To ensure secure and trustworthy execution of applications, vendors frequently embed trusted execution environments into their systems. Here, applications are protected from adversaries, including a malicious operating system. TEEs are usually built by integrating protection mechanisms directly into the processor or by using dedicated external secure elements. However, both of these approaches only cover a narrow threat model resulting in limited security guarantees. Enclaves in the application processor typically provide weak isolation between the secure and non-secure domain, especially when considering side-channel attacks. Although secure elements do provide strong isolation, the slow communication interface to the application processor is exposed to adversaries and restricts the use cases. Independently of the used implementation approach, TEEs often lack the possibility to establish secure communication to external peripherals, and most operating systems executed inside TEEs do not provide state-of-the-art defense strategies, making them vulnerable against various attacks. We argue that TEEs implemented on the main application processor are insecure, especially when considering side-channel attacks. We demonstrate how a heterogeneous architecture can be utilized to realize a secure TEE design. We directly embed a processor into our architecture to provide strong isolation between the secure and non-secure domain. The tight coupling of TEE and REE enables HECTOR-V to provide mechanisms for establishing secure communication channels. We further introduce RISC-V Secure Co-Processor, a security-hardened processor tailored for TEEs. To secure applications executed inside the TEE, RVSCP provides control-flow integrity, rigorously restricts I/O accesses to certain execution states, and provides operating system services directly in hardware.
翻译:为确保安全可靠地执行应用程序,供应商经常将可信赖的执行环境嵌入其系统中。在这里,应用程序不受对手的侵害,包括恶意操作系统。TEE通常通过将保护机制直接纳入处理器或使用专门的外部安全要素来建立,但是,这两种方法都只涵盖一个狭窄的威胁模式,导致有限的安全保障。应用程序处理器中的Enclavies通常在安全和无安全域之间提供薄弱的隔离,特别是在考虑侧通道攻击时尤其如此。虽然安全要素确实提供了很强的隔离,但与应用程序处理器的通信接口缓慢,暴露给对手,限制了使用程序。由于采用使用的方法,TEE通常无法直接将保护机制纳入处理器,无法与外部外围部门建立安全通信,而在TEE内部执行的大多数操作系统并不提供最先进的防御战略,使其易受各种攻击。我们说,在主要应用程序处理器中实施的TEE是不安全的,特别是在考虑侧通道攻击时,我们展示如何利用混合结构来实现安全的TEE设计。我们直接将一个程序嵌入我们的架构,我们直接将一个处理器用于为外部外部外部环境安全性安全性操作系统提供安全性安全性安全性安全性安全性安全性操作系统。我们能够建立安全性操作系统,我们提供安全性安全性操作系统内部安全性内部安全性安全性操作系统。我们提供安全性安全性操作。