ARM introduces the Confidential Compute Architecture (CCA) in the forthcoming ARMv9-A architecture recently. CCA enables the support of confidential virtual machines (cVMs) within a separated world (known as the Realm world), protected from the untrusted normal world. While CCA points to a convincing future of confidential computing, it is foreseen that the CCA hardware will not be available soon according to ARM's roadmap. Upon this request, we present \textit{virtCCA}, an architecture that facilitates virtualized CCA using TrustZone, a mature hardware feature on existing ARM platforms. Specifically, we use the Secure EL2 (S-EL2) extension introduced since ARMv8.4 to support the memory isolation among the cVMs. We introduce direct shadow memory mapping -- an efficient memory protection scheme -- to overcome the limitations of existing hardware. virtCCA is compatible with the CCA specifications at the API level, and we build the entire CCA software and firmware stack atop virtCCA, including the TrustZone Management Monitor (TMM) for enforcing isolation among cVMs and supporting cVM life cycle management, as well as the enhancement of the normal world KVM for support of cVMs. We implemented virtCCA on both QEMU and ARM Fixed Virtual Platform (FVP). The evaluation on micro-benchmarks and macro-benchmarks shows that the overhead of running cVMs is acceptable, compared with the counterpart of running normal world VMs. On a set of real-world workloads the overhead is less than 8%, with the worst case of 17% for I/O intensive workloads.
翻译:近期,ARM在即将推出的ARMv9-A架构中引入了机密计算架构(CCA),该架构能够在独立的领域(即Realm世界)内支持机密虚拟机(cVM),使其免受不可信的正常世界影响。尽管CCA展现了机密计算的前景,但根据ARM的路线图,CCA硬件短期内尚无法实现。为此,我们提出了一种名为\textit{virtCCA}的架构,该架构利用TrustZone(一种现有ARM平台上的成熟硬件特性)实现虚拟化CCA。具体而言,我们采用自ARMv8.4引入的安全EL2(S-EL2)扩展来支持cVM间的内存隔离。我们引入了直接影子内存映射——一种高效的内存保护方案——以克服现有硬件的局限性。virtCCA在API级别兼容CCA规范,并在其上构建了完整的CCA软件与固件栈,包括用于强化cVM间隔离及支持cVM生命周期管理的TrustZone管理监控器(TMM),以及对正常世界KVM的增强以支持cVM。我们在QEMU和ARM固定虚拟平台(FVP)上实现了virtCCA。微基准测试与宏基准测试结果表明,与运行正常世界虚拟机相比,运行cVM的开销在可接受范围内。针对一组真实工作负载,其开销低于8%,对于I/O密集型工作负载的最高开销为17%。