当前位置: 首页 > news >正文

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运行的&#xff…...

Linux---shell脚本

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

Android12的ANR解析

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

初学人工智不理解的名词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…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...