系统架构
技术原理
机密计算CCA套件ARMv9 CCA架构中实现了机密虚拟机能力,其技术原理如图图1 机密计算CCA技术原理图所示。
CCA在ATF(Arm Trusted Firmware)基础上构建Realm World虚拟化管理模块RMM,实现机密虚拟机间的内存隔离、上下文管理、生命周期管理和页表管理等机制,支持客户应用无需修改即可迁移到机密环境中。
安全性介绍
CCA套件的机密虚拟机主要通过隔离机制,通过底层系统软硬件构造一个隔离可验证的执行环境,防止从外部访问或篡改运行在内部的代码和数据。即使攻击者具有最高系统权限,也不能对CCA机密虚拟机中的数据和代码进行读取以及访问。
CCA套件的机密虚拟机通过远程验证机制,通过远程验证服务提供的公钥基础设施对签名进行验证,实现对机密虚拟机内部软件的初始状态信任,从而建立完整的信任链条。
结合传统的数据加密技术,CCA套件的机密虚拟机实现了数据在存储、传输和计算全生命周期中的安全环境,利用硬件手段实现数据的“可用不可见”。
CCA套件架构
鲲鹏BoostKit机密计算CCA套件主要包括Host OS/Guest Kernel/QEMU等虚拟化组件、RMM模块和硬件Firmware,如图图2 鲲鹏BoostKit机密计算CCA架构图所示。
类别 |
子类 |
说明 |
|---|---|---|
开源软件 |
Host OS/Guest Kernel/QEMU等虚拟化组件 |
客户自行选择支持CCA的Linux OS进行HostOS/GuestOS Kernel 的安装部署。HostOS和GuestOS Kernel目前已开源到openEuler社区。 libvirt和QEMU:负责机密虚拟机的部署和管理。 KVM模块:运行在Normal World中,完成任务调度和资源分配工作,并负责所有cVM的生命周期管理。 RMI接口:Realm Management Interface,KVM通过RMI与RMM通信。 |
华为交付件 |
RMM |
运行在CCA内的虚拟化组件,负责机密虚拟机的CPU和内存的虚拟化管理。正常情况下,客户如果购买了支持CCA套件的鲲鹏服务器,RMM会内置于硬件平台内,后续可以通过升级RMM更新版本。 |
硬件Firmware |
为支持CCA套件特性,硬件Firmware版本也进行了相关的适配:
|

