1 摘要
汽車安全離不開安防,例如,只有通過安防措施保護制動ECU(電子控制單元)固件的完整性和真實性,才能保證汽車的制動安全,防止惡意修改固件等威脅。
安全需要安防的另一個示例是板載網(wǎng)絡,板載網(wǎng)絡將關(guān)鍵數(shù)據(jù)從傳感器傳輸?shù)街苿覧CU。只有通過安防措施防止板載網(wǎng)絡抵御修改數(shù)據(jù)、注入消息和拒絕服務等威脅,才能保證制動ECU及時收到正確的傳感器值。
人們希望在汽車中推出Android?或MeeGo?等開放的軟件平臺,從而出現(xiàn)了一個全新的安全和安防挑戰(zhàn):為了允許通過按鈕與用戶進行交互并為導航應用從汽車提取當前車速、剩余油量、行駛里程、位置等信息,軟件平臺及其應用程序需要參與板載汽車通信。然而,需要保護汽車不出應用故障。虛擬化以及運行軟件平臺(包括沙箱內(nèi)的應用程序)是在ECU內(nèi)實現(xiàn)保護的安防措施之一。
在上述情況下,安防措施完善了安全性。然而,在一些情況下,安防需求與安全需求相互矛盾。例如,要保護固件的保密性,在組裝了ECU后便以不可逆地方式禁用微控制器的調(diào)試端口。如果由于ECU發(fā)生故障而導致返修,那么被禁用的調(diào)試端口會導致無法在微控制器內(nèi)進行根本原因分析。特別是無法分析是否有軟件、配置或硬件缺陷。新興的功能安全標準ISO26262要求調(diào)查現(xiàn)場返修,以便檢測系統(tǒng)故障,然后啟動召回。只有借助智能安防生命周期和安全調(diào)試等方法,才能滿足安全需求并在現(xiàn)場返修時分析根本原因。
本文介紹了先進的微控制器的主要安全特性,以及如何應用這些特性確保汽車安全:具體而言,本文涵蓋了安全啟動、組件保護和虛擬化。此外,本文也概述了對保證安全和處理現(xiàn)場返修的解決方案。
2 簡介
在過去的幾年里,汽車微控制器(MCU)的安全特性變得越來越重要。這種趨勢受到傳統(tǒng)的安全使用案例的推動,例如防盜裝置或組件保護,可防止汽車被盜。然而,車對車通信等新的使用案例及更高的安全性要求也增加了安全需求。對于這些用例,汽車行業(yè)開始制定安全硬件擴展(SHE)功能規(guī)范等規(guī)范,或EVITA項目提出的安全架構(gòu)。
半導體公司開始在新一代微控制器中實施這些規(guī)范。這項工作的第一批成果之一便是Qorriva MPC564xB/C系列,該系列實現(xiàn)了一個易于使用的安全模塊,以滿足SHE規(guī)范要求。
i.MX系列等汽車處理器植根于消費電子市場,現(xiàn)在已經(jīng)打入汽車市場,以實現(xiàn)最先進的駕駛員信息娛樂系統(tǒng)。這些處理器提供硬件安全,支持復雜的數(shù)字版權(quán)管理系統(tǒng)。
3 Qorivva MPC564xC/B系列
QorivvaMPC564xC/B系列32位微控制器面向安全的、新一代高端汽車車身控制模塊(BCM)和網(wǎng)關(guān)應用。它提供高度集成,可以滿足OEM和一級客戶對增強功能集和增加內(nèi)存空間的日益增長的需求。
從安全性角度來看,MPC564xC/B包含一個加密服務引擎(CSE)。CSE是一組加密硬件特性,允許在ECU之間安全、可信任地傳輸信息。
MPC564xC/B系列還具有雙Power Architecture?內(nèi)核選項,提供近300DMIP的處理功能和低功耗待機/等待模式,幫助降低功耗,還具有廣泛的通信外設集,面向與BCM/網(wǎng)關(guān)模塊對接的廣泛的子系統(tǒng)。此外,這些可擴展器件都由使能生態(tài)系統(tǒng)支持,該生態(tài)系統(tǒng)包括軟件驅(qū)動程序、操作系統(tǒng)和配置代碼,以幫助您快速部署您的設計。圖1展示了Qorivva MPC564xC/B框圖。
圖1:Qorriva MPC564xC/B框圖
3.1 加密服務引擎(CSE)的安全特性
加密服務引擎(CSE)是集成在Qorriva MPC5464中的加密硬件模塊。CSE模塊實現(xiàn)安全硬件擴展(SHE)功能規(guī)范中描述的安全功能。圖2展示了CSE模塊的框圖。
圖2:CSE框圖
CSE的設計包括一個帶有一組內(nèi)存映射寄存器的主機接口,這些寄存器被CPU用于發(fā)起加密命令。此外,還有一個系統(tǒng)總線接口允許CSE直接訪問系統(tǒng)內(nèi)存。在這里,CSE模塊的行為與任意其他主機相似。通過主機接口,應用程序可以配置和控制CSE,例如使CSE進入低功耗模式,中斷完成的命令處理或暫停命令處理。狀態(tài)和錯誤寄存器將提供深入的系統(tǒng)信息。如需完整的CSE命令列表,請參考MPC564xC/B參考手冊[3]。兩個專用系統(tǒng)閃存塊被CSE用于加密密鑰存儲。其他主機無法從系統(tǒng)訪問這些模塊,因此這些模塊被稱為安全閃存。
CSE模塊的AES塊作為從機連接到CSE模塊的內(nèi)部總線。它處理加密/解密,并提供基于密文的消息認證碼(CMAC)。CMAC功能用于實現(xiàn)安全啟動機制。
隨機數(shù)生成器包括一個偽隨機數(shù)生成器(PRNG)。PRNG的種子由真隨機數(shù)發(fā)生器(TRNG)生成。
CSE控制通過測試接口從外部訪問安全閃存,在生產(chǎn)過程中使用該功能,也用于現(xiàn)場返修驗證。當Qorriva MPC564xC/B半導體從飛思卡爾工廠出廠時,測試接口是打開的,當加密密鑰被編程到器件中后該接口將關(guān)閉。
質(zhì)量工程師可以使用SHE規(guī)范中描述的CMD_DEBUG函數(shù)重新打開測試接口。CMD_DEBUG函數(shù)將刪除安全存儲器中的所有數(shù)據(jù),然后才會授權(quán)訪問測試接口。CMD_DEBUG函數(shù)的一個輸入參數(shù)為MASTER_KEY,這是一個單獨的預編程128位值,對于各個器件都不同。只有MASTER_KEY的知識載體才能成功地啟動CMD_DEBUG函數(shù)。
在附著了調(diào)試器后,可以單獨禁用加密密鑰。禁用密鑰意味著CSE可用該密鑰拒絕任何加密功能。
3.2 CSE支持的一些用例
CSE有助于實現(xiàn)下列用例或系統(tǒng):
?防盜裝置
?組件保護
?安全閃存編程
?數(shù)據(jù)集保護(例如行駛里程)
?防止芯片調(diào)節(jié)
目前還有許多用例,將來會出現(xiàn)更多。以下段落詳細描述了兩個重要的使用案例。
3.2.1 安全啟動和信任鏈
當MPC564xC/B重置后,CSE將在公共閃存中自動驗證陣列。該陣列的基地址和長度由開發(fā)人員指定。同一個地址條目被用作主內(nèi)核的第一個指令地址。
CSE在該陣列外計算CMAC值,并將其與存儲在安全內(nèi)存中的預先計算的值進行比較。根據(jù)比較結(jié)果,CSE將提供加密服務或不提供。由于系統(tǒng)閃存較大-MPC564xC/B提供高達3MB的閃存-因此安全啟動過程可能需要一些時間。由于這個原因,開發(fā)人員可以設置一個信任鏈。在這種情況下,閃存驗證步驟被分為幾個子步驟。第一個閃存塊由CSE驗證,如前所述;對以下閃存塊的驗證必須由主內(nèi)核通過已經(jīng)過驗證的程序代碼觸發(fā)。
3.2.2 組件保護
組件保護功能防止從汽車拆除單個ECU,并在其他汽車中重復使用。通常盜取汽車的目的是為了將單個ECU重新銷售到零件市場。
OEM現(xiàn)在可以用一個安全組件保護系統(tǒng)解決幾個問題。首先,汽車制造商可以減少被盜汽車的數(shù)量;其次,他們可以防止對信譽和配置產(chǎn)生負面影響;第三,他們可以保護自己的售后業(yè)務。
基于CSE的組件保護系統(tǒng)似乎能夠達到上述目的。最有價值的ECU將包含一個帶有CSE模塊的微控制器。可以通過設計分配一個或多個主ECU,也可以使用特定算法進行動態(tài)分配。主ECU將輪詢組件保護系統(tǒng)的所有其他ECU,并要求一個特定答案(例如加密的唯一ID)。在這種情況下,只有帶有正確的保密密鑰的ECU才能發(fā)回一個有效的響應。此外,主ECU可以使用特定汽車內(nèi)組裝的所有ECU數(shù)據(jù)庫交叉校驗收到的ID。
在使用汽車時可定期進行組件檢查。如果主節(jié)點在汽車網(wǎng)絡中檢測到未經(jīng)授權(quán)的ECU,它能夠作出反應。
4 i.MX51/53系列
飛思卡爾基于汽車ARM?的i.MX51/53處理器提供先進的性能,可以驅(qū)動最新的汽車系統(tǒng)。這些處理器適用于需要高級用戶界面、先進的視頻處理功能、2D和3D圖像、多個連接選項以及高級系統(tǒng)集成的應用。基于在消費電子市場獲得成功的i.MX515和i.MX535,i.MX51/53系列汽車處理器將帶來消費電子用戶體驗,并將器件連接到未來的汽車。圖3展示了i.MX515框圖示例。
圖3:i.MX515框圖
4.1 i.MX汽車器件的主要安全特性
安全是對使用i.MX51/53創(chuàng)建的平臺的通用要求,盡管對平臺和市場的具體需求差別很大。便攜式消費電子設備上需要保護的資產(chǎn)的類型和成本與汽車或工業(yè)平臺上需要保護的資產(chǎn)類型和成本差別很大,這同樣適用于威脅這些資產(chǎn)的攻擊的種類和資源水平。平臺設計人員必須選擇合適的應對措施,以滿足相關(guān)的平臺安全需求。
對于需要滿足各個市場要求的平臺設計人員來說,i.MX51/53融合了廣泛的安全特性,這些安全特性可以單獨使用,也可以協(xié)同使用來支撐平臺安全架構(gòu)。i.MX51/53的大多數(shù)安全特性提供針對特定類型攻擊的防御功能,可根據(jù)所需的保護程度配置不同的防御級別。這些特性的目的是協(xié)同工作,也可以與適當?shù)能浖蓙韯?chuàng)建防御層。除了保護功能外,i.MX51/53還包含一個通用加速器,以提高選定行業(yè)標準加密算法的性能。
i.MX51/53的安全組件包括:
?Cortex?-A8平臺的TrustZone?架構(gòu),帶有TrustZone?中斷控制器和看門狗
?系統(tǒng)啟動的高保證啟動(HAB)特性
?安全控制器(SCC),有16KB的片上安全RAM
?對稱/不對稱散列和隨機加速器(SAHARA)
?運行時完整性校驗(RTIC)
?安全實時時鐘(SRTC)
?IC識別模塊(IIM),帶有片上電熔絲
?中央安全單元(CSU)
?系統(tǒng)JTAG控制器(SJC)
?多主機多內(nèi)存接口(M4IF)的水印機制
?智能內(nèi)存直接訪問(SDMA)控制器的鎖定模式
4.2 虛擬化
現(xiàn)代化信息娛樂系統(tǒng)需要滿足反方向要求。一方面,它們需要支持消費電子領(lǐng)域的復雜的多媒體算法、輸入設備(例如觸摸控制型輸入設備)和用戶設備(如不同的存儲介質(zhì)、文件系統(tǒng))。另一方面,它們必須能夠?qū)崟r處理來自汽車網(wǎng)絡的消息,并防止在消費電子產(chǎn)品中好用的應用(如應用商店)在汽車中運用時不會出現(xiàn)故障。
i.MX中的硬件虛擬化特性能夠解決該問題。設計人員可以建立一個在Linux或Android?等強大的操作系統(tǒng)虛擬實例中運行的信息娛樂系統(tǒng)。另一個實例可以執(zhí)行AUTOSAR?,它能夠滿足汽車領(lǐng)域的硬實時要求。
為了保護這兩個實例并為其中一個實例(如CAN控制器)分配特定的外設模塊,TrustZone架構(gòu)能夠有所幫助。
TrustZone在非安全模式和安全模式中復制內(nèi)核。根據(jù)內(nèi)核模式,外設模塊能夠提供不同的視圖、行為或功能集。
5 安防和安全
在一些情況下,安防要求和安全要求相互矛盾。安防通常需要限制訪問微控制器的功能和數(shù)據(jù),而在現(xiàn)場返修情況下的功能安全(即發(fā)生故障的ECU被從現(xiàn)場退回給制造商)則要求完全訪問微控制器或ECU的處理器,以便分析現(xiàn)場返修的根本原因。即將發(fā)布的功能安全標準ISO26262要求分析現(xiàn)場返修,以便檢測ECU的系統(tǒng)故障,然后啟動召回。
在安全生命周期中,安防和安全要求都能夠滿足。在該生命周期中,ECU通過車間、生產(chǎn)、現(xiàn)場和返修幾個狀態(tài)。通過對微控制器/處理器進行授權(quán)(如提供一個保密密鑰)改變狀態(tài)。每個狀態(tài)可用的功能和數(shù)據(jù)都是有限的,例如微控制器/處理器的調(diào)試端口在生產(chǎn)狀態(tài)被啟用,在現(xiàn)場狀態(tài)則被禁用。
如第3.1節(jié)所述,如果調(diào)試器被附著到微控制器,那么Qorriva MPC564xC/B系列的CSE模塊會禁用加密密鑰。禁用哪個加密密鑰取決于每個密鑰的DU(調(diào)試器用途)標識。如果設置了一個密鑰的DU標識,那么在附著了調(diào)試器后該密鑰會被禁用,因此,只要附著了該調(diào)試器,則無法使用該密鑰加密或解密數(shù)據(jù)或驗證閃存(參見第3.2.1節(jié)“安全啟動和信任鏈”)。更改DU標識需要用一個保密密鑰對微控制器進行授權(quán)。在安全生命周期中,當微控制器進入現(xiàn)場狀態(tài)后OEM便會設置DU標識。如果發(fā)生了現(xiàn)場返修,OEM可以重新設置DU標識,啟用微控制器調(diào)試,以便分析現(xiàn)場返修的根本原因。
對于調(diào)試,i.MX處理器提供以下安全級別:
?最高級別的安全性:完全禁用調(diào)試端口。
?較高級別的安全性:在調(diào)試器和i.MX處理器之間成功地進行了基于密碼的挑戰(zhàn)-響應認證后,調(diào)試端口被啟用。
?無安全性:完全啟用調(diào)試端口。
使用i.MX處理器中的一次性可編程熔絲配置安全級別:熔絲燃燒是一個不可逆的過程,也就是說,一旦熔絲燃燒了便不可能使熔絲返回到其原始狀態(tài)。安全級別熔絲的燃燒只能提高安全級別,也就是說,只能從“無安全性”、“較高級別的安全性”轉(zhuǎn)換為“最高級別的安全性”,而無法按相反的順序進行。
在安全生命周期中,當i.MX處理器進入現(xiàn)場狀態(tài)后OEM便會燃燒安全級別熔絲,達到“較高級別的安全性”。如果發(fā)生現(xiàn)場返修,在成功地進行了挑戰(zhàn)-響應認證后,OEM可以啟用調(diào)試端口。
6 總結(jié)與展望
安防與安全是汽車電子系統(tǒng)的兩個推動力。本文介紹了現(xiàn)代汽車微控制器和處理器的各種安全特性,這些特性保障汽車及車內(nèi)人員的安全。
飛思卡爾Qorivva MPC564xC/B系列是第一批融合了加密模塊的面向汽車市場的微控制器。然而,通過車對車通信主動安全或通過應用商店實現(xiàn)汽車個性化等趨勢將進一步增加汽車領(lǐng)域的安全需求。
作者:飛思卡爾半導體 Juergen Frank
本文轉(zhuǎn)摘自電子發(fā)燒友網(wǎng)《汽車電子特刊》5月刊
?
評論
查看更多