0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

armv9-动态Trustzone技术的介绍

冬至子 来源:Arm精选 作者:baron 2023-11-10 16:39 次阅读

背景

十多年来,TrustZone 一直在基于 Arm 的设备上成功保护媒体 pipelines 。在此期间,这些设备的要求随着比特率、分辨率、帧率、图像质量和用户界面创新而显着增长。所有这些都在突破最初的设计限制。

与此同时,近年来,许多消费类设备都经历了重大变革。他们正在从专用于单一服务的封闭设备转向兼容多种服务的开放设备。例如,电视不再仅用于观看广播电视频道。可安装的应用程序现在提供多种流媒体服务、浏览器、游戏、视频通话等。

满足这些用例会增加计算工作负载的复杂性和系统安全要求。在安全方面,我们看到多个数字版权管理 (DRM) 方案同时处于活动状态,并且它们之间存在不信任,因为它们处理来自具有不同安全要求级别的不同来源的受保护内容。这种对额外灵活性的需求推动了软件管理媒体 pipelines 的设计。

同时,内容提供商正在通过提高图像质量来提高性能要求。这增加了 pipelines 的处理步骤数量,并大大增加了设备上的内存消耗。 对高效内存使用的需求正在推动设计用于动态分配受保护内存的机制

动态 Trustzone

这就是 Arm 推出动态 TrustZone 的原因,这是一种创新的新设计模式,它是 TrustZone 系统演进道路上的下一步。该技术使用 Realm Management Extension (RME) 来提供一种架构机制,以在运行时在非安全和安全地址空间之间分配内存页面。

当应用于受保护的媒体 pipelines 时,动态 TrustZone 支持从今天的固定功能视频管道迁移到未来软件配置的动态媒体 pipelines。将动态 TrustZone 与安全虚拟化相结合的系统将支持软件配置的 pipelines、多个不信任 DRM、可选的机器学习 (ML) 加速器和动态资源分配。

然而,这些未来媒体管道的实际设计和实施需要整个生态系统的支持和参与。这超越了硬件,更广泛的生态系统的参与对于支持这些苛刻的新用户体验所需的所有软件组件和服务的接受和成功开发至关重要。

典型的安全媒体示例

在深入研究动态 TrustZone 之前,我们需要首先会议当今常见的媒体 pipelines。在 Arm 系统中实施的受保护媒体 pipelines 往往遵循 TrustZone 媒体保护 (TZMP) 定义的模式,如下图所示:

image.png

这些系统有一些共同的特点和局限性:

  • 固定的数据流和一组处理步骤,由特定于设备的软件或在 SoC 设计时定义。每个处理元件通常被限制为读取和写入预先确定的受保护内存缓冲区,并且不允许任意添加和删除设备。将完全可编程GPU 和 ML 引擎引入流水线可能从不可能到具有挑战性。
  • 受保护内容的受保护内存缓冲区的物理地址空间是连续的和预先分配的,或者是由受信任的管理程序分段和管理的。由于视频播放是许多设备的主要用例并且绝不能丢帧,因此不能与其他系统进程共享所使用的内存。随着分辨率和帧速率的提高,对内存要求的压力也随之增加,从而推高了整体系统成本。
  • 在要同时处理多个内容流的情况下,需要考虑它们之间的隔离。由于不同的安全要求,可能无法同时使用不同的 DRM 方案。

为了克服这些限制,我们确定未来受保护的媒体系统需要能够:

  • 使用碎片化的 4KB 页面动态分配和管理受保护的内存缓冲区。
  • 在多个管道和所有其他软件之间提供强大且安全的隔离。
  • 将设备和软件功能任意分配给 pipelines 。
  • 允许运行时主机软件按需创建和配置 pipelines 。

新的 Arm 安全和架构功能

在过去的十年中,Arm 一直在对 TrustZone 进行定期增强,以满足不断变化的安全要求。在宣布 Armv9 架构 (Armv9-A) 之前,我们通过添加安全虚拟化增强了 TrustZone 系统。在 Armv9-A 中,引入了 Realm Management Extension (RME) 作为 Arm 机密计算架构的一部分。

通过添加这些新的安全功能,现在有一个完整的集合,使系统设计人员能够实现未来受保护的媒体管道。让我们更深入地研究这些增强功能。

Secure virtualization

首先,让我们看看安全虚拟化。引入此功能是为了进一步划分安全世界,以允许存在多个可信操作系统 (TOS),隔离安全固件,此外还提供对 TOS 访问非安全内存的限制。

安全虚拟化通过在 TrustZone 环境中创建安全虚拟机来实现。安全世界中的这些虚拟机实例,通常称为 “安全分区”,使用第 2 阶段内存转换和保护相互隔离。当然,由于处于安全世界中,它们与非安全世界完全隔离。安全虚拟化是通过以下架构特性实现的:

  • Secure-EL2 是在 Armv8.4 架构中引入的,它是为执行隔离管理程序而创建的 CPU 异常级别,称为 “安全分区管理器”(SPM)。SPM 的作用是创建和管理多个 不信任安全分区 S-EL2 使用第 2 阶段内存转换和保护来强制分区之间的隔离。
  • SMMUv3.2 扩展了 Arm System MMU 架构,以支持系统中安全设备的安全第 2 阶段转换和保护。隔离管理程序可以将系统设备分配到安全分区的内存空间中。
  • GICv3.1 通用中断控制器包括对 S-EL2 的支持。来自安全系统设备的虚拟中断可以分配给安全分区。

