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…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
scan_mode设计原则
scan_mode设计原则 在进行mtp controller设计时,基本功能设计完成后,需要设计scan_mode设计。 1、在进行scan_mode设计时,需要保证mtp处于standby模式,不会有擦写、编程动作。 2、只需要固定mtp datasheet说明的接口即可…...
【bat win系统自动运行脚本-双击启动docker及其它】
win系统自动化运行脚本 创建一个 startup.bat右键编辑,输入以下示例 echo off start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"timeout /t 5docker start your_container_namestart cmd /k "conda activate your_conda_e…...

MQTT协议:物联网时代的通信基石
MQTT协议:物联网时代的通信基石 在当今快速发展的物联网(IoT)时代,设备之间的通信变得尤为重要。MQTT(Message Queuing Telemetry Transport)协议作为一种轻量级的消息传输协议,正逐渐成为物联…...
【鸿蒙在 ETS (Extendable TypeScript) 中创建多级目录或文件,可以使用鸿蒙的文件系统 API】
鸿蒙在 ETS (Extendable TypeScript) 中创建多级目录或文件,可以使用鸿蒙的文件系统 API。 // 导入需要的模块 import fs from ohos.file.fs;const TAG"Index" Entry Component struct Index {State message: string Hello World;build() {Row() {Colum…...