隨著基于 v8-M 的芯片進入市場,開發人員必須了解架構、它提供的新功能,以及如何在設計構成安全端到端系統基礎的連接邊緣設備中實現它。
物聯網 (IoT) 安全問題通常是由于對連接系統邊緣的設備保護不足造成的。這些往往是低功耗,廉價的基于微控制器的設備,執行單一功能,如溫度監控。缺乏處理能力,內存,當然還有成本,經常被引用為無法正確保護這些資產的原因,黑客越來越多地利用這些資產作為連接到同一網絡的更高價值資產的蹦床。為了保護知識產權、客戶數據、用戶安全和品牌聲譽免受此類威脅,設備制造商已經研究了各種技術來保護易受攻擊的端點,包括使用多個MCU,其中一個或多個專門用于執行加密和身份驗證等安全功能。這當然會增加復雜性和成本,并向物料清單 (BOM) 添加另一個行項目。
然而,幸運的是,對于基于MCU的設備來說,這種情況將會改變。2015年,ARM宣布其基于硬件的安全技術TrustZone將憑借新的v8-M架構在Cortex-M M MCU上提供。ARMv8-M 的安全功能類似于在 Cortex-A 應用程序處理器中廣泛部署的功能,可為 Cortex-M 設備帶來基礎安全性,并能夠創建端到端安全的物聯網系統。
適用于 ARMv8-M 的信任區擴展:增強的安全體系結構
ARMv8-M 架構是一種 32 位架構,它保持了與 ARMv6-M 和 ARMv7-M 的兼容性,以簡化 Cortex-M 系列中的軟件遷移,同時還集成了許多增強功能和新功能,尤其是在安全性方面。安全增強功能包括對受保護內存系統體系結構的改進以及前面提到的 TrustZone 安全擴展,后者允許建立安全和非安全狀態,以便單個 Cortex-M 設備中可以存在多個安全域。
片上系統(SoC)通常包括多個微處理器,每個微處理器用于卸載系統管理或其他任務(例如I / O)。在此體系結構中,一個處理器通常以特權狀態運行,另一個處理器在非特權狀態下運行。雖然基于MCU的系統也能夠通過使用內存保護單元(MPU)或內存管理單元(MMU)一段時間來建立特權和非特權狀態,但v8-M TrustZone擴展提供了額外的安全級別和更有效的資源利用率,從而降低了系統設計的復雜性,從而降低了成本。
它是如何運作的
從概念上講,v8-M 的信任區的工作方式類似于 Cortex-A 處理器的信任區。然而,與適用于 Cortex-A 級處理器的 TrustZone 技術不同,它沒有安全監視器來管理兩種狀態之間的轉換。相反,安全和非安全狀態是基于內存映射的,這消除了切換開銷,并有效地滿足了邊緣設備的能效要求。
對于 v8-M 的 TrustZone 擴展,MCU 中安全和非安全區域的定義由芯片設計人員自行決定。這是使用稱為安全歸因單元(SAU)的新功能完成的,SAU是一種用于定義安全和非安全內存區域的軟件技術?;蛘撸梢允褂门c處理器的特殊實現定義歸因單元(IDAU)接口相關聯的設備或系統特定控制器邏輯來實現相同的目的。兩者之間的主要區別在于SAU在安全狀態下是可編程的,而IDAU則創建固定的內存映射。
處理器狀態取決于訪問的內存區域(安全或不安全)。如果代碼在安全內存區域中運行,則處理器狀態是安全的,并且與傳統的 TrustZone 技術類似,在安全內存區域中執行的代碼可以訪問非安全區域,但不能訪問非安全區域。但是,適用于 v8-M 的 TrustZone 在安全區域中引入了一種稱為非安全可調用 (NSC) 的其他內存類型,該類型充當在非安全內存區域中運行的代碼的入口點,以訪問安全區域中的服務、函數或數據。因此,存儲器的NSC部分增加了安全和非安全存儲器區域之間的一定程度的分離,同時促進了對安全功能的訪問。需要使用 NSC 內存的應用程序開發人員必須使用 v8 體系結構中引入的新指令(稱為安全網關 (SG))來執行此操作。SG 指令必須駐留在 NSC 內存中,并且必須是 API 中訪問安全函數的第一條指令。任何在沒有有效SG指令的情況下訪問安全存儲器的嘗試都會導致硬故障。
此外,ARM 還增強了被定義為 AMBA 3.0 互連規范一部分的 AHB-Lite?,F在,更新后的規范 AMBA 5 AHB5 添加了一條特殊指令來標記安全和非安全總線事務,允許具有 ARM v8-M 的信任區的系統與 Cortex-A 設備上的信任區進行互操作。此功能對于支持設計可擴展性和端到端的系統范圍安全性至關重要。
邊緣保護方案
ARMv8-M 的新信任區擴展啟用了許多安全應用程序,包括:
知識產權保護:知識產權,如專有算法,與公司的內在價值直接相關。設備制造商可以使用 ARMv8-M 的 TrustZone 將知識產權存儲在安全內存中,同時仍允許不安全的應用程序通過 API 訪問它。
關鍵信息的安全存儲:將用戶數據、身份信息和安全密鑰與系統其余部分分開,可確保機密性。
信任根實現:信任根實現為許多不同的應用程序(如安全無線 (OTA) 固件更新)提供了安全的基礎。這種信任基礎對于在系統中的設備之間啟用相互身份驗證也至關重要。
認證軟件的沙盒:軟件認證是一個昂貴的過程。例如,使用經過認證的加密軟件,使設備制造商能夠進入要求這些要求的新市場。ARMv8-M 的信任區允許將此類代碼保存在安全的內存區域中,同時允許通過 NSC 內存區域中的 API 訪問應用程序。
通過處理器整合降低成本:在復雜的 SoC 中,一個處理器可能專用于執行安全功能,用于 ARMv8-M 的 TrustZone 可以實現與專用處理器相同的安全功能,從而降低成本和復雜性。
端到端安全示例
讓我們舉一個簡單的門鎖示例來演示適用于 ARM v8-M 的 TrustZone 在實現端到端安全性方面的實用性。該系統由四個部分組成 : 門鎖、基于 Cortex-M MCU 的攝像頭單元(帶有用于控制鎖的 ARMv8-M 的信任區擴展)、基于 Cortex-A 微處理器的網關(采用 TrustZone 技術)和智能手機。當有人來到門口時,相機會拍攝圖像并將其發送到網關,網關會將圖像中繼到手機應用程序。查看圖像后,用戶單擊應用程序中的按鈕以打開門。
在此示例中,邊緣節點從 ARMv8-M 的 TrustZone 獲得其信任根,這將成為向網關驗證自身的基礎。網關還通過 Cortex-A MPU 上的信任區向移動電話驗證自身身份。當用戶在手機上選擇“打開門”命令時,電話會將其中繼到網關,網關又將其中繼到邊緣節點以打開門。作為過程的一部分,在每個步驟中都會驗證設備之間中繼的命令,從而確保系統范圍的完整性。
ARMv8-M 的 TrustZone 支持智能公用事業和智能城市等市場中的節能設備,如可穿戴設備或電池供電的邊緣節點。TrustZone 擴展不僅能夠保護邊緣,而且通過降低復雜性和消除專用于執行安全功能的其他部件來改變安全經濟性。雖然支持ARMv8-M的芯片的TrustZone尚未上市,但包括快速邏輯,綠山軟件,IAR系統,IBM,導師圖形,Micrium,實時工程師,賽門鐵克和Trustonic在內的幾家軟件公司已宣布打算支持它。
最終,利用 ARMv8-M 功能的選擇取決于設備制造商,因為 v8-M 的 TrustZone 將要求開發人員改變應用程序開發實踐。將 TrustZone 用于 ARMv8-M 可以強制對需要保護哪些信息進行有紀律的思考,并且可能會導致短期學習曲線,從而影響開發過程。但是,考慮到發布不安全產品的成本,決定很簡單 - ARMv8-M的TrustZone填補了物聯網系統范圍安全道路上的直接空白。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19169瀏覽量
229158 -
mcu
+關注
關注
146文章
17002瀏覽量
350328 -
物聯網
+關注
關注
2903文章
44284瀏覽量
371327
發布評論請先 登錄
相關推薦
評論