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