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í)候還會受到處罰,。
設(shè)計(jì)工程師還意識到,保障嵌入式系統(tǒng)的安全將變得越來越困難,。原因是,,隨著SOC/MCU在應(yīng)對復(fù)雜的實(shí)時(shí)應(yīng)用方面越來越強(qiáng)大,它們開始向較小尺寸的CMOS技術(shù)(例如:16納米或7納米)過渡,,以加快速度和降低功耗,。但是在較小尺寸的條件下,目前還沒有可用的可重編程非易失性存儲器(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ù)代碼,。嵌入式存儲(eFlash和RAM)也是安全處理環(huán)境可信邊界的重要組成部分,,因此足以抵御常見威脅。
片外存儲(例如:外置閃存)并非天然可信,,并且容易受到持續(xù)攻擊,。應(yīng)對措施一般是對外置閃存中的數(shù)據(jù)進(jìn)行加密,然后在執(zhí)行代碼之前,,將其從外置閃存下載至MCU內(nèi)置的RAM進(jìn)行解密和驗(yàn)證,。這種方法盡管足夠強(qiáng)大,可以抵御大多數(shù)攻擊,,但是會導(dǎo)致性能下降(啟動(dòng)時(shí)有可能會出現(xiàn)問題)和成本上升(需要更多的內(nèi)置RAM和更高的功率),,甚至有可能仍然容易受到持續(xù)攻擊(例如:回滾攻擊)。
隨著MCU逐步應(yīng)用于先進(jìn)的技術(shù)節(jié)點(diǎn)以提升性能,、提高性價(jià)比和降低功耗,,閃存的去集成有可能帶來更大的威脅,以前被eFlash全部或部分克服的某些可信存儲挑戰(zhàn)也許會卷土重來,。此外,,由于嵌入式系統(tǒng)的普及所造成的威脅性環(huán)境也會帶來新的挑戰(zhàn),而使用外置閃存則會讓這些挑戰(zhàn)變得更加難以克服,。
為了確保外置閃存的安全,,需要解決的主要威脅包括:
· 模擬閃存芯片的授權(quán)數(shù)據(jù)訪問
· 篡改閃存芯片存儲的內(nèi)容
· 重放通訊指令以解析閃存芯片的內(nèi)容
· 在不安全環(huán)境進(jìn)行設(shè)置以獲取密鑰
· 在閃存芯片通訊時(shí)進(jìn)行窺探(中間人)攻擊
· 通過旁路攻擊或故障注入來公開(獲取或觀察)閃存芯片的內(nèi)容和密鑰
· 以電子方式損害閃存芯片的完整性
· 克隆閃存芯片
為了解決上述及其他對外置閃存的威脅,有效地使其成為安全處理環(huán)境可信邊界的組成部分,,該設(shè)備必須提供以下三種功能:
· 基于硬件的信任根,,可防止攻擊對存儲的代碼和/或數(shù)據(jù)造成的修改、操縱,、復(fù)制或其他潛在影響
· 通過MCU或云端提供安全更新,,綜合利用各種措施進(jìn)行端到端保護(hù),,包括通過總線的加密驗(yàn)證,通過讀/寫訪問方法實(shí)現(xiàn)的安全區(qū)域,,安全密鑰存儲空間,,以及非易失性防回滾計(jì)數(shù)器
· 低成本,無需額外的安全設(shè)備(例如:可信平臺模塊),,也無需更改電路板,,包括支持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甚至更大的存儲空間,遠(yuǎn)高于eFlash,。外置閃存還可以容納更多的CPU內(nèi)核/負(fù)載,,以應(yīng)對機(jī)器學(xué)習(xí)、人工智能等復(fù)雜技術(shù)所需的更密集,、更實(shí)時(shí)的處理,。這些變化有助于簡化設(shè)計(jì)工作并加快產(chǎn)品上市,從而提供不同的型號以便更好地滿足價(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í)施,,這樣惡意軟件便無法篡改其提供的功能,。”
技術(shù)的進(jìn)步不斷推動(dòng)IC成本下降,,集成新一代IC的系統(tǒng)成本也隨之降低,。外置閃存也是這種情況,安全“智能閃存”的出現(xiàn),,減少了在硬件中實(shí)施信任根并納入其他必要功能所需的工作,。
I.安全閃存:新一代智能存儲
半導(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)的嵌入式存儲,。
尺寸縮小導(dǎo)致變化不可避免,,因此產(chǎn)生了對新型安全信道的需求。在這種信道中,,信息交換發(fā)生在MCU內(nèi)部的HSM和外置存儲設(shè)備的加密安全區(qū)之間,。一種前景不錯(cuò)的解決方案是舍棄目前的做法,不將各種類型的存儲集成于處理器,,而將處理器集成于存儲IC,,是為智能存儲,。圖3顯示了安全閃存如何與主機(jī)MCU建立經(jīng)過驗(yàn)證和加密的安全處理環(huán)境。
新一代智能存儲的這種發(fā)展趨勢有可能為電子行業(yè)帶來革命性的變化,。就嵌入式系統(tǒng)而言,,技術(shù)發(fā)展將集中體現(xiàn)在NOR閃存上。NOR閃存是一種理想的非易失性存儲,,存儲代碼具有持久性,,并具備快速隨機(jī)讀取性能。
安全NOR閃存,,或更簡單的安全閃存,,可為安全密鑰、證書,、哈希密碼,、特定應(yīng)用數(shù)據(jù)、配置數(shù)據(jù),、代碼版本信息和生物識別傳感器數(shù)據(jù)提供硬件保護(hù)的安全存儲,,以便用于驗(yàn)證。安全閃存還支持經(jīng)過驗(yàn)證和加密的交易,,以防止未經(jīng)授權(quán)的訪問和其他安全威脅,。
相比之下,當(dāng)前基于狀態(tài)機(jī)的存儲架構(gòu)則無法提供與嵌入式處理器相同的多功能性和性能,。例如,,強(qiáng)大的安全需要強(qiáng)大的加密,進(jìn)而需要強(qiáng)大的處理能力,。嵌入式處理器還支持其他安全要求,,包括HMAC密鑰生成和存儲以及防回滾計(jì)數(shù)器,并可保護(hù)固件,、啟動(dòng)鏡像和系統(tǒng)參數(shù)免受攻擊,。
在存儲中嵌入處理能力有助于集成邏輯,以添加特定功能和/或減輕系統(tǒng)主SOC/MCU的工作量,。例如,,嵌入式處理可以實(shí)現(xiàn)硬件信任根的創(chuàng)建,從而防止對存儲的代碼和數(shù)據(jù)進(jìn)行修改,、操縱和其他安全攻擊,。或者,,處理器也可以對原始數(shù)據(jù)運(yùn)行各種算法,,包括機(jī)器學(xué)習(xí)算法,然后存儲系統(tǒng)其他功能所需的結(jié)果。
此外,,針對可以通過智能存儲的嵌入式處理器運(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)用所需的安全級別,同時(shí)仍然完全兼容現(xiàn)有的主控芯片存儲控制器,。
對于不允許發(fā)生故障的關(guān)鍵任務(wù)應(yīng)用,,安全閃存可以確保系統(tǒng)的安全啟動(dòng),,記錄關(guān)鍵的信息,,并擴(kuò)展重要功能的工作存儲。此類“故障保護(hù)”應(yīng)用的示例包括:高級駕駛輔助系統(tǒng)(ADAS),,便攜式醫(yī)療設(shè)備,,工廠自動(dòng)化,國防級傳感器,,以及高級無線通信系統(tǒng),。
無故障的一個(gè)重要方面,是對存儲的代碼和數(shù)據(jù)進(jìn)行加密,,以防遭到更改或破壞,。通過集成加密引擎和嵌入式處理器,數(shù)據(jù)能夠以安全的方式進(jìn)行存儲,??紤]到存儲所增加的邏輯門數(shù)遠(yuǎn)小于CPU和專用計(jì)算引擎所需要增加的邏輯門數(shù),因此在智能安全閃存中以相對較低的增量成本實(shí)施加密和其他高級功能更為可行,。
安全閃存創(chuàng)建的硬件信任根,,可提供一個(gè)安全環(huán)境或與安全MCU提供的TEE集成。信任根有一個(gè)至關(guān)重要的作用,,就是確保系統(tǒng)正常啟動(dòng),,理想情況下應(yīng)基于可信計(jì)算工作組的設(shè)備標(biāo)識符組合引擎(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)證或其他方式檢測到任何篡改,那么可以利用備份功能還原以前已知有效版本(雖已降級)的代碼,。同樣的功能也可用于保護(hù)非安全生產(chǎn)設(shè)施或服務(wù)中心可能存在的任何設(shè)備配置,。
嵌入式智能使得安全閃存除了保護(hù)存儲的代碼和數(shù)據(jù)之外,還可以處理其他任務(wù),。例如,,支持XIP功能使得作為可信環(huán)境的安全閃存可以直接執(zhí)行代碼,從而減輕主機(jī)MCU的負(fù)載,。這樣也可以減少M(fèi)CU所需的片上RAM的數(shù)量,,從而有助于降低成本和功耗。
在最嚴(yán)苛的安全性和功能安全需求推動(dòng)下,,汽車和工業(yè)自動(dòng)化市場率先采用安全存儲,。因?yàn)榍度胧较到y(tǒng)的潛在漏洞可能導(dǎo)致遠(yuǎn)程攻擊,并最終威脅到乘客或工作人員的安全,,所以,,如果不能確保強(qiáng)大的安全性,就無法實(shí)現(xiàn)系統(tǒng)的功能安全,。因此,,安全關(guān)鍵型應(yīng)用的所有半導(dǎo)體組件(包括外置閃存設(shè)備)都必須符合ISO26262高級駕駛員輔助系統(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年以上的使用壽命中提供較高的可靠性。
II. 結(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ì)將會越來越嚴(yán)格,自動(dòng)化程度的提高也將進(jìn)一步提升安全性和功能安全的重要性,。為了滿足這些不斷發(fā)展的需求,,同時(shí)最大程度地加快新功能的上市速度,設(shè)計(jì)工程師將越來越依賴僅智能安全閃存可以提供的便捷性,。