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)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Abhijeet Rane ? 2022-10-20 11:05 ? 次閱讀

隨著基于 v8-M 的芯片進(jìn)入市場(chǎng),開(kāi)發(fā)人員必須了解架構(gòu)、它提供的新功能,以及如何在設(shè)計(jì)構(gòu)成安全端到端系統(tǒng)基礎(chǔ)的連接邊緣設(shè)備中實(shí)現(xiàn)它。

物聯(lián)網(wǎng)IoT) 安全問(wèn)題通常是由于對(duì)連接系統(tǒng)邊緣的設(shè)備保護(hù)不足造成的。這些往往是低功耗,廉價(jià)的基于微控制器的設(shè)備,執(zhí)行單一功能,如溫度監(jiān)控。缺乏處理能力,內(nèi)存,當(dāng)然還有成本,經(jīng)常被引用為無(wú)法正確保護(hù)這些資產(chǎn)的原因,黑客越來(lái)越多地利用這些資產(chǎn)作為連接到同一網(wǎng)絡(luò)的更高價(jià)值資產(chǎn)的蹦床。為了保護(hù)知識(shí)產(chǎn)權(quán)、客戶數(shù)據(jù)、用戶安全和品牌聲譽(yù)免受此類威脅,設(shè)備制造商已經(jīng)研究了各種技術(shù)來(lái)保護(hù)易受攻擊的端點(diǎn),包括使用多個(gè)MCU,其中一個(gè)或多個(gè)專門用于執(zhí)行加密和身份驗(yàn)證等安全功能。這當(dāng)然會(huì)增加復(fù)雜性和成本,并向物料清單 (BOM) 添加另一個(gè)行項(xiàng)目。

然而,幸運(yùn)的是,對(duì)于基于MCU的設(shè)備來(lái)說(shuō),這種情況將會(huì)改變。2015年,ARM宣布其基于硬件的安全技術(shù)TrustZone將憑借新的v8-M架構(gòu)在Cortex-M M MCU上提供。ARMv8-M 的安全功能類似于在 Cortex-A 應(yīng)用程序處理器中廣泛部署的功能,可為 Cortex-M 設(shè)備帶來(lái)基礎(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 的兼容性,以簡(jiǎn)化 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)也能夠通過(guò)使用內(nèi)存保護(hù)單元(MPU)或內(nèi)存管理單元(MMU)一段時(shí)間來(lái)建立特權(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ù)不同,它沒(méi)有安全監(jiān)視器來(lái)管理兩種狀態(tài)之間的轉(zhuǎn)換。相反,安全和非安全狀態(tài)是基于內(nèi)存映射的,這消除了切換開(kā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)特定控制器邏輯來(lái)實(shí)現(xiàn)相同的目的。兩者之間的主要區(qū)別在于SAU在安全狀態(tài)下是可編程的,而IDAU則創(chuàng)建固定的內(nèi)存映射。

處理器狀態(tài)取決于訪問(wèn)的內(nèi)存區(qū)域(安全或不安全)。如果代碼在安全內(nèi)存區(qū)域中運(yùn)行,則處理器狀態(tài)是安全的,并且與傳統(tǒng)的 TrustZone 技術(shù)類似,在安全內(nèi)存區(qū)域中執(zhí)行的代碼可以訪問(wèn)非安全區(qū)域,但不能訪問(wèn)非安全區(qū)域。但是,適用于 v8-M 的 TrustZone 在安全區(qū)域中引入了一種稱為非安全可調(diào)用 (NSC) 的其他內(nèi)存類型,該類型充當(dāng)在非安全內(nèi)存區(qū)域中運(yùn)行的代碼的入口點(diǎn),以訪問(wèn)安全區(qū)域中的服務(wù)、函數(shù)或數(shù)據(jù)。因此,存儲(chǔ)器的NSC部分增加了安全和非安全存儲(chǔ)器區(qū)域之間的一定程度的分離,同時(shí)促進(jìn)了對(duì)安全功能的訪問(wèn)。需要使用 NSC 內(nèi)存的應(yīng)用程序開(kāi)發(fā)人員必須使用 v8 體系結(jié)構(gòu)中引入的新指令(稱為安全網(wǎng)關(guān) (SG))來(lái)執(zhí)行此操作。SG 指令必須駐留在 NSC 內(nèi)存中,并且必須是 API 中訪問(wèn)安全函數(shù)的第一條指令。任何在沒(méi)有有效SG指令的情況下訪問(wèn)安全存儲(chǔ)器的嘗試都會(huì)導(dǎo)致硬故障。

此外,ARM 還增強(qiáng)了被定義為 AMBA 3.0 互連規(guī)范一部分的 AHB-Lite。現(xiàn)在,更新后的規(guī)范 AMBA 5 AHB5 添加了一條特殊指令來(lái)標(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)用程序通過(guò) API 訪問(wèn)它。

關(guān)鍵信息的安全存儲(chǔ):將用戶數(shù)據(jù)、身份信息和安全密鑰與系統(tǒng)其余部分分開(kāi),可確保機(jī)密性。

