為何汽車匙扣加密攻擊事件屢登新聞頭條
現代汽車本質上是「跑在輪子上的軟件系統」——是整合了娛樂、制動、動力、門鎖、車窗控制等各類車載系統的智能化集合。隨着車輛中電子控制單元(ECU)的數量激增,程式碼行數也隨之暴漲,為黑客留下大量可乘之機。
而內置身份驗證機制、用於管控車輛存取安全的小型硬件裝置——匙扣,已被證實是網絡犯罪分子攻擊車載系統的易入手目標。
和其他車載系統一樣,匙扣的功能也日趨複雜,支援各類擴展功能。它不僅能解鎖車門、解除安防系統、激活點火控制,還可用於降下車窗玻璃、打開天窗、摺疊後視鏡、設定座椅位置和收音機頻道。Tesla Model S 和 Model X 的匙扣甚至支援觸發自動泊車和自動駛出序列:按下匙扣上的「Summon(召喚)」按鍵,你的Tesla就會自動行駛到你面前。
這些豐富功能使得匙扣加密成為網絡攻擊極具吸引力的目標。功能越多,透過該介面傳輸的數據量就越大,黑客在嘗試破解加密方案、複製匙扣時可用於分析的數據也就越多。
匙扣加密的運作原理
絕大多數匙扣採用射頻識別(RFID)應答器,實現車輛解鎖及各類附加功能。
- 匙扣向車輛發送加密數據,這類數據通常為滾動碼,可供車輛識別匙扣身份。
- 隨後車輛對該數據進行解密,並基於解密後的數據完成身份驗證,確認該匙扣有權解鎖對應車輛。
- 身份驗證由車輛的防盜器完成,防盜器是車載防盜系統的組成部分。只有當防盜器成功完成匙扣的身份驗證後,車輛才能啟動,以此防範盜車賊透過搭線方式啟動車輛。
已有多種攻擊方式證實這類加密機制可被破解,未授權方可複製匙扣,隨後像車主本人一樣解鎖車輛並駕車離去。這類攻擊可繞過匙扣與防盜器之間的加密機制,造成嚴重的安全漏洞。
儘管目前在用的匙扣分很多種,但其實現所依託的底層技術大多相似,部分產品甚至採用了完全相同的晶片組。大多數匙扣使用對稱加密算法。在深入介紹匙扣的安全漏洞之前,我們先來詳細了解對稱加密與非對稱加密的區別。
非對稱加密與對稱加密
大多數安全協議和安全系統會同時使用對稱加密與非對稱加密。例如,SSL/TLS 證書在會話初始階段使用非對稱加密安全交換對稱密鑰,隨後在會話過程中切換為對稱加密,使用密鑰交換階段協商好的密鑰進行通訊。這種設計的原因值得說明。
對稱加密
對稱加密的原理非常直觀。通訊雙方共享同一個密鑰(見圖1)。
當然,這裡存在一個問題:如何交換密鑰才能避免被人或裝置截獲?這就需要用到非對稱加密,它可以實現對稱密鑰的安全交換。
非對稱加密
非對稱加密採用由公鑰和私鑰組成的密鑰對公鑰與私鑰(見圖2)。每個節點都擁有獨立的密鑰對,當中私鑰必須妥善保管、嚴格保密,公鑰則可分發給其他節點。
密鑰對的生成機制確保:使用公鑰加密的數據只能透過對應的正確私鑰解密,反之亦然。若設備A需要向設備B發送數據,設備A可使用設備B的公鑰加密數據,該數據僅能透過設備B的私鑰解密。由於只有設備B持有該私鑰,因此僅設備B可解密這段訊息。
所有密鑰對都存在數學關聯,以支撐上述加解密機制運作。
私鑰絕對不得交換,這點至關重要;僅可公開公鑰。公鑰與私鑰之間的數學關聯保證了:使用公鑰加密的數據只能透過配套私鑰解密,且僅能由預期接收方的私鑰解密。
非對稱加密的一個主要缺陷是,其CPU週期消耗可能達到對稱加密的100倍。這類處理負載會為各類系統帶來問題,尤其是執行時間敏感操作、和/或系統資源有限的嵌入式設備。對應的解決方案是:僅在初始階段運行非對稱加密會話,建立加密連接以交換秘密對稱密鑰;之後的通訊會話全程使用該對稱密鑰加密。
截至目前,多數汽車製造商為遙控鑰匙採用對稱加密方案,一旦對稱密鑰泄露,整個系統就會面臨安全風險。
遙控鑰匙加密失效案例
透過Google搜尋可快速檢索到大量已發生的遙控鑰匙加密失效事件。由於汽車廠商常在不同年款車型中複用技術,某一車型上發現的攻擊方式可能影響其他品牌和型號的車輛。目前已發現的遙控鑰匙系統漏洞包括:
- 重放攻擊漏洞:黑客可錄製遙控鑰匙發送的傳輸訊號,隨後向同一車輛重放該訊號。
- 由公開數據生成加密密鑰:部分場景下,加密密鑰可透過應答器公開可讀的資訊(如應答器序列號)經算法推導得出。一旦該算法被破解,即可為任意應答器生成對應密鑰。
- 加密密鑰生成的熵不足:安全密鑰必須具備隨機性,但許多遙控鑰匙無法獲取足夠的隨機數據支撐密鑰生成,導致生成的加密密鑰可被預測。
- 可被獲取的加密密鑰:某款遙控鑰匙的加密密鑰存儲在384字節的EEPROM中,攻擊者可結合讀取遙控鑰匙EEPROM的攻擊手段與暴力破解攻擊(嘗試EEPROM內所有字節序列匹配加密密鑰),最終獲取該密鑰。
- 密鑰強度不足,屬於已淘汰標準: 針對AES加密算法(對稱加密),NIST建議密鑰長度不低於128位。但部分遙控鑰匙僅使用40位或80位密鑰長度,導致相關方案極易被破解。
選用合適硬件提升遙控鑰匙安全性
上述所有失效場景的核心問題,都是試圖使用對稱加密算法做認證:對車輛用於校驗遙控鑰匙的共享滾動碼進行加密。此外,底層加密算法強度不足及其他實現缺陷,進一步加劇了安全問題。
歸根結底,強認證最適合透過非對稱加密實現。畢竟這正是非對稱加密的設計初衷。
要實現遙控鑰匙的高安全性,汽車廠商必須採購支持非對稱加密的硬件,確保選用合規的密鑰長度與算法,並驗證所有密鑰生成時使用了足夠的熵,保證密鑰真正隨機。
搭配合適軟件與公鑰基礎設施(PKI)優化遙控鑰匙加密
合適的硬件方案是打造汽車遙控鑰匙安全認證方案的第一步。硬件方案必須搭配不易被攻破的認證方案,當中採用非對稱加密的基於證書認證是可靠的解決方案。
落地這類方案需要一套公鑰基礎設施(PKI)來簽發和管理數碼證書,例如Sectigo的物聯網身份管理 平台可幫助整車廠商快速、便捷地部署可擴展、易管理且具備成本效益的公鑰基礎設施(PKI)方案。
車輛認證的獨特實現路徑
針對這一問題,蘋果採取了獨特的解決思路。2020年2月面向開發者推送的iOS 13.4版本中,新增了「CarKey API」。該API可與Apple Wallet配合,讓手機能夠向車輛的身份認證應用完成認證。由於認證的對端是車輛端應用,認證強度仍取決於車企對該車輛應用的實現方式。
話雖如此,該方案確實解決了很多主打極低成本設計的遙控匙普遍存在的問題。iPhone自帶足夠的處理能力和安全特性,可實現強身份認證,且不會推高遙控匙的成本。此外,蘋果始終在產品中內置高強度安全機制,不太可能出現很多遙控匙系統存在的安全設計疏漏。
其他企業也在研發智能手機應用,同時落地生物識別認證方案,用來替代基於遙控匙的方案或作為其補充。
小結
簡言之,密碼學的落地難度極高。新的密碼方案必須經過大量安全專家全面、廣泛的驗證,才能被廣泛接受。幾乎所有安全關鍵系統都會採用經NIST批准的安全算法,以及NIST推薦的密鑰強度。只要設計環節偏離了這些經過批准和驗證的安全算法,方案就可能存在漏洞風險。為設備新增安全能力時,必須確保系統能夠抵禦常見攻擊,並且採用與該設備安全需求匹配的密碼方案。僅僅因為成本低或實現方便就選用某種密碼算法是完全不可取的——對於下一代智能網聯自動駕駛汽車而言更是如此。
你可以收聽Root Cause欄目的《汽車遙控匙與密碼學》”.
參考資料:
https://gizmodo.com/encryption-flaws-leave-millions-of-toyota-kia-and-hyu-1842132716
https://the-parallax.com/2019/05/03/hacker-ford-key-fob-vulnerability/
https://www.komando.com/news/car-key-fob-hack/710010/
https://www.cnet.com/roadshow/news/tesla-key-fob-model-s-new-vulnerability-hack/
https://tches.iacr.org/index.php/TCHES/article/view/8546/8111

