ARM CCA机密计算安全模型之简介
安全之安全(security²)博客目录导读
目录
1、引言
2、问题陈述
3、CCA 安全保证
3.1 对领域所有者的安全保证
3.2 对host环境的安全保证
Arm 机密计算架构(CCA)安全模型(SM)定义了 CCA 隔离架构的安全要求和基本安全属性。这些安全属性是部署受该架构保护的应用程序时所需的,并且确保了对其底层实现的信心。
CCA SM 关注的是以稳健性规则(robustness rules)形式表达的必要安全属性。CCA SM 确定的 CCA 硬件和固件组件的技术要求在单独的技术规范中进行了说明。
部署在 Arm CCA 上的应用程序的所有者必须能够:
- 确立对 Arm CCA 底层实现的可信性
- 如果该可信性发生变化,能够保护应用程序资产
本文档为建立这种信任提供了基础,具体方法为:
- 定义 Arm CCA 提供的安全保证
- 定义受 Arm CCA 保护的应用程序可以依赖的底层安全能力
- 为在更广泛的生态系统中部署受 Arm CCA 保护的应用程序提供技术参考
- 确立通用的技术定义和术语
1、引言
Arm 机密计算架构(CCA)是一种提供受保护执行环境(称为“领域”)的架构。“领域”的目的在于为机密计算提供一个环境。
除了标准 Arm 架构提供的基于特权的隔离外,“领域”还获得了反向操作的保护——分配给领域的资源同样受到保护,防止更高特权级别的代理访问。这包括在更高异常级别上执行的软件或固件以及硬件代理(如 DMA 代理)。
2、问题陈述
复杂现代系统上的软件运行在一个互不信任的环境中。例如:
- 在同一系统上托管的应用程序所有者彼此不信任
- 应用程序所有者必须信任host环境
- host环境必须信任应用程序不会试图危害主机或其他应用程序
- 平台安全服务不信任host环境或应用程序
现有的隔离架构,例如虚拟机监控器(hypervisor),通过阻止应用程序访问host环境的私有资源,来保护host环境免受应用程序的威胁。然而,应用程序并未受到host环境的保护。 同样地,TrustZone 可以保护安全服务免受非安全服务的影响,但无法保护应用程序免受安全服务的威胁。
CCA 引入了基于所有权的额外边界,无论特权级别如何,都能保护资源。它的设计旨在满足以下总体安全目标:
-
最小信任链
应用程序只需信任自身以及提供 CCA 安全保证的系统部分。例如,应用程序无需信任host软件(如hypervisor),也无需信任任何非 CCA 的硬件代理,无论其特权级别如何。 -
可证明的信任
部署在启用了 CCA 的系统上的领域应用程序的用户可以证明该应用程序的可信度,以及参与提供 CCA 安全保证的所有 CCA 固件和硬件代理的可信度。 -
可认证
CCA 安全保证的实现仅包含在最小的一组硬件和 CCA 固件组件中,这些组件可以被开发、认证和验证。
3、CCA 安全保证
Arm CCA 旨在为领域(Realms)和host环境提供特定的安全保证。
这些保证当然是基于 CCA 正确实现的假设。为确保 CCA 实现的可信度和领域资产的安全性,系统硬件和固件的功能是本规范的主要讨论内容。
3.1 对领域所有者的安全保证
领域所有者代表领域策略的拥有者。
在 CCA 的上下文中,领域策略包括领域可以在何种条件下代表领域所有者或领域用户访问受领域保护的资产,这包括领域创建策略和认证策略等。
保证 | 描述 | 备注 |
---|---|---|
机密性和完整性 | 领域的内存内容和执行上下文不能被以下主体访问或修改: 1. 其他领域 2. 非 CCA 的软件、固件和硬件 | 例如,领域受到以下保护: • 其他领域 • host环境中的任何软件,例如hypervisor • 在安全状态下运行的 TrustZone 中的所有软件 • 安全或非安全的 DMA 代理 |
最小信任链 | 领域所有者和领域用户只需信任 CCA 的固件和硬件。 | 例如,领域无需信任: • 其他领域 • host环境中的任何软件,例如hypervisor • 在安全状态下运行的 TrustZone 中的任何软件 |
可证明的信任 | 领域用户能够验证领域的可信性,以及 CCA 固件和硬件的可信性。 | |
持久领域资产的保护 | 只有当领域和 CCA 固件及硬件处于可信状态时,持久领域资产才能被领域访问。 | 可信性由领域所有者控制的策略决定。 |
3.2 对host环境的安全保证
此上下文中的host环境表示托管Realm(包括策略)的系统上的非CCA软件、固件和硬件。
保证 | 描述 | 备注 |
---|---|---|
资源的管理和可用性 | 托管环境对资源分配有完全控制权,包括内存分配、调度和非安全设备。 | 包括分配给领域的资源。 |
系统策略 | 例如,托管环境的电源管理策略和其他系统策略。 | CCA 可能强制执行系统策略,以确保其安全性且不危害 CCA 的安全保证。 |
领域创建策略 | 托管环境可以在任何状态下创建领域,包括不可信的状态,如主机调试模式。 | 领域的状态反映在 CCA 的认证中,托管环境无法影响这一认证。 领域创建策略和领域状态不在本博客范围内。 |
系统启动状态 | 系统可以在任何状态下启动,包括可能危害 CCA 安全保证的状态。 |
相关文章:

