張 林, 李 琳, 張樹祥
(南京汽車集團汽車工程研究院, 江蘇 南京 220000)
智能網聯汽車可提供更安全、節能、環保、舒適的出行方式,是城市智能交通系統的重要組成部分,也是構建綠色汽車社會以及智慧城市的核心要素。中國政府在2015年5月發布的《中國制造2025》戰略規劃中明確提出:到2020年,掌握智能輔助駕駛總體技術及各項關鍵技術,初步建立智能網聯商用車自主研發體系及生產配套體系;到2025年,掌握自動駕駛總體技術及各項關鍵技術,建立較完善的智能網聯汽車自主研發體系、生產配套體系及產業群,基本完成汽車產業轉型升級的發展目標。因此,研究智能網聯汽車具有極為重要的意義,已成為全球汽車產業界的關注焦點,也符合中國汽車產業發展的國家戰略要求,是搶占未來汽車工程領域關鍵核心技術制高點的必然選擇。
1) 全新的外部環境
在構建智能網聯汽車體系中,車與云,車與車,車與路,車與人之間通過多種通信方式進行互聯互通,汽車不再是獨立的個體,而是全面地融入了整個社會大物流體系中,一方面它有利于車輛利用效率的提高,但另一方面車輛面臨前所未有的復雜網絡環境。車與云,車與車,車與路,車與人之間雙向交互如圖1所示。

圖1 車與云, 車與車, 車與路, 車與人之間雙向交互
2) 車載網絡的先天不足
車載網絡是封閉式網絡,包含了以太網、CANFD、高速CAN、低速CAN、LIN網絡等多種通信協議,并由100多個ECU節點組成,各節點明文廣播通信,安全防護低。車載網絡安全漏洞如圖2所示。
遠程攻擊都是先通過網絡漏洞侵入,再利用軟件系統漏洞控制聯網元器件,最后利用車電網絡漏洞入侵到車內網絡(圖3)。國內外多個白帽黑客團隊或公司對車輛車內CAN網絡進行了遠程攻擊,成功侵入了車載網絡,接管了車輛的控制權,并實現惡意控制車輛行駛。
很多公司車輛因被攻擊,產生了嚴重的后果。以下收集了2017到2020年,一些公司被攻擊的途徑,及其攻擊的后果,如圖4所示。
當前各大主機車開展智能網聯安全研究,在外部攻擊網絡的路徑上,實施更加安全的策略,阻擊外部的攻擊,保證車輛的安全駕駛。當前主要的研究在智能網聯的平臺端、通信鏈路,以及車載網絡廣播通信協議的安全性方面做了大量的研究,見表1。但很多研究中車內網絡ECU節點間以非一次一密的加密方式進行信息交互,不可避免地帶來車內信息泄露及ECU節點身份假冒風險的增加,車載網絡安全仍然十分的脆弱。

圖2 車載網絡安全漏洞

圖3 攻擊路徑

圖4 車輛攻擊途徑和后果
當前車載網絡是多協議、多控制器復雜網絡,各子網之間的數據信息的交互通過GECU (網關) 節點進行路由互連,各子網內的信息通信在內部各ECU節點之間進行交互。車載總線網絡架構見圖5。
1) 缺少加密機制,ECU節點以明文方式進行數據交互。
2) 缺少認證機制,CAN數據幀格式中沒有認證域,惡意ECU節點能偽造和控制。
3) 廣播通信,攻擊者能夠輕易地對廣播信道進行竊聽,在車內發送惡意控制數據。
4) 訪問控制的脆弱性,很多開放的訪問接口,使得攻擊者易利用這些訪問接口刷新ECU節點的內部存儲,并通過廣播、通信機制實現對車內數據信息的非授權訪問。

表1 國內車研究
車載網絡安全脆弱性,提出了全新的解決方案。

圖5 車載總線網絡架構
1) 對于外部設備接入帶來的假冒、未授權ECU節點非法訪問車內數據及ECU節點間通信數據易泄露的安全問題,將傳統的傳輸層、網絡層和數據鏈路層合并為網絡傳輸層,從物理層、網絡傳輸層、應用層以及貫穿其中的安全基礎理論的角度,研究“三橫一縱”的車載網安全通信協議架構,針對車載網絡節點的計算、存儲、帶寬、能量等資源十分有限,其上運行的協議棧不能太復雜的問題,設計一種適合各層通信的網絡傳輸層協議,為車載網絡安全通信奠定基礎。
2) 對于ECU間交互認證過程帶來的隱私泄露問題,運用哈希函數理論,研究一種輕量級雙向認證密鑰交換協議,通過對ECU節點的ID身份信息和初始工作狀態信息進行認證來判斷該節點身份的合法性針對ECU需要選擇性地獲取信息進行解密,對基于屬性的車載單元進行研究。
3) 對于明文的不加密的廣播通信,使ECU的ID與屬性集相關,敏感數據在對屬性的訪問結構下被加密成密文,在此基礎上根據車載特性如車速信息隨時變化的特點研究基于身份的一次一密車載通信協議。
4) 對于車載網的特征與內部攻擊的特點,對比傳統的靜態匹配字符串的設備識別技術,將外部設備識別與認證體制結合,研究基于設備指紋的身份認證模型,將唯一信息與存儲的信息相匹配,采集的所有非唯一設備數據組成一個由配置信息指紋元素構成的設備指紋,為進一步研究物理層基于統計數據以及貝葉斯方法的外部設備接入識別模型奠定了基礎。
2.3.1 車載安全通信協議架構設計
應用智能網聯汽車車載網絡研究領域涉及的安全理論和技術,分析TCP/IP協議中應用層單點故障,具有較差的服務擴展性和傳輸層信號誤碼率高,具有很差連通性的跨層復雜性問題,研究車載網通信協議架構,將傳統的傳輸層、網絡層和數據鏈路層合并為網絡傳輸層,從物理層、網絡傳輸層、應用層以及貫穿其中的安全基礎理論的角度,創新建立新型的智能網聯汽車車載網絡“三橫一縱”安全通信架構,見圖6。

