應(yīng)必善
(華數(shù)數(shù)字電視傳媒集團(tuán)有限公司,浙江 杭州310012)
在車載自組織網(wǎng)絡(luò) (vehicular Ad Hoc network,VANET)的實(shí)際應(yīng)用中,如果攻擊者對車輛行駛消息 (如速度、方向、車距、發(fā)送者標(biāo)識符、接收者標(biāo)識符等)進(jìn)行篡改、偽造、重放等,或者通過捕獲合法用戶來獲得通信證書,從而影響車輛之間的正常通信,可能影響駕駛員判斷并造成交通狀態(tài)和人身安全隱患。因此,用戶認(rèn)證是VANET安全保護(hù)中最重要的問題。現(xiàn)有的VANET安全認(rèn)證方法主要存在2類問題[1,2]:①計(jì)算復(fù)雜、通信開銷大,不適合大規(guī)模的VANET應(yīng)用;②受到智能卡丟失攻擊、離線密碼猜測攻擊、重放攻擊、偽裝攻擊等。針對上述問題,本文對VANET的安全認(rèn)證進(jìn)行研究,提出基于智能卡的安全認(rèn)證方法。不同于群簽名方法[1]、偽名證書方法[2],本文利用智能卡驗(yàn)證用戶輸入的標(biāo)識符和密碼信息,動態(tài)產(chǎn)生登錄標(biāo)識符。可信認(rèn)證中心 (trusted authority,TA)對智能卡所遞交的信息進(jìn)行驗(yàn)證,判斷該用戶是否合法。針對越區(qū)切換過程,本文提出基于鄰居節(jié)點(diǎn)的越區(qū)切換算法,提高越區(qū)切換用戶的認(rèn)證效率。
有的學(xué)者采用公共密鑰設(shè)施 (public key infrastructure,PKI)數(shù)字簽名驗(yàn)證用戶和消息的合法性[2,3],然而PKI數(shù)字簽名計(jì)算過于復(fù)雜、存儲開銷過大,并不適合拓?fù)鋭討B(tài)變化的VANET用戶認(rèn)證。在車輛密集的廣播消息認(rèn)證中,很容易導(dǎo)致因處理時(shí)間過長而丟失消息。
也有學(xué)者利用群簽名方法驗(yàn)證消息合法性[4-7]。Yao等人[4]提出了由路邊單元 (roadside units,RSUs)向車輛臨時(shí)生成并分配含有偽名的群成員證書的方法,該方法能夠提高偽名分發(fā)與撤銷的效率,減少了通信開銷與存儲開銷,但是嚴(yán)重依賴于RSUs,這在網(wǎng)絡(luò)建設(shè)初期是比較困難的。此外,該偽名的分發(fā)受時(shí)間和空間限制,容易暴露發(fā)送者的行蹤。
Studer等[8]則提出了采用輕量級廣播認(rèn)證算法來實(shí)現(xiàn)安全認(rèn)證,廣播者首先生成一條長密鑰鏈,其中每個(gè)密鑰只能在很短的時(shí)間內(nèi)對消息內(nèi)容生成數(shù)字簽名,當(dāng)密鑰過期后,就會被公布,接收者收到一個(gè)公布的密鑰時(shí),會用其來驗(yàn)證先前收到的消息。與傳統(tǒng)的PKI和群簽名相比,該算法能夠減少帶寬和計(jì)算資源開銷。然而接收者需要等待一定時(shí)間才能收到公開的密鑰,延長了實(shí)際處理時(shí)間。
Lin等人[9]提出時(shí)間有效的隱私保護(hù)安全通信方案,其改進(jìn)思想是:用于數(shù)字簽名的密鑰在該消息廣播之后等待δ時(shí)間才公布,從而降低接收者的等待密鑰公開時(shí)間。但由于驗(yàn)證密鑰總是延遲固定時(shí)間δ發(fā)送,導(dǎo)致接收者至少需要等待δ才能對上一個(gè)收到的消息進(jìn)行合法性驗(yàn)證,無法滿足實(shí)時(shí)安全駕駛的要求。
Zhang等人[10]采用雙線性簽名對用戶和消息的合法性進(jìn)行認(rèn)證,該方法相比群簽名方案、PKI數(shù)字簽名方法、偽名證書方案降低了計(jì)算開銷,但是車輛需要通過6次握手通信才能獲得簽名證書。
Paruchuri等人[11]首次采用智能卡進(jìn)行認(rèn)證廣播消息,智能卡上存儲車輛標(biāo)識符、公私鑰、證書等,該方法跟群簽名方案、PKI數(shù)字簽名方法、偽名方案相比,降低了通信開銷,但嚴(yán)重依賴RSUs,一旦智能卡丟失或被偷,攻擊者很容易冒充合法用戶獲得網(wǎng)絡(luò)中的通信內(nèi)容。
VANET系統(tǒng)由可信認(rèn)證中心 (TA)、車載單元 (on board units,OBUs)、路邊單元 (RSUs)等組成。RSUs和OBUs需要向TA注冊,RSUs通過有線或者無線方式連接TA,車輛之間或車輛與RSUs之間的通信協(xié)議為IEEE 802.11p。假設(shè)如下:
(1)TA是可信任的,不能被攻擊者所捕獲,且TA擁有足夠大的計(jì)算能力和存儲空間,存有所有RSUs的位置信息和標(biāo)識符等信息;
(2)RSUs是半信任的,可被攻擊者捕獲,但TA可以通過入侵檢測方法得知RSUs是否被捕獲,一旦RSUs被捕獲,TA可以通過雙線性數(shù)字簽名方法進(jìn)行恢復(fù)。
表1 列出了本文使用的符號含義。
基于智能卡的用戶認(rèn)證方法包括用戶注冊過程、用戶認(rèn)證過程和越區(qū)切換過程,其詳細(xì)過程如下。
車輛Vi進(jìn)入網(wǎng)絡(luò)之前向TA遞交標(biāo)識符IDVi和αi=H(PWi);TA收到消息后,執(zhí)行如下操作:
(1)TA計(jì)算車輛Vi的偽名PVIDVi=H(IDVi),βi=αi⊕xs,γi=H(xs||IDVi)⊕SKTA,Ni= H(PVIDVi||αi||xs),其中xs是由TA產(chǎn)生的隨機(jī)數(shù),SKTA是TA的私鑰;
(2)TA發(fā)送智能卡給車輛Vi,智能卡包括偽名PVIDVi、βi、γi、Ni。
表1 符號列表
當(dāng)車輛Vi進(jìn)入該網(wǎng)絡(luò)時(shí),用戶認(rèn)證過程被激活,詳細(xì)過程如下:
(1)用戶登錄過程
用戶Vi把智能卡插入OBU終端,輸入標(biāo)識符IDVi和密碼PWi,智能卡執(zhí)行如下操作:
1)智能卡根據(jù)用戶輸入的標(biāo)識符IDVi和密碼PWi計(jì)算H(IDVi)和H(PWi),并計(jì)算=αi⊕βi;
(2)用戶認(rèn)證過程
用戶認(rèn)證過程如圖1所示,描述如下:
步驟1 用戶Vi把智能卡插入OBU終端Vi后,智能卡執(zhí)行:
計(jì)算動態(tài)登錄標(biāo)識符DIDVi= H(αi||PVIDVi)⊕H(x*s);
計(jì)算用戶Vi的對稱密鑰Ki=H(DIDVi||Ni);
計(jì)算CVi=H(Ni||x*s);
計(jì)算密文Di=EKi(CVi,na,SK*TA),其中,na是智能卡所產(chǎn)生的隨機(jī)數(shù),E是加密算法的運(yùn)算符號;
向RSURi發(fā)送登錄請求分組,包括DIDVi、Di和TVi,TVi是登錄請求分組發(fā)送時(shí)刻。
步驟2 在時(shí)刻T,RSURi收到登錄請求分組,執(zhí)行:
核查時(shí)間戳(T-TVi)≤ΔT是否成立;
計(jì)算DIDRi=DIDVi⊕IDRi;
發(fā)送認(rèn)證請求分組到TA,包括DIDRi、Di和TRi,其中IDRi是RSURi的標(biāo)識符,TRi是發(fā)送認(rèn)證請求分組的時(shí)刻,ΔT為TA設(shè)定的時(shí)間戳閾值。
步驟3 在時(shí)刻T1時(shí),TA收到認(rèn)證請求分組,執(zhí)行:
核查時(shí)間戳(T1-TRi)≤ΔT是否成立;
計(jì)算IDR*i=DIDRiDIDV*i,并將ID*Ri與TA存儲的IDRi進(jìn)行比較;
當(dāng)ID*Ri=IDRi,計(jì)算用戶Vi的對稱密鑰K*i=
H(DIDV*i||Ni),用對稱密鑰K*i對密文Di解密,得到CVi、na、SKT*A;
當(dāng)CVi=H(Ni,xs)并且SKT*A與TA所存儲的SKTA相等時(shí),計(jì)算密文Mi=EKmast(EPKTA(CertVi,H1,H2,SeedVi,PKVi,SKVi,IDRi)),并且發(fā)送認(rèn)證響應(yīng)分組,包括Mi和T′Ri,其中Kmast=Ki*||na,PKTA是TA的公鑰,PKVi,SKVi是用戶Vi的公私密鑰對,CertVi是用戶Vi的公私密鑰對所對應(yīng)的證書,H1,H2是用戶Vi的Hash函數(shù)運(yùn)算符,SeedVi是用戶Vi的單向哈希密鑰鏈的根密鑰,T′Ri是發(fā)送認(rèn)證響應(yīng)分組的時(shí)刻。
步驟4 在T2時(shí)刻Ri收到分組,Ri計(jì)算T2-T′Ri,并將T2-T′Ri與ΔT進(jìn)行比較:
當(dāng)(T2-T′Ri)≤ΔT,Ri發(fā)送登錄響應(yīng)分組,包括密文Mi和T′Vi,T′Vi是發(fā)送登錄響應(yīng)分組的時(shí)刻;
步驟5 在T3時(shí)刻Vi收到登錄響應(yīng)分組,用戶Vi的終端計(jì)算T3-T′Vi,并將T3-T′Vi與ΔT進(jìn)行比較;
當(dāng) (T3-T′Vi)≤ΔT,計(jì)算Km*ast=Ki||na,用Km*ast和PKTA依次對密文Mi解密,得到CertVi、H1、H2、SeedVi、PKVi、SKVi、IDRi,并存儲CertVi、H1、H2、SeedVi、PKVi、SKVi、IDRi。
用戶Vi從Ri經(jīng)過越區(qū)切換進(jìn)入Rm,Rm的標(biāo)識符為IDRm,越區(qū)切換過程如圖2所示。
詳細(xì)步驟如下:
步驟1 車輛Vi執(zhí)行:
計(jì)算Vi的越區(qū)切換標(biāo)識符SIDVi=PVIDVi⊕H(tVi)和越區(qū)切換認(rèn)證SHFi=H(PVIDVi||tVi);
發(fā)送越區(qū)切換請求分組,分組包括EPKTA(SIDVi)、SHFi、IDRi和tVi,tVi是發(fā)送越區(qū)切換請求分組的時(shí)刻。
步驟2 RSURm內(nèi)的任一用戶Vp收到該消息后,執(zhí)行:
計(jì)算T4-tVi,并將T4-tVi與ΔT進(jìn)行比較;
當(dāng)(T4-tVi)≤ ΔT,用 TA的私鑰SKTA對密文EPKTA(SIDVi)解密,獲得Vi的越區(qū)切換標(biāo)識符SIDVi;
計(jì)算Vi的偽名PVI=SIDViH(tVi);
Vp用私鑰SKVp對H3,H4,SeedVp,進(jìn)行簽名得到簽名摘要Φ,并發(fā)送越區(qū)切換響應(yīng)分組,包括H3⊕、H4⊕、SeedVp⊕、CertVp⊕、tVp和簽名摘要Φ,CertVp是用戶Vp的證書,SKVp是用戶Vp的私鑰,H3和H4是用戶Vp的Hash函數(shù)運(yùn)算符,SeedVp是用戶Vp的單向哈希密鑰鏈的根密鑰,tVp是用戶Vp發(fā)送越區(qū)切換響應(yīng)分組的時(shí)刻。
步驟3 Vi在時(shí)刻T5收到越區(qū)切換響應(yīng)分組,執(zhí)行:
計(jì)算 (T5-tVp),當(dāng) (T5-tVp)≤ΔT時(shí),計(jì)算H3*=⊕PVIDVi;
用戶Vp的公鑰PKVp計(jì)算簽名摘要,當(dāng)計(jì)算的簽名摘要與收到的簽名摘要Φ相等時(shí),存儲,Sig是簽名算法的運(yùn)算符號。
(1)抗智能卡丟失攻擊:假設(shè)攻擊者獲得用戶的智能卡并解析秘密信息 {PVIDVi,H(·),βi,γi,Ni},然而,由于攻擊者不知道xs和密碼的Hash值αi=H(PWi),因此無法構(gòu)造用戶的動態(tài)登錄標(biāo)示符= H(αi||PVIDVi)⊕H),增強(qiáng)了系統(tǒng)對用戶的保護(hù)。對于TA的內(nèi)部人員只知道用戶密碼的 Hash值αi=H(PWi)和IDVi,但沒有用戶密碼,無法登錄用戶驗(yàn)證過程。
(2)抗離線密碼猜測攻擊:如果攻擊者猜測用戶的密碼為PW′i,攻擊者將計(jì)算 N′i= H(PVIDVi||H(PW′i)||x)和β′i=H(PW′i)⊕x,其中x為攻擊者輸入的任意隨機(jī)數(shù);由于在有限群中攻擊者很難同時(shí)猜中2個(gè)參數(shù)PW′i和x,使得同時(shí)滿足βi=β′i和Ni=N′i。
(3)抗RSU捕獲攻擊:由于CVi被用戶的對稱密鑰Ki加密,攻擊者依然無法從已捕獲的RSU中獲得CVi信息。攻擊者有可能通過猜測用戶的對稱密碼Ki,然而產(chǎn)生Ki的2個(gè)部分Ni和DIDVi(Ni存儲在智能卡中,DIDVi由用戶的密碼PWi、標(biāo)識符IDVi和TA的隨機(jī)數(shù)產(chǎn)生)很難被攻擊者知道。
(4)抗重放攻擊:時(shí)間戳閾值可以抵抗消息的重放攻擊,假設(shè)攻擊者截獲登錄請求消息 <DIDVi,EKi(CVi,na,),TVi>,并重新發(fā)送該消息到RSU,RSU通過驗(yàn)證(T′-TVi)>ΔT(T′是RSU收到重放消息的當(dāng)前時(shí)刻),丟棄該登錄請求消息。
(5)抗偽裝攻擊:由于攻擊者不知道車輛的標(biāo)識符、密碼和隨機(jī)數(shù)xs,無法構(gòu)造正確的動態(tài)登錄標(biāo)識符DIDVi和CVi,就不能得到對稱密鑰Ki,因此無法得到CVi的內(nèi)容。
對本文方法、Zhang等人提出的方法[10]、Paruchuri等人提出的方法[11]進(jìn)行計(jì)算開銷比較。表2給出了3種方法的計(jì)算開銷,其中tE是加密計(jì)算開銷、th是Hash計(jì)算開銷、ts是簽名計(jì)算開銷。根據(jù)Benchnarks所提出的加密庫函數(shù)Crypto++5.6.0可知,簽名計(jì)算開銷為Hash計(jì)算開銷的1.52倍。由表可知:在用戶注冊中,用戶和TA在本文方法中只需要4次Hash計(jì)算,而Zhang等人提出的方法至少需要4次簽名計(jì)算和2次Hash計(jì)算,相對計(jì)算開銷較大。在用戶登錄和認(rèn)證過程中,本文方法和文獻(xiàn) [10]提出的方法的計(jì)算開銷相差不大。文獻(xiàn) [11]提出的方法計(jì)算開銷最小,但嚴(yán)重依靠RSU,很容易被攻擊者捕獲,并且無法抵抗智能卡丟失攻擊、抗離線密碼猜測攻擊、抗RSU捕獲攻擊等。
表2 計(jì)算開銷對比
在車載自組織網(wǎng)絡(luò)中,現(xiàn)有的安全認(rèn)證算法存在計(jì)算開銷大,以及抗離線密碼猜測攻擊差、抗重放攻擊差、抗偽裝攻擊差等安全隱患的問題。針對上述問題,本文提出了基于智能卡的安全認(rèn)證方法,利用智能卡對用戶輸入的標(biāo)識符和密碼信息進(jìn)行驗(yàn)證,以確保用戶安全合法進(jìn)入網(wǎng)絡(luò)。此外,本文還提出了基于鄰居節(jié)點(diǎn)的越區(qū)切換算法,該算法不依靠RSU和TA,直接通過鄰居者對該用戶進(jìn)行認(rèn)證,從而縮短了越區(qū)切換用戶的認(rèn)證時(shí)間。性能分析結(jié)果表明,本文方法能夠抵抗智能卡丟失攻擊、離線密碼猜測攻擊、重放攻擊、偽裝攻擊等,同時(shí)降低了計(jì)算開銷。
[1]Calandriello G,Papadimitrators P.Efficient and robust pseudonymous authentication in VANET [C]//Proc ACM International Workshop on Vehicular Ad Hoc Networks,2007:19-28.
[2]Raya M,Hubaux J P.Securing vehicular Ad Hoc networks[J].Journal of Computer Security,2007,15 (1):39-68.
[3]Huang J,Yeh L,Chien H.ABAKA:An anonymous batch authenticated and key agreement scheme for value-added services in vehicular Ad Hoc networks [J].IEEE Transaction on Vehicular Technology,2011,60 (1):248-262.
[4]Hao Y,Cheng Y.A distributed key management framework with cooperative message authentication in VANETs [J].IEEE Journal on Selected Areas in Communications,2011,29(3):616-629.
[5]Zhang L,Wu Q.A scable roubust authentication protocol for secure vehicular communications [J].IEEE Transactions on Vehicular Technology,2010,59 (4):1606-1617.
[6]Ren K,Lou W.Privacy-enhanced,attack-resilient access control in pervasive environments with optional context authentication capability [J].ACM Mobile Networks and Applications,2007,12 (1):79-92.
[7]Zhang CX,Lin XD.An efficient message authentication scheme for vehicular communications [J].IEEE Transactions on Vehicular Technology,2008,57 (6):3357-3368.
[8]Studer A,Bai F.Flexible,extensible,and efficient VANET authentication [J].Journal of Communication and Networks,2009,11 (6):574-588.
[9]Lin X,Sun X,Wang X,et al.TSVC:Timed efficient and secure vehicular communications with privacy preserving [J].IEEE Transactions on Wireless Communication,2008,7(12):4987-4998.
[10]Zhang C,Liu RX.A location privacy preserving authentication scheme in vehicular networks [C]//Wireless Communications and Networking Conference,2008:2543-2548.
[11]Paruchuri V,Durresi A.PAAVE:Protocol for anonymous authentication in vehicular networks using smart cards [C]//GLOBECOM,2010:1-5.