日韩成人激情_欧美黑人xxx_国产一区二精品区在线_精品在线一区_97成人资源_久久久久久一区

產(chǎn)品分類

當(dāng)前位置: 首頁(yè) > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
FFC連接器

如何利用 TrustZone 以最低的硬件復(fù)雜度和成本保護(hù)物聯(lián)網(wǎng)設(shè)備

發(fā)布日期:2022-04-17 點(diǎn)擊率:52

與嵌入式產(chǎn)品的傳統(tǒng)要求相比,邊緣物聯(lián)網(wǎng)設(shè)備需要更多安全措施。對(duì)于擁有電氣工程背景,卻不具備密碼學(xué)或系統(tǒng)安全方面專業(yè)知識(shí)的團(tuán)隊(duì)和開(kāi)發(fā)人員來(lái)說(shuō),理解和著手處理安全問(wèn)題通常比較困難。

在現(xiàn)代開(kāi)發(fā)周期中,開(kāi)發(fā)人員幾乎沒(méi)有時(shí)間和預(yù)算從零開(kāi)始學(xué)習(xí)或成長(zhǎng)為安全專家。不過(guò),開(kāi)發(fā)人員可以利用現(xiàn)有的安全解決方案,根據(jù)自己的特定需求靈活調(diào)整。

本文將介紹 Arm? 的 TrustZone,這是一種有趣的解決方案,在基于微控制器的系統(tǒng)的設(shè)計(jì)師群體中越來(lái)越受歡迎。本文將通過(guò)列舉實(shí)例的方法來(lái)介紹支持 TrustZone 的 STMicroelectronics STM32L5 系列微控制器,并展示如何使用相關(guān)開(kāi)發(fā)套件來(lái)初步應(yīng)用 TrustZone。

通過(guò)隔離保障安全性

安全嵌入式系統(tǒng)的核心基本元素是通過(guò)隔離保障安全性。其概念是,重要的數(shù)據(jù)資產(chǎn)(如私鑰、用戶數(shù)據(jù)、安全功能等)應(yīng)與通用數(shù)據(jù)和功能(如圖形用戶界面元素或?qū)崟r(shí)操作系統(tǒng) (RTOS))隔離開(kāi)來(lái)。雖然有些方法可以創(chuàng)建軟件隔離,但安全專家認(rèn)為嵌入式系統(tǒng)需要通過(guò)基于硬件的隔離來(lái)實(shí)現(xiàn)安全性。

有多種方法可以用硬件創(chuàng)建隔離,比如使用微控制器和安全處理器,或者使用多核處理器,將其中一個(gè)核專門(mén)用于安全處理。較新的 Arm Cortex?-M23、Cortex-M33 和 Cortex-M55 處理器均支持基于硬件的可選隔離功能 TrustZone。

什么是 Arm TrustZone?

TrustZone 是一種在單核微控制器中實(shí)現(xiàn)的硬件機(jī)制,將執(zhí)行環(huán)境劃分為安全和非安全的內(nèi)存、外設(shè)和功能。此外,每個(gè)執(zhí)行環(huán)境中都包含一個(gè)內(nèi)存保護(hù)單元 (MPU),用來(lái)進(jìn)一步隔離內(nèi)存區(qū)域,提供類似洋蔥的多層屏障,威懾和阻礙試圖訪問(wèn)數(shù)據(jù)資產(chǎn)的潛在攻擊者。

通常來(lái)說(shuō),嵌入式開(kāi)發(fā)人員會(huì)將他們的系統(tǒng)劃分為至少兩個(gè)項(xiàng)目:一個(gè)是非安全的執(zhí)行項(xiàng)目,通常稱為用戶項(xiàng)目;另一個(gè)是安全的執(zhí)行項(xiàng)目,通常稱為固件項(xiàng)目。啟用 TrustZone 的微控制器將啟動(dòng)進(jìn)入安全狀態(tài),并在跳到非安全狀態(tài)以執(zhí)行用戶應(yīng)用程序之前啟動(dòng)系統(tǒng)(圖 1)。