圖6 “三橫一縱” 安全通信架構
2.3.2 零知識身份認證算法
運用哈希函數理論,易于實現并滿足輕量級要求,研究一種輕量級雙向認證密鑰交換協議,通過對ECU節點的ID身份信息和初始工作狀態信息進行認證來判斷該節點身份的合法性,因此,實現ECU和網關間的相互認證和密鑰協商。ECU間輕量級雙向認證如圖7所示。

圖7 ECU間輕量級雙向認證
當車輛啟動時,GECU和ECU之間零知識身份認證協議進行雙向認證,GECU記錄下認證合法的ECU的身份和屬性信息。在GECU和ECU之間構造基于準并矢糾錯碼的零知識身份認證協議,建立ECU和車載網關GECU之間的相互認證機制。認證過程包含如下兩步。
1) 系統初始化(圖8)

圖8 系統初始化
2) 身份認證
認證協議的每一輪中,證明者ECU和驗證者GECU需要進行5次交互。身份認證如圖9所示。
2.3.3 基于屬性的細粒度訪問控制策略研究
對ECU需要選擇性地獲取信息進行解密,對基于屬性的車載單元進行研究,使得ECU的ID與屬性集相關,敏感數據在對屬性的訪問結構下被加密成密文,當且僅當其屬性滿足與密文相關的訪問結構的ECU才能解密密文,按照屬性重新劃分的車載網絡如圖10所示。

圖9 身份認證

圖10 按照屬性重新劃分的車載網絡
ECU功能屬性的基礎上,設計如表2所示功能屬性集。

表2 ECU功能屬性集
2.3.3.1 訪問控制模型
基于CP-ABE機制設計車內網絡ECU節點通信中的數據訪問策略。通過ECU節點的屬性私鑰與訪問結構的匹配來實現,基于ECU功能屬性的車內網絡數據訪問模型見圖11。
2.3.3.2 基于CP-ABE機制設計訪問樹結構
車內的ECU具有不同的功能屬性集,根據屬性集可生成相應的屬性私鑰和訪問結構。當ECU作為發送方時,根據訪問結構對數據進行加密,見圖12。

圖11 基于ECU功能屬性的車內網絡數據訪問模型
2.3.3.3 基于ECU屬性的訪問策略
ECU作為接收方時,如果接收方ECU與發送方ECU的功能屬性集有重合即至少具有一個相同的功能屬性時,接收方的屬性私鑰就能滿足發送方的訪問結構并能成功解密密文獲得明文數據,見圖13。

圖12 訪問結構樹

圖13 基于ECU屬性的訪問策略
2.3.4 車內網絡一次一密通信協議研究
在車內ECU的安全通信中設計利用真隨機實現的一次一密車載通信協議,先利用平均測量方法得到噪聲電壓,再經過預處理及異或鏈與哈希函數相結合的后處理方法得到隨機數。車載電池電壓真隨機的采集見圖14。

圖14 車載電池電壓真隨機的采集
由于車載外部環境對電壓噪聲的影響,使得到的電壓隨機序列分布產生偏差,因此采取預處理的方法對其進行修正。預處理流程如圖15所示。

圖15 預處理流程圖
將得到的序列進行哈希函數處理,采用SHA-256算法將處理后的隨機序列的位數進行轉換得到最終的隨機數序列,見圖16。

圖16 隨機數序列流程
2.3.5 基于一次一密的數據加密傳輸過程
根據臨時會話密鑰SessionK,就可以對ECU之間信息傳輸進行加密。CAN總線上一次性傳輸的最大數據幀為64位,因此超過64位的信息就要進行分組傳輸。在上一部分得到的臨時會話密鑰中前8位為序列號,該序列號對應著分組傳輸,對需要加密的明文進行分組,每組的前8位為序列號(用P表示,則P=明文長度/56),其后56位為需要加密的明文。解密之后,依據序列號順序將明文連接起來,得到最終的明文信息,見圖17。
驗證車載網絡安全的測試分為系統級及子系統級兩級測試,車載網絡安全的系統級測試有:抵抗重放攻擊、假冒節點攻擊;抵抗惡意信息泄露;抵抗外部接入設備硬件攻擊。車載網絡安全的子系統級測試有:子系統級車載網絡隨機數性能測試、一次一密隨機數性能測試、車載網絡認證鑒權體制試驗測試、車載網絡隨機密鑰分發試驗測試、車載網絡輕量級信息加解密試驗測試。

