机密计算是通过在可信的硬件支持的安全环境中执行计算来保护正在使用的数据。这种保护使代码和数据免受特权软件和硬件代理的观察或修改。
在机密计算环境中执行的任何应用程序或操作系统都可以期望在与系统的其他非受信任代理隔离的情况下执行。在隔离执行期间生成或使用的任何数据,未经明确许可,其他在该平台上执行的参与方都无法观察。
Arm CCA要求
在Arm CCA系统中执行的代码无需信任在环境中执行的庞大而复杂的软件栈或可能影响它的任何外围设备,例如具有DMA功能的设备。Arm CCA消除了与软件栈或硬件的开发者之间的许多关系的需求。
如果安全架构师在部署负载到云服务器系统时可能不知道该系统的Hypervisor的开发者,他们可能会考虑使用Arm CCA。因为Hypervisor是未知的,这可能导致在没有Arm CCA的情况下对平台上的执行缺乏信任。
Arm CCA允许应用程序开发者在不必信任底层软件基础设施(例如Hypervisor或在安全世界运行的代码)的情况下安全地部署工作负载。
为了支持Arm CCA,平台必须提供以下内容:
- 提供与所有不受信任代理隔离的执行环境
- 建立执行环境已初始化为可信状态的机制。初始化将要求执行环境具有其自己的信任链,独立于平台上并行的不受信任环境使用的信任链。
在本指南中,我们将解释Arm CCA如何通过硬件实施和软件使用来满足这些要求。