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