使用有安全保障的閃存存儲(chǔ)構(gòu)建安全的汽車系統(tǒng)
在現(xiàn)代汽車嵌入式系統(tǒng)中,高度安全的數(shù)據(jù)存儲(chǔ)是必不可少的,尤其是在面對(duì)日益高明的網(wǎng)絡(luò)攻擊時(shí)。本文將介紹設(shè)計(jì)師正確使用閃存的步驟。
對(duì)電子嵌入式系統(tǒng)的安全和安全保障需求從未有今天這樣強(qiáng)烈。隨著汽車的自動(dòng)化程度不斷提高,我們需要提高其安全保障水平,防止它們被黑客攻破。對(duì)于采用大量機(jī)器人與物聯(lián)網(wǎng)(IoT)設(shè)備,需要處理敏感數(shù)據(jù)的工廠來說,同樣如此。
對(duì)所有此類嵌入式系統(tǒng)來說,非易失性閃存存儲(chǔ)器必不可少。閃存可用作代碼存儲(chǔ)、文件系統(tǒng)存儲(chǔ)或直接運(yùn)行代碼的微控制器單元(MCU)存儲(chǔ)器。如果要實(shí)現(xiàn)系統(tǒng)安全性,必須首先確保系統(tǒng)使用的閃存存儲(chǔ)器是安全的。本文探討閃存存儲(chǔ)器的安全需求,幫助開發(fā)人員為汽車、工業(yè)和通信應(yīng)用構(gòu)建安全有保障的嵌入式系統(tǒng)。
閃存存儲(chǔ)器的使用方式
如果我們仔細(xì)觀察現(xiàn)代汽車的電子系統(tǒng),我們會(huì)發(fā)現(xiàn)閃存在整車上都得到廣泛使用。隨著系統(tǒng)的復(fù)雜性增加,我們需要更大容量的代碼存儲(chǔ)和數(shù)據(jù)存儲(chǔ)。車內(nèi)的所有子系統(tǒng),包括高級(jí)駕駛輔助系統(tǒng)(ADAS)、儀表系統(tǒng)(即將與信息娛樂合并)、傳動(dòng)和車身系統(tǒng),都需要嵌入式系統(tǒng)才能實(shí)時(shí)運(yùn)行。
所有這些嵌入式系統(tǒng)都需要某種類型的閃存存儲(chǔ)器,用作代碼存儲(chǔ)和數(shù)據(jù)存儲(chǔ)。例如,圖1所示的是一個(gè)使用多個(gè)NOR閃存器件的ADAS子系統(tǒng)。
圖1.該ADAS子系統(tǒng)使用多個(gè)NOR閃存
在當(dāng)今的ADAS應(yīng)用中,復(fù)雜的算法和人工智能流程依賴在閃存存儲(chǔ)器中存儲(chǔ)的代碼和數(shù)據(jù)來運(yùn)行。存儲(chǔ)必須提供故障安全和安全保障,因?yàn)橄到y(tǒng)故障或惡意攻擊可能導(dǎo)致嚴(yán)重的人身傷害乃至身故。
在工業(yè)和網(wǎng)絡(luò)應(yīng)用中,也存在對(duì)存儲(chǔ)解決方案的類似安全與安全保障需求。在互聯(lián)互通程度不斷提高的大背景下,黑客能突破任何與互聯(lián)網(wǎng)相連的薄弱實(shí)體,竊取敏感信息,或者將被攻破的設(shè)備當(dāng)作跳板,在整個(gè)網(wǎng)絡(luò)中的其他地方發(fā)起攻擊。因此,構(gòu)建有安全保障的系統(tǒng),避免發(fā)生這種類型的攻擊,變得至關(guān)重要。
有安全保障的閃存存儲(chǔ)
多年來,閃存存儲(chǔ)器廠商一直提供純粹的數(shù)據(jù)存儲(chǔ)。對(duì)于這些應(yīng)用,耐久度和保持能力是衡量閃存存儲(chǔ)器質(zhì)量的兩大指標(biāo)。安全保障并非是對(duì)這類型閃存器件的要求,這就意味著存儲(chǔ)在閃存上的數(shù)據(jù)要么完全不受保護(hù),要么使用未經(jīng)認(rèn)證的命令進(jìn)行保護(hù)。
例如,一些閃存器件通過正常命令集提供基本的保護(hù)功能,例如針對(duì)編程或擦除操作對(duì)扇區(qū)提供非易失性或易失性保護(hù)、針對(duì)編程或讀取操作的密碼保護(hù)等。這些功能雖是好功能,但不足以抵御手段高明的攻擊。如果黑客能夠訪問閃存器件的總線接口,他們就能輕易地提取或修改設(shè)備上的數(shù)據(jù)。
為了保障安全,閃存器件必須保護(hù)存儲(chǔ)的代碼和數(shù)據(jù)免受多種手段的攻擊。下面總結(jié)了閃存存儲(chǔ)設(shè)備需要加以防范的幾種攻擊。
中間人(MIM)攻擊
MIM攻擊中的黑客常模仿通信信道的發(fā)送方,發(fā)送命令或消息給另一側(cè),以竊取或修改數(shù)據(jù)(圖2)。因此,有必要認(rèn)證主機(jī)和閃存設(shè)備間的每一條消息。認(rèn)證可通過在主機(jī)和閃存上使用公共密鑰,生成伴隨實(shí)際消息的消息認(rèn)證碼(MAC)來實(shí)現(xiàn)。接收方可以在對(duì)消息采取行動(dòng)之前先驗(yàn)證MAC。
圖2.中間人攻擊常模仿通信的信道發(fā)送方發(fā)送命令或消息,較終目的是竊取或修改數(shù)據(jù)
為了防止在密鑰受損時(shí)系統(tǒng)被永久破壞,通常需要使用臨時(shí)密鑰。臨時(shí)密鑰會(huì)在一定時(shí)間或在一定次數(shù)后失效。這樣做的目的是盡可能避免密鑰被破壞性物理分析(DPA)或其它迭代攻擊等方法進(jìn)行解密。
另一種中間人攻擊則是在一定時(shí)間以后重放截獲的合法消息。為了防范重放攻擊,主機(jī)和閃存設(shè)備必須使用累加計(jì)數(shù)器(值隨每個(gè)消息遞增)生成MAC。由于當(dāng)前的累加計(jì)數(shù)器值與上一消息的值不同。重放相同的消息就不能通過MAC驗(yàn)證,
克隆
一些黑客可以使用先進(jìn)的技術(shù)讀取閃存芯片中的全部內(nèi)容,通過非法克隆牟利。為了防范此類攻擊,每個(gè)閃存芯片都必須擁有任何人都不能讀取的唯一設(shè)備秘密(UDS)。UDS值具有唯一性,是每個(gè)芯片內(nèi)的真實(shí)隨機(jī)值。一個(gè)芯片和另一個(gè)芯片中的UDS之間毫無關(guān)聯(lián)。
UDS可用于推導(dǎo)復(fù)合設(shè)備標(biāo)識(shí)符(CDI),而這個(gè)標(biāo)識(shí)符是生成可信計(jì)算工作組織(TCG)設(shè)備標(biāo)識(shí)符組合引擎(DICE)規(guī)格定義的設(shè)備ID證書的基礎(chǔ)。一般來說,設(shè)備也在CDI的基礎(chǔ)上,為所有用主機(jī)導(dǎo)出的密鑰生成別名私鑰公鑰對(duì)。這樣就無需暴露設(shè)備ID的私鑰。
有了UDS和DICE流程后,由于UDS在物理上不可克隆,因此黑客就無法克隆設(shè)備。
竊聽
被動(dòng)偵聽是另外一種已知的攻擊方式。攻擊者通過在總線上竊聽,可從通過總線傳輸?shù)臄?shù)據(jù)中搜集敏感信息或機(jī)密情報(bào)。為保護(hù)重要數(shù)據(jù),用戶可選擇在通過總線將數(shù)據(jù)發(fā)送到閃存設(shè)備,并存儲(chǔ)數(shù)據(jù)前為數(shù)據(jù)加密。當(dāng)主機(jī)從設(shè)備檢索數(shù)據(jù)時(shí),也應(yīng)對(duì)數(shù)據(jù)進(jìn)行加密處理,讓潛在的黑客永遠(yuǎn)無機(jī)可乘。
也許有人會(huì)說,加密方法不需要有安全保障的閃存存儲(chǔ)解決方案,因?yàn)橹鳈C(jī)可以直接加密數(shù)據(jù)并將其存儲(chǔ)到閃存中。只有主機(jī)才能解密數(shù)據(jù)。
然而,這樣做也有一定的缺點(diǎn)。其中之一是主機(jī)不能輕易地棄用加密密鑰。例如,假設(shè)使用KeyA加密數(shù)據(jù)并將其存儲(chǔ)在閃存中,后來用戶發(fā)現(xiàn)KeyA已被攻破,就需要在系統(tǒng)上使用不同的密鑰,即KeyB。
這時(shí),主機(jī)陷入兩難境地:它不能直接棄用KeyA,因?yàn)樗枰A粼撁荑,才能解密從設(shè)備讀取的數(shù)據(jù)。然而,如果KeyA被攻破,用戶可能不想永久保留它。如果要使用新的數(shù)據(jù)加密密鑰,用戶不得不采取更復(fù)雜的措施。先擦除閃存上的原始加密數(shù)據(jù),再用新加密的數(shù)據(jù)為閃存編程。這種操作在現(xiàn)場并非易事,且存在一定風(fēng)險(xiǎn)。
另一方面,如果有安全保障的閃存能夠提供加密和解密功能,它就能在其有安全保障的存儲(chǔ)中安全地存放明文數(shù)據(jù),并在將數(shù)據(jù)發(fā)回給主機(jī)之前進(jìn)行加密處理。如果當(dāng)前的加密密鑰被攻破,主機(jī)可以簡單地與設(shè)備交換新的密鑰。存儲(chǔ)中的數(shù)據(jù)保持完整且有安全保障,與存儲(chǔ)加密數(shù)據(jù)相比,是一種簡單得多的方法。
保護(hù)措施
下面介紹開發(fā)安全閃存存儲(chǔ)的各個(gè)步驟:
提供靈活的存儲(chǔ)器架構(gòu)
在現(xiàn)代的多核嵌入式系統(tǒng)中,多個(gè)MCU或硬件安全模塊(HSM)可能可以訪問同一個(gè)閃存存儲(chǔ)。閃存設(shè)備有必要提供一種靈活的存儲(chǔ)器架構(gòu),可以對(duì)其進(jìn)行分區(qū)和配置,以便通過不同的內(nèi)核管理不同的區(qū)域。這些不同區(qū)域可提供不同水平的安全保障,或者在完全不需要時(shí),取消安全保障。
通過了解eMMC標(biāo)準(zhǔn)和UFS標(biāo)準(zhǔn),我們顯然可以看到支持多個(gè)安全區(qū)域的趨勢。當(dāng)前的eMMC標(biāo)準(zhǔn)規(guī)定了重放保護(hù)內(nèi)存塊(RPMB)。較新的UFS(v3.0)標(biāo)準(zhǔn)可為四個(gè)RPMB分區(qū)提供智能支持,它們由四個(gè)不同的密鑰進(jìn)行管理。這樣的存儲(chǔ)器架構(gòu)靈活性在多核SoC環(huán)境中更加合適。
提供快速的安全啟動(dòng)功能
眾多嵌入式系統(tǒng)都在閃存中存儲(chǔ)啟動(dòng)代碼。部分是因?yàn)樾枰焖賳?dòng),例如汽車子系統(tǒng)需要在加電重置(POR)的100ms內(nèi)處理CAN消息。系統(tǒng)不僅需要安全啟動(dòng)(即驗(yàn)證啟動(dòng)代碼),還需要快速啟動(dòng)。這就給嵌入式設(shè)計(jì)師提出更高的挑戰(zhàn)。
一般情況下,在運(yùn)行存儲(chǔ)并下載(SnD)模式時(shí),主機(jī)從閃存讀取引導(dǎo)加載程序并映射給RAM執(zhí)行。然而,要想安全啟動(dòng),就需要檢查認(rèn)證整個(gè)引導(dǎo)加載程序代碼,以確保其可信性。這個(gè)過程需要在MCU上花費(fèi)時(shí)間。有安全保障的閃存存儲(chǔ)能夠提供引導(dǎo)加載認(rèn)證,大幅度縮短啟動(dòng)時(shí)間。
安全的閃存設(shè)備能夠使用內(nèi)部安全散列函數(shù)檢查引導(dǎo)加載程序,并為主機(jī)提供驗(yàn)證用散列值。如果散列值未發(fā)生改變,就說明引導(dǎo)加載程序未被篡改,可以安全地用于啟動(dòng)。
提供安全的固件無線更新(FOTA)
對(duì)于現(xiàn)代的嵌入式應(yīng)用而言,現(xiàn)場升級(jí)是必備功能。通過遠(yuǎn)程升級(jí)系統(tǒng)的固件或軟件,制造商能夠快速解決問題、提供新增特性、提升用戶體驗(yàn)。然而,遠(yuǎn)程升級(jí)也會(huì)對(duì)系統(tǒng)構(gòu)成安全威脅。沒人希望黑客利用現(xiàn)成的更新通道,讓系統(tǒng)運(yùn)行惡意固件或軟件。
除了依靠CPU提供的安全保障,閃存設(shè)備內(nèi)部的安全引擎也能大幅提高FOTA流程的安全水平(圖3)。采用這樣的安全引擎后,提供啟動(dòng)代碼存儲(chǔ)的閃存設(shè)備不僅可以用閃存設(shè)備旁邊的主機(jī)認(rèn)證固件提供商,也可以在遠(yuǎn)程云上進(jìn)行認(rèn)證。通過這種方式,可以為閃存中的固件更新或軟件更新建立端到端的通道安全。
圖3.閃存設(shè)備中的安全引擎有助于實(shí)現(xiàn)更安全的固件無線更新流程
現(xiàn)代汽車、工業(yè)、通信使用的嵌入式系統(tǒng)需要有高度安全保障的數(shù)據(jù)存儲(chǔ)。嵌入式系統(tǒng)設(shè)計(jì)師面臨的挑戰(zhàn)是,如何構(gòu)建能夠抵御網(wǎng)絡(luò)攻擊的安全系統(tǒng)。集成安全保障特性的閃存,如賽普拉斯的Semper Flash,通過防范各種針對(duì)嵌入式系統(tǒng)的攻擊,提高整體系統(tǒng)的安全性。
相關(guān)閱讀:
- ...·圖文詳解汽車儀表板背后的車規(guī)級(jí)安全設(shè)計(jì)要求
- ...·使用有安全保障的閃存存儲(chǔ)構(gòu)建安全的汽車系統(tǒng)
- ...·反向偏置差分線性傳感器的較新進(jìn)展和應(yīng)用
- ...·艾德克斯測評(píng)某品牌智能插座——待機(jī)功耗篇
- ...·三線電阻式溫度檢測器測量系統(tǒng)中勵(lì)磁電流失配的影響(續(xù))
- ...·三線電阻式溫度檢測器測量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·RTD測量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·藍(lán)牙BR/EDR 和 Bluetooth Smart的十大重要區(qū)別
- ...·IoT網(wǎng)關(guān)平臺(tái)與應(yīng)用
- ...·增強(qiáng)版ARM DesignStart:通向定制化SoC的較快、較低風(fēng)險(xiǎn)之路
- ...·實(shí)體零售轉(zhuǎn)型O2O,倉儲(chǔ)物流的智能化水平從何提升?
- ...·幾種車用LED驅(qū)動(dòng)方案的比較
- ...·藍(lán)牙配對(duì)第二篇:密鑰生成方法
- ...·中電瑞華推出領(lǐng)先的無線數(shù)據(jù)采集解決方案
- ...·安森美半導(dǎo)體配合市場趨勢的無線充電方案
- ...·安森美半導(dǎo)體配合汽車照明設(shè)計(jì)趨勢的解決方案
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機(jī)交互設(shè)計(jì)大賽報(bào)名正式啟動(dòng)
- ...· 探秘第二屆衛(wèi)藍(lán)山鷹“創(chuàng)新·共享”試驗(yàn)技術(shù)論壇!
- ...· “2018中國半導(dǎo)體生態(tài)鏈大會(huì)”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導(dǎo)體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機(jī)強(qiáng)勢出擊PCIM亞洲2017展
- ...· GPGPU國產(chǎn)替代:中國芯片產(chǎn)業(yè)的空白地帶
- ...· 物聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中Wi-Fi連接的四個(gè)關(guān)鍵因素
- ...· 第三屆中國MEMS智能傳感器產(chǎn)業(yè)發(fā)展大會(huì)即將于蚌埠拉開帷幕
- ...· IAIC專項(xiàng)賽演繹“中國芯“應(yīng)用創(chuàng)新,信息安全高峰論壇亮劍海寧
- ...· 智能控制有源鉗位反激
- ...· 解讀5G毫米波OTA 測試技術(shù)
- ...· 多個(gè)市場高速增長推動(dòng)Molex加強(qiáng)汽車領(lǐng)域的發(fā)展
- ...· 中國綠色制造聯(lián)盟成立大會(huì)召開在即 政產(chǎn)學(xué)研用共探綠色發(fā)展新模式
- ...· Efinix® 全力驅(qū)動(dòng)AI邊緣計(jì)算,成功推出Trion™ T20 FPGA樣品, 同時(shí)將產(chǎn)品擴(kuò)展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進(jìn)博會(huì),引領(lǐng)智慧新生活
- ...· 三電產(chǎn)品開發(fā)及測試研討會(huì)北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導(dǎo)體領(lǐng)域 為面板級(jí)扇出型封裝提供化學(xué)濕制程、涂布及激光應(yīng)用等生產(chǎn)設(shè)備解決方案
- ...· 中電瑞華BITRODE動(dòng)力電池測試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統(tǒng)中標(biāo)北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負(fù)載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國際在電動(dòng)汽車及關(guān)鍵部件測評(píng)研討會(huì)上演繹先進(jìn)測評(píng)技術(shù)
- ...· 數(shù)據(jù)采集終端系統(tǒng)設(shè)備
- ...· 簡儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質(zhì)認(rèn)證和汽車系列產(chǎn)品計(jì)劃
- ...· 易靈思® 宣布擴(kuò)充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴(kuò)充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺(tái)積電 (TSMC) 16納米工藝節(jié)點(diǎn)流片
- ...· TI杯2019年全國大學(xué)生電子設(shè)計(jì)競賽頒獎(jiǎng)典禮在京舉行
- ...· BlackBerry QNX虛擬機(jī)獲得全球首個(gè)汽車安全完整性等級(jí)(ASIL) ‘D’認(rèn)證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車