摘要:隨著汽車和工業(yè)市場中自動(dòng)化和互聯(lián)革命的推進(jìn),邊緣節(jié)點(diǎn)正在迅速成為網(wǎng)絡(luò)攻擊的目標(biāo),。軟件更新,、遠(yuǎn)程捕獲診斷數(shù)據(jù)以及遠(yuǎn)程端點(diǎn)與基礎(chǔ)設(shè)施之間的通信變得越來越普遍,因此容易遭受網(wǎng)絡(luò)攻擊和其它安全威脅,。
隨著半導(dǎo)體技術(shù)的進(jìn)步,,工藝尺寸不斷縮小,將閃存嵌入到包含硬件安全模塊(HSM)的 MCU 中也變得越來越困難,,因此外置閃存的需求不斷增加,。當(dāng)閃存外置于 MCU 時(shí),存儲(chǔ)的代碼和數(shù)據(jù)將更加容易受到攻擊,,所以設(shè)備必須設(shè)計(jì)安全啟動(dòng)流程和其它基礎(chǔ)設(shè)施,,以確保存儲(chǔ)和檢索的內(nèi)容可以信賴。
本文探討的是,,當(dāng)閃存外置于擁有 HSM 模塊的 MCU 時(shí),,但仍然保持硬件信任根時(shí),新一代安全設(shè)備的設(shè)計(jì)會(huì)面臨哪些挑戰(zhàn)和安全要求,。本文涉及的其他內(nèi)容還包括:加密安全存儲(chǔ),、快速安全啟動(dòng),、安全固件遠(yuǎn)程更新和管理合規(guī)。
I. 引言
在一個(gè)日益趨于嵌入式和互聯(lián)的世界中,,安全問題正在變得舉足輕重。每一個(gè)嵌入式系統(tǒng)都擴(kuò)大了攻擊面,,從設(shè)備和車輛到辦公室和工廠,,其中的一切都更加容易受到攻擊。在汽車電子,、工業(yè)系統(tǒng)等應(yīng)用中,,功能安全上升到了至關(guān)重要的位置。
設(shè)計(jì)工程師深知,,對安全和隱私與日俱增的關(guān)注已成為影響購買決策的一個(gè)主要因素,。消費(fèi)者和企業(yè)輕易采用新技術(shù)的日子已經(jīng)一去不復(fù)返。如今,,慎重取代了信任,,這促使每個(gè)供應(yīng)商都必須在某種程度上保證其產(chǎn)品和服務(wù)的安全性。政府也有著同樣的擔(dān)憂,,因此推出法規(guī),,要求供應(yīng)商執(zhí)行各項(xiàng)安全規(guī)定,若未能執(zhí)行有時(shí)候還會(huì)受到處罰,。
設(shè)計(jì)工程師還意識(shí)到,,保障嵌入式系統(tǒng)的安全將變得越來越困難。原因是,,隨著 SOC/MCU 在應(yīng)對復(fù)雜的實(shí)時(shí)應(yīng)用方面越來越強(qiáng)大,,它們開始向較小尺寸的 CMOS 技術(shù)(例如:16 納米或 7 納米)過渡,以加快速度和降低功耗,。但是在較小尺寸的條件下,,目前還沒有可用的可重編程非易失性存儲(chǔ)器(NVM)技術(shù)。這就導(dǎo)致了 eFlash(MCU 的嵌入式閃存)的去集成,,需要一種天然安全的架構(gòu),并且支持外置閃存,。這就需要制定特殊的規(guī)則以確保其安全運(yùn)行,。
本文的第 II 章和第 III 章還分析了設(shè)計(jì)安全嵌入式系統(tǒng)的挑戰(zhàn),包括嵌入式閃存的去集成所造成的挑戰(zhàn),。第四章則探討了利用安全閃存保護(hù)嵌入式系統(tǒng)的新一代架構(gòu),。
II. 嵌入式閃存面臨去集成
為了應(yīng)對日益增長的安全問題,,芯片供應(yīng)商將硬件安全模塊(HSM)功能集成于 MCU。HSM 位于安全的處理環(huán)境中,,其中含有一個(gè)基于硬件的信任根,,用于保護(hù)敏感數(shù)據(jù)、處理器狀態(tài),、啟動(dòng)加載程序,、加密密鑰和應(yīng)用安全服務(wù)代碼。嵌入式存儲(chǔ)(eFlash 和 RAM)也是安全處理環(huán)境可信邊界的重要組成部分,,因此足以抵御常見威脅,。
片外存儲(chǔ)(例如:外置閃存)并非天然可信,并且容易受到持續(xù)攻擊,。應(yīng)對措施一般是對外置閃存中的數(shù)據(jù)進(jìn)行加密,,然后在執(zhí)行代碼之前,將其從外置閃存下載至 MCU 內(nèi)置的 RAM 進(jìn)行解密和驗(yàn)證,。這種方法盡管足夠強(qiáng)大,,可以抵御大多數(shù)攻擊,但是會(huì)導(dǎo)致性能下降(啟動(dòng)時(shí)有可能會(huì)出現(xiàn)問題)和成本上升(需要更多的內(nèi)置 RAM 和更高的功率),,甚至有可能仍然容易受到持續(xù)攻擊(例如:回滾攻擊),。
隨著 MCU 逐步應(yīng)用于先進(jìn)的技術(shù)節(jié)點(diǎn)以提升性能、提高性價(jià)比和降低功耗,,閃存的去集成有可能帶來更大的威脅,,以前被 eFlash 全部或部分克服的某些可信存儲(chǔ)挑戰(zhàn)也許會(huì)卷土重來。此外,,由于嵌入式系統(tǒng)的普及所造成的威脅性環(huán)境也會(huì)帶來新的挑戰(zhàn),,而使用外置閃存則會(huì)讓這些挑戰(zhàn)變得更加難以克服。
為了確保外置閃存的安全,,需要解決的主要威脅包括:
模擬閃存芯片的授權(quán)數(shù)據(jù)訪問
篡改閃存芯片存儲(chǔ)的內(nèi)容
重放通訊指令以解析閃存芯片的內(nèi)容
在不安全環(huán)境進(jìn)行設(shè)置以獲取密鑰
在閃存芯片通訊時(shí)進(jìn)行窺探(中間人)攻擊
通過旁路攻擊或故障注入來公開(獲取或觀察)閃存芯片的內(nèi)容和密鑰
以電子方式損害閃存芯片的完整性
克隆閃存芯片
為了解決上述及其他對外置閃存的威脅,,有效地使其成為安全處理環(huán)境可信邊界的組成部分,該設(shè)備必須提供以下三種功能:
基于硬件的信任根,,可防止攻擊對存儲(chǔ)的代碼和 / 或數(shù)據(jù)造成的修改,、操縱、復(fù)制或其他潛在影響
通過 MCU 或云端提供安全更新,,綜合利用各種措施進(jìn)行端到端保護(hù),,包括通過總線的加密驗(yàn)證,通過讀 / 寫訪問方法實(shí)現(xiàn)的安全區(qū)域,,安全密鑰存儲(chǔ)空間,,以及非易失性防回滾計(jì)數(shù)器
低成本,無需額外的安全設(shè)備(例如:可信平臺(tái)模塊),,也無需更改電路板,,包括支持 x4 SPI 和 x8 HyperBus 標(biāo)準(zhǔn) .
圖 1 顯示了專門設(shè)計(jì)的安全閃存(見第 IV 章)如何提供上述三種功能,。實(shí)際上,安全閃存通過標(biāo)準(zhǔn)總線從外部擴(kuò)展了 MCU 嵌入式閃存集成的 HSM 功能,。還請注意,,圖一也同時(shí)展示了安全閃存如何取代普通的 NOR 閃存,從而繼續(xù)使用現(xiàn)有的電路板,。
值得一提的是,,使用外置閃存還具有一些其他優(yōu)勢,首先是它能夠更加輕松地適應(yīng)不斷增加的代碼長度,。嵌入式系統(tǒng)常用的標(biāo)準(zhǔn)閃存容量規(guī)格可以支持 1Gbit 甚至更大的存儲(chǔ)空間,,遠(yuǎn)高于 eFlash。外置閃存還可以容納更多的 CPU 內(nèi)核 / 負(fù)載,,以應(yīng)對機(jī)器學(xué)習(xí),、人工智能等復(fù)雜技術(shù)所需的更密集、更實(shí)時(shí)的處理,。這些變化有助于簡化設(shè)計(jì)工作并加快產(chǎn)品上市,,從而提供不同的型號(hào)以便更好地滿足價(jià)格、性能或其他標(biāo)準(zhǔn)方面的需求,。
III. 利用外置閃存設(shè)計(jì)安全的嵌入式系統(tǒng)
無論是使用 eFlash 還是外置閃存,,設(shè)計(jì)安全的嵌入式系統(tǒng)都是一項(xiàng)越來越繁重的工作。本章重點(diǎn)介紹一些重要的注意事項(xiàng),,以幫助指導(dǎo)設(shè)計(jì)和開發(fā)工作,。
通常,針對端到端安全而設(shè)計(jì)的系統(tǒng)必須具備三大要素:
保護(hù)機(jī)制,,用于保護(hù)代碼和關(guān)鍵數(shù)據(jù)的完整性,,防止各種方式的刪除、更改或破壞
檢測機(jī)制,,用于揭示代碼和 / 或關(guān)鍵數(shù)據(jù)何時(shí)被以某些未經(jīng)授權(quán)的方式更改
恢復(fù)機(jī)制,,用于恢復(fù)被以某些未經(jīng)授權(quán)的方式更改的代碼和 / 或關(guān)鍵數(shù)據(jù)的完整性
工程師設(shè)計(jì)的系統(tǒng)應(yīng)能夠應(yīng)對 STRIDE 模型已驗(yàn)證的所有威脅。下表概述了此模型,,它提供了一種實(shí)用的方法,,以了解各種潛在的威脅以及如何使用各種安全措施來應(yīng)對各種威脅。
安全產(chǎn)品設(shè)計(jì)需要建立基于信任根的可信執(zhí)行環(huán)境(TEE),。在使用所有組件和子系統(tǒng)之前,,TEE 提供了驗(yàn)證真實(shí)性和完整性的方法。創(chuàng)建這種安全設(shè)計(jì)的部分最佳方法如下:
實(shí)施硬件信任根以創(chuàng)建安全基礎(chǔ)
通過驗(yàn)證和加密鞏固這一基礎(chǔ)
保護(hù)所有連接,、網(wǎng)絡(luò)和云組件的端到端價(jià)值鏈
提供防御旁路攻擊和故障注入技術(shù)的能力
對系統(tǒng)進(jìn)行獨(dú)立的漏洞和風(fēng)險(xiǎn)評估
持續(xù)實(shí)時(shí)監(jiān)控異常情況
實(shí)施應(yīng)對流程(例如:安全更新)
圖 2 顯示在系統(tǒng)中實(shí)施信任根時(shí)如何權(quán)衡風(fēng)險(xiǎn)和成本,。可以預(yù)料,基于軟件的設(shè)計(jì)成本最低,,而安全性也最低。圖 2 沒有顯示不安全嵌入式系統(tǒng)的間接成本,,而這些非常實(shí)際的成本可以輕松地證明,,基于硬件的設(shè)計(jì)可以將安全性最大化。
美國國家標(biāo)準(zhǔn)技術(shù)研究院計(jì)算機(jī)安全資源中心解釋了在硬件中實(shí)施信任根的優(yōu)勢:“信任根是執(zhí)行特定關(guān)鍵安全功能的高度可靠的硬件,、固件和軟件組件,。因?yàn)樾湃胃烊豢尚牛员仨毻ㄟ^設(shè)計(jì)來確保它們的安全,。為此,,許多信任根都在硬件中實(shí)施,這樣惡意軟件便無法篡改其提供的功能,?!?nbsp;
技術(shù)的進(jìn)步不斷推動(dòng) IC 成本下降,集成新一代 IC 的系統(tǒng)成本也隨之降低,。外置閃存也是這種情況,,安全“智能閃存”的出現(xiàn),減少了在硬件中實(shí)施信任根并納入其他必要功能所需的工作,。
IV. 安全閃存:新一代智能存儲(chǔ)
半導(dǎo)體廠商想方設(shè)法尋求小尺寸的嵌入式閃存,,但是還沒有可行的解決方案出現(xiàn)。小尺寸 RRAM 和 MRAM 技術(shù)已作為 eFlash 的替代品得到了廣泛研究,,但由于數(shù)據(jù)完整性和成本方面的挑戰(zhàn),,它們目前都還不可行,尤其是不適合要求高溫高可靠性的關(guān)鍵任務(wù)應(yīng)用,。截至本文撰寫之時(shí),,尚不能確定這些技術(shù)或其他相關(guān)技術(shù)何時(shí)(或是否)能夠交付批量生產(chǎn)的嵌入式存儲(chǔ)。
尺寸縮小導(dǎo)致變化不可避免,,因此產(chǎn)生了對新型安全信道的需求,。在這種信道中,信息交換發(fā)生在 MCU 內(nèi)部的 HSM 和外置存儲(chǔ)設(shè)備的加密安全區(qū)之間,。一種前景不錯(cuò)的解決方案是舍棄目前的做法,,不將各種類型的存儲(chǔ)集成于處理器,而將處理器集成于存儲(chǔ) IC,,是為智能存儲(chǔ),。圖 3 顯示了安全閃存如何與主機(jī) MCU 建立經(jīng)過驗(yàn)證和加密的安全處理環(huán)境。
新一代智能存儲(chǔ)的這種發(fā)展趨勢有可能為電子行業(yè)帶來革命性的變化,。就嵌入式系統(tǒng)而言,,技術(shù)發(fā)展將集中體現(xiàn)在 NOR 閃存上。NOR 閃存是一種理想的非易失性存儲(chǔ),存儲(chǔ)代碼具有持久性,,并具備快速隨機(jī)讀取性能,。
安全 NOR 閃存,或更簡單的安全閃存,,可為安全密鑰,、證書、哈希密碼,、特定應(yīng)用數(shù)據(jù),、配置數(shù)據(jù)、代碼版本信息和生物識(shí)別傳感器數(shù)據(jù)提供硬件保護(hù)的安全存儲(chǔ),,以便用于驗(yàn)證,。安全閃存還支持經(jīng)過驗(yàn)證和加密的交易,以防止未經(jīng)授權(quán)的訪問和其他安全威脅,。
相比之下,,當(dāng)前基于狀態(tài)機(jī)的存儲(chǔ)架構(gòu)則無法提供與嵌入式處理器相同的多功能性和性能。例如,,強(qiáng)大的安全需要強(qiáng)大的加密,,進(jìn)而需要強(qiáng)大的處理能力。嵌入式處理器還支持其他安全要求,,包括 HMAC 密鑰生成和存儲(chǔ)以及防回滾計(jì)數(shù)器,,并可保護(hù)固件、啟動(dòng)鏡像和系統(tǒng)參數(shù)免受攻擊,。
在存儲(chǔ)中嵌入處理能力有助于集成邏輯,,以添加特定功能和 / 或減輕系統(tǒng)主 SOC/MCU 的工作量。例如,,嵌入式處理可以實(shí)現(xiàn)硬件信任根的創(chuàng)建,,從而防止對存儲(chǔ)的代碼和數(shù)據(jù)進(jìn)行修改、操縱和其他安全攻擊,?;蛘撸幚砥饕部梢詫υ紨?shù)據(jù)運(yùn)行各種算法,,包括機(jī)器學(xué)習(xí)算法,,然后存儲(chǔ)系統(tǒng)其他功能所需的結(jié)果。
此外,,針對可以通過智能存儲(chǔ)的嵌入式處理器運(yùn)行代碼而全部或部分認(rèn)證的安全法規(guī),,新系統(tǒng)能夠更加輕松地獲得認(rèn)證。這樣,,通過簡化所需的設(shè)計(jì)和開發(fā)工作,,我們可以極大地加快新產(chǎn)品的上市速度,。
圖 4 顯示了內(nèi)置了智能化安全的閃存如何滿足嵌入式系統(tǒng)所需的性能、可靠性,、安全性和功能安全,。通過使用包括 x4 SPI(QSPI)和 x8 HyperBus 在內(nèi)的標(biāo)準(zhǔn)總線協(xié)議,智能安全閃存可以與主控芯片配合,,以達(dá)到要求嚴(yán)苛的互聯(lián)應(yīng)用所需的安全級(jí)別,,同時(shí)仍然完全兼容現(xiàn)有的主控芯片存儲(chǔ)控制器。
對于不允許發(fā)生故障的關(guān)鍵任務(wù)應(yīng)用,,安全閃存可以確保系統(tǒng)的安全啟動(dòng),記錄關(guān)鍵的信息,,并擴(kuò)展重要功能的工作存儲(chǔ),。此類“故障保護(hù)”應(yīng)用的示例包括:高級(jí)駕駛輔助系統(tǒng)(ADAS),便攜式醫(yī)療設(shè)備,,工廠自動(dòng)化,,國防級(jí)傳感器,以及高級(jí)無線通信系統(tǒng),。
無故障的一個(gè)重要方面,,是對存儲(chǔ)的代碼和數(shù)據(jù)進(jìn)行加密,以防遭到更改或破壞,。通過集成加密引擎和嵌入式處理器,,數(shù)據(jù)能夠以安全的方式進(jìn)行存儲(chǔ)??紤]到存儲(chǔ)所增加的邏輯門數(shù)遠(yuǎn)小于 CPU 和專用計(jì)算引擎所需要增加的邏輯門數(shù),,因此在智能安全閃存中以相對較低的增量成本實(shí)施加密和其他高級(jí)功能更為可行。
安全閃存創(chuàng)建的硬件信任根,,可提供一個(gè)安全環(huán)境或與安全 MCU 提供的 TEE 集成,。信任根有一個(gè)至關(guān)重要的作用,就是確保系統(tǒng)正常啟動(dòng),,理想情況下應(yīng)基于可信計(jì)算工作組的設(shè)備標(biāo)識(shí)符組合引擎(DICE)標(biāo)準(zhǔn),。安全啟動(dòng)流程對閃存和主 SOC/MCU 進(jìn)行相互驗(yàn)證,以確保穿越總線的所有交易的機(jī)密性,,從而實(shí)現(xiàn)端到端的保護(hù),。而且因?yàn)殚W存是智能的,所以經(jīng)過驗(yàn)證的啟動(dòng)過程可以在某些應(yīng)用領(lǐng)域需求的不到 100 毫秒時(shí)間內(nèi)實(shí)現(xiàn),。
能夠?qū)⒋a安全地更新至最新版本,,是安全啟動(dòng)流程的另一個(gè)重要方面。這就要求確保 FOTA 或其他形式的更新在沒有任何篡改或損壞的情況下完成,,無論是有意還是意外的損壞,。如果通過版本認(rèn)證或其他方式檢測到任何篡改,,那么可以利用備份功能還原以前已知有效版本(雖已降級(jí))的代碼。同樣的功能也可用于保護(hù)非安全生產(chǎn)設(shè)施或服務(wù)中心可能存在的任何設(shè)備配置,。
嵌入式智能使得安全閃存除了保護(hù)存儲(chǔ)的代碼和數(shù)據(jù)之外,,還可以處理其他任務(wù)。例如,,支持 XIP 功能使得作為可信環(huán)境的安全閃存可以直接執(zhí)行代碼,,從而減輕主機(jī) MCU 的負(fù)載。這樣也可以減少 MCU 所需的片上 RAM 的數(shù)量,,從而有助于降低成本和功耗,。
在最嚴(yán)苛的安全性和功能安全需求推動(dòng)下,汽車和工業(yè)自動(dòng)化市場率先采用安全存儲(chǔ),。因?yàn)榍度胧较到y(tǒng)的潛在漏洞可能導(dǎo)致遠(yuǎn)程攻擊,,并最終威脅到乘客或工作人員的安全,所以,,如果不能確保強(qiáng)大的安全性,,就無法實(shí)現(xiàn)系統(tǒng)的功能安全。因此,,安全關(guān)鍵型應(yīng)用的所有半導(dǎo)體組件(包括外置閃存設(shè)備)都必須符合 ISO26262 高級(jí)駕駛員輔助系統(tǒng)(ADAS)標(biāo)準(zhǔn)和 IEC 61508 工業(yè)系統(tǒng)標(biāo)準(zhǔn),。
持續(xù)監(jiān)控現(xiàn)場設(shè)備狀況,執(zhí)行遠(yuǎn)程診斷和預(yù)防性維護(hù),,也都非常重要,。閃存設(shè)備容易出現(xiàn)幾種故障模式,包括由于電荷損耗或宇宙輻射引起的閃存單元故障,、時(shí)延,、功率損耗故障等,這些故障都必須即時(shí)加以解決,,以確保在 20 年以上的使用壽命中提供較高的可靠性,。
V. 結(jié)論
智能安全閃存作為 eFlash 的替代產(chǎn)品已經(jīng)逐步得到了人們的接受,隨著它的工藝尺寸縮小到 28nm 以下,,eFlash 的使用必將變得日漸稀少,,直至完全消失。芯片可以集成 eFlash,、但集成 HSM 功能的安全閃存方案更具有優(yōu)勢,。在這兩種設(shè)計(jì)中,安全閃存都可以通過行業(yè)標(biāo)準(zhǔn)總線,,以加密安全的方式,,在受保護(hù)區(qū)域和主機(jī) MCU 的 HSM 之間傳輸代碼和數(shù)據(jù)。
可以預(yù)期,,采用安全閃存的設(shè)計(jì)將變得越來越普遍,,對于滿足不斷發(fā)展的安全需求來說甚至必不可少,。如今,攻擊行為正在變得日漸廣泛和復(fù)雜,,各項(xiàng)法規(guī)預(yù)計(jì)將會(huì)越來越嚴(yán)格,,自動(dòng)化程度的提高也將進(jìn)一步提升安全性和功能安全的重要性。為了滿足這些不斷發(fā)展的需求,,同時(shí)最大程度地加快新功能的上市速度,,設(shè)計(jì)工程師將越來越依賴僅智能安全閃存可以提供的便捷性。
關(guān)于作者
Sandeep Krishnegowda是賽普拉斯半導(dǎo)體公司閃存業(yè)務(wù)部的產(chǎn)品總監(jiān),。他在賽普拉斯的存儲(chǔ)器產(chǎn)品部門工作了十多年,,擔(dān)任過各種工程、管理和營銷職務(wù),。他擁有倫斯勒理工學(xué)院的電子和通信碩士學(xué)位,,以及韋斯科技大學(xué)的電子和通信學(xué)士學(xué)位。