ARM-V9 RME(Realm Management Extension)系统架构之系统能力的设备隔离和保护

news2024/11/26 0:39:12

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

目录

三、设备隔离和保护

1、外设隔离

2、非pe请求者(设备)

3、可编程完成端过滤器Programmable completer-side filters

4、RME设备分配

4.1 设备权限表


本博客探讨 RME 所需系统能力的设备隔离和保护,以保证 Arm CCA 对于 Realms 的安全性和隔离特性。

三、设备隔离和保护

MMU连接的颗粒保护检查适用于普通内存和设备内存。这个系统能力可以通过在completer side添加PAS过滤器来增强,以隔离特定资源。

例如,在需要在寄存器粒度上进行保护或者在需要在SSD资源重置后立即进行保护的情况下,completer side的PAS过滤器可能会有用。

对于未受completer side PAS过滤器保护的内存映射外设,PAS标记可以在一个实现定义的位置被剥离。例如,对于访问PCIe内存映射外设的访问,PAS标记可以在根端口处被剥离。

1、外设隔离

一个外设可以包括一个私有的completer-side PAS过滤器,用于自主控制对其内存映射寄存器的访问。

私有PAS过滤器只有在访问PAS与寄存器关联的资源PAS匹配时才允许对寄存器的访问。

一个外设可能会将内存映射寄存器与多个物理地址空间关联起来,例如,为了在不同的安全状态下向软件公开不同的值。在这种情况下,PAS过滤器允许从多个物理地址空间访问寄存器。

一个互连可以包括一个PAS过滤器,用于控制对不支持PAS的completer nodes的访问。

例如,可以将互连配置为将附加的设备分配给特定的PAS,并阻止对该设备的任何访问,除非他们使用正确的PAS。

2、非pe请求者(设备)

非PE请求者是一个泛指,用于描述具有DMA功能的系统组件,例如PCIe设备、中断控制器和控制处理器。

在RME系统中,非PE请求者的安全状态可以是以下之一:

  • 非安全状态。
  • 安全状态。
  • 领域状态,如果系统支持RME设备分配(RME-DA)并且请求者是运行TDI设备接口(TDI)处于RUN TDISP [4]状态。
  • 根状态,如果请求者是受信任的子系统。

非PE请求者的安全状态定义了它被允许访问的PA空间,符合PAS访问表的规定。

RME系统可以包括完全一致的非PE请求者,因此能够发出Snoop响应。

一个完全一致的非PE请求者,如果不属于系统安全域(SSD),将不会观察到Secure、Realm或Root PAS中地址的一致性流量。

例如,连接到RME系统上的一个具有完全一致性的外部设备,通过一条一致性链路连接,不能通过观察Secure、Realm或Root PAS中的Snoop请求来跟踪访问模式。作为系统安全域的一部分的具有一致性的非PE请求者的缓存可以观察到任何PAS中的Snoop请求,但不会将这些请求可见于所托管的上下文。

3、可编程完成端过滤器Programmable completer-side filters

一个完成器端的PAS过滤器可以由软件编程。示例如下:

  • 一个完成器端的PAS过滤器可以被编程为将资源的内存映射部分或资源的粒度分配给特定的PAS。
  • 一个用于SMEM的完成器端PAS过滤器可以被编程为将一个SMEM地址范围分配给特定的PAS。
  • 一个在互连端口上的完成器端PAS过滤器可以被编程为将连接到该端口的完成器分配给特定的PAS。

如果一个可编程的完成器端PAS过滤器可以将资源分配给所有物理地址空间,则:

  • 控制该过滤器的寄存器在Root PAS中。
  • 在RME系统复位时,由该过滤器控制的资源要么分配给Root PAS,要么复位为已知值。

如果一个可编程的完成器端PAS过滤器只将资源分配给Secure PAS和Non-secure PAS,则:

  • 控制该过滤器的寄存器在Secure PAS或Root PAS中。
  • 在RME系统复位时,由该过滤器控制的资源要么分配给Secure PAS或Root PAS,要么复位为已知值。

适合通过完成器端PAS过滤器保护的资源包括memory-mapped外设和片上SRAM(SMEM)。

4、RME设备分配

