吳貽淮,李飛,覃周
(成都信息工程大學(xué)信息安全學(xué)院,四川成都610065)
車載ECU加密通信與身份認(rèn)證機(jī)制研究
吳貽淮,李飛*,覃周
(成都信息工程大學(xué)信息安全學(xué)院,四川成都610065)
針對(duì)車載ECU使用明文通信,ECU固件易被篡改的安全問(wèn)題提出了一種新的車載ECU加密通信與身份認(rèn)證機(jī)制,該機(jī)制使用橢圓曲線加密算法(ECC)加密通信密鑰,使用對(duì)稱加密算法加密數(shù)據(jù),采用哈希算法來(lái)驗(yàn)證ECU固件完整性.仿真實(shí)驗(yàn)分析表明,該機(jī)制具有計(jì)算快、安全性高、低成本等優(yōu)點(diǎn),能夠保證ECU間的安全通信,解決ECU固件易被篡改的問(wèn)題.
車載網(wǎng)絡(luò)安全;加密通信;車載ECU
車載網(wǎng)絡(luò)是一個(gè)由ECU(Electronic Control Unit)和總線組成的集自動(dòng)化控制、通信、計(jì)算機(jī)等為一體的汽車內(nèi)部通信網(wǎng)絡(luò).隨著計(jì)算機(jī)網(wǎng)絡(luò)與車載移動(dòng)通信技術(shù)的發(fā)展,特別是近年來(lái)隨著智能交通、車聯(lián)網(wǎng)等概念的提出,使得汽車與外部網(wǎng)絡(luò)間的信息交互越來(lái)越頻繁.人們?cè)谙硎苘嚶?lián)網(wǎng)帶來(lái)的便利(例如智能導(dǎo)航、智能停車)的同時(shí)也面臨著巨大的車載信息系統(tǒng)安全問(wèn)題.例如2015年1月黑客利用寶馬車載系統(tǒng)的安全漏洞,遠(yuǎn)程攻擊安裝有該系統(tǒng)的汽車影響涉及200萬(wàn)輛寶馬汽車.2015年2月9日黑客利用安吉星OnStart的系統(tǒng)漏洞遠(yuǎn)程控制汽車.使得車載信息系統(tǒng)安全問(wèn)題倍受矚目.
車載ECU以總線方式連接,ECU間的通信是通過(guò)將數(shù)據(jù)包廣播到總線上的所有組件,由組件自行決定是否接收該數(shù)據(jù)包,這樣雖然有效的解決了由于ECU數(shù)量增加而帶來(lái)的線束增多的問(wèn)題,然而卻也為車載信息系統(tǒng)安全問(wèn)題帶來(lái)了巨大的隱患,其中以CAN(Controller Area Network)網(wǎng)絡(luò)的安全問(wèn)題最為突出.由于CAN網(wǎng)絡(luò)作為車載信息系統(tǒng)核心ECU的連接網(wǎng)絡(luò),通過(guò)其傳輸協(xié)議可知,CAN的數(shù)據(jù)包不同于傳統(tǒng)以太網(wǎng)數(shù)據(jù)包,CAN的數(shù)據(jù)包中只有目的地址沒(méi)有源地址.這就意味著車載網(wǎng)絡(luò)中的任意ECU都可以訪問(wèn)CAN網(wǎng)絡(luò)中的核心ECU例如發(fā)動(dòng)機(jī)、轉(zhuǎn)向器等ECU.所以只要攻擊者能獲得CAN網(wǎng)絡(luò)的執(zhí)行權(quán)限就能夠向ECU發(fā)送偽造的數(shù)據(jù)包、修改ECU的行為,從而實(shí)現(xiàn)對(duì)車輛的完全控制.由上可知車載ECU的安全直接決定著整個(gè)車載信息系統(tǒng)的安全,可以說(shuō)沒(méi)有車載ECU安全就沒(méi)有車載信息系統(tǒng)安全.然而由于現(xiàn)行的車載信息系統(tǒng)的數(shù)據(jù)是以明文方式傳輸,同時(shí)缺少對(duì)車載ECU的代碼完整性校驗(yàn)機(jī)制,使得如何保證車載ECU代碼完整性,維護(hù)車載信息系統(tǒng)安全成為難題.為應(yīng)對(duì)這些安全威脅,Rafael Zalman,Albrecht Mayer[1]引入了MAC(Message Authentication Code)解決了信息完整性認(rèn)證問(wèn)題,但沒(méi)有解決數(shù)據(jù)以明文形式傳輸?shù)膯?wèn)題.Andre Groll,Christoph Ruland[2]在車載網(wǎng)絡(luò)當(dāng)中引入KDC(Key Distribution Centre)解決了數(shù)據(jù)明文傳輸問(wèn)題,但缺少對(duì)車載ECU身份認(rèn)證機(jī)制.為此本文提出了一種基于ECC(Elliptic Curves Cryptography)加密算法的ECU加密通信機(jī)制和ECU身份認(rèn)證方式,能夠解決ECU間的安全通信和ECU被易篡改的問(wèn)題.
在汽車的生命周期當(dāng)中若車載ECU的通信密鑰固定不變.攻擊者可以通過(guò)分析大量的加密數(shù)據(jù),從而破譯出車載ECU的通信密鑰.采用ECC加密算法為車載ECU的通信傳輸對(duì)稱加密所需的通信密鑰.能夠有效抵抗暴力破解和分析.
ECC加密算法首先確定一個(gè)有限域,這個(gè)域只有一個(gè)素?cái)?shù)p.
1)用戶X在這個(gè)有限域中選定一條橢圓曲線(a,b),并取橢圓曲線上點(diǎn)G作為基點(diǎn).
2)用戶X在1~p-1之間隨機(jī)選出一個(gè)素?cái)?shù)作為私鑰k,并根據(jù)加法則,并生公開(kāi)密鑰K=kG.
3)用戶X將Ep(a,b)和點(diǎn)K,G傳給用戶B.
4)用戶Y接受到消息后,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點(diǎn)M,并產(chǎn)生一個(gè)隨機(jī)整數(shù)r.
5)用戶Y將計(jì)算點(diǎn)C1=M+rK;C2=rG.
6)用戶Y將C1,C2傳個(gè)用戶X.
7)用戶X接受到信息后,再進(jìn)行計(jì)算.計(jì)算公式:C1-kC2=M+rK-k(rG)=M+rK-r(rG)=M.
另外ECC加密算法與RSA,Elgamal相比具有抗攻擊性強(qiáng)、計(jì)算量小、處理速度快、存儲(chǔ)空間占用小、帶寬要求低等優(yōu)點(diǎn).因而更加適合車載網(wǎng)絡(luò)這樣硬件資源有限的嵌入式環(huán)境.
車載ECU進(jìn)行加密通信可以在一定程度上保證車載信息系統(tǒng)的安全.從密碼學(xué)的角度出發(fā),實(shí)現(xiàn)一次一密的加密通信具有非常高的安全性.然而在車載信息系統(tǒng)這樣的嵌入式平臺(tái)實(shí)現(xiàn)一次一密的加密通信,無(wú)論是現(xiàn)有的計(jì)算資源還是通信帶寬都無(wú)法承受一次一密加密通信所帶來(lái)的巨大壓力.然而在車輛的每次使用周期當(dāng)中,使用不同的通信密鑰對(duì)車載ECU的通信進(jìn)行加密是可以實(shí)現(xiàn).另外對(duì)車載ECU進(jìn)行身份認(rèn)證,有利于保證車載ECU在汽車的生命周期當(dāng)中不被惡意篡改或冒充,進(jìn)而更加有效的保證車載信息系統(tǒng)的安全.車載ECU的加密通信與身份認(rèn)證具體步驟包括車載ECU初始、車載ECU身份認(rèn)證和車載ECU加密通信三個(gè)部分.
3.1 車載ECU初始
車載ECU的初始工作是一個(gè)由汽車的購(gòu)買者和TSP(Telematics Service Provider)共同參與的一個(gè)過(guò)程,具體過(guò)程如下圖1所示.
圖1 初化始過(guò)程
①購(gòu)買者→TSP:K
購(gòu)買者向TSP發(fā)送一個(gè)初始密鑰K,該密鑰由購(gòu)買者和TSP共同保留.作為后續(xù)車載ECU的更新和維修使用.
②TSP→汽車:Mi
TSP在接受到私鑰K后,使用md5加密K得到新的的序列S.最后將包含序列S的ECU可執(zhí)行文件Mi寫入車載ECU中.重而保證每輛汽車的ECU代碼存儲(chǔ)區(qū)的hash特征碼具有唯一性.
③汽車→TSP:H(Ni)
汽車在完成ECU可執(zhí)行文件寫入完成之后,計(jì)算各個(gè)ECU代碼存儲(chǔ)區(qū)的hash特征碼H(Ni)返回給TSP.
④TSP→終端設(shè)備:H(Ni)
TSP在獲得各個(gè)ECU代碼存儲(chǔ)區(qū)的hash特征碼H(Ni)后將其寫入終端設(shè)備當(dāng)中,終端設(shè)備是一種類似于加密狗的具有邏輯處理能力的嵌入式設(shè)備.
3.2 車載ECU身份認(rèn)證
中央網(wǎng)關(guān)連接著整個(gè)車載網(wǎng)絡(luò),實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換,能夠?qū)崿F(xiàn)對(duì)整個(gè)車載網(wǎng)絡(luò)的監(jiān)控.為實(shí)現(xiàn)對(duì)車載ECU的身份認(rèn)證,在汽車開(kāi)機(jī)自檢的時(shí)候中央網(wǎng)關(guān)必須通過(guò)與ECU進(jìn)行會(huì)話,從而實(shí)現(xiàn)對(duì)ECU的身份認(rèn)證.具體認(rèn)證過(guò)程如圖2所示.
圖2 具體認(rèn)證過(guò)程
①中央網(wǎng)關(guān)→終端設(shè):EK[Q||ID||ES||R].
終端設(shè)備通過(guò)OBD(On-Board Diagnostics)接口接入車載網(wǎng)絡(luò)當(dāng)中,之后中央網(wǎng)關(guān)向終端設(shè)備發(fā)送獲取各個(gè)ECU代碼存儲(chǔ)區(qū)特征碼的請(qǐng)求.該請(qǐng)求包含四個(gè)數(shù)據(jù)項(xiàng):一是請(qǐng)求碼Q,二是中央網(wǎng)關(guān)ID,ES對(duì)稱加密通信密鑰,三是隨機(jī)數(shù)R,該請(qǐng)求通過(guò)ECC加密算法EK加密.
②終端設(shè)備→中央網(wǎng)關(guān):ES[SH||H(R)||T]
終端設(shè)備對(duì)中央網(wǎng)關(guān)發(fā)出應(yīng)答,該應(yīng)答通過(guò)對(duì)稱加密算法ES加密傳輸,應(yīng)答的內(nèi)容包括各個(gè)ECU代碼存儲(chǔ)區(qū)的特征碼數(shù)組SH,隨機(jī)數(shù)R的hash值H(R)以及時(shí)間戳T.
③中央網(wǎng)關(guān)→ECU:Ek[Q||ID||ES||R||T]
中央網(wǎng)關(guān)在獲得ECU代碼存儲(chǔ)區(qū)的特征碼數(shù)組SH后對(duì)各個(gè)ECU進(jìn)行身份認(rèn)證,通過(guò)使用ECC加密算法Ek向各個(gè)車載ECU發(fā)送一個(gè)包含求碼Q,需要進(jìn)行身份認(rèn)證的ECU的ID,ES對(duì)稱加密通信密鑰,隨機(jī)數(shù)R,時(shí)間戳T的請(qǐng)求.
④ECU→中央網(wǎng)關(guān):ES[H(M)||ID||H(R)]
接受到身份認(rèn)證請(qǐng)求的車載ECU,首先進(jìn)行計(jì)算自身代碼存儲(chǔ)區(qū)的硬件hash值H(M),之后使用對(duì)稱加密加密算法ES加密一個(gè)包含H(M),自身的ID以及隨機(jī)數(shù)R的hash值H(R)的應(yīng)答.
3.3 車載ECU加密通信
車載ECU的加密通信主要分為兩步:
一通信密鑰獲?。涸撨^(guò)程在發(fā)生在汽車啟動(dòng)的時(shí)候.由中央網(wǎng)關(guān)隨機(jī)生成一個(gè)密鑰,該密鑰作為整個(gè)車載網(wǎng)絡(luò)的通信密鑰.具體步驟如下圖3所示.
①ECU→中央網(wǎng)關(guān):EK[Q||EN||ID||H(M)||R].
ECU使用ECC加密算法EK向中央網(wǎng)關(guān)發(fā)送一個(gè)報(bào)文,該報(bào)文包含車載網(wǎng)絡(luò)通信密鑰獲取請(qǐng)求Q,對(duì)稱通信密鑰EN,ECU的ID,ECU代碼存儲(chǔ)區(qū)的硬件hash值H(M)以及隨機(jī)數(shù)R.
②中央網(wǎng)關(guān)→ECU:ES[EC||T||H(R)].
中央網(wǎng)關(guān)通過(guò)ID和H(M)判斷當(dāng)前ECU是否合法.對(duì)應(yīng)合法的ECU發(fā)出應(yīng)答,應(yīng)答的內(nèi)容包括車載網(wǎng)絡(luò)通信密鑰EC,時(shí)間戳T,隨機(jī)數(shù)R的hash值H(R),其中ES為對(duì)稱加密算法.
二加密通信:該過(guò)程發(fā)生在所有的車載ECU均獲得通信密鑰之后,該密鑰在本次汽車從啟動(dòng)到最后關(guān)閉的整個(gè)使用過(guò)程中均有效,為了抵抗重放攻擊,每個(gè)通信消息都附上時(shí)間戳,于是最終在CAN總線上傳送的密文為ES[mg||T]其中ES為對(duì)稱加密算法,mg為需要發(fā)送的消息,T為時(shí)間戳.接受方在接受到密文后使用自己從中央網(wǎng)關(guān)獲得的通信密鑰就可以對(duì)密文進(jìn)行解密,詳細(xì)流程見(jiàn)圖4.
圖3 通信密鑰獲取
圖4 ECU之間的加密通信
未來(lái)車載信息系統(tǒng)安全將面臨越來(lái)越嚴(yán)峻的挑戰(zhàn),因此車載信息系統(tǒng)安全也將會(huì)被更加重視.本文所提出的車載ECU加密通信機(jī)制,結(jié)合車載信息系統(tǒng)自身特點(diǎn),能夠以較小的代價(jià)在一定程度上保證系統(tǒng)的安全性,達(dá)到了應(yīng)用級(jí)別.該研究實(shí)現(xiàn)車載ECU的加密通信與身份認(rèn)證,在一定程度上能夠解決車載ECU固件被篡改、假冒攻擊、重放攻擊等安全問(wèn)題.
[1]AndreGroll.ChristophRuland.Secureandauthentic communication on existing in-vehicle networks[J].Intelligent Vehicles Symposium,2009:1931-0587.
[2]Ishtiaq Roufa R M,Mustafaa H,Travis Taylora S O,et al.Security and privacy vulnerabilities of in-car wireless networks:A tire pressure monitoring system case study[C]//19th USENIX Security Symposium,Washington DC,2010:11-13.
[3]許冬琦.車載以太網(wǎng):下一代聯(lián)網(wǎng)技術(shù)讓汽車更智能[J].通信世界,2012,(6):21-21.
[4]Rafael Zalman.Albrecht Mayer.A secure but still safe and low cost automotive communication technique[C]//2014 51stACM/ EDAC/IEEE Design Automation Conference(DAC),2014:1-5.
Research on Vehicle ECU Communication Encryption and Identity Authentication Mechanism
WU Yi-huai,LI Fei*,QIN Zhou
(College of Information Security Engineering,Chengdu,Sichuan 610065)
Aiming at the secure problems that the in-Vehicle communication isn't encrypted and ECU's ROM can be easily tampered with,we propose a new ECU identity authentication and encrypted in-Vehicle communication mechanism.It applies symmetry encryption algorithm to encrypt the communication and applies Elliptic Curve Cryptography(ECC)algorithm to encrypt session keys and utilizes the hash algorithm to verify the integrity of firmware ECU.Simulation experimental results shows that the mechanism is low cost,high speed and high safety.It can ensure secure communication between ECUs and maintain the integrity of ECU's firmware.
in-vehicle network security;encrypted communication;vehicle ECU
TP399
A
1671-9743(2017)05-0075-03
2017-03-04
四川省科技支撐計(jì)劃基金資助項(xiàng)目(2016GZ0343).
吳貽淮,1991年生,男,福建寧德人,碩士研究生,研究方向:車載網(wǎng)絡(luò)信息安全;
*通信作者:李飛,1966年生,男,湖南常德人,教授,碩士研究生導(dǎo)師,研究方向:汽車信息系統(tǒng)安全防護(hù)體系.