0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

armv9-動態(tài)Trustzone技術(shù)的介紹

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

背景

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

與此同時,近年來,許多消費類設(shè)備都經(jīng)歷了重大變革。他們正在從專用于單一服務(wù)的封閉設(shè)備轉(zhuǎn)向兼容多種服務(wù)的開放設(shè)備。例如,電視不再僅用于觀看廣播電視頻道。可安裝的應(yīng)用程序現(xiàn)在提供多種流媒體服務(wù)、瀏覽器、游戲、視頻通話等。

滿足這些用例會增加計算工作負載的復(fù)雜性和系統(tǒng)安全要求。在安全方面,我們看到多個數(shù)字版權(quán)管理 (DRM) 方案同時處于活動狀態(tài),并且它們之間存在不信任,因為它們處理來自具有不同安全要求級別的不同來源的受保護內(nèi)容。這種對額外靈活性的需求推動了軟件管理媒體 pipelines 的設(shè)計。

同時,內(nèi)容提供商正在通過提高圖像質(zhì)量來提高性能要求。這增加了 pipelines 的處理步驟數(shù)量,并大大增加了設(shè)備上的內(nèi)存消耗。 對高效內(nèi)存使用的需求正在推動設(shè)計用于動態(tài)分配受保護內(nèi)存的機制 。

動態(tài) Trustzone

這就是 Arm 推出動態(tài) TrustZone 的原因,這是一種創(chuàng)新的新設(shè)計模式,它是 TrustZone 系統(tǒng)演進道路上的下一步。該技術(shù)使用 Realm Management Extension (RME) 來提供一種架構(gòu)機制,以在運行時在非安全和安全地址空間之間分配內(nèi)存頁面。

當(dāng)應(yīng)用于受保護的媒體 pipelines 時,動態(tài) TrustZone 支持從今天的固定功能視頻管道遷移到未來軟件配置的動態(tài)媒體 pipelines。將動態(tài) TrustZone 與安全虛擬化相結(jié)合的系統(tǒng)將支持軟件配置的 pipelines、多個不信任 DRM、可選的機器學(xué)習(xí) (ML) 加速器和動態(tài)資源分配。

然而,這些未來媒體管道的實際設(shè)計和實施需要整個生態(tài)系統(tǒng)的支持和參與。這超越了硬件,更廣泛的生態(tài)系統(tǒng)的參與對于支持這些苛刻的新用戶體驗所需的所有軟件組件和服務(wù)的接受和成功開發(fā)至關(guān)重要。

典型的安全媒體示例

在深入研究動態(tài) TrustZone 之前,我們需要首先會議當(dāng)今常見的媒體 pipelines。在 Arm 系統(tǒng)中實施的受保護媒體 pipelines 往往遵循 TrustZone 媒體保護 (TZMP) 定義的模式,如下圖所示:

image.png

這些系統(tǒng)有一些共同的特點和局限性:

  • 固定的數(shù)據(jù)流和一組處理步驟,由特定于設(shè)備的軟件或在 SoC 設(shè)計時定義。每個處理元件通常被限制為讀取和寫入預(yù)先確定的受保護內(nèi)存緩沖區(qū),并且不允許任意添加和刪除設(shè)備。將完全可編程GPU 和 ML 引擎引入流水線可能從不可能到具有挑戰(zhàn)性。
  • 受保護內(nèi)容的受保護內(nèi)存緩沖區(qū)的物理地址空間是連續(xù)的和預(yù)先分配的,或者是由受信任的管理程序分段和管理的。由于視頻播放是許多設(shè)備的主要用例并且絕不能丟幀,因此不能與其他系統(tǒng)進程共享所使用的內(nèi)存。隨著分辨率和幀速率的提高,對內(nèi)存要求的壓力也隨之增加,從而推高了整體系統(tǒng)成本。
  • 在要同時處理多個內(nèi)容流的情況下,需要考慮它們之間的隔離。由于不同的安全要求,可能無法同時使用不同的 DRM 方案。

為了克服這些限制,我們確定未來受保護的媒體系統(tǒng)需要能夠:

  • 使用碎片化的 4KB 頁面動態(tài)分配和管理受保護的內(nèi)存緩沖區(qū)。
  • 在多個管道和所有其他軟件之間提供強大且安全的隔離。
  • 將設(shè)備和軟件功能任意分配給 pipelines 。
  • 允許運行時主機軟件按需創(chuàng)建和配置 pipelines 。

新的 Arm 安全和架構(gòu)功能

在過去的十年中,Arm 一直在對 TrustZone 進行定期增強,以滿足不斷變化的安全要求。在宣布 Armv9 架構(gòu) (Armv9-A) 之前,我們通過添加安全虛擬化增強了 TrustZone 系統(tǒng)。在 Armv9-A 中,引入了 Realm Management Extension (RME) 作為 Arm 機密計算架構(gòu)的一部分。