TrustZone 項(xiàng)目通過(guò)硬件機(jī)制實(shí)現(xiàn)隔離示意圖圖 1:TrustZone 項(xiàng)目通過(guò)一種將嵌入式軟件分隔為用戶項(xiàng)目(非安全)和固件項(xiàng)目(安全)的硬件機(jī)制實(shí)現(xiàn)隔離。(圖片來(lái)源:Arm)

用戶項(xiàng)目只能通過(guò)在固件項(xiàng)目和用戶項(xiàng)目之間創(chuàng)建的安全網(wǎng)關(guān)訪問(wèn)安全功能,若不觸發(fā)異常則無(wú)法訪問(wèn)安全內(nèi)存位置。

選擇支持 TrustZone 的開(kāi)發(fā)板

要開(kāi)始理解 TrustZone,最簡(jiǎn)單的方法就是直接開(kāi)始使用。為此,開(kāi)發(fā)人員必須先選擇開(kāi)發(fā)板。通過(guò)不同的微控制器供應(yīng)商可以選擇不同的開(kāi)發(fā)板,但要注意一點(diǎn):各種開(kāi)發(fā)板實(shí)現(xiàn) TrustZone 的方式并不相同,這可能會(huì)讓情況變得有點(diǎn)棘手。

TrustZone 入門(mén)應(yīng)用可以搭配的理想開(kāi)發(fā)板示例是 STMicroelectronics 的 STM32L562E Discovery 套件(圖 2)。

STMicroelectro<em></em>nics STM32L562E Discovery 套件的圖片圖 2:STM32L562E Discovery 套件包含許多板載傳感器、藍(lán)牙和 I/O 擴(kuò)展板,因而可以輕松地開(kāi)始使用 TrustZone 應(yīng)用程序。(圖片來(lái)源:STMicroelectronics)

這個(gè)套件提供的許多支持特性,在初次使用 TrustZone 時(shí)非常有用。例如,該開(kāi)發(fā)套件中包括一個(gè) 1.54 英寸 240 x 240 像素的 TFT LCD 模塊(附觸摸式控制面板)、藍(lán)牙 v4.1 低能耗模塊、iNEMO 3D 加速計(jì)和陀螺儀、板載 STlink-V3E,以及其他用于 I/O 和外設(shè)擴(kuò)展的功能。

另一種可用于 TrustZone 入門(mén)應(yīng)用的開(kāi)發(fā)板是 STMicroelectronics NUCLEO-L552ZE-Q Nucleo 板(圖 3)。

STMicroelectro<em></em>nics STM32L552ZE-Q NUCLEO 開(kāi)發(fā)板的圖片圖 3:STM32L552ZE-Q NUCLEO 開(kāi)發(fā)板提供支持 TrustZone 的處理器、ST-linkV3 和擴(kuò)展排針,適合定制開(kāi)發(fā)活動(dòng)。(圖片來(lái)源:STMicroelectronics)

與 STM32L562E Discovery 套件不同的是,NUCLEO-L552ZE-Q 屬于基本開(kāi)發(fā)板,包含 ST-linkV3、STM32L552VET6 微控制器、擴(kuò)展端口和 LED 燈。對(duì)于想要使用 TrustZone 并盡可能快地開(kāi)始集成自己的硬件組件的開(kāi)發(fā)人員來(lái)說(shuō),此開(kāi)發(fā)板是非常棒的選擇。

盡管 NUCLEO-L552ZE-Q 的附加功能并不全面,但 STM32L552VET6 的表現(xiàn)確實(shí)令人印象深刻。這是一個(gè) Arm Cortex-M33 處理器,帶有一個(gè)浮點(diǎn)單元 (FPU),閃存容量為 512KB,靜態(tài)隨機(jī)存取存儲(chǔ)器 (SRAM) 容量為 256KB。除 TrustZone 之外,它還包括多個(gè)其他安全特性,例如具有唯一啟動(dòng)項(xiàng)目的信任根、安全固件安裝和針對(duì) Cortex-M 可信固件 (TF-M) 的安全固件升級(jí)支持。

