背景
十多年來,TrustZone 一直在基于 Arm 的設(shè)備上成功保護媒體 pipelines 。在此期間,這些設(shè)備的要求隨著比特率、分辨率、幀率、圖像質(zhì)量和用戶界面創(chuàng)新而顯著增長。所有這些都在突破最初的設(shè)計限制。
與此同時,近年來,許多消費類設(shè)備都經(jīng)歷了重大變革。他們正在從專用于單一服務的封閉設(shè)備轉(zhuǎn)向兼容多種服務的開放設(shè)備。例如,電視不再僅用于觀看廣播電視頻道??砂惭b的應用程序現(xiàn)在提供多種流媒體服務、瀏覽器、游戲、視頻通話等。
滿足這些用例會增加計算工作負載的復雜性和系統(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)存頁面。
當應用于受保護的媒體 pipelines 時,動態(tài) TrustZone 支持從今天的固定功能視頻管道遷移到未來軟件配置的動態(tài)媒體 pipelines。將動態(tài) TrustZone 與安全虛擬化相結(jié)合的系統(tǒng)將支持軟件配置的 pipelines、多個不信任 DRM、可選的機器學習 (ML) 加速器和動態(tài)資源分配。
然而,這些未來媒體管道的實際設(shè)計和實施需要整個生態(tài)系統(tǒng)的支持和參與。這超越了硬件,更廣泛的生態(tài)系統(tǒng)的參與對于支持這些苛刻的新用戶體驗所需的所有軟件組件和服務的接受和成功開發(fā)至關(guān)重要。
典型的安全媒體示例
在深入研究動態(tài) TrustZone 之前,我們需要首先會議當今常見的媒體 pipelines。在 Arm 系統(tǒng)中實施的受保護媒體 pipelines 往往遵循 TrustZone 媒體保護 (TZMP) 定義的模式,如下圖所示:
這些系統(tǒng)有一些共同的特點和局限性:
- 固定的數(shù)據(jù)流和一組處理步驟,由特定于設(shè)備的軟件或在 SoC 設(shè)計時定義。每個處理元件通常被限制為讀取和寫入預先確定的受保護內(nèi)存緩沖區(qū),并且不允許任意添加和刪除設(shè)備。將完全可編程的 GPU 和 ML 引擎引入流水線可能從不可能到具有挑戰(zhàn)性。
- 受保護內(nèi)容的受保護內(nèi)存緩沖區(qū)的物理地址空間是連續(xù)的和預先分配的,或者是由受信任的管理程序分段和管理的。由于視頻播放是許多設(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)換和保護相互隔離。當然,由于處于安全世界中,它們與非安全世界完全隔離。安全虛擬化是通過以下架構(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ū)。
我們應該注意到,在實踐中,將安全設(shè)備分配給安全分區(qū)需要的不僅僅是內(nèi)存與 SMMU 的映射以及 GIC 的中斷。每個設(shè)備都必須在其操作狀態(tài)方面表現(xià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) 和證明服務。
- 通過內(nèi)存保護引擎對安全分配的 DRAM 中的所有數(shù)據(jù)進行加密。
Media Pipelines with Dynamic TrustZone
先前概述的架構(gòu)特性允許系統(tǒng)設(shè)計人員遷移到具有多個軟件定義的受保護媒體 pipelines 的動態(tài) TrustZone 技術(shù)解決方案。它看起來像這樣:
(1)、Secure virtualization
如綠框所示,安全虛擬化用于為每個 pipelines 創(chuàng)建受保護的內(nèi)存空間。設(shè)備分配將系統(tǒng)設(shè)備(藍色)帶入管道,內(nèi)存緩沖區(qū)(黑色)通過 GPT 機制分配給安全世界。在使用過程中,所有解密的媒體內(nèi)容都保留在安全世界中。
(2)、Non-secure world
這包含媒體播放器和應用程序的用戶界面。該軟件負責按需為每個媒體 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)容電影,具有嚴格的 DRM 要求和穩(wěn)健性規(guī)則,可確保視頻和音頻流與系統(tǒng)上的任何其他代理隔離。由于 8K 分辨率視頻對其緩沖區(qū)的內(nèi)存要求非常高,這可能是電視等設(shè)備的主要用例。非安全主機操作系統(tǒng)可能會主動從其他應用程序回收內(nèi)存,以便在初始化播放時可以動態(tài)分配這些受保護的緩沖區(qū)。
解密步驟將使用專用加密加速器,解碼專用視頻引擎。例如,圖片質(zhì)量步驟可以由分配給該流水線的高性能 ML 引擎執(zhí)行。
(5)、Secure Media Pipeline 3
Pipeline 3 可能是畫中畫新聞報道,可能具有與 Pipeline 2 不同的 DRM 系統(tǒ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)、虛擬機管理程序和正常世界中任何可安裝應用程序影響的 pipeline 。該解決方案還允許在正常環(huán)境中部署標準管理程序,而無需更改它們以支持 DRM。
但是,設(shè)計多租戶安全媒體 pipeline 需要整個生態(tài)系統(tǒng)的支持和參與。這超出了硬件本身,因為多租戶安全媒體管道可能會帶來策略挑戰(zhàn),尤其是當兩個不同的流媒體視頻提供商對如何執(zhí)行策略有不同的要求時。因此,受保護媒體管道的靈活性為細粒度信令和安全策略檢查提供了機會,例如水印、元數(shù)據(jù)傳輸和內(nèi)容識別,僅舉幾例。
可以通過 Content Delivery and Security Association (CDSA)、芯片供應商、OEM、OTT 服務提供商、內(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)進行的安全合作的一個很好的例子。
-
ARM技術(shù)
+關(guān)注
關(guān)注
0文章
22瀏覽量
7337 -
DRM
+關(guān)注
關(guān)注
0文章
46瀏覽量
15127 -
機器學習
+關(guān)注
關(guān)注
66文章
8423瀏覽量
132757 -
trustzone
+關(guān)注
關(guān)注
0文章
20瀏覽量
12554 -
GPU芯片
+關(guān)注
關(guān)注
1文章
303瀏覽量
5848
發(fā)布評論請先 登錄
相關(guān)推薦
評論