ARM CCA机密计算安全模型之概述

安全之安全(security²)博客目录导读

目录

1、CCA的要素

2、CCA平台

[2.1 CCA 系统安全域](#2.1 CCA 系统安全域)

[2.2 监控安全域](#2.2 监控安全域)

[2.3 领域管理安全域](#2.3 领域管理安全域)

3、与系统平台安全服务的关系

[3.1 安全配置](#3.1 安全配置)

[3.2 平台认证](#3.2 平台认证)


1、CCA的要素

高层次的 CCA 架构如下图中概述。

在硬件层面,CCA 系统安全域包括可能影响 CCA 安全保证交付的所有系统硬件组件。

**[R0001]**未直接参与交付 CCA 安全保证的硬件代理不能直接影响 CCA 系统安全域中的组件。

应用处理元件(PE)上的固件和软件被分为四个世界,由世界保护边界隔开。一个"世界"代表一种系统安全状态及其相关的私有资源------如内存、寄存器和设备------这些资源仅在请求者处于该状态时才可访问。

  1. 根世界(Root world)------负责执行世界之间的保护边界。
  2. 安全世界(Secure world)------包含所有 TrustZone 固件。
  3. 领域世界(Realm world)------包含所有领域(Realms)。
  4. 普通世界(Normal world)------包含所有其他托管环境的软件和固件。

**[R0002]**领域世界(Realm world)的内存和执行上下文不能被普通世界(Normal world)或安全世界(Secure world)影响。 安全世界的内存和执行上下文不能被普通世界或领域世界影响。 根世界的内存和执行上下文不能被任何其他世界影响。 普通世界的内存和执行上下文不受 CCA 的任何安全保证。

监控安全域(Monitor Security Domain, MSD) 代表了在启用 CCA 的系统上具有最高权限的应用处理元件(PE)固件。

**[R0003]**只有监控固件(Monitor firmware)可以直接访问 CCA 系统安全域中的硬件。 监控固件负责执行世界隔离保护边界。

领域管理安全域(Realm Management Security Domain, RMSD) 代表领域世界中最高权限的固件,负责在领域世界中执行领域之间的 CCA 安全保证。

2、CCA平台

CCA 平台是一个集合术语,用于识别所有参与提供 CCA 安全保证的硬件和固件组件。因此,领域(Realm)需要信任的所有硬件和固件组件都位于启用了 CCA 的系统中。这包括:

  • CCA 系统安全域
  • 监控安全域
  • 领域管理安全域

2.1 CCA 系统安全域

CCA 系统安全域包含所有可能影响 CCA 安全保证的系统架构元素。包括:

  • 应用处理元件(PE)初始启动代码------例如,启动 ROM
  • 受保护的存储位置------例如,存储 CCA 硬件配置资产的防篡改保险丝
  • 隔离硬件------参与执行 CCA 隔离策略的所有系统硬件代理,例如 MMU 或 MPU
  • 可信子系统------与应用 PE 分离的、独立的执行环境,具有其自身的固件,例如 CCA 硬件强制安全(CCA HES)主机(参见硬件强制安全)或电源管理子系统
  • 侵入性子系统------例如,调试或诊断接口

2.2 监控安全域

监控安全域代表在应用 PE 上的根世界中执行的所有固件。它在不同的世界之间实施 CCA 安全保证。监控安全域必须被领域世界和安全世界所信任。

2.3 领域管理安全域

领域管理安全域代表在应用 PE 上的领域世界中执行的所有固件,它在领域世界内的不同领域之间实施 CCA 安全保证。

领域管理安全域必须受Realm信任。

3、与系统平台安全服务的关系

系统可能会提供与 CCA 无关的平台安全服务,例如:

  • 身份管理,例如订阅者身份
  • 与 CCA 无关的密钥存储和密钥管理
  • 平台测量和认证
  • 生物识别和用户身份验证

CCA 不依赖任何此类服务来确保其自身的安全,因此本文件未讨论它们。根据实现的不同,有两个特定的平台安全服务可能与 CCA 相交,仅在此提供背景信息:

  • 安全配置(Security provisioning)
  • 平台认证(Platform attestation)

平台安全和平台认证通常在专用的可信子系统中实现,包括诸如 [Titan] 和 [Cerberus] 等标准。

3.1 安全配置

安全配置代理指任何支持配置机密信息的功能,例如配置 SIM 或 TPM 身份。

CCA 也需要硬件配置的资产来提供 CCA 安全保证,详见 CCA 身份管理。

安全配置过程预计是依赖于特定生态系统的,可能发生在设备供应链的任何阶段或多个阶段的组合中。例如:

  • 在硅片制造阶段
  • 作为设备制造结束时设备激活的一部分
  • 作为设备所有者的在线激活过程的一部分

CCA 不定义或限制使用何种安全配置过程或其设计方式。

3.2 平台认证

平台认证是现代复杂设备中常见的功能,涉及多个平台安全子系统。每个独立的平台安全子系统可能实施自己的安全启动过程,但自身并不提供整个平台的安全启动状态。

通常,平台认证由一个专用的可信子系统组成,该子系统能够独立测量所有平台安全组件的关键启动阶段,并提供整体平台的安全认证。平台认证对它所测量的平台安全子系统是透明的。

平台认证的结果可以通过多种方式使用,例如:

  • 强制执行本地设备政策
  • 向远程平台验证者提供系统整体安全状态的独立证明。例如,允许云托管提供商在数据中心中执行政策。

在平台启动过程中所进行的测量也可以用于密钥派生。例如,它可以用于保护用户数据不受未经授权的固件影响。

平台认证不会取代各个平台安全子系统中的本地安全过程,而是试图在多个互不信任的平台安全子系统之间强制执行全局政策。

CCA 不定义或限制平台认证过程,也不依赖平台认证来执行自身的安全过程。

相关推荐
黑客Ela11 分钟前
对安全的认知
安全
网络安全King2 小时前
计算机网络基础(2):网络安全/ 网络通信介质
计算机网络·安全·web安全
学习溢出3 小时前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程
黑客Jack3 小时前
网络安全加密
安全·web安全·php
vortex54 小时前
Burp与其他安全工具联动及代理设置教程
网络·安全
xserver25 小时前
ensp 基于端口安全的财务部网络组建
网络·安全
x66ccff7 小时前
HTTPS如何通过CA证书实现安全通信,以及HTTPS的局限性
网络协议·安全·https
梁小憨憨8 小时前
机器学习(Machine Learning)的安全问题
人工智能·安全·机器学习