這兩種開(kāi)發(fā)板的處理器都包含 TrustZone 安全仲裁單元 (SAU),用于設(shè)置將由 TrustZone 提供保護(hù)的內(nèi)存和外設(shè)。某些微控制器供應(yīng)商的 TrustZone 實(shí)現(xiàn)中缺少 SAU。雖然不一定會(huì)導(dǎo)致問(wèn)題,但需要用不同的程序來(lái)設(shè)置 TrustZone。

啟動(dòng)第一個(gè)基于 TrustZone 的應(yīng)用程序

啟動(dòng)并運(yùn)行 STMicroelectronics 開(kāi)發(fā)板需要執(zhí)行幾個(gè)步驟和軟件包。首先,開(kāi)發(fā)人員需要下載 STM32CubeIDE。STM32CubeIDE 提供用于應(yīng)用程序開(kāi)發(fā)的編譯器、微控制器包和 IDE,以及包括 STM AN5394 在內(nèi)的任何相關(guān)應(yīng)用程序說(shuō)明。

使用現(xiàn)有的 TrustZone 示例項(xiàng)目是啟動(dòng)和運(yùn)行應(yīng)用程序的最快方法。STM32Cube_FW_L5 軟件包中包含多個(gè)項(xiàng)目。該軟件作為 STM32CubeL5 軟件的一部分下載。下載后,開(kāi)發(fā)者可以從相應(yīng)的目錄路徑導(dǎo)入 TrustZoneEnabled 項(xiàng)目,比如:

STM32Cube_FW_L5_V1.2.0STM32Cube_FW_L5_V1.2.0ProjectsSTM32L552E-EVTemplatesTrustZoneEnabled

導(dǎo)入項(xiàng)目后,開(kāi)發(fā)人員可以看到該項(xiàng)目具有層級(jí)項(xiàng)目結(jié)構(gòu),將應(yīng)用程序分為了安全應(yīng)用和非安全應(yīng)用(圖 4)。

TrustZone 項(xiàng)目以分層項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn)的圖片圖 4:TrustZone 項(xiàng)目在由安全和非安全項(xiàng)目構(gòu)成的分層項(xiàng)目結(jié)構(gòu)中實(shí)現(xiàn)。(圖片來(lái)源:Beningo Embedded Group)

這些項(xiàng)目中有很多細(xì)節(jié)可以探索。AN5394 可以補(bǔ)充很多細(xì)節(jié),而每個(gè)項(xiàng)目的 Doc 文件夾中的 readme.txt 文件則可以解釋關(guān)于安全和非安全項(xiàng)目的細(xì)節(jié)。在本文中,我們將研究與 TrustZone 相關(guān)的最重要概念。具體來(lái)說(shuō),就是如何配置 TrustZone。配置可以在以下路徑的 partition_stm32L562xx.h 文件中找到:

C:STM32Cube_FW_L5_V1.2.0ProjectsSTM32L562E-DKTemplatesTrustZoneEnabledSecureInc

此文件中包含 SAU 的設(shè)置。例如,圖 5 顯示了 SAU 區(qū)域 0 的設(shè)置。此區(qū)域當(dāng)前配置為安全執(zhí)行。另一方面,圖 6 顯示了被配置為非安全的 SAU 區(qū)域 1。

為安全執(zhí)行配置的 SAU 區(qū)域 0 的代碼圖 5:SAU 用于配置安全和非安全的內(nèi)存區(qū)域。上面的代碼演示了如何為安全執(zhí)行配置 SAU 區(qū)域 0。(圖片來(lái)源:Beningo Embedded Group)

為非安全執(zhí)行配置的 SAU 區(qū)域 1 的圖片圖 6:SAU 用于配置安全和非安全的內(nèi)存區(qū)域。上面的代碼演示了如何為非安全執(zhí)行配置 SAU 區(qū)域 1。(圖片來(lái)源:Beningo Embedded Group)