信任根實(shí)現(xiàn):信任根實(shí)現(xiàn)為許多不同的應(yīng)用程序(如安全無(wú)線 (OTA) 固件更新)提供了安全的基礎(chǔ)。這種信任基礎(chǔ)對(duì)于在系統(tǒng)中的設(shè)備之間啟用相互身份驗(yàn)證也至關(guān)重要。

認(rèn)證軟件的沙盒:軟件認(rèn)證是一個(gè)昂貴的過(guò)程。例如,使用經(jīng)過(guò)認(rèn)證的加密軟件,使設(shè)備制造商能夠進(jìn)入要求這些要求的新市場(chǎng)。ARMv8-M 的信任區(qū)允許將此類代碼保存在安全的內(nèi)存區(qū)域中,同時(shí)允許通過(guò) NSC 內(nèi)存區(qū)域中的 API 訪問(wèn)應(yīng)用程序。

通過(guò)處理器整合降低成本:在復(fù)雜的 SoC 中,一個(gè)處理器可能專用于執(zhí)行安全功能,用于 ARMv8-M 的 TrustZone 可以實(shí)現(xiàn)與專用處理器相同的安全功能,從而降低成本和復(fù)雜性。

端到端安全示例

讓我們舉一個(gè)簡(jiǎn)單的門鎖示例來(lái)演示適用于 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)有人來(lái)到門口時(shí),相機(jī)會(huì)拍攝圖像并將其發(fā)送到網(wǎng)關(guān),網(wǎng)關(guān)會(huì)將圖像中繼到手機(jī)應(yīng)用程序。查看圖像后,用戶單擊應(yīng)用程序中的按鈕以打開(kāi)門。

在此示例中,邊緣節(jié)點(diǎn)從 ARMv8-M 的 TrustZone 獲得其信任根,這將成為向網(wǎng)關(guān)驗(yàn)證自身的基礎(chǔ)。網(wǎng)關(guān)還通過(guò) Cortex-A MPU 上的信任區(qū)向移動(dòng)電話驗(yàn)證自身身份。當(dāng)用戶在手機(jī)上選擇“打開(kāi)門”命令時(shí),電話會(huì)將其中繼到網(wǎng)關(guān),網(wǎng)關(guān)又將其中繼到邊緣節(jié)點(diǎn)以打開(kāi)門。作為過(guò)程的一部分,在每個(gè)步驟中都會(huì)驗(yàn)證設(shè)備之間中繼的命令,從而確保系統(tǒng)范圍的完整性。

ARMv8-M 的 TrustZone 支持智能公用事業(yè)和智能城市等市場(chǎng)中的節(jié)能設(shè)備,如可穿戴設(shè)備或電池供電的邊緣節(jié)點(diǎn)。TrustZone 擴(kuò)展不僅能夠保護(hù)邊緣,而且通過(guò)降低復(fù)雜性和消除專用于執(zhí)行安全功能的其他部件來(lái)改變安全經(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 將要求開(kāi)發(fā)人員改變應(yīng)用程序開(kāi)發(fā)實(shí)踐。將 TrustZone 用于 ARMv8-M 可以強(qiáng)制對(duì)需要保護(hù)哪些信息進(jìn)行有紀(jì)律的思考,并且可能會(huì)導(dǎo)致短期學(xué)習(xí)曲線,從而影響開(kāi)發(fā)過(guò)程。但是,考慮到發(fā)布不安全產(chǎn)品的成本,決定很簡(jiǎ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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19293

    瀏覽量

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

    關(guān)注

    146

    文章

    17162

    瀏覽量

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

    關(guān)注

    2909

    文章

    44671

    瀏覽量

    373694
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    迅為RK3576開(kāi)發(fā)板適用于ARM PC、邊緣計(jì)算、個(gè)人移動(dòng)互聯(lián)網(wǎng)設(shè)備及其他多媒體產(chǎn)品

    迅為iTOP-3576開(kāi)發(fā)板采用瑞芯微RK3576高性能、低功耗的應(yīng)用處理芯片,集成了4個(gè)Cortex-A72和4個(gè)Cortex-A53核心,以及獨(dú)立的NEON協(xié)處理器。它適用于ARM PC、邊緣
    發(fā)表于 12-27 14:18

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

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

    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)鏈

    選擇適用于汽車應(yīng)用的基準(zhǔn)電壓

    電子發(fā)燒友網(wǎng)站提供《選擇適用于汽車應(yīng)用的基準(zhǔn)電壓.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 11:26 ?0次下載
    選擇<b class='flag-5'>適用于</b>汽車應(yīng)用的基準(zhǔn)電壓

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

    請(qǐng)問(wèn)TI有適用于帶寬不低于200M,輸入信號(hào)為2V VPP 的差分運(yùn)放推薦嗎? 我搜索到有該功能的有LMH9135,但是頻率過(guò)高。 如果沒(méi)有的話是不是只能用運(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 ?682次閱讀

    適用于 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ù)誕生的由來(lái) 為何不直接采用Neon?

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

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

    電子發(fā)燒友網(wǎng)站提供《CS+適用于CC V8.11.00發(fā)布說(shuō)明.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ā)布說(shuō)明