24小時(shí)聯(lián)系電話(huà):18217114652、13661815404
中文
行業(yè)資訊
STM32WL LoRa無(wú)線(xiàn)系統芯片如何保證MCU安全?
1 MCU安全的意識需要培育
今天物聯(lián)網(wǎng)設備面臨的安全問(wèn)題和以往有很多不同,因此,ST 加強了安全方面的投資。2015 前后,ST 的安全芯片和MCU(微控制器)平臺同屬于一個(gè)大部門(mén),因為當時(shí)發(fā)現黑客已經(jīng)不止攻擊高安全性應用,如銀行卡、身份證等,而是已經(jīng)逐漸擴展到大眾層面。例如,四五年前已有智能家居的智能音箱、智能視頻被攻破的現象,很多客戶(hù)逐漸發(fā)現安全隱患的威脅可能使整個(gè)網(wǎng)絡(luò )癱瘓,甚至有一些廠(chǎng)商被黑客挾持勒索。
傳統MCU 已經(jīng)有了一定的安全能力,遺憾的是有很多嵌入式開(kāi)發(fā)者不太注重安全問(wèn)題,或者沒(méi)有相關(guān)的知識和能力去提升安全性,所以在過(guò)去四五年中,ST在逐步培育這塊市場(chǎng)和教育客戶(hù)。
由于物聯(lián)網(wǎng)碎片設備的應用越來(lái)越廣泛,人們并不知道黑客會(huì )從哪個(gè)最弱的環(huán)節進(jìn)入,所以格外提升MCU 的安全性。
2 STM32WL LoRa無(wú)線(xiàn)系統芯片如何保證安全
2020 年底,ST 推出面向大眾市場(chǎng)的STM32WL LoRa 無(wú)線(xiàn)系統芯片系列產(chǎn)品,其中的WL5 采用了雙核形態(tài),在M4 核之外,又增加了M0+ 核,好處是可在同樣系統中升級一些更需要高安全性的應用,即對客戶(hù)在安全升級方面有很大的幫助;此外,還增加了先進(jìn)的安全特性。
STM32WL LoRa無(wú)線(xiàn)系統芯片如何保證MCU安全?
圖1 STM32WL的安防與防護
具體講,STM32WL 是基于傳統STM32 平臺做的一些升級。實(shí)際上,現有STM32 上已經(jīng)有了應有的安全防護,如圖1,黑色字體描述現有STM32 產(chǎn)品線(xiàn)上都有的安全設施,如電源監控、閃存保護、時(shí)鐘安全、入侵監視、軟件IP 等,這些都是現有STM32支持的功能。
在此基礎上,雙核可提供更高的安全功能,包括M4 和M0+ 安全的硬件隔離,安全啟動(dòng)代碼保護等。而且,在增加這些更高安全的雙核硬件版本時(shí),ST 的客戶(hù)群可以迅速從現有平臺升級,引導開(kāi)發(fā)者快速地把安全理念植入在其產(chǎn)品的設計框架中。
對開(kāi)發(fā)者來(lái)說(shuō),雙核特別強調4 個(gè)主要特性:數據加密、安全下載、固件保護和身份驗證。這4 個(gè)主要安全特性是ST 在過(guò)去十幾年與開(kāi)發(fā)者互動(dòng)時(shí),在產(chǎn)品安全設計開(kāi)發(fā)中精選出來(lái)的,被認為是解決開(kāi)發(fā)者痛點(diǎn)的主要關(guān)鍵。
1) 數據加密
數據加密推動(dòng)了安全密鑰管理服務(wù)KMS 系統,也就是說(shuō)在芯片中提供了一個(gè)特殊的安全域可以存儲密鑰,以管理系統中不同應用的使用,還可以處理特權,在過(guò)去傳統通用MCU 中是沒(méi)有這個(gè)功能的。
2) 固件IP 保護
我們的客戶(hù)群里有很多用戶(hù)是開(kāi)發(fā)硬件方面的固件來(lái)執行芯片上的應用,有很多客戶(hù)非常擔心他們的產(chǎn)品和固件里的IP 被盜取、攻破,被黑客竊取。所以在WL5 里有一個(gè)安全啟動(dòng)(可信根),讓他們比較放心地去使用、保護固件,其中有一些特定域,只有這些應用在這些固件內存里通過(guò)身份驗證過(guò)后,才可以執行。
3)安全固件的安裝與更新
在執行過(guò)程中,越來(lái)越多的物聯(lián)網(wǎng)設備各式各樣的升級需求一定會(huì )持續發(fā)生,即用戶(hù)可能在這個(gè)過(guò)程中要做代碼的更新、固件的更新,在目前環(huán)境下這樣做非常困難,而且也比較耗時(shí)、耗力、耗資源。很多設備一上市,就很難做固件升級,增加了整個(gè)生態(tài)維護的難度。
為此,WL5 有2 個(gè)特點(diǎn):①嵌入式安全固件安裝(SFI);② SBSFU,即在此基礎上給了一個(gè)可定義的現場(chǎng)更新,可執行安全的平臺升級。除了這2 個(gè)固件,ST 還提供參考代碼來(lái)支持用戶(hù)更加快速的使用,讓他們能更好地去實(shí)現這個(gè)功能。
4) 加密/ 密碼
這幾個(gè)基礎必須嵌入在具有較強安全的密碼和加密模塊里,例如ST 有一個(gè)比較強的硬件加密協(xié)處理器,能增加數字簽名,保證現有MCU 在資源有限的條件下也能達到加密的功能和能力。
說(shuō)到最重要的現有客戶(hù),在做應用開(kāi)發(fā)固件升級時(shí),他們知道有關(guān)安全啟動(dòng)和信任鏈,而信任鏈的構思不是最新的,但真正在MCU 上執行是近幾年的事。在芯片上需要有一個(gè)機制,讓這些芯片在一開(kāi)始執行或在復位時(shí)必須執行一個(gè)安全啟動(dòng)。在安全啟動(dòng)機制下,芯片會(huì )自己檢查是否芯片上的寄存器或外設被篡改過(guò)。在這些措施下,會(huì )通過(guò)第2 步驟去認證這些應用程序是否允許認證它的合法性,如果這些都正常,那么這款應用才可以在特定域里開(kāi)始應用,這將大大減少可破壞性或出錯,或者讓黑客有機會(huì )去截取或讓整個(gè)系統崩潰掉。所以信任根在安全構思中是一個(gè)極重要的環(huán)節。ST 還在不斷地培育開(kāi)發(fā)者、工程師,更快地去提升他們的安全理念。
由于ST 有了雙核的推動(dòng),在保持最大靈活性時(shí),這些應用優(yōu)勢,如SFI、SBSFU 還有KMS,可以將應用的優(yōu)勢發(fā)揮出來(lái)。以前沒(méi)辦法或比較困難,或需要很高費用、能力才能實(shí)現的功能,現在開(kāi)發(fā)者可以更加方便、更加容易地實(shí)現。
下面五點(diǎn)對任何物聯(lián)網(wǎng)設備都非常重要:①開(kāi)發(fā)者需要有靈活性實(shí)現不同等級的安全,因為設備本身所保護的數據程度不同,不可能花費很高的費用只用非常初級的安全功能來(lái)保護它;②有關(guān)IP 的保護,當越來(lái)越多的開(kāi)發(fā)者在他們的中間件或固件中實(shí)現不同功能、性能時(shí),這些IP 的保護將非常重要,以便有較有好的方法保護他們的知識產(chǎn)權。接下來(lái)3 個(gè)是有關(guān)設備的可復制性、可攻擊性、可信賴(lài)性的升級,也是未來(lái)物聯(lián)網(wǎng)設備所必須要具備的功能,這些都會(huì )很完善、很容易提供給開(kāi)發(fā)者。
3 MCU全生命周期的安全管理
在整個(gè)芯片研發(fā)過(guò)程中,安全生命周期包含在芯片的設計、流片、測試,以及芯片給開(kāi)發(fā)者后的測試工具,如果一旦受到攻擊,它會(huì )進(jìn)行復位,或到某一程度將閃存上的代碼全部擦除掉,這是目前ST MCU 能夠進(jìn)行處理的方面。
在后面的生命周期,最重的環(huán)節是自我毀滅。在安全芯片中可以有這個(gè)功能,但是在傳統的MCU 里還沒(méi)有類(lèi)似的功能,這取決于開(kāi)發(fā)者是否要把這一點(diǎn)植入到他們的研發(fā)或生命周期管理中。
4 安全有多種途徑
既然Arm TrustZone 很好, 為何STM32WL LoRa無(wú)線(xiàn)系統芯片沒(méi)有用到TrustZone 呢?
實(shí)際上,TrustZone 概念一開(kāi)始是Arm 提出來(lái)的,是實(shí)現安全功能最基本的代碼隔離或安全性隔離的思路。在過(guò)去十幾年里,TrustZone 已經(jīng)在不同的安全芯片里得到了認可,很多廠(chǎng)商把TrustZoneSTM32 通用MCU 過(guò)去用的是M 核, 是不帶TrustZone 的,所以在Cortex-M 的基礎上,如果要實(shí)現類(lèi)似TrustZone——硬件上物理隔離的話(huà),要采取另外的手段,就是基于雙核的設計理念,把TrustZone 的理念(并不是TrustZone 本身)植入到傳統通用MCU 里。
由此可見(jiàn),要實(shí)現安全方法有很多,TrustZone 只是其中的一種。此外,還有防火墻、專(zhuān)有代碼讀保護(PCROP),以及唯一啟動(dòng)入口、BootLock 等,還有用戶(hù)安全存儲區等。STM32 有一系列安全相關(guān)的硬件,結合雙核,其他不是雙核的也有這樣的功能,能夠實(shí)現或滿(mǎn)足客戶(hù)要求的安全級別。