ARM CCA机密计算安全模型之简介
安全之安全(security)博客目录导读 目录 1、引言 2、问题陈述 3、CCA 安全保证 3.1 对领域所有者的安全保证 3.2 对host环境的安全保证 Arm 机密计算架构(CCA)安全模型(SM)定义了 CCA 隔离架构的安全要求和基本安全属性。这…...

蓝桥杯-洛谷刷题-day3(C++)
目录 1.忽略回车的字符串输入 i.getline() ii.逐个字符的识别再输入 2.获取绝对值abs() 3.做题时的误区 4.多个变量的某一个到达判断条件 i.max() 5.[NOIP2016 提高组] 玩具谜题 i.代码 6.逻辑上的圆圈 i.有限个数n的数组 7.数组的定义 i.动态数组 1.忽略回车的字符串输…...

K8S资源限制之ResourceQuota
ResourceQuota介绍 在K8S中,大部分资源都可以指定到一个名称空间下,因此可以对一个名称空间的计算资源,存储资源,资源数量等维度做资源限制。 如限制pod数量、svc数量,控制器数量,限制PVC请求的存储量 注…...

释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o
在不断发展的人工智能领域,Nexusflows 推出了 Athene-V2-Agent 作为其模型系列的强大补充。这种专门的代理模型设计用于在功能调用和代理应用中发挥出色作用,突破了人工智能所能达到的极限。 竞争优势 Athene-V2-Agent 不仅仅是另一种人工智能模型&…...

