值得一提的是,使用外置閃存還具有一些其他優(yōu)勢(shì),首先是它能夠更加輕松地適應(yīng)不斷增加的代碼長(zhǎng)度。嵌入式系統(tǒng)常用的標(biāo)準(zhǔn)閃存容量規(guī)格可以支持1Gbit甚至更大的存儲(chǔ)空間,遠(yuǎn)高于eFlash。外置閃存還可以容納更多的CPU內(nèi)核/負(fù)載,以應(yīng)對(duì)機(jī)器學(xué)習(xí)、人工智能等復(fù)雜技術(shù)所需的更密集、更實(shí)時(shí)的處理。這些變化有助于簡(jiǎn)化設(shè)計(jì)工作并加快產(chǎn)品上市,從而提供不同的型號(hào)以便更好地滿足價(jià)格、性能或其他標(biāo)準(zhǔn)方面的需求。
III.利用外置閃存設(shè)計(jì)安全的嵌入式系統(tǒng)
無(wú)論是使用eFlash還是外置閃存,設(shè)計(jì)安全的嵌入式系統(tǒng)都是一項(xiàng)越來(lái)越繁重的工作。本章重點(diǎn)介紹一些重要的注意事項(xiàng),以幫助指導(dǎo)設(shè)計(jì)和開發(fā)工作。
通常,針對(duì)端到端安全而設(shè)計(jì)的系統(tǒng)必須具備三大要素:
保護(hù)機(jī)制,用于保護(hù)代碼和關(guān)鍵數(shù)據(jù)的完整性,防止各種方式的刪除、更改或破壞
檢測(cè)機(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)對(duì)STRIDE模型已驗(yàn)證的所有威脅。下表概述了此模型,它提供了一種實(shí)用的方法,以了解各種潛在的威脅以及如何使用各種安全措施來(lái)應(yīng)對(duì)各種威脅。
安全產(chǎn)品設(shè)計(jì)需要建立基于信任根的可信執(zhí)行環(huán)境(TEE)。在使用所有組件和子系統(tǒng)之前,TEE提供了驗(yàn)證真實(shí)性和完整性的方法。創(chuàng)建這種安全設(shè)計(jì)的部分最佳方法如下:
● 實(shí)施硬件信任根以創(chuàng)建安全基礎(chǔ)
● 通過(guò)驗(yàn)證和加密鞏固這一基礎(chǔ)
● 保護(hù)所有連接、網(wǎng)絡(luò)和云組件的端到端價(jià)值鏈
● 提供防御旁路攻擊和故障注入技術(shù)的能力
● 對(duì)系統(tǒng)進(jìn)行獨(dú)立的漏洞和風(fēng)險(xiǎn)評(píng)估
● 持續(xù)實(shí)時(shí)監(jiān)控異常情況
● 實(shí)施應(yīng)對(duì)流程(例如:安全更新)
圖2顯示在系統(tǒng)中實(shí)施信任根時(shí)如何權(quán)衡風(fēng)險(xiǎn)和成本??梢灶A(yù)料,基于軟件的設(shè)計(jì)成本最低,而安全性也最低。圖2沒(méi)有顯示不安全嵌入式系統(tǒng)的間接成本,而這些非常實(shí)際的成本可以輕松地證明,基于硬件的設(shè)計(jì)可以將安全性最大化。
美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究院計(jì)算機(jī)安全資源中心解釋了在硬件中實(shí)施信任根的優(yōu)勢(shì):“信任根是執(zhí)行特定關(guān)鍵安全功能的高度可靠的硬件、固件和軟件組件。因?yàn)樾湃胃烊豢尚牛员仨毻ㄟ^(guò)設(shè)計(jì)來(lái)確保它們的安全。為此,許多信任根都在硬件中實(shí)施,這樣惡意軟件便無(wú)法篡改其提供的功能。”
技術(shù)的進(jìn)步不斷推動(dòng)IC成本下降,集成新一代IC的系統(tǒng)成本也隨之降低。外置閃存也是這種情況,安全“智能閃存”的出現(xiàn),減少了在硬件中實(shí)施信任根并納入其他必要功能所需的工作。
IV.安全閃存:新一代智能存儲(chǔ)
半導(dǎo)體廠商想方設(shè)法尋求小尺寸的嵌入式閃存,但是還沒(méi)有可行的解決方案出現(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)生了對(duì)新型安全信道的需求。在這種信道中,信息交換發(fā)生在MCU內(nèi)部的HSM和外置存儲(chǔ)設(shè)備的加密安全區(qū)之間。一種前景不錯(cuò)的解決方案是舍棄目前的做法,不將各種類型的存儲(chǔ)集成于處理器,而將處理器集成于存儲(chǔ)IC,是為智能存儲(chǔ)。圖3顯示了安全閃存如何與主機(jī)MCU建立經(jīng)過(guò)驗(yàn)證和加密的安全處理環(huán)境。
新一代智能存儲(chǔ)的這種發(fā)展趨勢(shì)有可能為電子行業(yè)帶來(lái)革命性的變化。就嵌入式系統(tǒng)而言,技術(shù)發(fā)展將集中體現(xiàn)在NOR閃存上。NOR閃存是一種理想的非易失性存儲(chǔ),存儲(chǔ)代碼具有持久性,并具備快速隨機(jī)讀取性能。
安全NOR閃存,或更簡(jiǎn)單的安全閃存,可為安全密鑰、證書、哈希密碼、特定應(yīng)用數(shù)據(jù)、配置數(shù)據(jù)、代碼版本信息和生物識(shí)別傳感器數(shù)據(jù)提供硬件保護(hù)的安全存儲(chǔ),以便用于驗(yàn)證。安全閃存還支持經(jīng)過(guò)驗(yàn)證和加密的交易,以防止未經(jīng)授權(quán)的訪問(wèn)和其他安全威脅。
相比之下,當(dāng)前基于狀態(tài)機(jī)的存儲(chǔ)架構(gòu)則無(wú)法提供與嵌入式處理器相同的多功能性和性能。例如,強(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)建,從而防止對(duì)存儲(chǔ)的代碼和數(shù)據(jù)進(jìn)行修改、操縱和其他安全攻擊。或者,處理器也可以對(duì)原始數(shù)據(jù)運(yùn)行各種算法,包括機(jī)器學(xué)習(xí)算法,然后存儲(chǔ)系統(tǒng)其他功能所需的結(jié)果。
此外,針對(duì)可以通過(guò)智能存儲(chǔ)的嵌入式處理器運(yùn)行代碼而全部或部分認(rèn)證的安全法規(guī),新系統(tǒng)能夠更加輕松地獲得認(rèn)證。這樣,通過(guò)簡(jiǎn)化所需的設(shè)計(jì)和開發(fā)工作,我們可以極大地加快新產(chǎn)品的上市速度。
圖4顯示了內(nèi)置了智能化安全的閃存如何滿足嵌入式系統(tǒng)所需的性能、可靠性、安全性和功能安全。通過(guò)使用包括x4 SPI(QSPI)和x8 HyperBus在內(nèi)的標(biāo)準(zhǔn)總線協(xié)議,智能安全閃存可以與主控芯片配合,以達(dá)到要求嚴(yán)苛的互聯(lián)應(yīng)用所需的安全級(jí)別,同時(shí)仍然完全兼容現(xiàn)有的主控芯片存儲(chǔ)控制器。
對(duì)于不允許發(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)化,國(guó)防級(jí)傳感器,以及高級(jí)無(wú)線通信系統(tǒng)。
無(wú)故障的一個(gè)重要方面,是對(duì)存儲(chǔ)的代碼和數(shù)據(jù)進(jìn)行加密,以防遭到更改或破壞。通過(guò)集成加密引擎和嵌入式處理器,數(shù)據(jù)能夠以安全的方式進(jìn)行存儲(chǔ)。考慮到存儲(chǔ)所增加的邏輯門數(shù)遠(yuǎn)小于CPU和專用計(jì)算引擎所需要增加的邏輯門數(shù),因此在智能安全閃存中以相對(duì)較低的增量成本實(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)流程對(duì)閃存和主SOC/MCU進(jìn)行相互驗(yàn)證,以確保穿越總線的所有交易的機(jī)密性,從而實(shí)現(xiàn)端到端的保護(hù)。而且因?yàn)殚W存是智能的,所以經(jīng)過(guò)驗(yàn)證的啟動(dòng)過(guò)程可以在某些應(yīng)用領(lǐng)域需求的不到100毫秒時(shí)間內(nèi)實(shí)現(xiàn)。
能夠?qū)⒋a安全地更新至最新版本,是安全啟動(dòng)流程的另一個(gè)重要方面。這就要求確保FOTA或其他形式的更新在沒(méi)有任何篡改或損壞的情況下完成,無(wú)論是有意還是意外的損壞。如果通過(guò)版本認(rèn)證或其他方式檢測(cè)到任何篡改,那么可以利用備份功能還原以前已知有效版本(雖已降級(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ǎng)率先采用安全存儲(chǔ)。因?yàn)榍度胧较到y(tǒng)的潛在漏洞可能導(dǎo)致遠(yuǎn)程攻擊,并最終威脅到乘客或工作人員的安全,所以,如果不能確保強(qiáng)大的安全性,就無(wú)法實(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)場(chǎng)設(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ì)。在這兩種設(shè)計(jì)中,安全閃存都可以通過(guò)行業(yè)標(biāo)準(zhǔn)總線,以加密安全的方式,在受保護(hù)區(qū)域和主機(jī)MCU的HSM之間傳輸代碼和數(shù)據(jù)。
可以預(yù)期,采用安全閃存的設(shè)計(jì)將變得越來(lái)越普遍,對(duì)于滿足不斷發(fā)展的安全需求來(lái)說(shuō)甚至必不可少。如今,攻擊行為正在變得日漸廣泛和復(fù)雜,各項(xiàng)法規(guī)預(yù)計(jì)將會(huì)越來(lái)越嚴(yán)格,自動(dòng)化程度的提高也將進(jìn)一步提升安全性和功能安全的重要性。為了滿足這些不斷發(fā)展的需求,同時(shí)最大程度地加快新功能的上市速度,設(shè)計(jì)工程師將越來(lái)越依賴僅智能安全閃存可以提供的便捷性。
關(guān)于作者
Sandeep Krishnegowda是賽普拉斯半導(dǎo)體公司閃存業(yè)務(wù)部的產(chǎn)品總監(jiān)。他在賽普拉斯的存儲(chǔ)器產(chǎn)品部門工作了十多年,擔(dān)任過(guò)各種工程、管理和營(yíng)銷職務(wù)。他擁有倫斯勒理工學(xué)院的電子和通信碩士學(xué)位,以及韋斯科技大學(xué)的電子和通信學(xué)士學(xué)位。