圖17 明文加密
車載網絡安全的測試準備:4個控制(GECU+3個ECU)、測試工具為CANTEST、 連接器,相關參數詳見表3,測試樣品及測試環境見圖18。車載網絡安全系統測試詳見表4。

表3 車載網絡安全的測試參數

圖18 測試樣品及測試環境
1) 抵抗重放攻擊、假冒節點攻擊
攻擊者利用假冒ECU4冒充ECU1的ID對ECU3進行重放攻擊,密鑰更新為了更高的安全性,我們在采集的序列數后依次加上滾碼生成的密鑰來抵抗重放攻擊,此密鑰具有較強的隨機性且不重復(滾碼,以T為周期,從01到T依次加在各個密鑰末尾,如999999901、888888802、777777703……)。原始回執包和重放回執包比較,有相同的密文,即視為ECU4為非法ECU。表明可有效抵抗重放和假冒節點攻擊。
2) 抵抗惡意信息泄露
竊取到的數據是加密過的,解密的密鑰具有較高的隨機性和滾碼性質,攻擊者很難猜測到復雜的密鑰,因此密文無法被解密成明文,敏感信息無法被惡意泄露。竊取到的數據為密文,抵抗攻擊成功。表明可有效抵抗信息泄露攻擊。
3) 抵抗外部接入設備硬件攻擊
當新型車載系統中接入外部設備時,整個系統首先對其進行零知識身份認證,如果該設備的身份非法,那么此設備無法獲得密鑰,從而無法進行加密通信,此外,就算該設備合法,其也無法竊取車內隱私消息,因為所設計的系統中的消息是加密的。表明可有效抵抗外部節點接入攻擊。

表4 車載網絡安全系統測試
3.2.1 車載網絡隨機數性能測試
15個測試項,用來檢測任意長度二進制序列的隨機性,其中每項測試都有一個判定值P-value。詳見表5。

表5 15個測試項
使用美國國家標準與技術研究院提供的SpecialPublication,800-22測試包,即NIST隨機性測試,試驗結果表明15個測試項的P-value值全部大于0.01,說明從汽車內部提取并經過處理的電壓噪聲是符合隨機數特性的,可以用作密鑰進行安全通信。
3.2.2 車載網絡身份認證體制測試(表6)

表6 車載網絡身份認證體制測試
試驗結果表明:GECU對驗證成功的3個ECU發送1001,ECU1驗證成功后給ECU2返回驗證成功的標志448,ECU2驗證成功后給ECU3返回驗證成功的標志447,全部認證完成后,ECU3給GECU返回標志446,表明全部驗證達到認證要求。
3.2.3 車載網絡身份認證體制測試(表7)
試驗結果表明:GECU對驗證成功的3個ECU發送隨機數,ECU1、ECU2、ECU3均解密成功,表明密鑰分發驗證滿足要求

表7 車載網絡身份認證體制測試
3.2.4 車載網絡輕量級信息加解密試驗測試(表8)
試驗結果表明:ECU1對加密nanqi,廣播密文,ECU2對密文解密失敗且返回66,ECU3對密文解密成功且返回55,表明通信加解密滿足要求。
以上經過第3方中汽研 (天津) 汽車工程研究院測試,測試通過,如圖19所示。

表8 車載網絡輕量級信息加解密試驗測試

圖19 測試結果
經過車載端網絡安全的系統設計研究及關鍵技術開發,總結如下。
1) 針對車載網絡節點的計算、存儲、帶寬、能量等資源十分有限,其上運行的協議棧不能太復雜的問題,設計了一種適用于當前智能網聯環境的車載網安全通信結構,為車輛內部節點之間的安全通信和研究并提出安全保護方案奠定基礎。
2) 提出一種基于ECU身份隱藏的車內網絡一次一密通信方法,在會話密鑰的生成過程中結合車輛受外部環境影響的隨機特性考慮密鑰更新,解決了車內網絡中ECU的隱私數據信息被篡改、假冒等安全問題。
3) 針對車內網絡資源受限條件下的無線接入設備身份信息易被偽造、篡改等問題,設計了車內網絡中基于零知識的輕量級身份認證協議,從而保證智能網聯汽車環境下車內網絡安全、高效通信。
4) 根據車內電子控制單元ECU的服務屬性,進行細粒度訪問控制刻畫,實現了車內隱私數據有選擇地共享。
5) 搭建了“三橫一縱”新型車載網絡安全通信架構,并進行了性能測試及攻擊測試。測試結果表明,設計的架構滿足車內網的實時通信需求,并且抵抗重放攻擊、假冒節點攻擊、惡意信息泄露及外部接入設備硬件攻擊成功率100%。
下一步,車載端網絡安全的系統設計研究及關鍵技術將應用到上汽商用輕卡的車聯網系統中,打造安全的商用車運營生態物流圈。