通過添加這些新的安全功能,現(xiàn)在有一個完整的集合,使系統(tǒng)設(shè)計人員能夠?qū)崿F(xiàn)未來受保護的媒體管道。讓我們更深入地研究這些增強功能。

Secure virtualization

首先,讓我們看看安全虛擬化。引入此功能是為了進一步劃分安全世界,以允許存在多個可信操作系統(tǒng) (TOS),隔離安全固件,此外還提供對 TOS 訪問非安全內(nèi)存的限制。

安全虛擬化通過在 TrustZone 環(huán)境中創(chuàng)建安全虛擬機來實現(xiàn)。安全世界中的這些虛擬機實例,通常稱為 “安全分區(qū)”,使用第 2 階段內(nèi)存轉(zhuǎn)換和保護相互隔離。當(dāng)然,由于處于安全世界中,它們與非安全世界完全隔離。安全虛擬化是通過以下架構(gòu)特性實現(xiàn)的:

  • Secure-EL2 是在 Armv8.4 架構(gòu)中引入的,它是為執(zhí)行隔離管理程序而創(chuàng)建的 CPU 異常級別,稱為 “安全分區(qū)管理器”(SPM)。SPM 的作用是創(chuàng)建和管理多個 不信任安全分區(qū) S-EL2 使用第 2 階段內(nèi)存轉(zhuǎn)換和保護來強制分區(qū)之間的隔離。
  • SMMUv3.2 擴展了 Arm System MMU 架構(gòu),以支持系統(tǒng)中安全設(shè)備的安全第 2 階段轉(zhuǎn)換和保護。隔離管理程序可以將系統(tǒng)設(shè)備分配到安全分區(qū)的內(nèi)存空間中。
  • GICv3.1 通用中斷控制器包括對 S-EL2 的支持。來自安全系統(tǒng)設(shè)備的虛擬中斷可以分配給安全分區(qū)。

我們應(yīng)該注意到,在實踐中,將安全設(shè)備分配給安全分區(qū)需要的不僅僅是內(nèi)存與 SMMU 的映射以及 GIC 的中斷。每個設(shè)備都必須在其操作狀態(tài)方面表現(xiàn)良好,并支持標(biāo)準(zhǔn)管理界面,以便可以在系統(tǒng)內(nèi)安全、正確地對其進行管理。

Realm Management Extension (RME)

作為 Arm 機密計算架構(gòu)的一部分,Armv9-A 中的 RME 使內(nèi)存頁面能夠從非安全世界動態(tài)轉(zhuǎn)換到安全世界,然后再返回。這就是將 “動態(tài)” 放入動態(tài) TrustZone 的原因。

RME 的一個稱為 “Granule Protection Check” (GPC) 的組件提供了在非安全和安全世界之間動態(tài)分配內(nèi)存的機制。Granule Protection table (GPT) 記錄了 DRAM 每 4K 字節(jié)頁面的世界分配。該表由 EL3 固件擁有和更新。在運行時,每次內(nèi)存訪問都由 GPC 針對 GPT 進行驗證,確保 Non-secure 狀態(tài)只能訪問 Non-secure 內(nèi)存,而 Secure 狀態(tài)只能訪問 Secure 和 Non-secure 內(nèi)存。此檢查是對 MMU 已經(jīng)進行的 stage-1 和 stage-2 轉(zhuǎn)換和權(quán)限檢查的補充。

然后,基于 RME 構(gòu)建的機密計算架構(gòu)提供以下附加功能,可以增強動態(tài) TrustZone 解決方案:

  • EL3 monitor 的固件分區(qū)和隔離,用于提供更強大的信任根 (RoT) 和證明服務(wù)。
  • 通過內(nèi)存保護引擎對安全分配的 DRAM 中的所有數(shù)據(jù)進行加密。

Media Pipelines with Dynamic TrustZone

先前概述的架構(gòu)特性允許系統(tǒng)設(shè)計人員遷移到具有多個軟件定義的受保護媒體 pipelines 的動態(tài) TrustZone 技術(shù)解決方案。它看起來像這樣:

image.png

(1)、Secure virtualization
如綠框所示,安全虛擬化用于為每個 pipelines 創(chuàng)建受保護的內(nèi)存空間。設(shè)備分配將系統(tǒng)設(shè)備(藍色)帶入管道,內(nèi)存緩沖區(qū)(黑色)通過 GPT 機制分配給安全世界。在使用過程中,所有解密的媒體內(nèi)容都保留在安全世界中。

