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

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

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

使用適用于v8-M的ARM信任區(qū)保護(hù)邊緣

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Abhijeet Rane ? 2022-10-20 11:05 ? 次閱讀

隨著基于 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)范圍安全道路上的直接空白。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19117

    瀏覽量

    228861
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16917

    瀏覽量

    349988
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2902

    文章

    44119

    瀏覽量

    370421
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB輸入過壓保護(hù)芯片,短路保護(hù),適用于5V,6V,型號(hào)齊全0.5A-6A

    USB輸入過壓保護(hù)芯片,短路保護(hù),適用于5V,6V,型號(hào)齊全0.5A-6A USB輸入過壓保護(hù)
    的頭像 發(fā)表于 10-19 15:37 ?218次閱讀

    LM5181雙極性+和-18V輸出設(shè)計(jì),適用于PLC應(yīng)用中的信號(hào)鏈

    電子發(fā)燒友網(wǎng)站提供《LM5181雙極性+和-18V輸出設(shè)計(jì),適用于PLC應(yīng)用中的信號(hào)鏈.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 11:49 ?0次下載
    LM5181雙極性+和-18<b class='flag-5'>V</b>輸出設(shè)計(jì),<b class='flag-5'>適用于</b>PLC應(yīng)用中的信號(hào)鏈

    請(qǐng)問TI有適用于帶寬不低于200M,輸入信號(hào)為2V VPP 的差分運(yùn)放推薦嗎?

    請(qǐng)問TI有適用于帶寬不低于200M,輸入信號(hào)為2V VPP 的差分運(yùn)放推薦嗎? 我搜索到有該功能的有LMH9135,但是頻率過高。 如果沒有的話是不是只能用運(yùn)放自己搭建電路
    發(fā)表于 08-02 06:03

    TIDA-050044-適用于 M.2 形狀因數(shù)SSD的小型、高效電源 PCB layout 設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《TIDA-050044-適用于 M.2 形狀因數(shù)SSD的小型、高效電源 PCB layout 設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 05-19 11:01 ?0次下載
    TIDA-050044-<b class='flag-5'>適用于</b> <b class='flag-5'>M</b>.2 形狀因數(shù)SSD的小型、高效電源 PCB layout 設(shè)計(jì)

    適用于ARM Cortex?—A53處理器和FPGA TPS65219 數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于ARM Cortex?—A53處理器和FPGA TPS65219 數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-01 16:23 ?0次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>ARM</b> Cortex?—A53處理器和FPGA TPS65219 數(shù)據(jù)表

    東芝推出適用于電機(jī)控制的Arm Cortex-M4微控制器

    東芝電子元件及存儲(chǔ)裝置株式會(huì)社(“東芝”)近日重磅推出新款適用于電機(jī)控制的TXZ+?族高級(jí)系列32位微控制器。該系列基于高效的Cortex?-M4內(nèi)核,并集成了浮點(diǎn)單元(FPU),為電機(jī)控制提供了強(qiáng)大的計(jì)算支持。
    的頭像 發(fā)表于 03-28 10:38 ?619次閱讀

    適用于 ARM Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 ARM Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-27 13:46 ?0次下載
    <b class='flag-5'>適用于</b> <b class='flag-5'>ARM</b> Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表

    適用于ARM Cortex—A53處理器和FPGA TPS65219數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于ARM Cortex—A53處理器和FPGA TPS65219數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-06 14:46 ?0次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>ARM</b> Cortex—A53處理器和FPGA TPS65219數(shù)據(jù)表

    適用于ARM? Cortex?-A8/A9 SOC 和 FPGA 的TPS65218電源管理數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于ARM? Cortex?-A8/A9 SOC 和 FPGA 的TPS65218電源管理數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-06 14:18 ?0次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>ARM</b>? Cortex?-A<b class='flag-5'>8</b>/A9 SOC 和 FPGA 的TPS65218電源管理數(shù)據(jù)表

    適用于ARM Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于ARM Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-06 14:11 ?0次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>ARM</b> Cortex?—A53 處理器TPS65219-Q1數(shù)據(jù)表

    適用于 NXP i.MX 8M Mini 的 TPS6521825 電源管理IC TPS6521825數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 NXP i.MX 8M Mini 的 TPS6521825 電源管理IC TPS6521825數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-01 09:09 ?0次下載
    <b class='flag-5'>適用于</b> NXP i.MX <b class='flag-5'>8M</b> Mini 的 TPS6521825 電源管理IC TPS6521825數(shù)據(jù)表

    Arm Helium技術(shù)誕生的由來 為何不直接采用Neon?

    經(jīng)過 Arm 研究團(tuán)隊(duì)多年的不懈努力,Arm 于 2019 年推出了適用于 Armv8?M 架構(gòu)的 Ar
    的頭像 發(fā)表于 02-29 17:01 ?1891次閱讀
    <b class='flag-5'>Arm</b> Helium技術(shù)誕生的由來 為何不直接采用Neon?

    CS+適用于CC V8.11.00發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《CS+適用于CC V8.11.00發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 01-29 11:46 ?0次下載
    CS+<b class='flag-5'>適用于</b>CC <b class='flag-5'>V</b>8.11.00發(fā)布說明

    IGBT適用于ZVS 還是 ZCS?

    IGBT適用于ZVS 還是 ZCS?
    的頭像 發(fā)表于 12-01 16:10 ?1153次閱讀
    IGBT<b class='flag-5'>適用于</b>ZVS 還是 ZCS?

    Nexperia 適用于 36V 電池系統(tǒng)的特定應(yīng)用 MOSFET

    Nexperia 適用于 36V 電池系統(tǒng)的特定應(yīng)用 MOSFET
    的頭像 發(fā)表于 11-30 11:47 ?525次閱讀
    Nexperia <b class='flag-5'>適用于</b> 36<b class='flag-5'>V</b> 電池系統(tǒng)的特定應(yīng)用 MOSFET