導語:STM32Trust是一項關注設備安全性的多級綜合策略,將安全知識、工具和ST原廠開箱可用軟件包相結合,融合以往的行業實踐經驗,通過一整套軟硬件解決方案,為新興的物聯網設備構建強大的信息安全保護。
我們都知道,信息安全是非常廣義的概念,而物聯網也有“網絡殺手“之稱,雖然大家對物聯網安全的必要性早已達成共識,但要在萬物互聯的廣義范疇中找到適當的解決方案和恰當的工具并非易事。此外,開發人員在安全保護實施過程中,需要獲得越來越多的認證,使開發面臨重重困難。意法半導體正試圖通過STM32Trust 為嵌入式系統的安全性提供一個簡單易行的解決方案。
STM32Trust是一個安全保護框架,結合信息安全知識、生態系統和安全服務的所有可用資源,為開發者提供了一套完整的工具集,用來以保護其設計的寶貴資產,例如軟件 IP 和數據,并確保安全連接和系統完整性。
STM32Trust的12項安全功能
STM32Trust 擁有12 項安全功能,提供來自 ST 和第三方的硬件、軟件和設計服務,符合主要物聯網認證方案的要求。
1.安全啟動:確保設備中運行的應用程序的真實性和完整性。這個功能提供了信任的基礎,是大多數嵌入式系統安全設計的基本要求。
2.安全固件安裝與更新:安裝或更新固件,在編程前對完整性和真實性進行初步檢查。
3. 安全存儲:能夠安全地存儲數據或密鑰,并在外部不可見的情況下訪問它們。
4. 隔離:即將系統分為兩個不同區域,可信區和不可信區,不可信區的代碼不能訪問可信區,起到安全隔離的作用。
5. 異常情況處理:能夠檢測異常情況(硬件和軟件)并采取適當的決策,如擦除關鍵數據或恢復系統配置等。
6. 加密引擎:能夠按照安全保證級別的建議處理加密算法。
7. 審計/日志:以不變的方式跟蹤安全事件。
8。 身份標識/認證/證明:身份標識指設備或軟件包需要有唯一標識,能夠讓通信的對方識別設備,認證指身份識別后能夠確認是合法設備。
9. 芯片生命周期管理:通過受限路徑安全地控制管理芯片,從而保護設備。
10. 軟件 IP 保護:能夠保護部分或整個軟件包免受外部或內部讀取。
11. 安全生產:在生產線上的可能出現數據盜取、修改、超量生產等不安全環境下,對設備進行初始燒錄,也可用于設備個人化配置。
12. 應用生命周期管理:定義不可更改的增量狀態,以安全地保護應用程序狀態和資產。
基于 PSA 和 SESIP 認證的安全功能,簡化安全保護實施過程
為了確保一流的安全性,ST 為 MCU 和 MPU 提供了基于 PSA 和 SESIP 認證的相關安全功能。這些安全認證允許設計人員使用可靠的安全框架來構建其應用程序并滿足其預定義的安全保證級別的要求,例如 PCI、UL-2900、IEC 62443、ETSI EN 303 645、FIPS-140-2 和很多其他認證。
為了提高安全保障級別,STM32Trust 還支持與 STSAFE 系列安全芯片產品的集成。經過通用標準 EAL5+認證的STSAFE產品組合中涵蓋多款可用于安全連接的芯片,它們對于云通信、安全存儲和身份驗證以及系統完整性至關重要。
STM32Trust是如何發起并發展的?
STM32Trust 是意法半導體為提高設備安全性、簡化終端產品安全功能開發的、并將持續完善的多級安全框架系統。這個安全框架于 2019 年發起,最初是幫助開發者更新迭代信息安全知識;在開發者達成了萬物互聯場景下,系統設備的安全特性不可缺少的必要認知后,意法半導體基于STM32Trust框架提供一些核心安全解決方案,以幫助用戶更好地了解如何在系統中實施安全性。
比如,X-CUBE-SBSFU (安全啟動和安全固件更新)解決方案,可以幫助開發人員實現安全啟動并提供安全固件更新的軟件包,它與安全固件安裝 (SFI)一起,成為STM32Trust 的重要組成部分。SFI可以將加密固件加載到微控制器中,以防止 IP 盜取等。隨著新產品系列的推出,STM32Trust也不斷增加其安全解決方案組合,比如,可信固件-M (TF-M)有助于在STM32L5 微控制器上實現安全環境;可信固件-A (TF-A)適用于 Cortex-A 設備,例如STM32MP1。
STM32Trust + X-CUBE-SBSFU:
安全啟動和安全固件更新的全新打開方式
從始至終保護用戶信息安全
安全啟動是一個在電子設備啟動或重置時運行的程序,通過檢查文件大小及簽名來驗證啟動文件的完整性。因此,它可以保護系統在啟動過程中,免受破壞固件的攻擊。另一種類型的保護是安全固件更新,它可以保護用戶免受遠程篡改現有系統的攻擊,當服務器發送部分或完整的加密固件映像更新時,嵌入式系統通過 UART 將其傳輸到 MCU,系統檢查其真實性,然后在安裝之前對其進行解密。
更易部署實施
X-CUBE-SBSFU軟件包可幫助開發人員更輕松地實現安全啟動和安全固件更新。例如,在STM32L4 上運行的X-CUBE-SBSFU 代碼已經具備了 PSA 1 級認證,工程師在開發系統時,無需再在通過 PSA 1級認證方面花費時間。此外,ST 開放源代碼給用戶,開發人員可以從中學習并優化其應用程序。對于小型嵌入式系統開發,這一點非常友好,X-CUBE-SBSFU庫可以生成大約 60 KB 的二進制文件,對小型嵌入式系統來說文件有點大。但是,開放源代碼后,開發人員可以對代碼進行剪裁,只選用必要功能優化代碼。
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 的機制,但具有標準的隔離方案。隨著時間的推移,STM32還將持續改進參考實現,以兼顧更多功能。
由于MPU的情況于MCU有很大區別,開發者可以通過STM32 MPU Wiki 頁面 來獲得使用TF-A的指導。 它引導用戶了解主要概念和軟件工具,以快速搭建參考環境。此外,開發人員還可以使用 OP-TEE(Open Portable Trusted Execution Environment ),這是一種開放的便攜式可信執行環境,可作為非安全 Linux 內核的配套解決方案。
STM32Trust + SFI: 帶來安全的固件安裝
保護IP和防篡改
安全固件安裝是一種保護用戶二進制文件免受惡意攻擊的機制。很多情況下,用戶必須依靠第三方來組裝他們的最終產品,這將帶來極大的不確定性。裝配線上的不守法員工或黑客極有可能會竊取固件,從而導致災難性后果。安全固件安裝可以通過在將固件發送給 OEM 之前對其進行加密,來預防此類事件的發生。由于代碼的解密過程是在 MCU 內部進行,可保護 IP 安全,而任何被盜的固件都是無用的。此外,還可以使用這種技術來跟蹤固件燒錄的數量以監控任何產品盜竊的發生。
SFI 主要依賴于兩種工具。開發人員使用 STM32CubeProgrammer軟件中提供的 Trusted Package Creator 工具加密他們的固件,并將他們的密鑰放置在以智能卡形式呈現的安全硬件模塊中。
然后開發者將加密的二進制文件和智能卡發送到電子制造服務商(EMS)。裝配線通過 UART、I2C、USB 或 JTAG 經由 STM32CubeProgrammer 加載密文固件。 然后,智能卡對MCU進行驗證 并獲取其唯一ID。該卡還為每個產品生成一個單獨的許可證,許可證中包含用來解密二進制文件的密鑰。 許可證使安全燒錄系統能夠跟蹤固件燒錄的精確數量。近期,ST 發布了這個智能卡的新版本,允許用戶定義他們的目標設備。以往 MCU 的模型是預先設置好的。使用新版本,用戶可以使用更靈活的系統。
責任編輯:haq
-
STM32
+關注
關注
2266文章
10876瀏覽量
354925 -
安全系統
+關注
關注
0文章
410瀏覽量
66911
原文標題:STM32Trust:助你一站式完成安全設計
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論