(2)、Non-secure world
這包含媒體播放器和應(yīng)用程序的用戶界面。該軟件負責(zé)按需為每個媒體 pipelines 構(gòu)建清單,并在過渡到安全世界之前為其分配資源,例如內(nèi)存和系統(tǒng)設(shè)備。

(3)、Secure Media Pipeline 1
本例中的 Pipeline 1 正在處理受保護的音頻。處理步驟可由硬件設(shè)備或軟件編解碼器執(zhí)行。一個例子是高級環(huán)繞聲流,它使用專有編解碼器來處理高價值的基于對象的音頻內(nèi)容。

(4)、Secure Media Pipeline 2

Pipeline 2 可以是 8K 優(yōu)質(zhì)內(nèi)容電影,具有嚴(yán)格的 DRM 要求和穩(wěn)健性規(guī)則,可確保視頻和音頻流與系統(tǒng)上的任何其他代理隔離。由于 8K 分辨率視頻對其緩沖區(qū)的內(nèi)存要求非常高,這可能是電視等設(shè)備的主要用例。非安全主機操作系統(tǒng)可能會主動從其他應(yīng)用程序回收內(nèi)存,以便在初始化播放時可以動態(tài)分配這些受保護的緩沖區(qū)。

解密步驟將使用專用加密加速器,解碼專用視頻引擎。例如,圖片質(zhì)量步驟可以由分配給該流水線的高性能 ML 引擎執(zhí)行。

(5)、Secure Media Pipeline 3
Pipeline 3 可能是畫中畫新聞報道,可能具有與 Pipeline 2 不同的 DRM 系統(tǒng)。當(dāng)啟用流時,可以為該管道的受保護緩沖區(qū)動態(tài)分配內(nèi)存,而不會中斷 Pipeline 2。

(6)、Secure Media Output
最后,完全呈現(xiàn)的受保護內(nèi)容被輸出到顯示面板或安全的 HDMI Link。

生態(tài)系統(tǒng)協(xié)作

動態(tài) TrustZone 是提供多租戶安全媒體 pipeline 的絕佳工具。完全不受操作系統(tǒng)、虛擬機管理程序和正常世界中任何可安裝應(yīng)用程序影響的 pipeline 。該解決方案還允許在正常環(huán)境中部署標(biāo)準(zhǔn)管理程序,而無需更改它們以支持 DRM。

但是,設(shè)計多租戶安全媒體 pipeline 需要整個生態(tài)系統(tǒng)的支持和參與。這超出了硬件本身,因為多租戶安全媒體管道可能會帶來策略挑戰(zhàn),尤其是當(dāng)兩個不同的流媒體視頻提供商對如何執(zhí)行策略有不同的要求時。因此,受保護媒體管道的靈活性為細粒度信令和安全策略檢查提供了機會,例如水印、元數(shù)據(jù)傳輸和內(nèi)容識別,僅舉幾例。

可以通過 Content Delivery and Security Association (CDSA)、芯片供應(yīng)商、OEM、OTT 服務(wù)提供商、內(nèi)容創(chuàng)建者等行業(yè)組織來實現(xiàn)與生態(tài)系統(tǒng)的互動。他們都為對話帶來了獨特的觀點和專業(yè)知識,通過這種協(xié)作努力為全球數(shù)百萬用戶帶來了更豐富的媒體體驗。

在 Arm,我們希望與我們偉大的生態(tài)系統(tǒng)合作,以解決我們共同構(gòu)建的設(shè)備上的許多安全挑戰(zhàn)。使用動態(tài) TrustZone 的工作是可以在 Arm 生態(tài)系統(tǒng)內(nèi)進行的安全合作的一個很好的例子。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    7256
  • DRM
    DRM
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    15082
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131841
  • trustzone
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    12514
  • GPU芯片
    +關(guān)注

    關(guān)注

    1

    文章

    303

    瀏覽量

    5747
