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

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了,系统很多命…...
OpenGL-什么是软OpenGL/软渲染/软光栅?
软OpenGL(Software OpenGL)或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式(包括几何处理、光栅化、着色等),不依赖GPU硬件加速。这种模式通常性能较低,但兼容性极强,常用于不支持硬件加速…...