MongoDB索引操作和执行计划Explain()详解
一、索引操作 说明,下面的内容举例时,以"dailyTrip"collection为例。 字段内容如下: {"_id" : ObjectId("63ec5a971ddbe429cbeeffe3"), // object id"car_type" : "Gett", // string&…...

H3C NX30Pro刷机教程-2024-11-16
H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…...

无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍
EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...

HarmonyOS ArkUI(基于ArkTS) 开发布局 (中)
HarmonyOS ArkUI(基于ArkTS) 开发布局 (上) 四 层叠布局 (Stack) 层叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过Stack容器组件实现位置的固定定位与层叠&…...

org.springframework.context.support.ApplicationListenerDetector 详细介绍
一,功能介绍 early post-processor for detecting inner beans as ApplicationListeners 早期的PostProcessor用来检测并处理内部(inner)bean作为 ApplicationListeners BeanPostProcessor that detects beans which implement the Applica…...

MSTP实验
单点故障---冗余---环路---STP----RSTP-----MSTP MSTP 产生的背景 因为RSTP在局域网内所有VLAN 共享一棵生成树,如果链路被堵塞,将无法承载任何流量,所以为了实现流量负载均衡,MSTP诞生了。 生成树不是基于VLAN运行的ÿ…...

Linux---shell脚本
文章目录 目录 文章目录 前言 一.Shell脚本定义 shell脚本书写规范 shell脚本执行方式 二.Shell变量 变量定义 定义规范 定义方式 变量的运算 数值运算 数值比较 未完待续...... 前言 希望通过本文的学习,你能够掌握Shell脚本的基本知识和实用技巧,…...

Android12的ANR解析
0. 参考: ANR分析 深入理解 Android ANR 触发原理以及信息收集过程 1.ANR的触发分类: ANR分为4类: InputDispatchTimeout:输入事件分发超时5s,包括按键和触摸事件。BroadcastTimeout:比如前台广播在10s内未执行完成࿰…...

初学人工智不理解的名词3
TTS领域的名词 from gpt-4o 在 TTS(文本到语音合成) 领域,以下是 CFM、One-Step 蒸馏 和 ReFlow 的含义和作用的详细解释: 1. CFM(Consistent Flow Matching) Consistent Flow Matching(一致流…...

ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
在传统射频结构的设计中,天线模块和有源电路部分相互分离,两者之间通过 50 Ω 传输线级联,这种设计需要在有源电路和天线之间建立无源网络,包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损…...

J.U.C - 深入解读阻塞队列实现原理源码
文章目录 Pre生产者-消费者模式阻塞队列 vs 普通队列JUC提供的7种适合与不同应用场景的阻塞队列插入操作:添加元素到队列中移除操作:从队列中移除元素。 ArrayBlockingQueue源码解析类结构指定初始容量及公平/非公平策略的构造函数根据已有集合初始化队列…...

【大语言模型学习】LORA微调方法
LORA: Low-Rank Adaptation of Large Language Models 摘要 LoRA (Low-Rank Adaptation) 提出了一种高效的语言模型适应方法,针对预训练模型的适配问题: 目标:减少下游任务所需的可训练参数,降低硬件要求。方法:冻结预训练模型权重,注入低秩分解矩阵,从而在不影响推理…...

Spring Boot【一】
Spring Boot全局配置文件 application.properties 是 Spring Boot 的标准配置文件,用于集中管理应用程序的配置属性。它的主要作用是将配置信息与代码分离,使得应用程序更具可维护性和可配置性。 Application.yaml配置文件 YAML文件格式是JSON超集文件…...

H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因
EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...

【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
1. rowkey的设计 RowKey可以是任意字符串,最大长度64KB,实际应用中一般为10~100bytes,字典顺序排序,rowkey的设计至关重要,会影响region分布,如果rowkey设计不合理还会出现region写热点等一系列问题。 …...

Dart:字符串
字符串:单双引号 String c hello \c\; // hello c,单引号中使用单引号,需要转义\ String d "hello c"; // hello c,双引号中使用单引号,不需要转义 String e "hello \“c\”"; // hell…...

平衡二叉搜索树之 红黑 树的模拟实现【C++】
文章目录 红黑树的简单介绍定义红黑树的特性红黑树的应用 全部的实现代码放在了文章末尾准备工作包含头文件类的成员变量和红黑树节点的定义 构造函数和拷贝构造swap和赋值运算符重载析构函数findinsert【重要】第一步:按照二叉搜索树的方式插入新节点第二步&#x…...

2:Vue.js 父子组件通信:让你的组件“说话”
上一篇我们聊了如何用 Vue.js 创建一个简单的组件,这次咱们再往前走一步,讲讲 Vue.js 的父子组件通信。组件开发里,最重要的就是让组件之间能够“说话”,数据能流通起来。废话不多说,直接开干! 父组件传数据…...

6. Keepalived配置Nginx自动重启,实现7x24提供服务
一. Keepalived配置Nginx自动重启,实现7x24提供服务 1.编写不停的检查nginx服务器状态,停止并重启,重启失败后则停止keepalived脚本 cd /etc/keepalived/ vim check_nginx_alive_or_not.sh #---内容如下:--------------- #!/bin/bash A=`ps -C nginx --no-header |wc -l...

【PS】蒙版与通道
内容1: 、选择蓝色通道并复制,对复制的蓝色通道ctrli进行反向选择,然后ctrll调整色阶。 、选择载入选区,然后点击rgb。 、点击蒙版 、点击云彩图层调整位置 、点击色相/饱和度,适当调整 、最后使用滤镜等功能添加光圈…...

C++创建型模式之生成器模式
解决的问题 生成器模式(Builder Pattern)主要解决复杂对象的构建问题。当一个对象的创建过程非常复杂,涉及多个步骤和多个部件时,使用生成器模式可以将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表…...

鸿蒙NEXT应用示例:切换图片动画
【引言】 在鸿蒙NEXT应用开发中,实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能,实现不同类型的图片切换动画效果。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio NEXT B…...

postgresql(功能最强大的开源数据库)继承特性和分区实现
PostgreSQL实现了表继承,在多重表继承下,对上亿条不同类别的数据条目进行按型号、按月份双层分区管理,既可在总表查阅所有条目的共有字段,也可在各类型字表查询附加字段,非常高效。 分区是通过继承的方式来实现的&…...

论文笔记(五十六)VIPose: Real-time Visual-Inertial 6D Object Pose Tracking
VIPose: Real-time Visual-Inertial 6D Object Pose Tracking 文章概括摘要I. INTRODACTIONII. 相关工作III. APPROACHA. 姿态跟踪工作流程B. VIPose网络 文章概括 引用: inproceedings{ge2021vipose,title{Vipose: Real-time visual-inertial 6d object pose tra…...

微服务治理详解
文章目录 什么是微服务架构为什么要使用微服务单体架构如何转向微服务架构服务治理服务治理治的是什么服务注册与发现服务熔断降级服务网关服务调用服务负载均衡服务配置中心 微服务解决方案SpringCloud体系EurekaHystrixGatewayOpenFeignRibbonConfig SpringCloud Alibaba体系…...

“南海明珠”-黄岩岛(民主礁)领海基线WebGIS绘制实战
目录 前言 一、关于岛屿的基点位置 1、领海基点 二、基点坐标的转换 1、最底层的左边转换 2、单个经纬度坐标点转换 3、完整的转换 三、基于天地图进行WebGIS展示 1、领海基点的可视化 2、重要城市距离计算 四、总结 前言 南海明珠黄岩岛,这座位于南海的…...