安全閃存——網(wǎng)聯(lián)汽車和工業(yè)應(yīng)用中安全問題的解決之道
摘要——隨著汽車和工業(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ī)。
關(guān)鍵詞——cHardware安全模塊、安全閃存、智能閃存、信任根、可信執(zhí)行環(huán)境
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)和成本??梢灶A(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í)施,這樣惡意軟件便無法篡改其提供的功能?!?
技術(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ù)載。這樣也可以減少M(fèi)CU所需的片上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ì)工程師將越來越依賴僅智能安全閃存可以提供的便捷性。