Comparison
Advancements in Trusted Execution Environments (TEEs) have become pivotal in modern computer architectures. Notably, Arm TrustZone offers static partitioning and isolation of memory segments in the Secure world, though scalability is limited due to the support of only a few such regions. Intel Software Guard Extensions (SGX) enable application developers to shield userspace memory from potential threats, but are not tailored for safeguarding virtual machines (VMs).
Meanwhile, AMD Secure Encrypted Virtualization (SEV) and Intel Trust Domain Extensions (TDX) provide protection at the VM level, paralleling the threat models of Arm CCA. Initial SEV versions ensured confidentiality by encrypting VM memory at runtime, but lacked memory data integrity safeguards. However, Secure Nested Paging (SNP) subsequently introduced integrity protection in SEV-SNP, allowing untrusted hypervisors to manage NPTs with reverse map table checks. Conversely, Intel TDX utilizes a TDX module in a privileged SEAM root CPU mode. Unlike Arm CCA, these solutions rely on intricate, unverified microcode and firmware implementations, which can be challenging to update.
Komodo draws inspiration from SGX but adopts a software monitor, coded in verified Arm assembly, atop TrustZone instead of necessitating hardware for complex enclave manipulations. While it lacks multiprocessor execution support, Komodo's approach sidesteps hardware complexity and facilitates independent enclave feature deployment. Arm CCA retains these advantages, leveraging a verified software monitor for Realms implementation while ensuring verified VM protection and multiprocessor execution.
The concept of retrofitting a standard hypervisor to enforce security with a trusted core was initially explored by SeKVM. SeKVM pioneered microverification, where a commodity hypervisor's confidentiality and integrity guarantees can be verified. Arm CCA mirrors this by enabling modified hypervisors to support Realms, protected by a verified monitor reminiscent of SeKVM. However, RME introduces new hardware mechanisms safeguarding VMs from untrusted software in both NS and Secure worlds, maximizing virtualization features like VHE for superior performance. Furthermore, Arm CCA firmware ensures scalability and concurrent operation, utilizing fine-grain synchronization and enabling dynamic memory allocation for VM metadata.
In conclusion, Arm CCA introduces Realms as secure execution environments that bolster VM confidentiality and integrity against untrusted system software. Realms leverage hardware and firmware to offer these guarantees while maintaining compatibility with the Arm architecture. This approach minimizes complexity and performance overhead while establishing a robust TEE for VM protection.
Last updated