萬開明 洪雷
摘 要:OTA技術(shù)在滿足了智能網(wǎng)聯(lián)汽車軟件快速迭代,也在一定程度上降低車企的售后成本。OTA升級有多種方案策略,車企需要尋找平衡成本和車輛停機(jī)時間的策略。本文主要概述了車載OTA,OTA升級流程及安全策略。
關(guān)鍵詞:OTA;ECU升級;安全
1 OTA技術(shù)簡介
OTA(Over-the-Air Technology)空中下載技術(shù),即通過移動網(wǎng)絡(luò)從遠(yuǎn)程服務(wù)器無線下載新的軟件更新包對自身系統(tǒng)進(jìn)行升級。其最早出應(yīng)用在手機(jī)上。在汽車上的應(yīng)用,即實現(xiàn)車輛系統(tǒng)的在線升級更新,通過車輛端的網(wǎng)聯(lián)模塊OTA管理器,實現(xiàn)整車模塊的數(shù)據(jù)傳輸、軟件下載、代碼更新等。汽車行業(yè)應(yīng)用優(yōu)勢已經(jīng)確立:節(jié)省制造商的資金,可立即修復(fù)關(guān)鍵軟件漏洞,并允許在其期間隨時向車輛添加引人注目的新功能生命周期。
2 車載OTA架構(gòu)
圖為車載OTA系統(tǒng)架構(gòu)。車輛通過蜂窩網(wǎng)絡(luò)安全連接到OME服務(wù)器,服務(wù)器將更新的固件安全地發(fā)送到車輛的遠(yuǎn)程信息處理單元,然后發(fā)送到OTA管理器。OTA管理器管理車輛所有ECU的更新。它控制分發(fā)ECU固件更新,告知何時執(zhí)行更新。在需要同時更新多個ECU的情況下,這一點非常重要,例如,向車輛添加涉及多個ECU的新功能。更新完成后,OTA管理器向OEM發(fā)送確認(rèn)。
外部閃存可以安裝在運行 OTA管理器的ECU 上,以便存儲固件更新,直到需要固件更新。外部閃存還可用于存儲車輛ECU 的固件備份,在ECU更新出現(xiàn)重大故障時可調(diào)用該備份。備份通過加密和身份驗證進(jìn)行保護(hù),防止被篡改。
OTA管理器存放有車輛所有 ECU序列號和當(dāng)前固件版本信息表。OTA管理器在收到ECU固件升級時驗證固件信息,并確認(rèn)是否已被授權(quán)用于此車。如果ECU沒有安全功能,則由OTA管理器負(fù)責(zé)解密和驗證升級文件。
3 ECU升級流程
ECU升級固件包有兩種格式:
● 完整固件升級:優(yōu)點是不依賴以前的固件,因此即使以前的版本已損壞,也可以進(jìn)行更新。缺點是文件傳輸時間長,所需接收存儲空間大。
● 差分文件升級:在OEM服務(wù)器端對比新老固件,并創(chuàng)建一個包含它們之間的差異列表的差分文件。根據(jù)更改量(通常為原始固件大小的10%),因此傳輸速度更快。這也意味著差異依賴于老的固件版本。
無論升級固件文件格式如何,都有兩種方法來執(zhí)行更新:
● “A/B”方法:“主”閃存中包含當(dāng)前固件,“次”閃存中存放新固件,這會使每個ECU閃存量翻倍。從用戶角度來看,此方法是理想的,因為ECU可以使用主存儲保持正常運行,而新固件可以在后臺寫入輔助存儲。更新完成后,ECU可以在合適的時間使用新固件(在輔助閃存塊中)。由于始終有固件工作,因此不會將ECU置于無法工作的危險狀態(tài),因為它始終可以立即“回滾”到以前的工作固件,缺點是在MCU上需要刷新兩次。
● “原位”方法:設(shè)備上僅存在一個版本的固件,此固件將被擦除和重寫。當(dāng)ECU處于正常運行狀態(tài)時無法更新,即車輛將在一段時間內(nèi)無法運行。這一時間段將主要由重刷ECU所需時間決定。車輛中的主要 ECU,如發(fā)動機(jī)控制器,將具有幾兆閃存,如果需要重新刷寫完整固件,可能需要幾十秒才能完成。由于“原位”方法中只有一個版本的固件存在,因此在更新過程中出現(xiàn)錯誤或重置可能難以恢復(fù),導(dǎo)致模塊甚至車輛無法工作。
4 OTA升級安全保障
遠(yuǎn)程更新車輛固件為黑客開辟了新的攻擊媒介。黑客的兩個主要動機(jī)是使用 OTA 機(jī)制重新編程關(guān)鍵 ECU最終控制或竊取車輛。OEM可通過HMAC、CMAC或數(shù)字簽名等方法來保護(hù)固件的真實性和完整性,避免固件遭到篡改。
固件的真實性檢查,可以保證在更新過程中只使用受信任的固件;但是,黑客可能仍然能夠讀取固件二進(jìn)制源碼來反向設(shè)計源代碼或竊取數(shù)據(jù),這可能會導(dǎo)致 IP 盜竊或隱私問題??赏ㄟ^固件加密來防止這種情況。
通過完整性檢查,可防止"中間人"攻擊,保護(hù)接收固件鏡像的通道安全。同時,應(yīng)防止協(xié)調(diào)ECU升級的OTA管理器應(yīng)用程序被篡改。
總之,應(yīng)采取以下反制措施:
● 保護(hù)固件的真實性和完整性,防止黑客運行修改后的代碼。
● 加密固件,防止黑客訪問代碼(IP)和數(shù)據(jù)。
● 在車輛和OEM服務(wù)器之間建立安全的端到端通信,以防止中間人攻擊。
● 確保OTA管理器應(yīng)用程序的安全。
4.1 安全方案
通常車輛通過T-Box模塊與OEM服務(wù)器連接,可使用廣泛用于成熟應(yīng)用于網(wǎng)銀業(yè)務(wù)的傳輸層安全協(xié)議來確保移動網(wǎng)絡(luò)通信安全。OTA管理器在收到安全升級文件請求后,對比存放ECU當(dāng)前序列號和固件版本號列表,驗證升級文件對車輛是否有效。
此外,升級文件從OEM服務(wù)器到目標(biāo)ECU都要受到保護(hù)。如果要更新的 ECU 支持固件解密和身份驗證,則可以將升級文件直接從OTA管理器發(fā)送到目標(biāo)ECU。但并非所有車輛中的 ECU 都具有安全密鑰存儲和硬件加速安全功能。此時OTA管理器必須支持對升級文件進(jìn)行身份驗證和解密,并將解密文件通過內(nèi)部網(wǎng)絡(luò)發(fā)送到目標(biāo) ECU。缺少硬件安全功能的ECU無法保護(hù)總線傳輸?shù)纳壩募H欢?,要對此進(jìn)行黑客攻擊,需要實際訪問車輛,并知道需要訪問哪條總線。若仍無法承擔(dān)此風(fēng)險,則需要升級帶有安全功能的ECU硬件后才能使用OTA升級。
4.2 OTA管理器布置節(jié)點
OTA 管理器的位置對整車OTA升級的安全性有很大影響。網(wǎng)關(guān)作為外部和內(nèi)部網(wǎng)絡(luò)的防火墻,且與所有車載網(wǎng)絡(luò)連接。OTA管理器和網(wǎng)關(guān)類似,是管理從外部到內(nèi)部ECU升級的橋梁軟件,因此將其布置運行在網(wǎng)關(guān)上,可以在不對現(xiàn)有網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行調(diào)整下執(zhí)行其工作。
4.3 ECU微控制器功能
幾乎所有車輛 ECU 都能夠單獨使用軟件機(jī)制進(jìn)行更新。但OEM及用戶對更新時長和安全性有非常高的要求。通過使用提供特定硬件功能的微控制器,可以更快、更安全、更減少車輛停機(jī)時間來處理更新:
讀寫功能:另一個閃存塊擦除或刷寫時可讀取訪問閃存塊。允許應(yīng)用程序在更新過程中繼續(xù)執(zhí)行。
重映射閃存:允許在閃存中存儲在不同物理位置的新固件鏡像和舊固件鏡像之間進(jìn)行即時切換。
加密安全:可存儲用于升級解密和身份驗證的密鑰。
生命周期管理:可安全記錄當(dāng)前固件版本,并防止非法回滾到老版本或安裝未授權(quán)軟件。
小代碼閃存塊:擁有更小的閃存塊可以提高更新速度和效率。就地差分更新通常只會修改少量位置。例如,如果這些位置位于 256K 閃存塊中,則由于必須備份整個模塊,然后擦除并重新編程,則與該位置位于 16K 閃存塊中相比,需要更多備份內(nèi)存和更多時間才能完成。
可鎖定的閃存區(qū)域:在更新過程中為關(guān)鍵代碼(如引導(dǎo)加載程序)提供額外保護(hù),以防止意外刪除。
重置檢測:能夠在更新過程中檢測意外重置。升級更新期間的重置會使閃存處于未定義狀態(tài);在退出重置時引導(dǎo)程序需能嘗試啟動恢復(fù)。
多核:可以配置多核設(shè)置,允許一個內(nèi)核執(zhí)行更新,而另一個內(nèi)核專用于運行現(xiàn)有應(yīng)用程序,從而最大限度地減少性能影響。
系統(tǒng)完整性檢查:能在更新時檢測和防止系統(tǒng)異常。
5 總結(jié)
對車輛ECU執(zhí)行OTA更新是一項基本功能。鑒于車輛中許多不同類型的網(wǎng)絡(luò)上的各種不同ECU,沒有一個更新過程適用于所有ECU。從駕駛員的角度來看,A/B方法具有巨大的優(yōu)勢,因為更新可以在零車輛停機(jī)時間下執(zhí)行,但是這可能是一種相對成本更高的方法,并且不太可能與現(xiàn)有的傳統(tǒng) ECU 配合使用。原位更新方法可能更具成本效益,但代價是要求車輛停機(jī)。應(yīng)評估每個 ECU,尋找平衡成本和車輛停機(jī)時間的策略。整個更新過程必須由中央網(wǎng)關(guān)管理跟蹤固件版本、分發(fā)更新、同步固件切換,以確保整個過程安全。
參考文獻(xiàn):
[1]耿琦.基于OTA 技術(shù)的車輛遠(yuǎn)程數(shù)據(jù)刷寫研究與應(yīng)用[J].電子測試,2017(15).
[2] Subir Halder,Secure OTA Software Updates in Connected Vehicles:A Survey[J].Cryptography and Security,Apr 2019.
[3]Nilsson,Dennis Kengo and Ulf E. Larson. “Secure Firmware Updates over the Air in Intelligent Vehicles”[J]ICC Workshops-2008 IEEE International Conference on Communications Workshops,May 2008.