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