可分配设备接口(Assignable Device Interface)指的是设备中可以独立分配给在某一安全状态下执行的软件的一部分。可分配设备接口可以作为一个独立的请求者,并拥有自己的私有内存映射资源。

RME设备分配(RME-DA)是RME系统的一项功能,能够将可分配设备接口安全地分配给领域安全状态(Realm Security state)。

相关术语如下:

  • PCIe指的是符合TEE设备接口安全协议(TDISP [4])作为TEE-I/O设备的设备。该规范将它们称为TDISP合规设备。
  • PCIe使用TEE设备接口(TDI)来指代TDISP合规设备的可分配设备接口。
  • TDISP定义了两个实体:
    • TEE安全管理器(TSM),这是一个在主机上执行安全策略的逻辑实体。
    • 设备安全管理器(DSM),这是设备中执行安全策略的逻辑实体。

在RME-DA中,TSM功能在RMSD中实现。

RME-DA的SMMU定义了支持将TDIs分配给在领域安全状态下执行的软件的SMMU要求。

RME系统架构定义了支持将PCIe TDIs分配给领域安全状态的内存系统和PCIe根端口的要求。

4.1 设备权限表

RME-DA的SMMU引入了设备权限表(Device Permission Table, DPT),其中包含与物理地址相关的权限属性,并指定了一组适用于来自设备的翻译访问的DPT检查。

来自被分配到Realm状态的TDI的翻译访问受DPT检查的约束,除非另有规定。

RME系统可以包含由HES或MSD测量和证明的片上TDISP兼容设备。对于这样的设备:

  • 可以跳过DPT检查。
  • 不可以跳过GPC检查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1717866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

辅导男朋友转算法岗的第2天|self Attention与kv cache

文章目录 公式KV CacheMHA、MQA、GQA 面试题为什么除以 d k \sqrt{d_k} dk​ ​Multihead的好处decoder-only模型在训练阶段和推理阶段的input有什么不同?手撕必背-多头注意力 公式 $ \text{Output} \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \times …

SG7050EEN差分晶体振荡器:为5G路由器提供卓越的时钟源

随着5G技术的快速发展,5G路由器作为连接高速网络的重要设备,正迅速普及。为了确保5G路由器在高宽带和低延迟的网络环境中表现出色,选择一款高性能的晶体振荡器至关重要。爱普生推出的SG7050EEN差分晶体振荡器,以其高精度、低相位噪…

K210视觉识别模块学习笔记2:固件的下载升级_官方数字识别例程导入方法

今日开始学习K210视觉识别模块:固件的下载升级_官方数字识别例程导入方法 主要学习如何升级固件库,在哪下载固件库,以及如何在TF卡正确导入官方例程: 亚博智能的K210视觉识别模块...... 本次最终目的是正确导入官方的数字识别例程&#xff0…

Python 之SQLAlchemy使用详细说明

目录 1、SQLAlchemy 1.1、ORM概述 1.2、SQLAlchemy概述 1.3、SQLAlchemy的组成部分 1.4、SQLAlchemy的使用 1.4.1、安装 1.4.2、创建数据库连接 1.4.3、执行原生SQL语句 1.4.4、映射已存在的表 1.4.5、创建表 1.4.5.1、创建表的两种方式 1、使用 Table 类直接创建表…

小程序使用Canvas设置文字竖向排列

