我們來討論一下全世界科研人員對最先進的安全OTA(空中下載技術)的貢獻和成就。我將會給大家分享世界上常見的六類OTA軟件更新技術方案。分別是基于對稱密鑰加密的安全OTA更新技術;基于HASH算法的安全OTA更新技術;基于區(qū)塊鏈技術的安全OTA更新技術;基于RSA和隱寫術的安全OTA更新技術;基于對稱密鑰和非對稱密鑰雙加密的安全OTA更新技術;基于硬件安全模塊。(圖1)
圖 1
基于對稱密鑰加密技術
2005年,Mahmud等人在核心期刊IEEE Intelligent Vehicles Symposium提出了一種智能汽車的安全更新技術。提議在原始主機廠、軟件供應商(SS)之間共享一組鏈路密鑰。在任何軟件更新之前,使用一個鏈路密鑰在軟件供應商和車輛之間建立安全連接,形成可信通道。為了提高安全性,作者建議使用隨機間隔至少發(fā)送兩次加密后的軟件副本。在收到加密軟件的多個副本后,車輛終端解密并安裝其中一個有效的安裝包。參考文獻: Secure software upload in an intelligent vehicle via wireless communication links
2012年,Mansour等人設計了一種診斷和安全OTA系統,稱為AiroDiag,用于連接車輛。圖2為AiroDiag的架構。AiroDiag架構的主要分為:OEM、汽車和云端。AiroDiag采用了對稱密鑰技術,特別是采用了先進的加密標準來保證軟件更新過程中的通信安全。在AiroDiag中,密鑰存儲在OEM端的數據庫中。AiroDiag應用始終保持與網絡的連接,處理來自車機端的任何連接請求。在AiroDiag中,軟件更新過程由客戶端觸發(fā)。一旦觸發(fā)軟件更新過程,車輛首先與OEM建立安全連接。接下來,車輛將告知OEM端當前已安裝軟件的版本。如果有新軟件可用,OEM將觸發(fā)軟件更新過程,并與汽車建立安全連接。參考:AiroDiag: a sophisticated tool that diagnoses and updates vehicles software over air
基于哈希算法
2008年 Nilsson和Larson在IEEE大會上提出了一種用于車聯網的安全OTA固件更新協議。在他的架構中分為了四個實體:車、服務器后端、互聯網和無線基站(圖3)。在這里,服務器后端是負責與網聯車通信的主要單元。作者先將更新后的二進制文件劃分為多個數據塊。然后以相反的順序對每個片段進行哈希處理,創(chuàng)建哈希表。最后,服務器后端使用預共享的加密密鑰對的每個數據塊進行加密,然后再將它們傳輸汽車終端??紤]到車輛中有限的資源,后端使用分塊哈希加密作為加密技術。盡管這種變法可以確保不會受到竊聽、攔截和篡改攻擊,但是無法防止拒絕服務攻擊。參考:Secure firmware updates over the air in intelligent vehicles
基于區(qū)塊鏈技術
2018年,Steger等人在工作中引入了區(qū)塊鏈(BC)的架構來解決智能汽車OTA升級的安全和隱私問題。該體系結構的主要實體有:OEM、服務中心、汽車、云服務器和SW主機(圖4)。該架構中,所有參與的實體組成一個集群,一旦出現了新的OTA包,SW主機上的程序就會觸發(fā)軟件更新過程。首先,SW主機向云服務器發(fā)送一個帶有自己簽名的存儲請求。在驗證成功后,云服務器發(fā)送一個二次確認包,包括自己的簽名和軟件上傳過程中需要的文件描述符發(fā)送到SW主機中。將新軟件上傳到云服務器后,SW主機在區(qū)塊中創(chuàng)建一個更新事件,其中包含關于新軟件在云端位置等信息。然后SW主機中使用私鑰簽署這個事件,并最終將加密的事件廣播給車輛。接著作者進行了本概念的驗證測試,結果表明,該體系架構的性能優(yōu)于基于證書的體系架構。參考:Secure wireless automotive software updates using blockchains: A proof of concept
RSA與隱寫
2018年Mayilsamy等人在期刊中提出了結合密碼學和隱寫術的方案來保護網聯車的OTA軟件更新。OEM后端、服務中心、汽車和云服務器是該方案的總架構(圖 5)。第一步是使用修改過的RSA算法來加密更新的OTA升級固件。第二步,利用隱寫將第一步使用的密碼沿覆蓋圖像的邊緣區(qū)域隱藏。最后,云服務器存儲加密映像。在汽車的軟件更新過程中,服務中心首先下載隱寫圖。然后,服務中心解密OTA固件將更新后的軟件安裝到汽車中。仿真測試結果顯示,在OEM端,加密1kB、15kB和20kB大小的文件所需的時間分別為3.05s、6.95s和8.03s。相反,在汽車終端,解密1kB、15kB和20kB大小的文件所需的時間分別為5.43s、905.05s和1590.92s。參考:An integrated approach for data security in vehicle diagnostics over internet protocol and software update over the air
對稱密鑰與非對稱密鑰的組合加密算法
2016年Steger等人在IEEE大會提出了一個名為SecUp的框架,用于對網聯車進行安全高效的OTA軟件更新。其中涉及到:OEM、服務中心、汽車終端和汽車維修人員(圖5)。SecUp同時使用對稱和非對稱密鑰加密來保護OTA更新過程。汽車維修人員使用NFC智能卡與PIN碼對手持設備進行對稱的身份驗證,然后服務后端返回會話密鑰,利用該會話密鑰配合汽車RSA公鑰將安裝包加密下發(fā)到每個汽車。接收成功后,汽車在安裝前對軟件用私鑰進行驗證解密。SecUp的性能是通過對沃爾沃ECU更新實驗測試的。結果顯示,不同類型軟件的更新持續(xù)時間介于6.77秒~ 33.19秒之間。參考:Generic framework enabling secure and efficient automotive wireless software updates
硬件安全模塊
2016年Petri等人在國際汽車安全大會上提出了一種基于HSM的可信平臺模塊(Trusted Platform Module, TPM)的安全OTA更新機制。首先,網關ECU從遠程服務器下載更新后的軟件。然后ECU使用TPM中預定義的散列驗證下載的軟件。驗證成功后,ECU將更新后的軟件發(fā)送到目標ECU進行安裝。使用TPM的好處是它支持許多流行的加密算法,例如RSA、SHA、AES。主要局限性是,每個ECU都需要一個HSM/TPM算法加密機,從而導致了額外成本。參考:Evaluation of lightweight TPM for automotive software updates over the air
本文我們講解了六種常見的OTA更新方案,對比分析不同研究人員涉及安全OTA的架構、部署、技術功能等。而根據ABI市場研究數據報告,2022 年將有 2.03 億輛部汽車能通過 OTA 方式更新軟件,其中至少 2200 萬輛汽車還能通過 OTA 更新固件,未來我們會接受到來自車輛OTA更新帶來的安全問題的挑戰(zhàn),筆者也會重點關注全球OTA安全方案的進展。