儘管汽車盜竊仍是一個合理的擔憂,但與內部電子控制單元(ECU)及其車內外通信相關的安全威脅明顯更大。如何實現安全的車載網路通訊功能,如今儼然成為各家車廠的重要課題...
當我告訴人們我從事專注汽車安全的半導體行業時,他們通常認為一定會涉及汽車報警和車鑰匙。在今年銷售的所有新車中,大約有50%的車輛支持聯網功能,很多人估計到2030年將達到95%左右。這些連接通過Bluetooth®、USB、LTE、5G和Wi-Fi®等實現,可為消費者提供諸多便利,但由於受攻擊面顯著增加,駭客也同樣感到興奮。
在Google上快速搜索駭客攻擊汽車的主題,將搜索到無數個實際安全性漏洞,這些漏洞會引起費用高昂的召回、訴訟,並導致品牌聲譽受損。事實上,軟體容易出現漏洞,而這些漏洞會被駭客利用。可以通過很多做法最大程度地減少漏洞並在檢測到漏洞後採取糾正措施;但是,只要人們編寫新代碼,就會引入新漏洞。
入侵汽車控制器區域網路(CAN Bus)是駭客的共同目標。在之前的一些駭客攻擊中,駭客能夠先後利用藍牙及汽車作業系統中的漏洞通過CAN Bus遠端篡改封包。現代汽車可能擁有多達100個ECU,其中很多安全關鍵型ECU通過匯流排(Bus)通信。
CAN Bus具有諸多優點。它使用一種低成本、極其穩健且相對不易受到電子干擾的簡單協定,因此是安全關鍵型節點彼此通信的可靠選擇。缺點在於,數十年來,這項協議一直沒有任何安全措施,這意味著駭客一旦成功入侵,他們便能發送偽造的封包,導致車載通信遭到嚴重破壞。例如,開/關雨刷、關閉頭燈、通過操縱音訊分散司機注意力、生成虛假儀錶板報警、顯示錯誤的速度、移動座椅甚至將車駛離道路。
好消息是,隨著CAN FD的出現,封包有效負載中預留了額外的位元組來存儲封包驗證代碼(MAC),可用於以加密方式驗證封包的真實性,濾除所有偽造的封包,從而提高安全性。有兩種MAC可供選擇:基於雜湊演算法的HMAC或基於AES對稱金鑰區塊編碼器的CMAC。絕大多數情況下實現的都是CMAC。
代工廠(OEM)一直忙於更新其網路安全規範以應對發生的所有駭客攻擊。幾乎所有OEM都需要升級安全關鍵型ECU來實現其全新網路安全要求,其中一些OEM需要升級全部聯網ECU。基礎安全模組用於實現涉及加密驗證的安全引導:主機控制器上運行的引導和應用程式碼保持不變,在上電和重定時處於可信狀態,並且通常在引導後按照規定的頻率重複執行。
緊隨其後的要求是支持安全韌體更新。回顧一下,所有軟體都會產生漏洞;因此,通常需要創建可現場應用的韌體漏洞補丁。此外,這些韌體更新還需要加密安全實現,它們通常需要使用進階加密標準(Advanced Encryption Standard , AES)對稱金鑰對傳入韌體有效負載進行加密並使用非對稱私密金鑰(RSA)對其進行簽名,最常見的私密金鑰是橢圓曲線加密(ECC)。
這樣一來,向主機控制器提供升級映射時,在通過控制器中嵌入的ECC公開金鑰驗證有效負載的簽名前,不會執行任何操作。完成簽名驗證後,即可解密映射,控制器韌體通過漏洞補丁或功能增強進行升級。安全演變之路上增加的第三項措施是上述封包驗證。
電動汽車領域的獨特之處在於對電池驗證的需求不斷增加。大多數電池組都在較大的電池組內部設計了可更換的電池模組,因此當其中一個模組發生故障時,只需更換該故障模組,無需更換整個電池組或處理性能不佳的電池組。設計不佳的模組可能成為安全隱患,導致車輛起火。
因此,OEM必須加強生態系統管理,這意味著每個模組都必須以加密方式進行驗證,確保模組製造經審查通過OEM認證,之後模組才能在電池組中正常工作。不引發火災但性能欠佳的模組會損害OEM品牌聲譽,從而引起負面新聞和收入損失。這是對模組製造商的來源進行加密驗證的另一個原因。
對一個模組進行加密驗證意味著什麼?加密驗證的實現方式是使用客戶特定的x.509憑證連結以及基於惟一ECC金鑰對的惟一設備級證書設置用於配置元件的客戶特定簽名金鑰。配置好的元件安裝在每個電池模組上。當電池組中更換某個電池模組時,電池管理系統(BMS, 也稱為電池閘道)將向模組詢問其惟一X.509證書,並一直驗證簽名鏈直至可信根。
完成簽名驗證後,使用相關私密金鑰進行簽名的模組面臨一項挑戰,即在不通過匯流排發送的情況下(某些情況下通過RF發送)證明已獲知機密資訊。模組層級用例到此為止。在BMS內,OEM通常需要更複雜的用例。由於BMS/閘道是連通外界、向雲端提供例行電池健康狀態報告的通信點,因此安全用例擴展為包含安全引導、安全韌體更新和傳輸層安全(TLS),以便與雲端建立安全的通信通道。
此處探討的所有安全實現都需要安全金鑰存儲,而此類存儲只能通過真正的硬體安全實現。通過微型探測、故障注入、電磁邊通道攻擊、溫度/迴圈上電/電源毛刺和時序攻擊等執行一些標準攻擊,即可輕鬆從標準單晶片,甚至許多所謂的「安全單晶片」中提取金鑰。因此,選擇合適的元件來執行加密重任,防止金鑰遭受此類攻擊至關重要。
專用安全元件提供各種架構並被不同的術語引用,例如片上和外部硬體安全模組(HSM)、安全元件、安全存儲子系統、金鑰庫和智慧卡等。這些元件必須包含針對上述攻擊的防篡改功能以保護其安全記憶體中的金鑰。
但是,一級供應商或OEM如何驗證實現的安全性足夠出色?安全元件供應商證明其安全價值的最佳方法是將元件提交給協力廠商進行漏洞評估。協力廠商應獲得北美認可的美國國家標準及技術研究所(NIST)、德國認可的聯邦資訊安全局(BSI)或全球認可的資訊系統安全高級官方合作組織(SOGIS)等可信機構的認證。
SOGIS認可的實驗室採用全球公認的聯合解析庫(JIL)漏洞評分系統,這套系統需要「白箱」測試(white-box testing),即提交IC的供應商必須提供有關元件設計(資料流程、子系統和記憶體映射定義)、硬體和韌體啟動序列、安全保護機制說明、完整資料手冊、安全和自舉程式指南文檔、所有可用代碼(RTL和C級、加密庫和韌體)、演算法實現、程式設計腳本、通信協定、晶片佈局以及原始程式碼的實驗室文檔。
實驗室隨後將查看所有文檔,制定針對所提交樣片的攻擊計畫。評分系統根據提取機密資訊金鑰花費的時長、所需的專業知識水準(應屆畢業生一直到專家)、對評估物件(TOE)的瞭解、對TOE的訪問(執行一次成功攻擊需要的樣片數)、駭客攻擊設備的複雜程度和成本以及訪問樣片的難易程度進行打分。
得到的JIL評分依次為無評級、基本、增強基本、中等和高,其中高評級是能夠實現的最高評分。JIL高評級以下表示實驗室能夠從元件提取私密金鑰。獲得JIL高評級的Microchip CryptoAutomotive™ TrustAnchor100(TA100)外部HSM等元件能夠承受超過3個月的攻擊,達到這一時間後,實驗室將宣佈元件遭到的攻擊無效。
片上還是片外,這是個問題。通過32位元雙核心微控制器(MCU)等片上解決方案升級前一代ECU的成本高昂,而在OEM要求實現真正的安全之前,標準MCU即可完全滿足前一代ECU的要求。如果要求完全重新構建應用程式碼,這些片上解決方案還會顯著推遲上市時間。內部開發安全代碼需要承擔極高的風險,而交給協力廠商處理則要支付高昂的費用。
此外,一級供應商也很難將此類解決方案大量應用於多種類型的ECU,因為每種類型都有不同的性能和外設要求。在這種背景下,外部HMS或配套安全元件能夠幫助一級供應商極大地減輕安全升級負擔。它們可以添加到現有設計中的標準MCU旁邊,也可以整合到具有不同主機MCU要求的所有新設計中。
TA100等外部HSM預先配置了全部安全代碼、金鑰和證書,可顯著縮短上市時間。給定與MCU無關的相關加密庫後,便可輕鬆移植到任何MCU。外部HSM可降低風險、縮短上市時間及減少總成本,為一級供應商提供了一條領先於完全重構方案的競爭對手、獲得商業成功的捷徑。
由於當今很多車輛支援聯網功能且車載網路通信量很大,因此對車輛安全的需求明顯遠超車輛報警。由於安全和品牌聲譽不容有失,因此在升級ECU時,請務必選擇經過協力廠商審查的真正安全元件,以滿足眾多全新OEM網路安全規範、SAE、ISO標準和地方政府的安全要求。
原文刊登於EDN China網站
加入LINE@,最新消息一手掌握!