汽車製造商因召回行動而衍生的成本不斷增加,這些成本很大一部份來自軟體故障,以及修正軟體所需的費用。因此,使用行動連線來實現無線網路更新軟體(SOTA)的功能,顯然勢在必行。雖然軟體更新OTA已普遍應用於行動裝置,但是在建置於車輛時,仍需考量防護性、安全性及便利性等因素。除了必須避免車輛遭到入侵(防護),更新流程也要可靠、快速,而且無論如何都不能損害功能安全性。

建置軟體無線更新(SOTA)的根本動機十分明確。市場研究公司IHS在最近一份汽車報告中指出,運用SOTA的潛在成本節約效益,預估將從2015年的27億美元增加到2022年的350億美元(圖1)。減少召回成本、加速功能更新,以及提升客戶滿意度,都是吸引汽車製造商(OEM)引進SOTA的絕佳理由。透過OTA更新導航資料與資訊娛樂應用,是目前的標準作法。然而,將SOTA建置於資訊娛樂領域以外的電子控制單元(ECU),則帶來了特定的技術挑戰。內建快閃記憶體的微控制器(MCU)一般用於控制車輛中的即時應用,必須維持品質、安全與防護標準。不能因為資料防護不足而危及車輛安全。因此,相關要求的嚴苛程度,勢必遠超過經常使用消費性產品的資訊娛樂應用系統。

20171018_Infineon_TA31P1 圖1:可省下大筆成本,是採用SOTA的主要動機

抵禦網路攻擊

防護等級不足的SOTA建置,會讓潛在攻擊者有機可乘,取得車輛安全關鍵應用的操控權,進而減損整輛車的防護性,甚至危及乘客生命安全。為了避免發生這類狀況,我們需要一套複合式防護架構,來支援憑證的使用、私密金鑰以及加密作業。適用的加密法必須以RSA、ECC、AES和SHA等標準演算法為基礎。而英飛凌(Infineon)提供的AURIX與OPTIGA TPM系列安全晶片正好具備這類安全功能與特色(圖2)。

20171018_Infineon_TA31P2 圖2:使用內建HSM的AURIX微控制器和額外的OPTIGA TPM,安全地存取快閃記憶體

SOTA流程與必要的安全架構

SOTA流程執行時,通常要經過一連串步驟。一旦新的軟體套件產生並取得安全「包覆程式」(wrapper;即加密與簽章)後,就能與目標車輛進行通訊,此時車輛(用戶端)與OEM更新伺服器之間便會建立安全連線。車輛與伺服器平台將進行雙向授權,進而建立安全且加密的傳輸通道(傳輸層安全性,TLS),以供車輛接收新的軟體套件。完成初始驗證後,車輛會將軟體儲存在中央記憶體內。新軟體的接收與儲存都在後台完成,而不會發出通知干擾駕駛,對車輛的行為亦無任何影響。實際的更新流程會在車輛停妥並由駕駛啟動後才開始,流程所需時間則視匯流排架構與中繼儲存位置而異(從數秒鐘到數分鐘不等)。

SOTA架構

車輛的SOTA架構基本上可分成遠距通訊控制器、中央閘道器及目標控制單元(圖3)這三個ECU區塊,並分別由不同的安全晶片執行各別的安全功能。 圖3:SOTA建置的主要功能區塊:遠距通訊控制器、中央閘道器及目標ECU

遠距通訊單元透過行動射頻(RF)介面連接至OEM伺服器,並執行服務授權。為了安全起見,建議建置專用的安全控制器——例如OPTIGA可信賴平台模組(TPM),來執行此關鍵的授權功能。除了實際的應用控制器,通常還會額外使用諸如AURIX系列的微控制器來與車輛網路建立安全連線。

中央閘道器則可採用諸如AURIX微控制器,支援接收軟體的驗證和中繼儲存功能,甚至還可將安全攸關的授權功能從遠距通訊單元移到閘道。但在此情況下,建議將TPM置於閘道中,以便執行中央金鑰管理等重要安全功能。

當駕駛人啟動更新後,實際的更新流程會在目標的ECU上執行。資料套件將從記憶體傳送到目標ECU,予以解密並重新驗證,最後再「刷入」快閃記憶體。透過諸如AURIX等微控制器可支援上述所有的安全相關功能。

以Trust Anchor實現安全授權與驗證

如前所述,作為「信賴起源」(Trust Anchor)的安全控制器可執行專用的安全功能,以避免裝置遭到操控及故障,尤其是在更新關鍵的安全相關應用時。OPTIGA TPM為通過認證的安全晶片,專門用於執行關鍵的授權功能,其功用是確保僅有獲授權的裝置可傳送資料至車輛。

TPM可執行所有用於認證授權的加密演算法,並在受保護網域內儲存相關用途的長期憑證和私密金鑰。TPM 2.0支援最新的演算法,像是ECC、RSA、AES和SHA 256。TPM可用加密的方式連結到應用處理器。TPM的主要記憶體可加以擴充,也能安全地載入應用處理器的外部記憶體。如此一來,OEM便能儲存更多的授權憑證。

TPM是以經過安全認證的製程所生產的,其中的第一個金鑰安全地儲存在TPM內。TPM內的保護層級(針對硬體或旁通道攻擊)高於「安全硬體擴展」(SHE)模組或「硬體安全模組」(HSM)。但所有相關的MCU應該二者兼備,以確保持續的(端對端)防護效能。

