張 林, 李 琳, 張樹祥
(南京汽車集團(tuán)汽車工程研究院, 江蘇 南京 220000)
智能網(wǎng)聯(lián)汽車可提供更安全、節(jié)能、環(huán)保、舒適的出行方式,是城市智能交通系統(tǒng)的重要組成部分,也是構(gòu)建綠色汽車社會以及智慧城市的核心要素。中國政府在2015年5月發(fā)布的《中國制造2025》戰(zhàn)略規(guī)劃中明確提出:到2020年,掌握智能輔助駕駛總體技術(shù)及各項關(guān)鍵技術(shù),初步建立智能網(wǎng)聯(lián)商用車自主研發(fā)體系及生產(chǎn)配套體系;到2025年,掌握自動駕駛總體技術(shù)及各項關(guān)鍵技術(shù),建立較完善的智能網(wǎng)聯(lián)汽車自主研發(fā)體系、生產(chǎn)配套體系及產(chǎn)業(yè)群,基本完成汽車產(chǎn)業(yè)轉(zhuǎn)型升級的發(fā)展目標(biāo)。因此,研究智能網(wǎng)聯(lián)汽車具有極為重要的意義,已成為全球汽車產(chǎn)業(yè)界的關(guān)注焦點,也符合中國汽車產(chǎn)業(yè)發(fā)展的國家戰(zhàn)略要求,是搶占未來汽車工程領(lǐng)域關(guān)鍵核心技術(shù)制高點的必然選擇。
1) 全新的外部環(huán)境
在構(gòu)建智能網(wǎng)聯(lián)汽車體系中,車與云,車與車,車與路,車與人之間通過多種通信方式進(jìn)行互聯(lián)互通,汽車不再是獨(dú)立的個體,而是全面地融入了整個社會大物流體系中,一方面它有利于車輛利用效率的提高,但另一方面車輛面臨前所未有的復(fù)雜網(wǎng)絡(luò)環(huán)境。車與云,車與車,車與路,車與人之間雙向交互如圖1所示。
圖1 車與云, 車與車, 車與路, 車與人之間雙向交互
2) 車載網(wǎng)絡(luò)的先天不足
車載網(wǎng)絡(luò)是封閉式網(wǎng)絡(luò),包含了以太網(wǎng)、CANFD、高速CAN、低速CAN、LIN網(wǎng)絡(luò)等多種通信協(xié)議,并由100多個ECU節(jié)點組成,各節(jié)點明文廣播通信,安全防護(hù)低。車載網(wǎng)絡(luò)安全漏洞如圖2所示。
遠(yuǎn)程攻擊都是先通過網(wǎng)絡(luò)漏洞侵入,再利用軟件系統(tǒng)漏洞控制聯(lián)網(wǎng)元器件,最后利用車電網(wǎng)絡(luò)漏洞入侵到車內(nèi)網(wǎng)絡(luò)(圖3)。國內(nèi)外多個白帽黑客團(tuán)隊或公司對車輛車內(nèi)CAN網(wǎng)絡(luò)進(jìn)行了遠(yuǎn)程攻擊,成功侵入了車載網(wǎng)絡(luò),接管了車輛的控制權(quán),并實現(xiàn)惡意控制車輛行駛。
很多公司車輛因被攻擊,產(chǎn)生了嚴(yán)重的后果。以下收集了2017到2020年,一些公司被攻擊的途徑,及其攻擊的后果,如圖4所示。
當(dāng)前各大主機(jī)車開展智能網(wǎng)聯(lián)安全研究,在外部攻擊網(wǎng)絡(luò)的路徑上,實施更加安全的策略,阻擊外部的攻擊,保證車輛的安全駕駛。當(dāng)前主要的研究在智能網(wǎng)聯(lián)的平臺端、通信鏈路,以及車載網(wǎng)絡(luò)廣播通信協(xié)議的安全性方面做了大量的研究,見表1。但很多研究中車內(nèi)網(wǎng)絡(luò)ECU節(jié)點間以非一次一密的加密方式進(jìn)行信息交互,不可避免地帶來車內(nèi)信息泄露及ECU節(jié)點身份假冒風(fēng)險的增加,車載網(wǎng)絡(luò)安全仍然十分的脆弱。
圖2 車載網(wǎng)絡(luò)安全漏洞
圖3 攻擊路徑
圖4 車輛攻擊途徑和后果
當(dāng)前車載網(wǎng)絡(luò)是多協(xié)議、多控制器復(fù)雜網(wǎng)絡(luò),各子網(wǎng)之間的數(shù)據(jù)信息的交互通過GECU (網(wǎng)關(guān)) 節(jié)點進(jìn)行路由互連,各子網(wǎng)內(nèi)的信息通信在內(nèi)部各ECU節(jié)點之間進(jìn)行交互。車載總線網(wǎng)絡(luò)架構(gòu)見圖5。
1) 缺少加密機(jī)制,ECU節(jié)點以明文方式進(jìn)行數(shù)據(jù)交互。
2) 缺少認(rèn)證機(jī)制,CAN數(shù)據(jù)幀格式中沒有認(rèn)證域,惡意ECU節(jié)點能偽造和控制。
3) 廣播通信,攻擊者能夠輕易地對廣播信道進(jìn)行竊聽,在車內(nèi)發(fā)送惡意控制數(shù)據(jù)。
4) 訪問控制的脆弱性,很多開放的訪問接口,使得攻擊者易利用這些訪問接口刷新ECU節(jié)點的內(nèi)部存儲,并通過廣播、通信機(jī)制實現(xiàn)對車內(nèi)數(shù)據(jù)信息的非授權(quán)訪問。
表1 國內(nèi)車研究
車載網(wǎng)絡(luò)安全脆弱性,提出了全新的解決方案。
圖5 車載總線網(wǎng)絡(luò)架構(gòu)
1) 對于外部設(shè)備接入帶來的假冒、未授權(quán)ECU節(jié)點非法訪問車內(nèi)數(shù)據(jù)及ECU節(jié)點間通信數(shù)據(jù)易泄露的安全問題,將傳統(tǒng)的傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層合并為網(wǎng)絡(luò)傳輸層,從物理層、網(wǎng)絡(luò)傳輸層、應(yīng)用層以及貫穿其中的安全基礎(chǔ)理論的角度,研究“三橫一縱”的車載網(wǎng)安全通信協(xié)議架構(gòu),針對車載網(wǎng)絡(luò)節(jié)點的計算、存儲、帶寬、能量等資源十分有限,其上運(yùn)行的協(xié)議棧不能太復(fù)雜的問題,設(shè)計一種適合各層通信的網(wǎng)絡(luò)傳輸層協(xié)議,為車載網(wǎng)絡(luò)安全通信奠定基礎(chǔ)。
2) 對于ECU間交互認(rèn)證過程帶來的隱私泄露問題,運(yùn)用哈希函數(shù)理論,研究一種輕量級雙向認(rèn)證密鑰交換協(xié)議,通過對ECU節(jié)點的ID身份信息和初始工作狀態(tài)信息進(jìn)行認(rèn)證來判斷該節(jié)點身份的合法性針對ECU需要選擇性地獲取信息進(jìn)行解密,對基于屬性的車載單元進(jìn)行研究。
3) 對于明文的不加密的廣播通信,使ECU的ID與屬性集相關(guān),敏感數(shù)據(jù)在對屬性的訪問結(jié)構(gòu)下被加密成密文,在此基礎(chǔ)上根據(jù)車載特性如車速信息隨時變化的特點研究基于身份的一次一密車載通信協(xié)議。
4) 對于車載網(wǎng)的特征與內(nèi)部攻擊的特點,對比傳統(tǒng)的靜態(tài)匹配字符串的設(shè)備識別技術(shù),將外部設(shè)備識別與認(rèn)證體制結(jié)合,研究基于設(shè)備指紋的身份認(rèn)證模型,將唯一信息與存儲的信息相匹配,采集的所有非唯一設(shè)備數(shù)據(jù)組成一個由配置信息指紋元素構(gòu)成的設(shè)備指紋,為進(jìn)一步研究物理層基于統(tǒng)計數(shù)據(jù)以及貝葉斯方法的外部設(shè)備接入識別模型奠定了基礎(chǔ)。
2.3.1 車載安全通信協(xié)議架構(gòu)設(shè)計
應(yīng)用智能網(wǎng)聯(lián)汽車車載網(wǎng)絡(luò)研究領(lǐng)域涉及的安全理論和技術(shù),分析TCP/IP協(xié)議中應(yīng)用層單點故障,具有較差的服務(wù)擴(kuò)展性和傳輸層信號誤碼率高,具有很差連通性的跨層復(fù)雜性問題,研究車載網(wǎng)通信協(xié)議架構(gòu),將傳統(tǒng)的傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層合并為網(wǎng)絡(luò)傳輸層,從物理層、網(wǎng)絡(luò)傳輸層、應(yīng)用層以及貫穿其中的安全基礎(chǔ)理論的角度,創(chuàng)新建立新型的智能網(wǎng)聯(lián)汽車車載網(wǎng)絡(luò)“三橫一縱”安全通信架構(gòu),見圖6。
圖6 “三橫一縱” 安全通信架構(gòu)
2.3.2 零知識身份認(rèn)證算法
運(yùn)用哈希函數(shù)理論,易于實現(xiàn)并滿足輕量級要求,研究一種輕量級雙向認(rèn)證密鑰交換協(xié)議,通過對ECU節(jié)點的ID身份信息和初始工作狀態(tài)信息進(jìn)行認(rèn)證來判斷該節(jié)點身份的合法性,因此,實現(xiàn)ECU和網(wǎng)關(guān)間的相互認(rèn)證和密鑰協(xié)商。ECU間輕量級雙向認(rèn)證如圖7所示。
圖7 ECU間輕量級雙向認(rèn)證
當(dāng)車輛啟動時,GECU和ECU之間零知識身份認(rèn)證協(xié)議進(jìn)行雙向認(rèn)證,GECU記錄下認(rèn)證合法的ECU的身份和屬性信息。在GECU和ECU之間構(gòu)造基于準(zhǔn)并矢糾錯碼的零知識身份認(rèn)證協(xié)議,建立ECU和車載網(wǎng)關(guān)GECU之間的相互認(rèn)證機(jī)制。認(rèn)證過程包含如下兩步。
1) 系統(tǒng)初始化(圖8)
圖8 系統(tǒng)初始化
2) 身份認(rèn)證
認(rèn)證協(xié)議的每一輪中,證明者ECU和驗證者GECU需要進(jìn)行5次交互。身份認(rèn)證如圖9所示。
2.3.3 基于屬性的細(xì)粒度訪問控制策略研究
對ECU需要選擇性地獲取信息進(jìn)行解密,對基于屬性的車載單元進(jìn)行研究,使得ECU的ID與屬性集相關(guān),敏感數(shù)據(jù)在對屬性的訪問結(jié)構(gòu)下被加密成密文,當(dāng)且僅當(dāng)其屬性滿足與密文相關(guān)的訪問結(jié)構(gòu)的ECU才能解密密文,按照屬性重新劃分的車載網(wǎng)絡(luò)如圖10所示。
圖9 身份認(rèn)證
圖10 按照屬性重新劃分的車載網(wǎng)絡(luò)
ECU功能屬性的基礎(chǔ)上,設(shè)計如表2所示功能屬性集。
表2 ECU功能屬性集
2.3.3.1 訪問控制模型
基于CP-ABE機(jī)制設(shè)計車內(nèi)網(wǎng)絡(luò)ECU節(jié)點通信中的數(shù)據(jù)訪問策略。通過ECU節(jié)點的屬性私鑰與訪問結(jié)構(gòu)的匹配來實現(xiàn),基于ECU功能屬性的車內(nèi)網(wǎng)絡(luò)數(shù)據(jù)訪問模型見圖11。
2.3.3.2 基于CP-ABE機(jī)制設(shè)計訪問樹結(jié)構(gòu)
車內(nèi)的ECU具有不同的功能屬性集,根據(jù)屬性集可生成相應(yīng)的屬性私鑰和訪問結(jié)構(gòu)。當(dāng)ECU作為發(fā)送方時,根據(jù)訪問結(jié)構(gòu)對數(shù)據(jù)進(jìn)行加密,見圖12。
圖11 基于ECU功能屬性的車內(nèi)網(wǎng)絡(luò)數(shù)據(jù)訪問模型
2.3.3.3 基于ECU屬性的訪問策略
ECU作為接收方時,如果接收方ECU與發(fā)送方ECU的功能屬性集有重合即至少具有一個相同的功能屬性時,接收方的屬性私鑰就能滿足發(fā)送方的訪問結(jié)構(gòu)并能成功解密密文獲得明文數(shù)據(jù),見圖13。
圖12 訪問結(jié)構(gòu)樹
圖13 基于ECU屬性的訪問策略
2.3.4 車內(nèi)網(wǎng)絡(luò)一次一密通信協(xié)議研究
在車內(nèi)ECU的安全通信中設(shè)計利用真隨機(jī)實現(xiàn)的一次一密車載通信協(xié)議,先利用平均測量方法得到噪聲電壓,再經(jīng)過預(yù)處理及異或鏈與哈希函數(shù)相結(jié)合的后處理方法得到隨機(jī)數(shù)。車載電池電壓真隨機(jī)的采集見圖14。
圖14 車載電池電壓真隨機(jī)的采集
由于車載外部環(huán)境對電壓噪聲的影響,使得到的電壓隨機(jī)序列分布產(chǎn)生偏差,因此采取預(yù)處理的方法對其進(jìn)行修正。預(yù)處理流程如圖15所示。
圖15 預(yù)處理流程圖
將得到的序列進(jìn)行哈希函數(shù)處理,采用SHA-256算法將處理后的隨機(jī)序列的位數(shù)進(jìn)行轉(zhuǎn)換得到最終的隨機(jī)數(shù)序列,見圖16。
圖16 隨機(jī)數(shù)序列流程
2.3.5 基于一次一密的數(shù)據(jù)加密傳輸過程
根據(jù)臨時會話密鑰SessionK,就可以對ECU之間信息傳輸進(jìn)行加密。CAN總線上一次性傳輸?shù)淖畲髷?shù)據(jù)幀為64位,因此超過64位的信息就要進(jìn)行分組傳輸。在上一部分得到的臨時會話密鑰中前8位為序列號,該序列號對應(yīng)著分組傳輸,對需要加密的明文進(jìn)行分組,每組的前8位為序列號(用P表示,則P=明文長度/56),其后56位為需要加密的明文。解密之后,依據(jù)序列號順序?qū)⒚魑倪B接起來,得到最終的明文信息,見圖17。
驗證車載網(wǎng)絡(luò)安全的測試分為系統(tǒng)級及子系統(tǒng)級兩級測試,車載網(wǎng)絡(luò)安全的系統(tǒng)級測試有:抵抗重放攻擊、假冒節(jié)點攻擊;抵抗惡意信息泄露;抵抗外部接入設(shè)備硬件攻擊。車載網(wǎng)絡(luò)安全的子系統(tǒng)級測試有:子系統(tǒng)級車載網(wǎng)絡(luò)隨機(jī)數(shù)性能測試、一次一密隨機(jī)數(shù)性能測試、車載網(wǎng)絡(luò)認(rèn)證鑒權(quán)體制試驗測試、車載網(wǎng)絡(luò)隨機(jī)密鑰分發(fā)試驗測試、車載網(wǎng)絡(luò)輕量級信息加解密試驗測試。
圖17 明文加密
車載網(wǎng)絡(luò)安全的測試準(zhǔn)備:4個控制(GECU+3個ECU)、測試工具為CANTEST、 連接器,相關(guān)參數(shù)詳見表3,測試樣品及測試環(huán)境見圖18。車載網(wǎng)絡(luò)安全系統(tǒng)測試詳見表4。
表3 車載網(wǎng)絡(luò)安全的測試參數(shù)
圖18 測試樣品及測試環(huán)境
1) 抵抗重放攻擊、假冒節(jié)點攻擊
攻擊者利用假冒ECU4冒充ECU1的ID對ECU3進(jìn)行重放攻擊,密鑰更新為了更高的安全性,我們在采集的序列數(shù)后依次加上滾碼生成的密鑰來抵抗重放攻擊,此密鑰具有較強(qiáng)的隨機(jī)性且不重復(fù)(滾碼,以T為周期,從01到T依次加在各個密鑰末尾,如999999901、888888802、777777703……)。原始回執(zhí)包和重放回執(zhí)包比較,有相同的密文,即視為ECU4為非法ECU。表明可有效抵抗重放和假冒節(jié)點攻擊。
2) 抵抗惡意信息泄露
竊取到的數(shù)據(jù)是加密過的,解密的密鑰具有較高的隨機(jī)性和滾碼性質(zhì),攻擊者很難猜測到復(fù)雜的密鑰,因此密文無法被解密成明文,敏感信息無法被惡意泄露。竊取到的數(shù)據(jù)為密文,抵抗攻擊成功。表明可有效抵抗信息泄露攻擊。
3) 抵抗外部接入設(shè)備硬件攻擊
當(dāng)新型車載系統(tǒng)中接入外部設(shè)備時,整個系統(tǒng)首先對其進(jìn)行零知識身份認(rèn)證,如果該設(shè)備的身份非法,那么此設(shè)備無法獲得密鑰,從而無法進(jìn)行加密通信,此外,就算該設(shè)備合法,其也無法竊取車內(nèi)隱私消息,因為所設(shè)計的系統(tǒng)中的消息是加密的。表明可有效抵抗外部節(jié)點接入攻擊。
表4 車載網(wǎng)絡(luò)安全系統(tǒng)測試
3.2.1 車載網(wǎng)絡(luò)隨機(jī)數(shù)性能測試
15個測試項,用來檢測任意長度二進(jìn)制序列的隨機(jī)性,其中每項測試都有一個判定值P-value。詳見表5。
表5 15個測試項
使用美國國家標(biāo)準(zhǔn)與技術(shù)研究院提供的SpecialPublication,800-22測試包,即NIST隨機(jī)性測試,試驗結(jié)果表明15個測試項的P-value值全部大于0.01,說明從汽車內(nèi)部提取并經(jīng)過處理的電壓噪聲是符合隨機(jī)數(shù)特性的,可以用作密鑰進(jìn)行安全通信。
3.2.2 車載網(wǎng)絡(luò)身份認(rèn)證體制測試(表6)
表6 車載網(wǎng)絡(luò)身份認(rèn)證體制測試
試驗結(jié)果表明:GECU對驗證成功的3個ECU發(fā)送1001,ECU1驗證成功后給ECU2返回驗證成功的標(biāo)志448,ECU2驗證成功后給ECU3返回驗證成功的標(biāo)志447,全部認(rèn)證完成后,ECU3給GECU返回標(biāo)志446,表明全部驗證達(dá)到認(rèn)證要求。
3.2.3 車載網(wǎng)絡(luò)身份認(rèn)證體制測試(表7)
試驗結(jié)果表明:GECU對驗證成功的3個ECU發(fā)送隨機(jī)數(shù),ECU1、ECU2、ECU3均解密成功,表明密鑰分發(fā)驗證滿足要求
表7 車載網(wǎng)絡(luò)身份認(rèn)證體制測試
3.2.4 車載網(wǎng)絡(luò)輕量級信息加解密試驗測試(表8)
試驗結(jié)果表明:ECU1對加密nanqi,廣播密文,ECU2對密文解密失敗且返回66,ECU3對密文解密成功且返回55,表明通信加解密滿足要求。
以上經(jīng)過第3方中汽研 (天津) 汽車工程研究院測試,測試通過,如圖19所示。
表8 車載網(wǎng)絡(luò)輕量級信息加解密試驗測試
圖19 測試結(jié)果
經(jīng)過車載端網(wǎng)絡(luò)安全的系統(tǒng)設(shè)計研究及關(guān)鍵技術(shù)開發(fā),總結(jié)如下。
1) 針對車載網(wǎng)絡(luò)節(jié)點的計算、存儲、帶寬、能量等資源十分有限,其上運(yùn)行的協(xié)議棧不能太復(fù)雜的問題,設(shè)計了一種適用于當(dāng)前智能網(wǎng)聯(lián)環(huán)境的車載網(wǎng)安全通信結(jié)構(gòu),為車輛內(nèi)部節(jié)點之間的安全通信和研究并提出安全保護(hù)方案奠定基礎(chǔ)。
2) 提出一種基于ECU身份隱藏的車內(nèi)網(wǎng)絡(luò)一次一密通信方法,在會話密鑰的生成過程中結(jié)合車輛受外部環(huán)境影響的隨機(jī)特性考慮密鑰更新,解決了車內(nèi)網(wǎng)絡(luò)中ECU的隱私數(shù)據(jù)信息被篡改、假冒等安全問題。
3) 針對車內(nèi)網(wǎng)絡(luò)資源受限條件下的無線接入設(shè)備身份信息易被偽造、篡改等問題,設(shè)計了車內(nèi)網(wǎng)絡(luò)中基于零知識的輕量級身份認(rèn)證協(xié)議,從而保證智能網(wǎng)聯(lián)汽車環(huán)境下車內(nèi)網(wǎng)絡(luò)安全、高效通信。
4) 根據(jù)車內(nèi)電子控制單元ECU的服務(wù)屬性,進(jìn)行細(xì)粒度訪問控制刻畫,實現(xiàn)了車內(nèi)隱私數(shù)據(jù)有選擇地共享。
5) 搭建了“三橫一縱”新型車載網(wǎng)絡(luò)安全通信架構(gòu),并進(jìn)行了性能測試及攻擊測試。測試結(jié)果表明,設(shè)計的架構(gòu)滿足車內(nèi)網(wǎng)的實時通信需求,并且抵抗重放攻擊、假冒節(jié)點攻擊、惡意信息泄露及外部接入設(shè)備硬件攻擊成功率100%。
下一步,車載端網(wǎng)絡(luò)安全的系統(tǒng)設(shè)計研究及關(guān)鍵技術(shù)將應(yīng)用到上汽商用輕卡的車聯(lián)網(wǎng)系統(tǒng)中,打造安全的商用車運(yùn)營生態(tài)物流圈。