摘 要: 針對(duì)車載自組網(wǎng)中存在的隱私泄露問題,提出了一種基于城市公交的車載自組網(wǎng)隱私保護(hù)協(xié)議。該協(xié)議利用可信度高的公交車來廣播路況信息和應(yīng)答車輛路況信息的查詢,有效地減少普通車輛需認(rèn)證消息的數(shù)量;公交車?yán)?a class="innerlink" href="http://theprogrammingfactory.com/tags/安全" title="安全" target="_blank">安全認(rèn)證中心頒發(fā)的數(shù)字證書與其他車輛建立起信任關(guān)系,解決了用戶假冒的問題;車輛之間利用Diffie-Hellman算法生成會(huì)話密鑰對(duì)消息進(jìn)行對(duì)稱加密,有效地保護(hù)了用戶的身份信息,同時(shí)提高了消息認(rèn)證的效率。安全性證明和分析表明,該協(xié)議在語(yǔ)義上是安全的,能抵抗現(xiàn)有各種攻擊,并且可以實(shí)時(shí)處理用戶的請(qǐng)求。
關(guān)鍵詞: 車載自組網(wǎng);公交車;安全;隱私;數(shù)字證書
0 引言
車載自組網(wǎng)(Vehicular Ad hoc Network,VANET)由認(rèn)證中心(Certification Authority,CA)、路邊單元(Road Side Unit,RSU)和車載單元(On Board Unit,OBU)共同組成[1-2]。VANET能有效地提高道路的使用效率,減少意外事故的發(fā)生,因此受到學(xué)術(shù)界和工業(yè)界的普遍關(guān)注,已取得了部分研究成果。
然而,VANET的發(fā)展仍面臨著巨大的挑戰(zhàn),VANET的開放性使得攻擊形式多樣化,高度動(dòng)態(tài)性和移動(dòng)性使得攻擊行為難以被檢測(cè)與發(fā)現(xiàn)。如何在確保信息的完整性和可追溯性的同時(shí),保護(hù)用戶的安全隱私,并且實(shí)時(shí)處理用戶請(qǐng)求成為接納VANET的關(guān)鍵。
一般來說,VANET中的車輛需要保護(hù)身份不被泄漏,而RSU不需要保護(hù)其身份。為了確保合法用戶的身份信息不被攻擊者所知,必須對(duì)其身份信息進(jìn)行加密;為了防止惡意節(jié)點(diǎn)假冒合法用戶,目前各國(guó)要求所有車輛必須在管理部門進(jìn)行登記注冊(cè),管理部門對(duì)所有車輛進(jìn)行統(tǒng)一編號(hào)并提供身份認(rèn)證。VANET中車輛身份編號(hào)的唯一性能有效保證身份認(rèn)證服務(wù)的實(shí)施。身份認(rèn)證可以有效保護(hù)系統(tǒng)不被外部攻擊者所侵害,但增加了個(gè)人隱私泄漏的風(fēng)險(xiǎn)。有時(shí)VANET通過不定期地更換假名來保護(hù)用戶隱私。
然而VANET不定期更換用戶假名容易引發(fā)女巫攻擊[3],一個(gè)惡意節(jié)點(diǎn)蓄意聲稱自己有多個(gè)不同身份的女巫攻擊會(huì)對(duì)VANET產(chǎn)生巨大危害[4]。針對(duì)這些問題,陳辰[4]提出了女巫攻擊檢測(cè)算法SADSIV,通過驗(yàn)證授權(quán)認(rèn)證單元(Authentication Unit,AU)定期向車輛節(jié)點(diǎn)提供不可篡改的數(shù)字簽名來確定車輛身份的唯一性。由于同一AU對(duì)不同車輛的數(shù)字簽名相同,那么惡意節(jié)點(diǎn)可能會(huì)根據(jù)AU的數(shù)字簽名追蹤用戶。
針對(duì)這些問題,王景欣等人[5]構(gòu)建了匿名互換的社團(tuán),并通過組密鑰機(jī)制實(shí)現(xiàn)保證基本安全需求下的匿名互換。同時(shí),參考文獻(xiàn)[6]提出所有車輛節(jié)點(diǎn)必須在CA注冊(cè)并且由其分發(fā)車輛的公鑰和私鑰以保證用戶的隱私。但是,這些協(xié)議[5-6]未考慮到VANET中所產(chǎn)生的海量消息,認(rèn)證需要花費(fèi)大量時(shí)間,尤其是在車流密度大的情況下,難以實(shí)現(xiàn)實(shí)時(shí)性。
針對(duì)參考文獻(xiàn)[5-6]消息的不及時(shí)性,劉輝等人[7]提出了一個(gè)基于群組密鑰的認(rèn)證方案。該方案采用批量驗(yàn)證技術(shù)降低了車輛的計(jì)算開銷,成功地解決VANET中消息認(rèn)證的不及時(shí)性。但是該方案不能抵抗重放攻擊。
在參考文獻(xiàn)[4-7]中任何車輛都可以廣播消息,那么海量消息可能會(huì)阻塞信道,同時(shí)需要大量的簽名認(rèn)證,耗費(fèi)大量時(shí)間和計(jì)算能力。因此設(shè)計(jì)一個(gè)高效的隱私保護(hù)協(xié)議迫在眉睫。
本文提出一個(gè)基于城市公交的VANET隱私保護(hù)協(xié)議,能實(shí)時(shí)處理用戶的請(qǐng)求,同時(shí)很好地保護(hù)用戶的隱私。協(xié)議僅允許可信性高的公交車廣播消息,有效地減少了消息的數(shù)量,提高了消息的質(zhì)量和認(rèn)證速度,可以實(shí)時(shí)處理用戶的請(qǐng)求。利用DH算法產(chǎn)生會(huì)話密鑰進(jìn)行車輛之間的信息交流,最大程度保證用戶身份不被泄露。車輛之間利用對(duì)稱密鑰通信,提高了加密的速度,有效地減少了系統(tǒng)的開銷。
1 預(yù)備知識(shí)
1.1 雙線性對(duì)
設(shè)G1和G2分別表示階為素?cái)?shù)q的加法循環(huán)群和乘法循環(huán)群,p是G1的生成元。若映射e:G1×G2→G2滿足下列性質(zhì),則稱為雙線性對(duì)。(1)雙線性:對(duì)任何a,b∈Zq*,e(aP,bP)=e(P,P)ab。(2)非退化性:e(P,P)≠1。(3)可計(jì)算性:對(duì)所有的P,Q∈G1,都能有效計(jì)算e(P,Q)。雙線性對(duì)e可以通過有限域上的超橢圓曲線的Tate對(duì)或Wail對(duì)來構(gòu)造。
1.2 Diffie-Hellman問題
CDH(Computational Diffie-Hellman)問題:任意(aP,bP),其中a,b∈Zq*,計(jì)算abP。BDH(Bilinear Diffie-Hellman)問題:任給(aP,bP,cP),其中a,b,c∈Zq*,計(jì)算e(P,P)abc。
Diffie-Hellman算法具有兩個(gè)吸引力的特征[8]:
(1)僅當(dāng)需要時(shí)才生成密鑰,減少了將密鑰存儲(chǔ)很長(zhǎng)一段時(shí)間而致使遭受攻擊的機(jī)會(huì);
(2)除對(duì)全局參數(shù)的約定外,密鑰交換不需要事先存在基礎(chǔ)結(jié)構(gòu)。
Diffie-Hellman算法也存在不足[8]:
?。?)沒有提供雙方身份的任何信息;
(2)沒辦法防止重放攻擊。
2 協(xié)議提出
假設(shè)CA負(fù)責(zé)車輛登記,有足夠的計(jì)算能力和存儲(chǔ)能力,所有的RSU通過有線或無(wú)線方式與CA相連。CA完全被各方信任,不可能被攻擊者攻破。所有車輛都通過RSU相互通信。
本文提出了一個(gè)基于城市公交的VANET隱私保護(hù)協(xié)議。根據(jù)可信度將用戶分為兩類:普通車輛和公交車。相對(duì)于普通車輛,公交車具有固定的行駛路線,速度較為緩慢,具有較高可信度。本協(xié)議有4類實(shí)體,分別是公交車VB、普通車輛VC、CA、RSU。本協(xié)議分為3個(gè)階段:注冊(cè)階段、公交車與普通車輛認(rèn)證階段、公交車認(rèn)證階段。各符號(hào)如表1所示。
2.1 注冊(cè)階段
普通車輛和公交車都需要在CA進(jìn)行統(tǒng)一注冊(cè)。CA為注冊(cè)的公交車頒發(fā)數(shù)字證書CertuB,不為普通車輛頒發(fā),然而必須為所有注冊(cè)車輛約定全局參數(shù)。由于一個(gè)城市的公交車歸為數(shù)不多的公交公司管理,那么可以通過公交公司統(tǒng)一在CA注冊(cè)。注冊(cè)階段,公交車、公交車公司、CA三者之間的信道是安全的。
公交車注冊(cè)過程如圖1所示。
?。?)公交車VB產(chǎn)生公私鑰對(duì)(PrkB,PukB),將PukB、PrkB(BID)、BID通過公交公司發(fā)送給CA。
?。?)CA收到VB所發(fā)送的消息后,利用公鑰PukB解密PrkB(BID)得到BID,驗(yàn)證明文傳送的BID與解密所得BID是否相等,若相等則產(chǎn)生數(shù)字證書CertuB,該證書包含其生命周期lifetime和VB的公鑰PukB。將該證書CertuB通過公交公司發(fā)送給VB。
?。?)VB收到CertuB后,驗(yàn)證是否正確,若正確,則保存該證書,否則丟棄證書。
2.2 公交車與普通車輛的認(rèn)證階段
公交車每過一段時(shí)間就廣播其附近路況的消息,普通車輛和其他公交車則接收消息,若普通車輛收到消息后,需要查詢更多消息,則利用DH算法生成會(huì)話密鑰進(jìn)行消息交流,過程如圖2所示。
?。?)公交車VB產(chǎn)生消息M1、時(shí)間戳t1,并用其私鑰加密得PrkB(M1||t1||CertuB),然后廣播CertuB和PrkB(M1||t1||CertuB)。
(2)普通車輛VC收到公交車廣播的消息后,首先驗(yàn)證CertuB是否合法,若合法,利用CertuB上的公鑰PukB解密得M1、t1;驗(yàn)證解密所得CertuB是否與明文發(fā)送的CertuB相同,若相同,驗(yàn)證t1是否合法,若合法,則接受M1。
(3)若普通車輛需要向公交車詢問更多消息,則產(chǎn)生時(shí)間戳t2、消息M2,隨機(jī)數(shù)a、XA∈Zq*,計(jì)算YA∈。VC利用VB的公鑰PukB加密消息得到PukB(M2‖t2‖YA‖a‖t1),并將其發(fā)送給VB。
?。?)VB用其私鑰解密得M2‖t2‖YA‖a‖t1,驗(yàn)證解密所得t1與VB保存的t1是否相同,若不相同,則丟棄M2;否則隨機(jī)選擇XB∈Zq*,計(jì)算,產(chǎn)生回應(yīng)消息M3和時(shí)間戳t3,將Esk(M3‖t3‖Q)、Q發(fā)送給VC。
?。?)VC收到消息以后,計(jì)算sk=,并用sk解密得M3、t3、Q,驗(yàn)證明文傳遞Q是否與解密所得Q相等。若相等則驗(yàn)證t3是否過期,若不過期,則保存M3,否則丟棄M3。
2.3 公交車之間的認(rèn)證階段
公交車通過相互交流,得到不同路段的信息,公交車之間認(rèn)證過程如圖3所示。
(1)公交車VB1產(chǎn)生時(shí)間戳t4,隨機(jī)選擇b,XB1∈Zq*,計(jì)算YB=。將PukB2(b‖YB‖CertuB1‖PukB1(CertuB1))發(fā)送公交車VB2。
?。?)VB2收到消息后,利用其私鑰解密消息得:b、YB、t4、CertuB1、PrkB1(CertuB1)。首先驗(yàn)證t4是否過期,若過期,則丟棄消息;否則利用VB1的公鑰解密得CertuB1,驗(yàn)證CertuB1Certu*B1,若相等則隨機(jī)選擇XB2∈Zq*,計(jì)算Q′= 。然后產(chǎn)生消息M4和時(shí)間戳t5。將PukB1(Q′‖t5‖CertuB2),Esk′(M4‖t5)發(fā)送給VB1。
?。?)VB1收到消息后,用其私鑰PrkB1解密消息得:Q′、t5。驗(yàn)證t5是否過期,若過期,則丟棄消息;否則計(jì)算會(huì)話密鑰。利用sk′解密得M4、t5,驗(yàn)證t5t5*,若不相等,則丟棄消息,否則接受M4。
3 協(xié)議分析
3.1 安全性證明
語(yǔ)義安全是戈德瓦塞爾和米卡里[9]在1982年提出的密碼學(xué)術(shù)語(yǔ)。如果已知某段未知文段的密文不會(huì)泄露任何文段的其余信息,則稱該密文是語(yǔ)義安全的[9],并且證明語(yǔ)義安全性和密文不可辨別性等價(jià)[10]。
定理1 基于雙線性映射群中CDH數(shù)學(xué)難題成立前提下,本協(xié)議在語(yǔ)義上是安全的。L為本協(xié)議, 是明文消息M3的集合。
證明:假設(shè)敵手(Adversary,A)在任何概率多項(xiàng)式時(shí)間t內(nèi)得到消息M3優(yōu)勢(shì)為AdvAL(k),那么通過構(gòu)造A與挑戰(zhàn)者交互的游戲,證明A贏得該游戲的優(yōu)勢(shì)可以忽略。具體步驟如下。
Setup模擬:A重構(gòu)VC與VB的會(huì)話密鑰困難是,A需要知道生成會(huì)話密鑰的參數(shù)XA。A將竊聽所得消息PukB(M2‖t2‖YA‖a‖t1)發(fā)送給挑戰(zhàn)者。
挑戰(zhàn)模擬:挑戰(zhàn)者選取c∈{0,1},選取兩個(gè)長(zhǎng)度一樣的明文m0,m1∈ ,將Esk(mc||t3||Q)發(fā)送給A。A隨機(jī)選擇參數(shù)k∈Zq*,計(jì)算會(huì)話密鑰sk″=Qk,利用sk″解密收到的消息。
猜測(cè)模擬:A輸出c′∈{0,1},當(dāng)且僅當(dāng)c′=c時(shí),A贏得游戲。A贏得游戲的優(yōu)勢(shì)為:
AdvAL(k)=|Pr[c′=c]-1/2|(1)
消息mc的加密密鑰,解密密鑰sk″=Qk=。當(dāng)且僅當(dāng)sk=sk″時(shí),c=c′,A贏得游戲。由于雙線性映射群中CDH是公認(rèn)數(shù)學(xué)難題,A不可能計(jì)算出會(huì)話密鑰sk,贏得游戲的優(yōu)勢(shì)AdvAL(k)可以忽略,即本協(xié)議在語(yǔ)義上安全。
3.2 安全性分析
經(jīng)分析,該協(xié)議滿足以下安全需求:
(1)匿名性
本文用戶分為兩種:公交車和普通車輛。公交車?yán)脭?shù)字證書與其他車輛進(jìn)行相互認(rèn)證,僅CA知道其身份。普通車輛利用DH算法生成的會(huì)話密鑰與公交車進(jìn)行交流,身份不可能被泄露。故協(xié)議具有用戶匿名性。
?。?)防重放攻擊
本協(xié)議利用時(shí)間戳來防重放攻擊。
(3)防假冒攻擊
公交車用戶利用數(shù)字證書Certu來保護(hù)其身份,有效地防止了假冒攻擊。
(4)防追蹤攻擊
在本協(xié)議中,普通車輛收到公交車廣播的消息后,利用公交車公鑰加密問詢消息,公交車應(yīng)答消息利用DH算法生成的會(huì)話密鑰加密,公交車與普通車輛之間每次交流的消息不相同,故本協(xié)議可以抵抗追蹤攻擊。
?。?)防女巫攻擊
本協(xié)議中所有車輛沒有假名,所以不存在女巫攻擊。
3.3 性能分析
一個(gè)有效的VANET安全協(xié)議不僅滿足VANET的安全需要,并且盡量減少OBU成本,提高執(zhí)行效率。在本文僅有公交車可以廣播和回應(yīng)車輛的消息查詢,普通車輛僅接收公交車所發(fā)送的消息。普通車輛與方案[5-9]相比需認(rèn)證的消息數(shù)量要少許多,有效地減少了普通車輛OBU成本,提高了認(rèn)證速度。雖然在一定程度上需要提高公交車OBU的計(jì)算能力和存儲(chǔ)能力,但公交車的數(shù)量與普通車輛相比數(shù)量較少,從整體分析,本協(xié)議可以提高VANET的執(zhí)行效率。
例如2015年初太原市共擁有公交車2 900多輛,而2013年整個(gè)城市擁有普通車輛(僅指?jìng)€(gè)人轎車)高達(dá)40萬(wàn)輛[11]。根據(jù)太原交通局指示,2015年度將投資1千多萬(wàn)元來完成公交車智能化改造[12]。全國(guó)其他城市也正大力支持公交車的智能化改造。
4 結(jié)論
VANET的隱私保護(hù)和實(shí)時(shí)性非常關(guān)鍵,本文提出一個(gè)基于城市公交的隱私保護(hù)協(xié)議。該協(xié)議通過可信度高的公交車和DH算法實(shí)現(xiàn)實(shí)時(shí)性和隱私保護(hù)。理論分析表明,本協(xié)議能有效保證用戶隱私,同時(shí)節(jié)省網(wǎng)絡(luò)資源,適應(yīng)VANET拓?fù)淇焖僮兓?,?shí)現(xiàn)安全高效的通信。
參考文獻(xiàn)
[1] 劉海濤.物聯(lián)網(wǎng)技術(shù)應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2011.
[2] Luo Jun, Hu BAUXJP. A survey of research in Inter-vehicle communications[R]. LEMKE K, PAAR C, WOLF M. Embedded Security in Cars-securing Current and Future Automotive IT Applications. [S. L.]: Springer, 2010:111-122.
[3] JOHN D. The sybil attack[C]. The First International Workshop on Peer-to-Peer Systems(IPTPS′01), London, UK: Springer-Verlag, 2002:251-260.
[4] 陳辰.VANET系統(tǒng)安全的關(guān)鍵問題研究[D].上海:復(fù)旦大學(xué),2011.
[5] 王景欣,王鉞,耿軍偉,等.基于匿名互換的車聯(lián)網(wǎng)安全與隱私保護(hù)機(jī)制[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,52(5):592-597.
[6] 翟苗,拱長(zhǎng)青,刁俊勝,等.基于PKI的車聯(lián)網(wǎng)安全通信與隱私保護(hù)機(jī)制[J].沈陽(yáng)航空航天大學(xué)學(xué)報(bào),2012,29(5):59-63.
[7] 劉輝,李暉.采用群組密鑰管理的分布式車聯(lián)網(wǎng)信息認(rèn)證方案[J].西安交通大學(xué)學(xué)報(bào),2013,47(2):58-62.
[8] 楊獻(xiàn)春.Diffie-Hellman密鑰交換算法及其優(yōu)化[J/OL],[2011-09-28][2014-12-24] http://wenku.baidu.com/view/5935096a25c52cc58bd6be49.html.
[9] SHAFI G, SILVIO M,Probabilistic encryption & how to playmental poker keeping secret all partial information[C]. Annual ACM Symposium on Theory of Computing,1982.
[10] SHAFI G, SILVIO M. Probabilistic encryption[J]. Journal of Computer and System Sciences, 1984(28):270-299.
[11] 楊晶.太原機(jī)動(dòng)車保有量:87萬(wàn)輛[N].山西晚報(bào),2013-11-05.
[12] 蘇鑫波.投資8408萬(wàn)建設(shè)智能化城市公交[N].三晉都市報(bào),2015-03-18.