<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

armv9-動態Trustzone技術的介紹

冬至子 ? 來源:Arm精選 ? 作者:baron ? 2023-11-10 16:39 ? 次閱讀

背景

十多年來,TrustZone 一直在基于 Arm 的設備上成功保護媒體 pipelines 。在此期間,這些設備的要求隨著比特率、分辨率、幀率、圖像質量和用戶界面創新而顯著增長。所有這些都在突破最初的設計限制。

與此同時,近年來,許多消費類設備都經歷了重大變革。他們正在從專用于單一服務的封閉設備轉向兼容多種服務的開放設備。例如,電視不再僅用于觀看廣播電視頻道??砂惭b的應用程序現在提供多種流媒體服務、瀏覽器、游戲、視頻通話等。

滿足這些用例會增加計算工作負載的復雜性和系統安全要求。在安全方面,我們看到多個數字版權管理 (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

    瀏覽量

    15021
  • 機器學習
    +關注

    關注

    66

    文章

    8122

    瀏覽量

    130562
  • trustzone
    +關注

    關注

    0

    文章

    20

    瀏覽量

    12494
  • GPU芯片
    +關注

    關注

    1

    文章

    289

    瀏覽量

    5688
收藏 人收藏

    評論

    相關推薦

    調試TrustZone時,如何處理HardFault?

    調試TrustZone時,如何處理HardFault?
    的頭像 發表于 09-27 16:33 ?374次閱讀
    調試<b class='flag-5'>TrustZone</b>時,如何處理HardFault?

    embOS如何支持Arm TrustZone

    通過ARMv8-M架構支持的TrustZone技術,可以將關鍵安全固件和私有程序(如安全引導、固件更新和密鑰)與其余應用程序隔離,極大降低被攻擊的可能性,增加嵌入式系統安全。SEGGER的embOS目前已支持
    發表于 09-22 12:16 ?204次閱讀
    embOS如何支持Arm <b class='flag-5'>TrustZone</b>

    ARMv7-A工作模式介紹

    TF-A 一開始是為 ARMv8 準備的,ARMv8 最突出的特點就是支持 64 位指令,但是為了兼容原來的 ARMv7,ARMv8提供了兩種指令集:AAarch64 和 AArch3
    的頭像 發表于 09-11 16:31 ?492次閱讀
    <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介紹

    在本指南中,我們介紹TrustZone。TrustZone通過內置在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 ?2248次閱讀
    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 ?366次閱讀
    RA6快速設計指南 [8] 使用<b class='flag-5'>TrustZone</b>?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>