环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

如何利用 TrustZone 以最低的硬件復雜度和成本保護物聯網設備

發布日期:2022-04-17 點擊率:54

與嵌入式產品的傳統要求相比,邊緣物聯網設備需要更多安全措施。對于擁有電氣工程背景,卻不具備密碼學或系統安全方面專業知識的團隊和開發人員來說,理解和著手處理安全問題通常比較困難。

在現代開發周期中,開發人員幾乎沒有時間和預算從零開始學習或成長為安全專家。不過,開發人員可以利用現有的安全解決方案,根據自己的特定需求靈活調整。

本文將介紹 Arm? 的 TrustZone,這是一種有趣的解決方案,在基于微控制器的系統的設計師群體中越來越受歡迎。本文將通過列舉實例的方法來介紹支持 TrustZone 的 STMicroelectronics STM32L5 系列微控制器,并展示如何使用相關開發套件來初步應用 TrustZone。

通過隔離保障安全性

安全嵌入式系統的核心基本元素是通過隔離保障安全性。其概念是,重要的數據資產(如私鑰、用戶數據、安全功能等)應與通用數據和功能(如圖形用戶界面元素或實時操作系統 (RTOS))隔離開來。雖然有些方法可以創建軟件隔離,但安全專家認為嵌入式系統需要通過基于硬件的隔離來實現安全性。

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

什么是 Arm TrustZone?

TrustZone 是一種在單核微控制器中實現的硬件機制,將執行環境劃分為安全和非安全的內存、外設和功能。此外,每個執行環境中都包含一個內存保護單元 (MPU),用來進一步隔離內存區域,提供類似洋蔥的多層屏障,威懾和阻礙試圖訪問數據資產的潛在攻擊者。

通常來說,嵌入式開發人員會將他們的系統劃分為至少兩個項目:一個是非安全的執行項目,通常稱為用戶項目;另一個是安全的執行項目,通常稱為固件項目。啟用 TrustZone 的微控制器將啟動進入安全狀態,并在跳到非安全狀態以執行用戶應用程序之前啟動系統(圖 1)。

TrustZone 項目通過硬件機制實現隔離示意圖圖 1:TrustZone 項目通過一種將嵌入式軟件分隔為用戶項目(非安全)和固件項目(安全)的硬件機制實現隔離。(圖片來源:Arm)

用戶項目只能通過在固件項目和用戶項目之間創建的安全網關訪問安全功能,若不觸發異常則無法訪問安全內存位置。

選擇支持 TrustZone 的開發板

要開始理解 TrustZone,最簡單的方法就是直接開始使用。為此,開發人員必須先選擇開發板。通過不同的微控制器供應商可以選擇不同的開發板,但要注意一點:各種開發板實現 TrustZone 的方式并不相同,這可能會讓情況變得有點棘手。

TrustZone 入門應用可以搭配的理想開發板示例是 STMicroelectronics 的 STM32L562E Discovery 套件(圖 2)。

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

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

另一種可用于 TrustZone 入門應用的開發板是 STMicroelectronics NUCLEO-L552ZE-Q Nucleo 板(圖 3)。

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

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

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

這兩種開發板的處理器都包含 TrustZone 安全仲裁單元 (SAU),用于設置將由 TrustZone 提供保護的內存和外設。某些微控制器供應商的 TrustZone 實現中缺少 SAU。雖然不一定會導致問題,但需要用不同的程序來設置 TrustZone。

啟動第一個基于 TrustZone 的應用程序

啟動并運行 STMicroelectronics 開發板需要執行幾個步驟和軟件包。首先,開發人員需要下載 STM32CubeIDE。STM32CubeIDE 提供用于應用程序開發的編譯器、微控制器包和 IDE,以及包括 STM AN5394 在內的任何相關應用程序說明。

使用現有的 TrustZone 示例項目是啟動和運行應用程序的最快方法。STM32Cube_FW_L5 軟件包中包含多個項目。該軟件作為 STM32CubeL5 軟件的一部分下載。下載后,開發者可以從相應的目錄路徑導入 TrustZoneEnabled 項目,比如:

STM32Cube_FW_L5_V1.2.0STM32Cube_FW_L5_V1.2.0ProjectsSTM32L552E-EVTemplatesTrustZoneEnabled

導入項目后,開發人員可以看到該項目具有層級項目結構,將應用程序分為了安全應用和非安全應用(圖 4)。

TrustZone 項目以分層項目結構實現的圖片圖 4:TrustZone 項目在由安全和非安全項目構成的分層項目結構中實現。(圖片來源:Beningo Embedded Group)

這些項目中有很多細節可以探索。AN5394 可以補充很多細節,而每個項目的 Doc 文件夾中的 readme.txt 文件則可以解釋關于安全和非安全項目的細節。在本文中,我們將研究與 TrustZone 相關的最重要概念。具體來說,就是如何配置 TrustZone。配置可以在以下路徑的 partition_stm32L562xx.h 文件中找到:

C:STM32Cube_FW_L5_V1.2.0ProjectsSTM32L562E-DKTemplatesTrustZoneEnabledSecureInc

此文件中包含 SAU 的設置。例如,圖 5 顯示了 SAU 區域 0 的設置。此區域當前配置為安全執行。另一方面,圖 6 顯示了被配置為非安全的 SAU 區域 1。

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

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

開發人員將決定需要安全或非安全執行的區域,并使用分區文件配置 SAU。創建這些設置并不能保證 TrustZone 將被啟用!將基于 TrustZone 的應用程序編程到目標上時,開發人員需要將 TZ 選項字節設置為 1 才能啟用 TrustZone。然后目標會在啟動期間啟用 TrustZone,并讀取和使用 SAU 配置。

TrustZone 的使用技巧與訣竅

TrustZone 上手并不難,但需要開發人員以略微不同的方式考慮自己的應用程序設計。下面是幾個啟動設計的“技巧與訣竅”:

  • 并非所有數據都需要保護。預先確定需要保護的關鍵數據資產。

  • 利用現有的安全框架,如 CMSIS-Zone 和針對 Cortex-M 的可信固件 (TF-M) 來加速開發。

  • 仔細檢查對設備的潛在威脅,并選擇支持硬件和軟件解決方案的微控制器來預防這些威脅。

  • TrustZone 提供單層隔離。利用 MPU 和其他硬件機制創建多個基于硬件的隔離層。

  • 在架構階段(而非實現階段)識別安全和非安全代碼元素。

開發人員遵循這些“技巧與訣竅”后,便會發現他們可以在保護物聯網設備安全的過程中節省不少時間并省去很多麻煩。

結語

TrustZone 是面向物聯網開發人員提供的一件重要工具,用以幫助他們保護自己的設備和數據資產。安全解決方案可以通過幾種不同的方式實現,但正如我們所看到的,TrustZone 為開發人員提供了單一核心解決方案,其中包含傳統的軟件開發模型。唯一的區別在于,開發人員需要開始考慮安全和非安全的組件、數據和線程。

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

上一篇: 降壓-升壓電源設計—

推薦產品

更多
主站蜘蛛池模板: 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 浙江上沪阀门有限公司 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 金现代信息产业股份有限公司--数字化解决方案供应商 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 最新范文网_实用的精品范文美文网| 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 |