隨著人們越來越認識到我們的汽車正在演變?yōu)闈L動數(shù)據(jù)中心,制造商面臨著保持軟件最新的挑戰(zhàn)。部分需求是由經(jīng)濟驅(qū)動的;召回行動成本的上升使得自動升級變得至關(guān)重要。與此同時,消費者開始期待他們的計算機和移動設(shè)備會自動升級。因此,一個明顯的步驟是使用移動連接進行軟件無線 (SOTA) 更新。在汽車信息娛樂系統(tǒng)中使用 SOTA 更新已變得相對普遍,但在汽車的關(guān)鍵功能區(qū)域?qū)嵤┲埃枰紤]安全性、安全性和便利性因素。必須保護車輛免受篡改并且更新過程是可靠的,
IHS 的研究人員預測,向 SOTA 更新的運動 將加速,在最近的一份汽車報告中估計,通過 SOTA 節(jié)省的潛在成本將從 2015 年的約 27 億美元增長到 2022 年的超過 350 億美元(圖 1)。降低召回成本、加快功能更新和提高客戶滿意度是汽車制造商 (OEM) 引入 SOTA 的充分理由。
【圖1 | 顯著的成本節(jié)約是 SOTA 的主要動力]
為電子控制單元 (ECU) 實施 SOTA 比信息娛樂應(yīng)用要求更高。通常,帶有嵌入式閃存的微控制器用于控制汽車中的實時應(yīng)用程序。執(zhí)行更新時,必須遵守質(zhì)量、安全和安保標準。車輛安全絕不能因數(shù)據(jù)安全性差而受到影響。
如果沒有有效的安全性,SOTA 更新很容易受到旨在操縱車輛安全關(guān)鍵應(yīng)用程序的攻擊。這可能會危及整個車輛的安全,在最壞的情況下會危及車內(nèi)乘客的生命。需要一種支持使用證書和私鑰以及加密操作的復雜安全架構(gòu)來防止這種情況。合適的密碼學基于標準算法,例如 RSA、ECC、AES 和 SHA。安全微控制器具有此類安全功能和特性。
SOTA 流程和必要的安全架構(gòu)
除了 SOTA 集成的安全性和安全性方面,對于汽車制造商來說,將車輛現(xiàn)有系統(tǒng)架構(gòu)的影響降到最低并保證最大可用性(即車輛必須保持靜止的更新時間最小化)是極其重要的。在這方面特別感興趣的是現(xiàn)有的車載網(wǎng)絡(luò)架構(gòu)和 ECU 級別的特殊要求。這些將在下面討論。
以前,對 ECU(或整車)進行重新編程意味著要去車庫。此類更新使用插入車載診斷 (OBD) 插座的診斷工具。診斷工具管理完整的更新過程(特別是新軟件或服務(wù)包的下載)、分發(fā)到目標 ECU 以及最終驗證。如果可能,OEM 希望為 SOTA 保留類似的機制。因此,對于 SOTA,診斷工具的功能需要轉(zhuǎn)移到車載網(wǎng)絡(luò)架構(gòu)的中心點,并為附加 SOTA 過程提供所需的功能。
SOTA 更新通常在連續(xù)的步驟中執(zhí)行。一旦一個新的軟件包被生產(chǎn)出來并被賦予一個安全“包裝”(加密和簽名),與目標車輛的通信就會發(fā)生。在車輛(作為客戶端)和 OEM 更新服務(wù)器之間建立安全連接。車輛與服務(wù)器平臺進行相互認證,并建立一個具有傳輸層安全性(TLS)的安全加密傳輸通道,將新的軟件包交付給車輛。在初始驗證后,更新存儲在中央存儲器中。此更新階段在后臺進行,不會通知駕駛員或影響車輛在駕駛時的行為。實際的更新過程要等到車輛安全停放后由駕駛員啟動后才會開始。
SOTA 架構(gòu)
SOTA 的車輛架構(gòu)基本上可以細分為三個 ECU 模塊,其中不同的安全微控制器執(zhí)行不同的安全功能:遠程信息處理控制器、中央網(wǎng)關(guān)和目標控制單元(圖 2)。
【圖2 | SOTA實現(xiàn)的主要功能塊:遠程信息處理單元、中央網(wǎng)關(guān)和目標ECU]
遠程信息處理單元通過其移動無線電接口連接到 OEM 服務(wù)器并執(zhí)行服務(wù)認證。出于安全原因,建議為此關(guān)鍵身份驗證功能實施專用安全控制器(即可信平臺模塊或 TPM)。除了實際的應(yīng)用控制器之外,還使用了一個獨立的微控制器 (MCU),以實現(xiàn)與車輛網(wǎng)絡(luò)的安全連接。
中央網(wǎng)關(guān)中的 MCU 支持對接收到的軟件進行驗證和中間存儲。還可以將安全關(guān)鍵的身份驗證功能從遠程信息處理單元轉(zhuǎn)移到網(wǎng)關(guān)中。在這種情況下,建議將 TPM 放置在網(wǎng)關(guān)中,然后網(wǎng)關(guān)可以承擔其他重要的安全功能,例如中央密鑰管理。
實際更新是在驅(qū)動程序初始化后在目標 ECU 中執(zhí)行的。數(shù)據(jù)包從內(nèi)存?zhèn)鬏數(shù)侥繕?ECU,在那里它被解密、再次驗證并最終“刷新”。如今,汽車級 MCU 支持所有這些與安全相關(guān)的功能。
使用“信任錨”進行安全身份驗證和驗證
如上所述,被稱為“信任錨”的安全控制器執(zhí)行專門的安全功能以防止操縱和故障,尤其是在更新關(guān)鍵安全相關(guān)應(yīng)用程序期間。TPM 是一種基于標準、經(jīng)過認證的安全控制器,可專門用于關(guān)鍵身份驗證功能。它的任務(wù)是確保只有經(jīng)過授權(quán)的設(shè)備才能向車輛發(fā)送數(shù)據(jù)。
TPM 執(zhí)行所有加密算法以進行身份??驗證。為此,它將長期證書和私鑰保存在受保護的域中。TPM 2.0 支持最新的算法,如 ECC、RSA、AES 和 SHA 256。TPM 可以加密鏈接到應(yīng)用程序處理器。TPM 的密鑰存儲器是可擴展的,可以安全地加載到應(yīng)用處理器的外部存儲器中。因此,OEM 能夠保存更多的身份驗證證書。
TPM 是在經(jīng)過安全認證的制造過程中生產(chǎn)的,其中第一個密鑰安全地保存在 TPM 中。與安全硬件擴展 (SHE) 模塊或硬件安全模塊 (HSM) 相比,TPM 中的保護級別(例如針對硬件或側(cè)信道攻擊)要高得多。但是,所有相關(guān)的 MCU 都應(yīng)具有這些集成安全模塊之一,以確保端到端保護。
典型的網(wǎng)絡(luò)攻擊以執(zhí)行非指定操作的方式操縱系統(tǒng)。為了防止這種情況,系統(tǒng)通常被分解為不同的、隔離的安全域。TPM 是隔離安全域的示例,它將非對稱密鑰存儲在單獨的受保護環(huán)境中,并將它們用于加密過程。汽車微控制器還定義了隔離的安全域。HSM 可以將安全功能與應(yīng)用程序域隔離開來。第一個重要步驟是通過安全啟動對在駕駛周期開始時涉及的微控制器中的程序存儲器進行完整性檢查;SHE 和 HSM 都使用加密校驗和檢查內(nèi)存內(nèi)容。
具有嵌入式 HSM 的 MCU 還對接收到的軟件進行重要驗證。驗證過程受益于 HSM 強大的加密加速器和快速通信總線。此驗證由網(wǎng)關(guān) MCU 使用 HSM 執(zhí)行。由于固件驗證僅使用公共證書,因此安全要求低于身份驗證過程。
在 SOTA 上下文中,HSM 也可用于按需完整性檢查。在我們的示例中,遠程信息處理單元和網(wǎng)關(guān)都安全地交換其完整性狀態(tài),然后才開始軟件更新??梢栽谀繕?ECU 上實施類似的程序。目標 ECU 也使用 HSM,但安全閃存引導加載程序 (SFBL) 負責接收和驗證更新。閃存引導加載程序 (FBL) 和 SFBL 之間的區(qū)別在于后者實現(xiàn)了額外的加密算法。引導加載程序本身應(yīng)從任何 SOTA 更新過程中排除。由于車輛在行駛過程中可能會受到攻擊,因此動態(tài)檢查應(yīng)用軟件的能力是 HSM 優(yōu)于 SHE 模塊的關(guān)鍵優(yōu)勢。
專為最大可用性而設(shè)計
身份驗證和相關(guān)的安全功能通常在網(wǎng)關(guān) ECU 內(nèi)部執(zhí)行,新軟件包從 OEM 服務(wù)器下載后臨時存儲在中央存儲器中。由于新軟件必須從網(wǎng)關(guān)的中央存儲器傳輸?shù)侥繕?ECU,因此必須考慮相應(yīng)的網(wǎng)絡(luò)拓撲,因為它在 OEM 之間有所不同。本質(zhì)上存在三種不同的方法(圖 3)。
【圖3 | 用于安全 OTA 固件更新的各種方法:使用中央網(wǎng)關(guān)內(nèi)存的傳統(tǒng)方法、使用兩個閃存塊的 A/B 交換以及具有額外本地內(nèi)存的方法]
在“傳統(tǒng)”方法中,為了更新單個 ECU,相關(guān)的新軟件包通過板載網(wǎng)絡(luò)從中央存儲器加載到目標 ECU 微控制器中的嵌入式閃存中。這是一步完成的——無需對 ECU 進行任何硬件更改。主要限制是總線速度,它決定了更新需要多長時間。表 1 顯示了常見總線系統(tǒng)的數(shù)據(jù)速率。讓我們假設(shè)一個 4 MB 的服務(wù)包,如表中所示。在這種情況下,通過 CAN 總線更新單個 ECU 大約需要 5 分鐘;帶有 20 個 ECU 的車輛將停止運行超過 1.5 小時。盡管有多種方法可以提高吞吐量(集群 CAN 總線子域或數(shù)據(jù)壓縮),但它們都會導致復雜性和成本增加。
[表 1 | 各種總線系統(tǒng)的數(shù)據(jù)傳輸率比較]
另一種方法是 A/B 交換。閃存中有兩個塊(A 和 B)用于執(zhí)行微控制器內(nèi)部的代碼。軟件從中央存儲器下載到目標 ECU 并重新編程空閑的內(nèi)存塊(例如塊 B)可以在車輛使用時在后臺進行,并且需要盡可能長的時間。同時,塊 A 不受影響,可以繼續(xù)用于執(zhí)行當前代碼。一旦所有 ECU 都以這種方式“預編程”,控制器就會將代碼執(zhí)行從塊 A 切換到塊 B。交換過程在重新啟動后完成。這種方法具有幾乎不存在停機時間的巨大優(yōu)勢。缺點在于更大的閃存成本更高,并且需要額外的驗證機制來排除對功能安全的任何影響。此外,
第三種方法旨在結(jié)合前兩種方法的優(yōu)點: 提供額外的“ECU 級別的外部存儲器”。新服務(wù)在車輛使用時在后臺加載到此外部存儲器中,并在此處等待實際更新過程。這種方法利用了這樣一個事實,即現(xiàn)代微控制器可以非常快速地擦除和重新編程其閃存。例如,可以通過 SPI 接口在 8 秒內(nèi)從外部本地存儲器擦除和重新編程 4 MB。這種方法的主要好處是對現(xiàn)有系統(tǒng)設(shè)計的干預最少、可管理的額外成本以及附加存儲元件的小尺寸。表 2 對所討論的三種方法進行了比較。
[表 2 | SOTA固件更新的各種方法的優(yōu)缺點]
結(jié)論
汽車軟件的無線更新功能有望為汽車行業(yè)節(jié)省大量資金,并改善客戶的擁有體驗。但是,需要制定足夠的安全規(guī)定,以防止非法訪問車輛及其安全關(guān)鍵應(yīng)用程序。適當?shù)奈⒖刂破骱完P(guān)鍵點的額外專用安全控制器提供優(yōu)化的功能來保護 SOTA。除了具體的安全措施外,OEM 還需要考慮如何通過優(yōu)化的網(wǎng)絡(luò)架構(gòu)和內(nèi)存策略,最大限度地減少更新過程中的車輛停機時間,從而減少對駕駛員的影響。
作者:Bjoern Steurich,Martin Klimke,Ines Pedersen
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7552瀏覽量
151423 -
控制器
+關(guān)注
關(guān)注
112文章
16361瀏覽量
178058 -
存儲器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163837
發(fā)布評論請先 登錄
相關(guān)推薦
評論