智能網聯汽車OTA升級安全設計思考

前言:尋找寫作靈感?中文期刊網用心挑選的智能網聯汽車OTA升級安全設計思考,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

智能網聯汽車OTA升級安全設計思考

摘要:隨著汽車行業快速向智能化、網聯化、電動化的方向發展,車載電子器件(ECU)在整車系統中逐漸增多,整車和ECU已經實現從物理方式到軟件升級(OTA)的更新迭代。當前針對汽車的黑客攻擊事件頻發,ota功能作為智能網聯汽車的重要功能,也成為黑客的重點攻擊對象。攻擊者通過劫持、篡改、替換等攻擊方法對智能網聯汽車OTA升級鏈接發起攻擊。文章基于當前智能網聯汽車OTA升級架構進行安全分析,通過設計安全的OTA升級方案,提升整車OTA升級的安全性。

關鍵詞:智能汽車;軟件升級;信息安全;安全升級

前言

近年來,隨著智能網聯汽車的發展,越來越多的主機廠在汽車產品上集成了OTA升級功能,通過OTA實現系統升級、應用更新、漏洞修復及功能開通等等。目前主機廠OTA系統主要通過自主研發或由OTA供應商集成的方式在整車系統上實現OTA升級功能[1]。

1OTA系統架構

整車OTA系統主要分為云端、車端、通訊端三部分。云端主要功能包括:OEM云對接、車型/車輛/ECU版本信息管理、升級軟件管理,差分包管理、大版本管理及策略創建、ECU關聯升級配置、升級模式配置、策略測試、審批、發布等。車端主要功能包括:升級條件判斷、軟件包下載、升級包驗簽、升級包解密、安全刷寫、升級狀態上報等。通訊端主要負責在OTA升級過程中進行報文傳輸及升級包下載等。

2現階段OTA升級中信息安全威脅

現階段國內OEM已在量產車型上集成OTA升級功能,并通過實施安全策略保障OTA升級的安全性。目前常見的OTA升級校驗模式分為兩種:(1)基于HASH算法的完整性校驗:云端使用HASH算法如MD5、SHA-1等計算升級文件HASH值,車端UC-Mstaer使用相同算法計算升級文件HASH值,通過對比HASH值,實現升級文件完整性校驗[2],完成OTA升級校驗。但攻擊者通??赏ㄟ^篡改HASH值、篡改校驗邏輯從而繞過該校驗方式。該種校驗方式安全性較低且針對該方式的攻擊方法較為成熟,不建議OEM廠商使用該校驗方式實現OTA升級校驗。(2)基于簽名算法的簽名校驗:通過使用PKI系統生成公私鑰,云端使用私鑰對升級包數據校驗和或其他與數據內容有關的變量進行加密處理,完成對數據的合法“簽名”,UC-Master則利用云端的公鑰來解讀收到的“數字簽名”,并將解讀結果用于對數據完整性的檢驗,確認簽名的合法性。保障OTA升級安全性。該種校驗方式通過UC-Master對升級包進行驗簽,可以保證升級包整包的合法性和完整性,但在實際升級過程中,一個升級包整包通常打包有多個ECU升級包,UC-Master在完成升級包整包校驗后,通過對升級包進行解包。通過網關或域控制器透傳至目標ECU,對目標ECU進行升級刷寫。通常目標ECU不會對升級包進行二次校驗。隨著現在攻擊者攻擊手段不斷升級,攻擊者可在UC-Master對升級包整包完成校驗解包后,替換/篡改目標ECU升級包,達到惡意升級的目的。以上兩種方法升級均存在一定安全威脅,雖然基于簽名算法的校驗保證了升級包整包的合法性和完整性,但在升級過程中無法對目標ECU升級包進行二次驗證,導致仍存在一定安全隱患,影響整車OTA升級的安全性。

3安全的OTA升級設計

針對上文討論,整車OTA升級安全性仍存在一定安全威脅。本文將基于數字簽名和消息認證碼設計一種安全的OTA升級方法,提高整車OTA升級安全性。

3.1數字簽名

