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