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