在需要使用的js页面引入js文件,传入对应参数即可 /** * 文本竖向排列 */ function drawTextVertical(context, text, x, y) {var arrText text.split();var arrWidth arrText.map(function (letter) {return 26; // 字体间距,需要自定义可以自己加参数,根据传入参数进行…

飞凌嵌入式FET3568/3568J-C核心板现已适配OpenHarmony4.1

近日,飞凌嵌入式为FET3568/3568J-C核心板适配了OpenHarmony4.1系统,新系统的加持使核心板在兼容性、稳定性与安全性等方面都得到进一步提升,不仅为FET3568/3568J-C核心板赋予了更强大的功能,也为开发者们提供了更加广阔的创新空间…

WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:今天心血来潮,写了一篇文章,忽然发现自己的文章极少有目录,这对于长文章的阅读来说是十分不利的&#…

vivado 时序约束

时间限制 以下ISE设计套件时序约束可以表示为XDC时序约束 Vivado设计套件。每个约束描述都包含一个UCF示例和 等效的XDC示例。 在未直接连接到边界的网络上创建时钟时,UCF和XDC不同 的设计(如端口)。在XDC中,当在上定义带有create…

微信小程序发送订阅消息

小程序后台。订阅消息里面,新建一个消息模板 小程序代码,登录后,弹出订阅信息 requestSubscribeMessage: function () {wx.requestSubscribeMessage({tmplIds: [-323232-32323], // 替换为你的模板IDsuccess(res) {// 用户订阅结果console.l…

【康耐视国产案例】Nvidia/算能+智能AI相机:用AI驱动 | 降低电动车成本的未来之路

受环保观念影响、政府激励措施推动与新能源技术的发展,消费者对电动汽车(EV)的需求正在不断增长,电动汽车已经成为了未来出行方式的重要组成部分。然而,电动汽车大规模取代燃油汽车的道路还很漫长。最大的障碍就是电动汽车的售价相对过高。尽…

day2数据结构

双链表的插入 循环链表,判断循环链表是否为空 指向的是自己 仅设表尾指针的循环链表合并 代码举例 删除线性表的最小值,并由函数返回删除的值,空的位置,由最后一个元素填补,若表为空显示出错信息 &L 因为L会发生…

深入理解flask规则构建与动态变量应用

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、Flask规则基础 1. 静态规则与动态规则 2. 规则语法与结构 三、动态变量应用…

AI作画算法原理

1.概述 AI作画算法的原理相当复杂,涉及多个领域的知识,包括计算机视觉、机器学习和神经网络等。我们从以下几个方面来描述AI作画算法的基本原理。 2. 数据准备 在数据准备方面,AI作画算法通常需要大量的图像数据作为训练样本。可以是各种各…

52-QSplitter类QDockWidget类

一 QSplitter类 Qt提供QSplitter(QSplitter)类来进行分裂布局&#xff0c;QSplitter派生于QFrame。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~…

【深度强化学习】如何平衡cpu和gpu来加快训练速度(实录)

文章目录 问题抛出问题展示 问题探索参考&#xff1a;如何平衡cpu和gpu来加快训练速度呢&#xff1f; 解决问题实现逻辑&#xff1a;PPO算法示例&#xff1a;偷懒改法&#xff1a;第三处修改再次修改--24.5.22 不偷懒改法修改总结1 最终成绩&#xff08;不是&#xff09;附加赛…

Python中的 Lambda 函数

大家好&#xff0c;在 Python 编程的世界里&#xff0c;有一种功能强大却不常被提及的工具&#xff0c;它就是 Lambda 函数。这种匿名函数在 Python 中拥有着令人惊叹的灵活性和简洁性&#xff0c;却常常被许多开发者忽视或者只是将其当作一种附加功能。Lambda 函数的引入&…

Windows系统WDS+MDT网络启动自动化安装

Windows系统WDS+MDT网络启动自动化安装 适用于在Windows系统上WDS+MDT网络启动自动化安装 1. 安装准备 1.下载windows server 2019、windows 10 pro的ISO文件,并安装好windows server 2019 2.下载windows 10 2004版ADK及镜像包 1.1 安装平台 Windows 111.2. 软件信息 软件…

【Python】解决Python报错:IndexError: pop from empty list

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

提高倾斜摄影三维模型OSGB格式轻量化

提高倾斜摄影三维模型OSGB格式轻量化 倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而&#xff0c;由于其庞大的数据量和复杂的几何结构&#xff0c;给数据存储、传输和可视化带来了挑战。为了提高倾斜摄影三维模型的性能和运行…

C/C++中互斥量(锁)的实现原理探究

互斥量的实现原理探究 文章目录 互斥量的实现原理探究互斥量的概念何为原子性操作原理探究 互斥量的概念 ​ 互斥量&#xff08;mutex&#xff09;是一种同步原语&#xff0c;用于保护多个线程同时访问共享数据。互斥量提供独占的、非递归的所有权语义&#xff1a;一个线程从成…