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