是否有可能將嵌入式系統的安全性從負擔轉變為祝福?這是 ST 試圖通過STM32Trust回答的問題,該計劃專注于我們為提高設備安全性而帶來的所有軟件和硬件解決方案。信息安全或信息安全可能是一個負擔,因為它是一個如此廣闊的領域。因此,幫助工程師意味著讓 ST 工具更易于使用。事實上,利用系統提供的所有功能并不總是顯而易見的。此外,獲得嚴格認證的需求可能會增加成本并延遲產品發布。因此,開發人員需要解決方案來更快地實施重要保護。
使用 STM32Trust 探索嵌入式系統安全的所有方面
它是如何開始的以及進展如何
STM32Trust 是一個隨著 ST 發布更多軟件工具和產品而不斷發展的程序。該計劃于 2019 年開始,還幫助教育開發人員確保他們的知識是最新的。因此,ST 舉辦培訓、發表論文、撰寫文檔并與合作伙伴合作以促進獲得認證。換句話說,在一篇博文中詳盡地解釋 STM32Trust 的所有方面是徒勞的,這就是為什么ST 博客決定專注于一些核心解決方案,以幫助讀者更好地了解他們如何在系統中實施安全性。
STM32Trust 的核心解決方案之一是X-CUBE-SBSFU(安全啟動和安全固件更新)。簡而言之,軟件擴展包使開發人員能夠實現安全啟動并提供安全的固件更新系統。它是 STM32Trust 的重要支柱之一,同時也是我們的安全固件安裝 (SFI)流程。后者可以將加密固件上傳到微控制器中,以防止 IP 盜竊等。雖然 SBSFU 和 SFI 在 ST 推出 STM32Trust 時占據主導地位,但我們在產品組合中添加了新的解決方案。例如,可信固件-M (TF-M)有助于在我們的 STM32L5 微控制器上實現安全環境。同樣,可信固件-A (TF-A)適用于 Cortex-A 設備,例如STM32MP1。因此,讓我們深入研究這些產品,看看它們為 STM32Trust 帶來了什么。
STM32Trust 和 X-CUBE-SBSFU:打造安全啟動和安全固件更新
從頭到尾保護用戶
Secure Boot 是一個在啟動或重置時運行的程序,通過檢查文件大小或簽名以確定是否有任何更改來驗證引導文件的完整性。因此,它可以保護系統免受在引導序列期間想要破壞固件的攻擊。另一種保護類型是安全固件更新。這種方法可以保護用戶免受遠程修改現有系統的攻擊。實際上,當服務器發送部分或完整的加密固件映像更新時,嵌入式系統會通過 UART 將其傳輸到 MCU,系統會檢查其真實性,然后在安裝之前對其進行解密。
更容易實現
像 X-CUBE-SBSFU 這樣的包允許開發人員更輕松地實現這些功能。例如,在我們的 STM32L4 上運行的 X-CUBE-SBSFU 代碼獲得了PSA 1 級認證。因此,工程師可以使用它更快地獲得相同的認證。此外,ST 繼續提供其源代碼。因此,開發人員可以從我們的實施中學習并優化他們的應用程序。例如,我們的庫可以生成大約 60 KB 的二進制文件,這對于一些小型嵌入式系統來說可能有點大。但是,優化操作使開發人員能夠修剪代碼并僅使用相關功能以適合他們的 MCU。
X-CUBE-SBSFU 還可以用于其他用途,因為它可以幫助團隊利用各種 STM32Trust 工具。例如,它使用我們的X-CUBE-CRYPTOLIB庫來優化加密操作。ST 最近對軟件包進行了大修,以提供模塊化方法和經過認證的代碼。此外,X-CUBE-CRYPTOLIB 現在根據 MCU 分離庫以更直觀。X-CUBE-SBSFU 還增加了對STSAFE-A110的支持,STSAFE-A110是 STEVAL-STWINKT1B 上的防篡改安全元件,用于存儲各種密鑰和證書。
STM32Trust 和 TF-M 或 TF-A:創建可信環境
通過加密、驗證和隔離實現安全
TF-M 和 TF-A 都是可信執行環境 (TEE) 的參考實現。前者適用于特定的 Cortex-M 內核,而后者適用于 Cortex-A 設備。顧名思義,關鍵是通過隔離和保護系統的各個方面來建立信任。例如,TF-M 和 TF-A 利用安全存儲和加密操作來保護啟動和更新過程。因此,它們提供了一種方法來保證安全啟動機制和固件的完整性。它們還將運行時沙箱化,以防止問題影響整個系統,并啟用密鑰存儲、證明和安全加密等服務。
在 Cortex-M 和 Cortex-A 設備上建立信任
希望在兼容的 STM32 微控制器上使用 TF-M 的開發人員將在其軟件包中找到他們需要的東西。例如,在 STM32L5 上實現 TF-M 從 STM32CubeL5開始。該軟件包具有安全啟動、安全存儲、安全隔離等重要功能的參考實現。因此,團隊可以創建一個類似于 SFU 但具有標準隔離方案的機制。隨著時間的推移,我們還將繼續改進我們的參考實現,以利用更多功能。至于 TF-A,由于 MPU 的情況明顯不同,ST 創建了一個Wiki 來指導工程師。它引導用戶了解主要概念和軟件工具,以快速實施參考環境。此外,開發人員還可以使用 OP-TEE,這是一種開放式可移植可信執行環境,可作為非安全 Linux 內核的配套解決方案。
STM32Trust 和 SFI:帶來安全的固件安裝
保護知識產權和防止盜竊
安全固件安裝是一種保護客戶二進制文件免受惡意活動影響的機制。很多時候,公司必須依靠第三方來組裝他們的最終產品。問題是它會引起很大的焦慮和不確定性。裝配線上的流氓員工或黑客可能會竊取固件,從而導致災難性后果。安全固件安裝通過在將固件運送給 OEM 之前對其進行加密來防止它。由于解密發生在代碼在 MCU 內部時,IP 仍然是安全的,任何被盜的固件都是無用的。此外,公司甚至可以使用這種技術來跟蹤固件安裝的數量,以監控任何產品盜竊。
SFI 主要依賴于兩個工具。開發人員使用STM32CubeProgrammer軟件中提供的 Trusted Package Creator 實用程序加密他們的固件,并將他們的私鑰和證書放置在采用智能卡形式的安全硬件模塊中。
然后,團隊將加密的二進制和智能卡運送到 EMS。裝配線通過 UART、I《sup》2《/sup》C、USB 或 JTAG 通過 STM32CubeProgrammer 上傳固件和密鑰。然后,智能卡通過驗證 MCU 并獲取其唯一密鑰來驗證所有內容。該卡還發送一個私鑰來解密二進制文件并為每個產品生成一個單獨的許可證。該許可證使上傳系統能夠跟蹤精確的安裝次數。最后,ST 最近發布了新版本的智能卡,允許公司定義他們的目標設備。以前,MCU的型號是預先設置好的。使用新版本,公司可以加載它以享受更靈活的系統。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7922瀏覽量
153793 -
STM32
+關注
關注
2290文章
11018瀏覽量
362670
發布評論請先 登錄
嵌入式開發入門指南:從零開始學習嵌入式
STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》新書發布!

有方科技重磅亮相德國嵌入式展
【「嵌入式系統設計與實現」閱讀體驗】+ 學習一個STM32的案例
嵌入式超火的方向有哪些?
嵌入式Hypervisor:架構、原理與應用 閱讀體驗 +分離內核的嵌入式Hyperviso

評論