收藏 人收藏

    評論

    相關(guān)推薦

    simulink動態(tài)系統(tǒng)建模仿真-第9

    電子發(fā)燒友網(wǎng)站提供《simulink動態(tài)系統(tǒng)建模仿真-第9章.ppt》資料免費下載
    發(fā)表于 07-26 11:47 ?1次下載

    STM32H5和STM32U5在trustzone上有哪些不同?

    我要做空調(diào)的空中升級FOTA的方案,需要加密,對于trustzone功能,采用那款芯片比較合適?STM32H5和STM32U5在trustzone上有哪些不同?
    發(fā)表于 07-05 07:03

    請問STM32L5和STM32H5對trustzone有哪些不同?

    STM32L5和STM32H5對trustzone有哪些不同?
    發(fā)表于 07-04 08:08

    移動端芯片性能提升,Armv9架構(gòu)新升級引發(fā)關(guān)注

    “數(shù)碼博主”5月17日的最新爆料指出,聯(lián)發(fā)科積極推進Armv9新一代IP BLACKHAWK“黑鷹”的架構(gòu)設(shè)計,預(yù)計天璣9400芯片將采用這一架構(gòu),有望以“全大核”設(shè)計再度領(lǐng)跑移動SoC CPU性能榜單。
    的頭像 發(fā)表于 05-17 16:51 ?783次閱讀

    STM32H5 DA 之初體驗(帶 TrustZone)

    電子發(fā)燒友網(wǎng)站提供《STM32H5 DA 之初體驗(帶 TrustZone).pdf》資料免費下載
    發(fā)表于 02-19 14:19 ?0次下載
    STM32H5 DA 之初體驗(帶 <b class='flag-5'>TrustZone</b>)

    STM32 TrustZone 開發(fā)調(diào)試技巧

    電子發(fā)燒友網(wǎng)站提供《STM32 TrustZone 開發(fā)調(diào)試技巧.pdf》資料免費下載
    發(fā)表于 12-18 11:16 ?2次下載
    STM32 <b class='flag-5'>TrustZone</b> 開發(fā)調(diào)試技巧

    STM32 TrustZone 開發(fā)調(diào)試技巧— 地址安全區(qū)及資源安全屬性配置

    電子發(fā)燒友網(wǎng)站提供《STM32 TrustZone 開發(fā)調(diào)試技巧— 地址安全區(qū)及資源安全屬性配置.pdf》資料免費下載
    發(fā)表于 12-18 11:10 ?0次下載
    STM32 <b class='flag-5'>TrustZone</b> 開發(fā)調(diào)試技巧— 地址安全區(qū)及資源安全屬性配置

    u-boot armv8鏈接腳本

    u-boot armv8鏈接腳本 在進行源碼分析之前,首先看看u-boot的鏈接腳本,通過鏈接腳本可以從整體了解一個u-boot的組成,并且可以在啟動分析中知道某些邏輯是在完成什么工作。 在
    的頭像 發(fā)表于 12-07 11:19 ?451次閱讀

    armv8 u-boot的啟動介紹

    先看arm官網(wǎng)提供的一張圖: 上圖詳細概括了arm官方推薦的armv8的啟動層次結(jié)構(gòu): 官方將啟動分為了BL1,BL2,BL31,BL32,BL33階段,根據(jù)順序,芯片啟動后首先執(zhí)行BL1階段代碼
    的頭像 發(fā)表于 12-07 11:09 ?1394次閱讀
    <b class='flag-5'>armv</b>8 u-boot的啟動<b class='flag-5'>介紹</b>

    mybatis接口動態(tài)代理原理

    ,從而實現(xiàn)數(shù)據(jù)庫操作的動態(tài)生成和執(zhí)行。接下來,我將詳細介紹MyBatis接口動態(tài)代理的原理。 動態(tài)代理概念介紹 在Java語言中,
    的頭像 發(fā)表于 12-03 11:52 ?748次閱讀

    Arm微架構(gòu)學(xué)習(xí)—開啟Armv9時代

    在上一篇文章“從A76到A78——在變化中學(xué)習(xí)Arm微架構(gòu)”中,我們了解了Arm處理器微架構(gòu)的基本組成,介紹Armv8架構(gòu)最后幾代經(jīng)典處理器架構(gòu)。
    的頭像 發(fā)表于 11-27 16:46 ?927次閱讀
    Arm微架構(gòu)學(xué)習(xí)—開啟<b class='flag-5'>Armv9</b>時代

    基于藍牙技術(shù)動態(tài)心電監(jiān)護系統(tǒng)的開發(fā)介紹

    電子發(fā)燒友網(wǎng)站提供《基于藍牙技術(shù)動態(tài)心電監(jiān)護系統(tǒng)的開發(fā)介紹.pdf》資料免費下載
    發(fā)表于 10-18 10:50 ?1次下載
    基于藍牙<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>動態(tài)</b>心電監(jiān)護系統(tǒng)的開發(fā)<b class='flag-5'>介紹</b>

    調(diào)試TrustZone時,如何處理HardFault?

    調(diào)試TrustZone時,如何處理HardFault?
    的頭像 發(fā)表于 09-27 16:33 ?537次閱讀
    調(diào)試<b class='flag-5'>TrustZone</b>時,如何處理HardFault?

    armv7 generic timer使用筆記

    armv7-A架構(gòu)中每個CPU核心都包含自己的私有定時器,所有cpu的定時器共享一個System counter, System counter負責(zé)產(chǎn)生計數(shù),傳遞到每個核心的私有定時器
    的頭像 發(fā)表于 09-27 15:10 ?2109次閱讀
    <b class='flag-5'>armv</b>7 generic timer使用筆記

    embOS如何支持Arm TrustZone

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