典型的網路攻擊會執行非指定的作業,藉以取得系統的操控權。為了避免這類攻擊,系統經常必須分割成不同且隔離的安全網域。TPM便是其中一例,其將非對稱金鑰儲存於受保護的獨立環境內,並用於加密程序。另一方面,微控制器也有隔離的安全網域,例如AURIX微控制器內的HSM,即可將安全功能隔離於應用網域。第一個重要步驟是在駕駛週期開始時,透過安全開機檢查相關微控制器內程式記憶體的完整性(SHE或HSM會利用加密總合檢查碼來核實記憶體內容)。

例如,內建HSM的AURIX微控制器系列還會對收到的軟體執行關鍵驗證,而HSM強大的加密加速器與高速通訊匯流排,則有利於驗證流程。此驗證作業將由閘道MCU透過HSM執行。由於韌體驗證僅使用公用憑證,因此其安全要求低於認證授權流程。

就SOTA架構而言,HSM也能用於隨需完整度檢查。例如,遠距通訊單元與閘道器會以安全的方式交換其完整性狀態,接著才開始更新軟體。類似的流程也能建置在目標ECU上,該目標ECU同樣使用HSM,但由安全的快閃記憶體開機程式(SFBL)負責接收及確認更新。FBL與SFBL的不同之處在於其額外的加密演算法,且開機程式本身應排除於任何SOTA更新流程的範圍之外。由於車輛可能在行駛中受到攻擊,因此具備應用軟體的即時檢查功能,是HSM勝過SHE模組的主要優點之一。

最高可用性是提升客戶接受度的關鍵

整合SOTA除了具有防護性與安全性方面的效益,對於汽車製造商而言還有另一項關鍵的重點:車輛的現有系統架構受到的影響最小,且能保證提供最高的可用性,亦即徹底縮短車輛在軟體更新期間必須保持靜止的時間。在這方面,尤其值得關注的是現有車載網路架構和ECU層級的特殊需求。

從前,若要重新設定ECU或整輛車,必須親自跑一趟車廠。進行這類更新時,必須用診斷工具插入車載診斷系統(OBD)插槽,再由診斷工具接管整個更新流程,尤其是下載新的軟體或服務封包、發佈到目標ECU,以及最後的驗證作業。OEM希望盡量將類似的機制沿用到SOTA,因此SOTA的診斷工具功能必須轉移到車載網路架構的核心點,並提供額外SOTA流程所需的必要功能。這些功能一般都在閘道器ECU內執行,而新的軟體套件則從OEM伺服器下載後,也會暫時儲存於中央記憶體內。

新的軟體必須從閘道器的中央記憶體傳送到目標ECU,但是OEM間的網路拓樸各不相同,因此每一種網路拓樸都得納入考量。這基本上有以下三種方法(圖4):

20171018_Infineon_TA31P4 圖4:安全OTA韌體更新的各種方法:使用中央閘道記憶體的傳統方法、使用兩個快閃記憶體區塊的A/B抽換法,以及使用額外本機記憶體的方法

採用「傳統」方法更新個別ECU時,相關的新軟體套件可透過車載網路,從中央記憶體載入至目標ECU微控制器內建的快閃記憶體,而且是在單一步驟內完成。ECU並不需要進行任何硬體變更,主要限制是匯流排的速度,這項因素將決定更新所需的時間。表1顯示一般匯流排系統的資料傳輸速率。假設有一個大小4MB的服務封包,如表中所示。透過CAN匯流排更新一個ECU需要將近五分鐘;假如有20個ECU,那麼車輛就得停止動作一個半小時以上。雖然有許多不同的方法可提高傳輸量(建立CAN匯流排子網域叢集或壓縮資料),但是都會提高複雜度及成本。

20171018_Infineon_TA31T1 表1:各種匯流排系統資料傳輸速率的比較

A/B抽換

另一種方法為A/B抽換。快閃記憶體內有兩個區塊(A和B),負責在微控制器內執行程式碼。軟體從中央記憶體下載到目標ECU,且重新編程可用記憶體區塊(如B區塊)的程序可於後台完成,而無需停止車輛行進,時間也不具限制。此時A區塊不受影響,可繼續執行目前的程式碼。直到所有的ECU皆「重新設定」後,控制器會從A區塊將程式碼執行作業切換到B區塊,而此抽換流程在重新啟動後即告完成。這種方法最大的優點在於停機時間幾乎為零,缺點是成本較高,因為需要較大容量的快閃記憶體和額外驗證機制,以排除任何對功能安全的影響。另一項缺點則是許多微控制器尚不支援「抽換」功能。

第三種方法嘗試結合前面兩種方法的優點:額外提供「ECU層級的外部記憶體」。新服務將可於車輛使用期間,在後台中載入至「ECU層級的外部記憶體」,並等到實際更新流程開始為止。這項方法利用諸如AURIX等現代化微控制器,可迅速抹除快閃記憶體並予以重新設定。舉例來說,SPI介面可在8秒內抹除4MB的外接式本機記憶體並重新設定。這項方法的主要優點包括徹底避免干預現有的系統設計、可管理的額外成本以及小巧的額外記憶體元件。表2為上述三種方法的比較。

20171018_Infineon_TA31T2 表2:各種SOTA韌體更新方法的優缺點比較

結論

車用軟體無線更新功能可為汽車產業省下巨額成本,但還需要充份的安全性佈建,才能避免車輛和攸關安全的應用遭到非法存取。諸如AURIX的微控制器和OPTIGA TPM等專用安全晶片,可針對關鍵重點提供最佳化功能,給予SOTA需要的防護。除了特殊的安全措施,OEM亦須考量如何運用最佳化的網路架構和記憶體策略,將車輛更新流程的停機時間縮到最短,同時減少對駕駛人的影響。