我们应该注意到,在实践中,将安全设备分配给安全分区需要的不仅仅是内存与 SMMU 的映射以及 GIC 的中断。每个设备都必须在其操作状态方面表现良好,并支持标准管理界面,以便可以在系统内安全、正确地对其进行管理。

Realm Management Extension (RME)

作为 Arm 机密计算架构的一部分,Armv9-A 中的 RME 使内存页面能够从非安全世界动态转换到安全世界,然后再返回。这就是将 “动态” 放入动态 TrustZone 的原因。

RME 的一个称为 “Granule Protection Check” (GPC) 的组件提供了在非安全和安全世界之间动态分配内存的机制。Granule Protection table (GPT) 记录了 DRAM 每 4K 字节页面的世界分配。该表由 EL3 固件拥有和更新。在运行时,每次内存访问都由 GPC 针对 GPT 进行验证,确保 Non-secure 状态只能访问 Non-secure 内存,而 Secure 状态只能访问 Secure 和 Non-secure 内存。此检查是对 MMU 已经进行的 stage-1 和 stage-2 转换和权限检查的补充。

然后,基于 RME 构建的机密计算架构提供以下附加功能,可以增强动态 TrustZone 解决方案:

  • EL3 monitor 的固件分区和隔离,用于提供更强大的信任根 (RoT) 和证明服务。
  • 通过内存保护引擎对安全分配的 DRAM 中的所有数据进行加密。

Media Pipelines with Dynamic TrustZone

先前概述的架构特性允许系统设计人员迁移到具有多个软件定义的受保护媒体 pipelines 的动态 TrustZone 技术解决方案。它看起来像这样:

image.png

(1)、Secure virtualization
如绿框所示,安全虚拟化用于为每个 pipelines 创建受保护的内存空间。设备分配将系统设备(蓝色)带入管道,内存缓冲区(黑色)通过 GPT 机制分配给安全世界。在使用过程中,所有解密的媒体内容都保留在安全世界中。

(2)、Non-secure world
这包含媒体播放器和应用程序的用户界面。该软件负责按需为每个媒体 pipelines 构建清单,并在过渡到安全世界之前为其分配资源,例如内存和系统设备。

(3)、Secure Media Pipeline 1
本例中的 Pipeline 1 正在处理受保护的音频。处理步骤可由硬件设备或软件编解码器执行。一个例子是高级环绕声流,它使用专有编解码器来处理高价值的基于对象的音频内容。

(4)、Secure Media Pipeline 2

Pipeline 2 可以是 8K 优质内容电影,具有严格的 DRM 要求和稳健性规则,可确保视频和音频流与系统上的任何其他代理隔离。由于 8K 分辨率视频对其缓冲区的内存要求非常高,这可能是电视等设备的主要用例。非安全主机操作系统可能会主动从其他应用程序回收内存,以便在初始化播放时可以动态分配这些受保护的缓冲区。

解密步骤将使用专用加密加速器,解码专用视频引擎。例如,图片质量步骤可以由分配给该流水线的高性能 ML 引擎执行。

(5)、Secure Media Pipeline 3
Pipeline 3 可能是画中画新闻报道,可能具有与 Pipeline 2 不同的 DRM 系统。当启用流时,可以为该管道的受保护缓冲区动态分配内存,而不会中断 Pipeline 2。

(6)、Secure Media Output
最后,完全呈现的受保护内容被输出到显示面板或安全的 HDMI Link。

生态系统协作

动态 TrustZone 是提供多租户安全媒体 pipeline 的绝佳工具。完全不受操作系统、虚拟机管理程序和正常世界中任何可安装应用程序影响的 pipeline 。该解决方案还允许在正常环境中部署标准管理程序,而无需更改它们以支持 DRM。

但是,设计多租户安全媒体 pipeline 需要整个生态系统的支持和参与。这超出了硬件本身,因为多租户安全媒体管道可能会带来策略挑战,尤其是当两个不同的流媒体视频提供商对如何执行策略有不同的要求时。因此,受保护媒体管道的灵活性为细粒度信令和安全策略检查提供了机会,例如水印、元数据传输和内容识别,仅举几例。

可以通过 Content Delivery and Security Association (CDSA)、芯片供应商、OEM、OTT 服务提供商、内容创建者等行业组织来实现与生态系统的互动。他们都为对话带来了独特的观点和专业知识,通过这种协作努力为全球数百万用户带来了更丰富的媒体体验。

