背景
十多年來,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) 定義的模式,如下圖所示:
這些系統有一些共同的特點和局限性:
- 固定的數據流和一組處理步驟,由特定于設備的軟件或在 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 技術解決方案。它看起來像這樣:
(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文章
22瀏覽量
7347 -
DRM
+關注
關注
0文章
46瀏覽量
15134 -
機器學習
+關注
關注
66文章
8438瀏覽量
132911 -
trustzone
+關注
關注
0文章
20瀏覽量
12559 -
GPU芯片
+關注
關注
1文章
303瀏覽量
5873
發布評論請先 登錄
相關推薦
評論