開(kāi)發(fā)人員將決定需要安全或非安全執(zhí)行的區(qū)域,并使用分區(qū)文件配置 SAU。創(chuàng)建這些設(shè)置并不能保證 TrustZone 將被啟用!將基于 TrustZone 的應(yīng)用程序編程到目標(biāo)上時(shí),開(kāi)發(fā)人員需要將 TZ 選項(xiàng)字節(jié)設(shè)置為 1 才能啟用 TrustZone。然后目標(biāo)會(huì)在啟動(dòng)期間啟用 TrustZone,并讀取和使用 SAU 配置。

TrustZone 的使用技巧與訣竅

TrustZone 上手并不難,但需要開(kāi)發(fā)人員以略微不同的方式考慮自己的應(yīng)用程序設(shè)計(jì)。下面是幾個(gè)啟動(dòng)設(shè)計(jì)的“技巧與訣竅”:

  • 并非所有數(shù)據(jù)都需要保護(hù)。預(yù)先確定需要保護(hù)的關(guān)鍵數(shù)據(jù)資產(chǎn)。

  • 利用現(xiàn)有的安全框架,如 CMSIS-Zone 和針對(duì) Cortex-M 的可信固件 (TF-M) 來(lái)加速開(kāi)發(fā)。

  • 仔細(xì)檢查對(duì)設(shè)備的潛在威脅,并選擇支持硬件和軟件解決方案的微控制器來(lái)預(yù)防這些威脅。

  • TrustZone 提供單層隔離。利用 MPU 和其他硬件機(jī)制創(chuàng)建多個(gè)基于硬件的隔離層。

  • 在架構(gòu)階段(而非實(shí)現(xiàn)階段)識(shí)別安全和非安全代碼元素。

開(kāi)發(fā)人員遵循這些“技巧與訣竅”后,便會(huì)發(fā)現(xiàn)他們可以在保護(hù)物聯(lián)網(wǎng)設(shè)備安全的過(guò)程中節(jié)省不少時(shí)間并省去很多麻煩。

結(jié)語(yǔ)

TrustZone 是面向物聯(lián)網(wǎng)開(kāi)發(fā)人員提供的一件重要工具,用以幫助他們保護(hù)自己的設(shè)備和數(shù)據(jù)資產(chǎn)。安全解決方案可以通過(guò)幾種不同的方式實(shí)現(xiàn),但正如我們所看到的,TrustZone 為開(kāi)發(fā)人員提供了單一核心解決方案,其中包含傳統(tǒng)的軟件開(kāi)發(fā)模型。唯一的區(qū)別在于,開(kāi)發(fā)人員需要開(kāi)始考慮安全和非安全的組件、數(shù)據(jù)和線程。

下一篇: PLC、DCS、FCS三大控

上一篇: 降壓-升壓電源設(shè)計(jì)—

推薦產(chǎn)品

更多
主站蜘蛛池模板: 亚洲成人综合社区 | 日韩精品一区二区三区免费视频 | 91精品国产综合久久久动漫日韩 | 国产视频一区在线 | 日韩中文字幕高清 | 国产精品1区 | 亚洲综合在线视频 | 亚洲精选一区 | 91在线成人 | 亚洲婷婷一区 | 天天干国产 | 做a视频| 在线观看国产 | 欧美高清视频 | 天天操操操操操 | 亚洲最新在线视频 | 欧美日韩国产中文 | 国产高清视频在线 | 国产在线二区 | 夜夜骑天天干 | 成人婷婷| 亚洲欧美激情精品一区二区 | 99精品视频一区二区三区 | 亚洲午夜精品一区二区三区他趣 | 成人精品国产一区二区4080 | 俺去俺来也www色官网cms | 精品久久久久久亚洲精品 | 欧美一区二区免费电影 | 中文av电影 | 精品综合久久久 | 日本成人区 | 欧美不卡视频 | 精品久久香蕉国产线看观看亚洲 | 成人av影院 | 亚洲一区二区三区高清 | 依人成人 | 精品视频一区二区三区在线观看 | 久久久久久亚洲精品 | 国产一区二区三区四区在线观看 | 国产成人一区二区三区精 | 欧美a级成人淫片免费看 |