在 Arm,我们希望与我们伟大的生态系统合作,以解决我们共同构建的设备上的许多安全挑战。使用动态 TrustZone 的工作是可以在 Arm 生态系统内进行的安全合作的一个很好的例子。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM技术
    +关注

    关注

    0

    文章

    20

    浏览量

    7224
  • DRM
    DRM
    +关注

    关注

    0

    文章

    44

    浏览量

    15025
  • 机器学习
    +关注

    关注

    66

    文章

    8134

    浏览量

    130580
  • trustzone
    +关注

    关注

    0

    文章

    20

    浏览量

    12497
  • GPU芯片
    +关注

    关注

    1

    文章

    291

    浏览量

    5692
收藏 人收藏

    评论

    相关推荐

    调试TrustZone时,如何处理HardFault?

    调试TrustZone时,如何处理HardFault?
    的头像 发表于 09-27 16:33 379次阅读
    调试<b class='flag-5'>TrustZone</b>时,如何处理HardFault?

    embOS如何支持Arm TrustZone

    通过ARMv8-M架构支持的TrustZone技术,可以将关键安全固件和私有程序(如安全引导、固件更新和密钥)与其余应用程序隔离,极大降低被攻击的可能性,增加嵌入式系统安全。SEGGER的embOS目前已支持
    发表于 09-22 12:16 207次阅读
    embOS如何支持Arm <b class='flag-5'>TrustZone</b>

    ARMv7-A工作模式介绍

    TF-A 一开始是为 ARMv8 准备的,ARMv8 最突出的特点就是支持 64 位指令,但是为了兼容原来的 ARMv7,ARMv8提供了两种指令集:AAarch64 和 AArch3
    的头像 发表于 09-11 16:31 498次阅读
    <b class='flag-5'>ARMv</b>7-A工作模式<b class='flag-5'>介绍</b>

    STM32L5系列微控制器和TrustZone开发入门

    本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建
    发表于 09-07 08:15

    STM32 MCU TrustZone开发调试技巧分享

    系统隔离与ARM V8-M TrustZone技术TrustZone地址安全区及资源安全属性配置、TrustZone架构下的HardFault调试与处理 、
    发表于 09-05 06:16

    ARMv8-M上使用TrustZone

    ®技术是片上系统(SoC)和CPU系统范围的安全方法。 针对ARMv8-M安全扩展的TrustZone针对超低功耗嵌入式应用进行了优化。 它支持多个软件安全域,限制对受信任软件的安全内存和I/O访问
    发表于 09-04 07:11

    Arm Cortex-M23处理器产品介绍

    ARM Cortex-M23处理器是一款非常紧凑的两级流水线处理器,支持ARMv8-M基准架构。 配备TrustZone的Corest-M23是最受限制的物联网和嵌入式应用程序的理想处理器,这些
    发表于 08-25 06:19

    ARMv8-A TrustZone软件对实施SVE的系统的影响

    本文档介绍ARMv8-A[ARMv8]的可伸缩向量扩展[SVE]对在应用程序处理器上以安全状态执行的软件的影响。 本文档考虑了部署现有ARMv8-A
    发表于 08-23 06:17

    基于ARMv8-M处理器的安全堆叠密封

    本建议概括介绍了软件对识别为CVE-2020-16273的漏洞的影响和缓解措施。 本咨询中讨论的方案涉及基于ARMv8-M的处理器,包括Cortex-M23、Cortex M33
    发表于 08-17 06:31

    了解体系结构-适用于AArch64的TrustZone介绍

    在本指南中,我们介绍TrustZoneTrustZone通过内置在CPU中的硬件强制隔离,提供了一种高效的全系统安全方法。 我们介绍Trust
    发表于 08-10 07:02

    Armv9-A体系结构参考手册

    本增补件是Armv9-A体系结构的Arm®体系结构参考手册增补件轮廓本书介绍Armv9-A体系结构扩展,因此必须与Arm®体系结构参考手册一起阅读A型架构。
    发表于 08-08 07:07

    Armv8-A和Armv9-A的内存属性和属性介绍

    1. 本指南介绍Armv8-A和Armv9-A的内存属性和属性。它首先解释内存的属性来自何处,如何分配到内存区域,然后介绍现有的不同属性,并解释内存顺序的基本特性。这一信息对开发低级别
    发表于 08-02 09:03

    Armv7和Armv8系统中跟踪的高级视图详解

    本指南主要介绍Armv7系统和Armv8系统中跟踪的高级视图,最高可达Armv8.4版本。 该指南涵盖: •跟踪是什么以及如何使用 •跟踪体系结构是如何定义的,以及它如何映射到不同的跟
    发表于 08-02 06:11

    Arm® TrustZone® 技术简介

    为例,不同厂家芯片可能不同需要参考对应的手册。 二.TrustZone介绍 Arm TrustZone 技术Armv8-M 架构一个可选的
    的头像 发表于 07-04 08:44 2262次阅读
    Arm® <b class='flag-5'>TrustZone</b>® <b class='flag-5'>技术</b>简介

    RA6快速设计指南 [8] 使用TrustZone®

    7 使用TrustZone 7.1 Arm TrustZone 技术的实现 某些RA6 MCU(如RA6M4和RA6M5)包含Arm TrustZone (TZ) 安全功能。有关 TZ
    的头像 发表于 06-19 15:25 373次阅读
    RA6快速设计指南 [8] 使用<b class='flag-5'>TrustZone</b>®