當前部分主機廠OTA升級系統通過調用PKI系統對升級包進行基于數字簽名的合法性校驗。數字簽名通過使用發送方的私鑰對原始數據進行簽名,只有用發送方公鑰才能通過簽名驗證。因此,私鑰加密得到的密文實際上就是數字簽名,要驗證這個簽名是否正確,只能用私鑰持有者的公鑰進行解密驗證。使用數字簽名的目的是為了確認某個信息確實是由某個發送方發送的,任何人都不可能偽造消息,并且,發送方也不能抵賴。OTA通過使用數字簽名可實現防止偽造、防止抵賴、檢測篡改、驗證數據的完整性等,保證OTA升級過程中軟件包的合法性。常見的數字簽名算法有:MD5withRSA/SHA1withRSA/SHA256withRSA/SHA1withDSA/SHA256withDSA/SHA512withDSA/ECDSA等[3]。基于數字簽名的校驗流程:云端平臺在升級任務下發前,通過簽名算法(私鑰)對軟件升級包進行簽名。車端OTA-Master通過調用PKI系統(公鑰)SDK對升級包進行校驗。但基于數字簽名的OTA升級校驗對車端UC-Matser環境要求較高,需通過集成PKI-SDK或內置密鑰的形式進行。對零部件自身性能及安全性要求較高,通常UC-Master搭載在非實時操作系統的智能ECU中,如T-BOX、IVI、CGW中。主機廠還可在UC-Master的智能ECU中集成HSM(硬件安全模塊)或SE芯片,保障OTA升級安全、高效。

3.2消息認證碼

基于分組密碼的消息認證碼(CMAC)是基于AES算法,工作模式分為ECB、CBC、CFB、OFB四種,其中CBC和ECB這兩種模式比較常用。當取AES作為MAC加密的分組密碼時,一般采用CBC模式,所以通常稱為基于AES的CBC-MAC,只需要一個塊密碼密鑰,并且在加密數量方面進行了高度優化。從分組密碼密鑰K1中派生出兩個掩碼密鑰K2和K3。如果最后一個塊完成,掩碼密鑰K2將在最后一次加密之前添加;否則,添加掩碼密鑰K3。但由于分組密碼算法特性,加解密運算時間相對哈希算法運算耗時較長。基于哈希的消息認證碼(HMAC)是Keyed-HashingforMessageAuthentication的縮寫。HMAC的MAC算法是HASH算法,首先它是基于信息摘要算法的。目前主要集合了MD和SHA兩大系列消息摘要算法。其中MD系列的算法有HmacMD2、HmacMD4、HmacMD5三種算法;SHA系列的算法有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512五種算法。HMAC算法除了需要信息摘要算法外,還需要一個密鑰。HMAC的密鑰可以是任何長度,如果密鑰的長度超過了摘要算法信息分組的長度,則首先使用摘要算法計算密鑰的摘要作為新的密鑰。一般不建議使用太短的密鑰,因為密鑰的長度與安全強度是相關的。通常選取密鑰長度不小于所選用摘要算法輸出的信息摘要的長度。

3.3整車OTA安全設計

由于車端UC-Master只能對OTA升級整包進行校驗,車端UC-Master完成校驗后將升級包整包進行解包,通過網關透傳到目標ECU進行刷寫。但當前傳統EEA架構中只有少數ECU搭載非實時操作系統,如:T-BOX、IVI、CGW等。絕大多數ECU不具備多線程多任務處理能力且不支持集成第三方SDK,如:VCU、BCM、BMS等。導致在這類非智能ECU上實現基于簽名算法的升級校驗較為困難。雖然開發者可以通過軟件方式實現數字簽名算法,但由于該類ECU通常性能較差,軟件實現可能導致軟件升級簽名驗證耗時較長,影響軟件升級效率。整車的OTA升級需在保證安全的前提下,降低對整車及ECU性能影響。提高升級效率。針對當前整車EE架構,在OTA升級過程中OEM廠商在車端UC-Master中集成PKI-SDK,實現基于數字簽名的升級校驗。在云端下發升級任務后,車端DM下載軟件升級包。UC-Master對升級包進行簽名校驗,校驗完成后對升級包進行解包分發,通過網關透傳到目標ECU。ECU根據自身軟硬件架構,被升級ECU-UA對收到的升級包,使用數字簽名或哈希消息認證碼(HMAC)進行二次校驗,校驗成功后進行升級刷寫安裝。在整車OTA升級中,根據不同ECU軟硬件架構。使用數字簽名或消息認證碼在車端的UC-Master和UA對升級包進行二次校驗,可以充分保障整車OTA升級的安全性、可靠性。

4結論

在整車OTA升級中,信息安全在OTA升級中至關重要。隨著攻擊者攻擊技術的不斷提升,OEM除了保證OTA升級高效、可靠外,需對OTA升級安全進行不斷的優化提升。本文通過分析不同ECU軟硬件架構結合不同算法特性提出安全的OTA升級方案,有效提高了OTA升級的安全性。

作者:武智 劉天宇 賈先鋒  單位:中汽數據(天津)有限公司

亚洲精品一二三区-久久