朱 棟,殷新春,2
1(揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225127)
2(揚(yáng)州大學(xué) 廣陵學(xué)院,江蘇 揚(yáng)州 225128)
隨著私家車輛數(shù)量的不斷增多,許多國(guó)家地區(qū)的運(yùn)輸系統(tǒng)正日益趨于極限,GROSS[1]預(yù)計(jì),到2035年全球使用的車輛數(shù)目將達(dá)到20億.汽車保有量的持續(xù)增長(zhǎng),一方面給人們的生活帶來(lái)了很多的便利,另一方面造成了城市交通擁堵、交通事故頻發(fā)等問(wèn)題.因此,保障駕駛安全的需求越來(lái)越緊迫.正是在這種背景下,車載自組網(wǎng)(Vehicular Ad-Hoc Networks,VANETs)應(yīng)運(yùn)而生.車載自組織網(wǎng)絡(luò)被歸類為移動(dòng)自組織網(wǎng)絡(luò)(Mobile Ad-Hoc Network,MANET)的一種應(yīng)用,具有改善道路安全性和為旅行者提供舒適感的潛力.車輛通過(guò)蜂窩網(wǎng)-車到萬(wàn)物(Cellular Vehicle to Everything,C-V2X)[2]的通信技術(shù)與路邊基礎(chǔ)設(shè)施進(jìn)行通信進(jìn)而獲得實(shí)時(shí)的路況、天氣等信息.同時(shí),車輛行駛的交通狀態(tài)信息(速度、路況、行駛路線)也需要實(shí)時(shí)的被路邊基礎(chǔ)設(shè)施收集和處理,借助無(wú)線通信網(wǎng)絡(luò)和可信中心(Trusted Authority,TA)的信息處理能力分析城市的交通流量、擁堵情況,從而對(duì)車輛進(jìn)行路徑規(guī)劃,實(shí)現(xiàn)智能化的交通管理,這樣才能實(shí)現(xiàn)交通信息的最大化利用.
由于車輛與基礎(chǔ)設(shè)施(Vehicle to Infrastructure,V2I)之間采用無(wú)線通信的方式,數(shù)據(jù)在傳送過(guò)程中極易被監(jiān)控、篡改或偽造[3].面向車載自組網(wǎng)的安全通信方案需要通過(guò)簽名技術(shù)保證通信的基本安全需求,例如消息的認(rèn)證性、完整性和不可否認(rèn)性.安全通信方案還需要提供條件隱私保護(hù)機(jī)制.一方面車輛用戶的隱私信息(真實(shí)身份標(biāo)識(shí)、位置等)一旦泄露會(huì)導(dǎo)致被追蹤的風(fēng)險(xiǎn)增加.另一方面當(dāng)車輛用戶發(fā)送虛假消息或者肇事逃逸時(shí),可信中心必須能夠追查到車輛用戶的真實(shí)身份.最后,安全通信方案還需要較高的計(jì)算效率.隨著聯(lián)網(wǎng)車輛數(shù)量的不斷增加,路邊基礎(chǔ)設(shè)施需要面對(duì)海量的待驗(yàn)證消息,較低的計(jì)算效率會(huì)導(dǎo)致路邊基礎(chǔ)設(shè)施無(wú)法及時(shí)完成這些消息的驗(yàn)證;面向VANETs的交通安全相關(guān)的消息具有很強(qiáng)的時(shí)效性,必須被及時(shí)有效地處理,否則可能因處理延誤造成交通事故[4].綜上所述,在滿足通信安全需求的基礎(chǔ)上提高方案的匿名認(rèn)證效率是車載自組網(wǎng)要解決的關(guān)鍵問(wèn)題.
最近,Thumbur等人[5]提出了一種無(wú)雙線性配對(duì)的無(wú)證書簽名方案,并在隨機(jī)預(yù)言模型下對(duì)其安全性進(jìn)行了證明,聲稱該方案可以部署在資源受限的車載自組網(wǎng)中.但是,我們發(fā)現(xiàn)該方案并不能抵抗公鑰替換攻擊,即不具備其所聲稱的安全性.為了解決上述問(wèn)題,本文提出了一種可證明安全且匿名的無(wú)證書簽名方案.該方案滿足車載自組網(wǎng)的安全需求,同時(shí)具有較低的計(jì)算和通信開(kāi)銷.本文的主要貢獻(xiàn)如下:
1)分析了Thumbur等人[5]的方案,證明該方案無(wú)法抵抗公鑰替換攻擊,并給出了具體的攻擊方法.
2)提出了一種適用于車載自組網(wǎng)的無(wú)證書簽名方案.本文方案不需要安全信道并且能夠滿足基本安全需求.
3)在隨機(jī)預(yù)言模型下證明了本文方案基于橢圓曲線離散對(duì)數(shù)問(wèn)題具有不可偽造性.
4)性能分析表明,與其他應(yīng)用于車載自組網(wǎng)的方案相比,本文方案在計(jì)算與通信性能上都有優(yōu)勢(shì).
傳統(tǒng)公鑰密碼體系使用數(shù)字證書確認(rèn)用戶公鑰的有效性[6],而數(shù)字證書由證書管理機(jī)構(gòu)(Certificate Authority,CA)頒發(fā)和維護(hù).一些應(yīng)用于車載自組網(wǎng)的簽名方案[7,8]是建立在傳統(tǒng)的公鑰密碼體系上的.盡管基于該體系的簽名方案提供了對(duì)消息的完整性和認(rèn)證性的驗(yàn)證,但是,在車載自組網(wǎng)中,每個(gè)實(shí)體都在高流量、高密度的情況下交互信息,數(shù)字證書的管理無(wú)疑大大增加了其中的存儲(chǔ)和通信負(fù)擔(dān).為了簡(jiǎn)化證書管理,Shamir等人[9]提出了基于身份的公鑰密碼體系.后來(lái),文獻(xiàn)[10-13]將基于身份的公鑰密碼體系引入到車載自組網(wǎng)中,設(shè)計(jì)了基于身份的公鑰密碼體系認(rèn)證方案.在基于身份的公鑰密碼體系中,公鑰是由簽名者的公共身份信息(電話號(hào)碼、電子郵件和身份證號(hào)碼等)生成的,因而不需要可信機(jī)構(gòu)頒發(fā)數(shù)字證書認(rèn)證公鑰的有效性.但用戶的私鑰由第3方私鑰生成中心(Private Key Generator,PKG)生成,若第3方私鑰生成中心是不誠(chéng)實(shí)或惡意的,其可以偽造任意用戶的簽名,即存在密鑰托管問(wèn)題.
為了解決密鑰托管問(wèn)題,Al-Riyami等人[14]提出了無(wú)證書公鑰密碼體系.在無(wú)證書公鑰密碼體系中,簽名者的私鑰由密鑰生成中心(Key Generation Center,KGC)生成的部分私鑰和簽名者選取的秘密值構(gòu)成.由于KGC無(wú)法得知簽名者的秘密值,也就無(wú)法得知簽名者的完整私鑰.另外,簽名者的公鑰是由他自己選取的秘密值計(jì)算而來(lái)的,所以無(wú)需數(shù)字證書.因此,無(wú)證書密碼體系解決了密鑰托管問(wèn)題并且避免了證書管理.Horng等人[15]提出了一種適用于車載自組網(wǎng)的具有條件隱私保護(hù)功能的無(wú)證書聚合簽名方案,并聲稱該方案在自適應(yīng)選擇消息攻擊下具有不可偽造性.但是,Li等人[16]指出Horng等人[15]的方案不能抵抗惡意KGC的攻擊.文獻(xiàn)[17]提出了一種基于雙線性配對(duì)的無(wú)證書聚合簽名方案,并在隨機(jī)預(yù)言模型下證明該方案是安全的.然而,文獻(xiàn)[18]指出文獻(xiàn)[17]的方案無(wú)法抵抗惡意KGC的攻擊.Wang等人[19]設(shè)計(jì)了一種基于雙線性配對(duì)的無(wú)證書聚合簽名方案,并聲稱該方案滿足不可偽造性和匿名性.但是,文獻(xiàn)[20]指出文獻(xiàn)[19]的方案不能抵抗惡意KGC的攻擊、無(wú)法實(shí)現(xiàn)車輛的隱私保護(hù)且車輛真實(shí)身份的追蹤需要花費(fèi)較大的計(jì)算開(kāi)銷和存儲(chǔ)空間.在2020年,Mei等人[21]提出了一種基于雙線性配對(duì)的具有條件隱私保護(hù)功能的無(wú)證書聚合簽名方案,該方案實(shí)現(xiàn)了完全聚合并在隨機(jī)預(yù)言模型下被證明是安全的.
上述方案[15-19,21]都是基于雙線性配對(duì)構(gòu)造的,由于雙線性配對(duì)的計(jì)算開(kāi)銷較大,會(huì)加大路邊單元(Road Side Unit,RSU)驗(yàn)證簽名的計(jì)算開(kāi)銷.為了提高計(jì)算效率,Gayathri等人[22]提出了一種無(wú)雙線性配對(duì)的無(wú)證書批量認(rèn)證方案,并在隨機(jī)預(yù)言模型下證明了該方案的安全性.在該方案中,車輛需要向周邊的RSU發(fā)送身份信息請(qǐng)求為其生成假名,若攻擊者通過(guò)沿途廣播RSU的消息誘使車輛請(qǐng)求假名可能會(huì)導(dǎo)致車輛的位置遭到泄露,而方案[19,20]存在同樣的問(wèn)題.文獻(xiàn)[23]提出了一種無(wú)雙線性配對(duì)的無(wú)證書聚合簽名方案,聲稱該方案實(shí)現(xiàn)了條件隱私保護(hù),并在隨機(jī)預(yù)言模型下給出了安全性證明.但是,文獻(xiàn)[24]指出文獻(xiàn)[23]的方案無(wú)法抵抗惡意KGC的攻擊.
最近,Thumbur等人[5]提出了一種無(wú)雙線性配對(duì)的無(wú)證書簽名方案,聲稱該方案在隨機(jī)預(yù)言模型下基于橢圓曲線離散對(duì)數(shù)問(wèn)題具有不可偽造性.但是我們發(fā)現(xiàn)該方案無(wú)法抵抗公鑰替換攻擊,所以是不安全的方案.因此,設(shè)計(jì)適用于車載自組網(wǎng)的安全且高效的無(wú)證書簽名方案是本文的主要目標(biāo).
首先,本節(jié)描述了適用于本文方案的困難性問(wèn)題.然后,描述了車載自組網(wǎng)的系統(tǒng)模型和安全需求.最后,給出無(wú)證書簽名方案的定義和安全模型.本文方案的部分符號(hào)及說(shuō)明如表1所示.
表1 本文方案的部分符號(hào)及說(shuō)明Table 1 Symbols used in our scheme
橢圓曲線離散對(duì)數(shù)問(wèn)題(Elliptic Curve Discrete Logarithm Problem,ECDLP):取階為大素?cái)?shù)q的群G,P為群G的任意一個(gè)生成元.已知P和aP∈G,ECDLP的目標(biāo)是計(jì)算a∈Zq*.
計(jì)算性Diffie-Hellman問(wèn)題(Computational Diffie-Hellman Problem,CDHP):取階為大素?cái)?shù)q的群G,P為群G的任意一個(gè)生成元.已知P和aP∈G,bP∈G,對(duì)于任意未知的a,b∈Zq*,CDHP的目標(biāo)是計(jì)算abP∈G.
如圖1所示,車載自組網(wǎng)的系統(tǒng)模型包括3個(gè)參與者:可信中心(TA),車載單元(On Board Unit,OBU),路邊單元(RSU).
圖1 車載自組網(wǎng)的系統(tǒng)模型示例圖Fig.1 System model for VANETs
1)TA:通常為交通管理部門.一般來(lái)說(shuō),TA被認(rèn)為是完全可信的實(shí)體,擁有強(qiáng)大的通信、計(jì)算和存儲(chǔ)能力.但是,基于零信任架構(gòu)[25]的思想,我們假設(shè)TA是不完全可信的.TA通過(guò)有線信道與RSU通信,主要負(fù)責(zé)車載自組網(wǎng)的系統(tǒng)建立以及為各個(gè)OBU生成部分私鑰.由于事先存儲(chǔ)了車輛的真實(shí)身份列表,TA可以根據(jù)惡意車輛的假身份恢復(fù)出真實(shí)身份.
2)OBU:車輛裝載的通信模塊.車輛通過(guò)OBU能夠與RSU或其他配備OBU的車輛進(jìn)行通信,進(jìn)而獲得相應(yīng)的服務(wù).同時(shí),OBU可以生成假名、公鑰和消息的簽名.
3)RSU:安裝在道路兩側(cè)的基礎(chǔ)設(shè)施.RSU通過(guò)無(wú)線信道向范圍內(nèi)的車輛廣播自己的身份和公鑰,驗(yàn)證OBU發(fā)送的消息簽名對(duì).然后,它會(huì)將有效的消息處理或收集起來(lái)發(fā)送給TA,并將從TA處接收的信息以廣播的形式傳遞給周圍的OBU.若RSU周邊出現(xiàn)事故,RSU有權(quán)向TA舉報(bào)并協(xié)助TA追蹤惡意車輛.
1)認(rèn)證性和完整性:RSU要確保所接收的消息是來(lái)自注冊(cè)過(guò)的車輛,即消息來(lái)源是可靠且未被篡改的.
2)匿名性:車載自組網(wǎng)的其他車輛或攻擊者無(wú)法通過(guò)車輛的假名識(shí)別出車輛的真實(shí)身份.
3)可追蹤性:當(dāng)某個(gè)OBU發(fā)送虛假消息或者肇事逃逸時(shí),相應(yīng)的RSU能夠協(xié)助TA追蹤違規(guī)車輛的真實(shí)身份,車輛無(wú)法利用匿名性逃脫懲罰.
本小節(jié)結(jié)合車載自組網(wǎng)的系統(tǒng)模型,給出了本文定義的無(wú)證書簽名方案的主要算法.無(wú)證書簽名方案由8個(gè)多項(xiàng)式時(shí)間算法構(gòu)成,具體的算法如下所述:
1)系統(tǒng)建立算法(Setup):該算法由TA執(zhí)行.輸入安全參數(shù)k,輸出系統(tǒng)參數(shù)params和系統(tǒng)主密鑰s.TA公開(kāi)params并秘密保存s.
2)車輛注冊(cè)算法(VehicleRegistration):該算法由OBU執(zhí)行.輸入params、車輛i的真實(shí)身份RIDi,輸出該車輛的假身份Qi和協(xié)商密鑰Zi.OBU通過(guò)周邊的RSU將(Qi,Zi)發(fā)送給TA.
3)提取部分私鑰算法(ExtractPPK):該算法由TA執(zhí)行.輸入params、s、Qi和Zi,輸出車輛i的部分私鑰的轉(zhuǎn)換值ki以及部分公鑰Ri.TA通過(guò)RSU將(ki,Ri)發(fā)送給相應(yīng)的OBU.
4)設(shè)置秘密值算法(SetSecretValue):該算法由OBU執(zhí)行.輸入params,輸出車輛i的秘密值xi.
5)設(shè)置公/私鑰算法(SetPublic/PrivateKey):該算法由OBU執(zhí)行.輸入params、ki和xi,輸出車輛i的公鑰PKi和私鑰SKi.
6)假名生成算法(PseudonymGen):該算法由OBU執(zhí)行.輸入params、xi、Qi、OBU的當(dāng)前時(shí)間戳Ti、車輛周邊RSU的身份Pj和公鑰Yj,輸出車輛i的假名IDi.
7)簽名算法(Sign):該算法由OBU執(zhí)行.輸入params、IDi、SKi和消息m,輸出簽名σi.OBU將請(qǐng)求消息Req=(IDi,m,σi,PKi)發(fā)送給周邊的RSU.
8)驗(yàn)證算法(Verify):該算法由RSU執(zhí)行.輸入params、IDi、PKi、m和σi,RSU驗(yàn)證σi是否有效,若簽名有效,輸出VALID;否則,輸出INVALID.
在Huang等人[26]的安全模型中有兩類攻擊者:類型I攻擊者AⅠ,類型II攻擊者AⅡ.AⅠ為惡意的車載單元,可以替換合法車輛的公鑰,但是無(wú)法獲取系統(tǒng)主密鑰;AⅡ?yàn)閻阂獾粍?dòng)的TA,可以自己生成系統(tǒng)參數(shù),但是不能替換車輛的公鑰.下面分別在游戲Ⅰ和游戲Ⅱ中刻畫這兩類的攻擊者.
游戲Ⅰ.該游戲是由挑戰(zhàn)者CⅠ和攻擊者AⅠ進(jìn)行如下交互完成的,CⅠ維護(hù)用戶列表Luser.
階段1.輸入安全參數(shù)k,CⅠ運(yùn)行系統(tǒng)建立算法生成系統(tǒng)參數(shù)params和系統(tǒng)主密鑰s.CⅠ發(fā)送params給AⅠ,并秘密保存s.
階段2.在該階段,AⅠ向CⅠ進(jìn)行以下詢問(wèn):
1)創(chuàng)建用戶詢問(wèn):該詢問(wèn)會(huì)產(chǎn)生車輛IDi生成簽名所需要的所有參數(shù).AⅠ選擇一個(gè)身份IDi提交給CⅠ,CⅠ查詢列表Luser,檢驗(yàn)該用戶是否已被創(chuàng)建.若已創(chuàng)建,則CⅠ返回公鑰PKi給AⅠ;否則,CⅠ運(yùn)行提取部分私鑰算法,設(shè)置秘密值算法,設(shè)置公/私鑰算法,從而獲得(di,xi,PKi).然后,CⅠ返回公鑰PKi給AⅠ并將(IDi,di,xi,PKi,flag)加入列表Luser,其中flag默認(rèn)為False.
2)替換公鑰詢問(wèn):AⅠ選擇一個(gè)身份IDi和(x′i,PK′i)提交給CⅠ,當(dāng)接收到AⅠ提交的替換公鑰詢問(wèn)時(shí),CⅠ從列表Luser中獲取(IDi,di,xi,PKi,flag),用(x′i,PK′i)替換列表Luser中的(xi,PKi),CⅠ會(huì)記錄這一替換并令flag=True.
3)秘密值詢問(wèn):AⅠ選擇一個(gè)身份IDi提交給CⅠ,當(dāng)接收到AⅠ提交的秘密值詢問(wèn)時(shí),CⅠ從列表Luser中獲取(IDi,di,xi,PKi,flag)并返回Luser中的xi給AⅠ.如果flag=True,返回的xi為⊥.
4)部分私鑰詢問(wèn):AⅠ選擇一個(gè)身份IDi提交給CⅠ,當(dāng)接收到AⅠ提交的部分私鑰詢問(wèn)時(shí),C1從列表Luser中獲取(IDi,di,xi,PKi,flag)并返回Luser中的di給AⅠ.
5)簽名詢問(wèn):AⅠ選擇一個(gè)身份IDi和消息m提交給CⅠ,當(dāng)接收到AⅠ提交的簽名詢問(wèn)時(shí),CⅠ運(yùn)行簽名算法生成消息m的簽名σi,并把σi返回給AⅠ.這里的σi滿足VALID←Verify(params,m,σi,PK′i,IDi),其中,PK′i是目前的公鑰,這個(gè)公鑰可以是AⅠ替換后的公鑰.
階段3.該階段是偽造階段,AⅠ輸出(IDi*,m*,σi*),IDi*是AⅠ選擇偽造簽名的目標(biāo)用戶,m*是偽造消息,σi*是關(guān)于(IDi*,m*)的偽造簽名.若同時(shí)滿足下面的條件,我們稱AⅠ贏得了這個(gè)游戲.
1)VALID←Verify(params,m*,σi*,PKi*,IDi*);
2)AⅠ不能提交關(guān)于目標(biāo)用戶IDi*對(duì)m*的簽名詢問(wèn);
3)AⅠ不能提交關(guān)于目標(biāo)用戶IDi*的部分私鑰詢問(wèn).
游戲Ⅱ.該游戲是由挑戰(zhàn)者CⅡ和攻擊者AⅡ進(jìn)行如下交互完成的.
階段1. 輸入安全參數(shù)k,AⅡ運(yùn)行系統(tǒng)建立算法生成系統(tǒng)參數(shù)params和系統(tǒng)主密鑰s.AⅡ發(fā)送params和s給CⅡ.
階段2. 在該階段,AⅡ自適應(yīng)性的向CⅡ提交創(chuàng)建用戶詢問(wèn),部分私鑰詢問(wèn),簽名詢問(wèn),步驟與游戲Ⅰ的詢問(wèn)一致.
階段3. 該階段是輸出階段,AⅡ輸出(IDi*,m*,σi*),IDi*是AⅡ選擇偽造簽名的目標(biāo)用戶,m*是偽造消息,σi*是關(guān)于(IDi*,m*)的偽造簽名.若同時(shí)滿足下面的條件,我們稱AⅡ贏得了這個(gè)游戲.
1)VALID←Verify(params,m*,σi*,PKi*,IDi*);
2)AⅡ不能提交關(guān)于目標(biāo)用戶IDi*對(duì)m*的簽名詢問(wèn).
在本節(jié)中,我們簡(jiǎn)單回顧Thumbur等人[5]的無(wú)證書簽名方案,并分析該方案存在的安全性問(wèn)題.
2)提取部分私鑰算法(ExtractPPK):輸入params、簽名者的身份IDi,KGC隨機(jī)選取ri∈Zq*,計(jì)算部分公鑰Ri=riP,h1=H1(IDi‖Ri‖Ppub),部分私鑰di=(ri+sh1)modq.KGC通過(guò)安全信道將Di=(di,Ri)發(fā)送給簽名者.簽名者驗(yàn)證等式diP=Ri+h1Ppub是否成立,若成立則接受,否則拒絕.
3)設(shè)置秘密值算法(SetSecretValue):簽名者隨機(jī)選取xi∈Zq*作為秘密值.
4)設(shè)置公/私鑰算法(SetPublic/PrivateKey):輸入params、IDi、xi和di,簽名者計(jì)算Xi=xiP,h2=H2(IDi‖Xi),部分公鑰Qi=Ri+h2Xi.然后,簽名者設(shè)置公鑰PKi=(Qi,Ri),設(shè)置私鑰SKi=(di,xi).
5)簽名算法(Sign):輸入params、待簽名的消息m、SKi和PKi,簽名者隨機(jī)選取ui∈Zq*,計(jì)算Ui=uiP,h2=H2(IDi‖Xi),h3=H3(IDi‖m‖PKi‖Ui),vi=ui+h3(di+h2xi)modq.然后,簽名者設(shè)置簽名σi=(Ui,vi),并發(fā)送σi給驗(yàn)證者.
6)驗(yàn)證算法(Verify):輸入params、IDi、m、PKi和σi,驗(yàn)證者計(jì)算h1=H1(IDi‖Ri‖Ppub),h3=H3(IDi‖m‖PKi‖Ui),驗(yàn)證等式viP=Ui+h3(Qi+h1Ppub)是否成立.若成立,輸出VALID;否則,輸出INVALID.
偽造攻擊方法:正常情況下,類型I攻擊者偽造有效的簽名需要計(jì)算出部分私鑰,而部分私鑰是由主密鑰s計(jì)算而來(lái)的.雖然攻擊者可以竊聽(tīng)到系統(tǒng)公鑰,但是攻擊者試圖從系統(tǒng)公鑰進(jìn)一步計(jì)算出s可歸約為橢圓曲線離散對(duì)數(shù)問(wèn)題.因此,攻擊者無(wú)法計(jì)算出部分私鑰,也就無(wú)法偽造簽名.另一種辦法就是消除部分私鑰的影響,尋找線性式[27](公鑰或部分公鑰與系統(tǒng)公鑰的簡(jiǎn)單線性組合),利用替換公鑰的方法消除主密鑰對(duì)應(yīng)的系統(tǒng)公鑰,偽造簽名就不再需要合法用戶持有的部分私鑰了.
驗(yàn)證等式中存在線性式Qi+h1Ppub,因此類型I攻擊者可以利用替換公鑰的能力消除h1Ppub,其中Ppub=sP.攻擊者將執(zhí)行以下操作.
偽造:惡意的用戶攻擊步驟如下.
1)隨機(jī)選取x′i,r′i∈Zq*,計(jì)算X′i=x′iP,R′i=r′iP,h1=H1(IDi‖R′i‖Ppub),h2=H2(IDi‖X′i),Q′i=R′i+h2X′i-h1Ppub;
2)替換公鑰為PK′i=(Q′i,R′i);
3)隨機(jī)選取u′i∈Zq*,計(jì)算U′i=u′iP;
4)選擇一個(gè)消息m*≠m,計(jì)算h3=H3(IDi‖m*‖PK′i‖U′i),v′i=u′i+h3(r′i+h2x′i)modq;
5)設(shè)置簽名σ′i=(U′i,v′i);
6)通過(guò)安全信道將
驗(yàn)證:驗(yàn)證者接收到
1)計(jì)算h1=H1(IDi‖R′i‖Ppub),h3=H3(IDi‖m*‖PK′i‖U′i);
2)驗(yàn)證等式v′iP=U′i+h3(Q′i+h1Ppub)是否成立,若成立,輸出VALID;否則,輸出INVALID.
正確性:偽造簽名的正確性由下式保證.
v′iP=[u′i+h3(r′i+h2x′i)]P
=U′i+h3(R′i+h2X′i-h1Ppub+h1Ppub)
=U′i+h3(Q′i+h1Ppub).
為了抵抗文獻(xiàn)[5]存在的公鑰替換攻擊,同時(shí)實(shí)現(xiàn)車輛身份的條件隱私保護(hù),本文提出了一種適用于車載自組網(wǎng)的無(wú)安全信道的無(wú)證書簽名方案,主要計(jì)算和信息傳輸如圖2所示.假設(shè):TA已經(jīng)保存了系統(tǒng)內(nèi)所有車輛的真實(shí)身份,并將其存儲(chǔ)至車輛身份列表;每個(gè)RSU設(shè)定身份為Pj,隨機(jī)選取yj∈Zq*作為其私鑰,計(jì)算公鑰Yj=yjP并將(Pj,Yj)發(fā)送給TA.
圖2 本文方案的流程圖Fig.2 Flow chart of the proposed scheme
1)系統(tǒng)建立算法(Setup):該算法由TA執(zhí)行.輸入安全參數(shù)k,TA運(yùn)行該算法生成q階加法循環(huán)群G,P為群G的生成元.TA隨機(jī)選取并保存s∈Zq*為系統(tǒng)主密鑰,計(jì)算系統(tǒng)公鑰Ppub=sP,選取安全的Hash函數(shù)H:G→{0,1}*,H′:G×{0,1}*→Zq*,H1:{0,1}*→Zq*,H2:{0,1}*×{0,1}*×G×G→Zq*,H3:{0,1}*×{0,1}*×G×G→Zq*,并審核RSU發(fā)送的(Pj,Yj),審核通過(guò)則接收.最后,TA輸出系統(tǒng)公共參數(shù)params={q,G,P,Ppub,H1,H2,H3,H,H′,(Pj,Yj)}.
2)車輛注冊(cè)算法(VehicleRegistration):該算法由OBU執(zhí)行.OBU隨機(jī)選取zi∈Zq*,計(jì)算協(xié)商密鑰Zi=ziP,假身份Qi=RIDi⊕H(ziPpub),并通過(guò)周邊的RSU將(Zi,Qi)發(fā)送給TA.
4)設(shè)置秘密值算法(SetSecretValue):該算法由OBU執(zhí)行.OBU接收到ki后,計(jì)算部分私鑰di=ki+H(ziPpub)modq,h1=H1(Qi‖Ri‖Ppub),驗(yàn)證等式diP=h1Ppub+Ri是否成立.若等式不成立,則重新請(qǐng)求部分私鑰;若等式成立,則接收,OBU隨機(jī)選取xi∈Zq*作為秘密值,計(jì)算Xi=xiP.
5)設(shè)置公私/鑰算法(SetPublic/PrivateKey):該算法由OBU執(zhí)行.OBU設(shè)置公鑰PKi=(Xi,Ri),設(shè)置私鑰SKi=(di,xi).
6)假名生成算法(PseudonymGen):該算法由OBU執(zhí)行.當(dāng)車輛進(jìn)入RSU負(fù)責(zé)的區(qū)域內(nèi)會(huì)接收到RSU廣播的身份和公鑰信息,若OBU根據(jù)系統(tǒng)參數(shù)檢查出RSU的身份與公鑰信息不匹配,則不執(zhí)行該算法;否則,OBU獲取當(dāng)前的時(shí)間戳Ti以及RSU的公鑰Yj,計(jì)算IDi1=Qi⊕H′(xiYj‖Ti),IDi2=Pj(Pj為RSU的身份),設(shè)置車輛的假名IDi=(IDi1,IDi2,Ti).
7)簽名算法(Sign):該算法由OBU執(zhí)行.OBU隨機(jī)選取ui∈Zq*,計(jì)算Ui=uiP,h2=H2(IDi‖m‖PKi‖Ui),h3=H3(IDi‖m‖Ppub‖Ui),vi=ui+h2xi+h3dimodq,OBU生成簽名σi=(Ui,vi).OBU將請(qǐng)求消息Req=(σi,m,IDi,PKi)發(fā)送給RSU.
正確性分析:本文方案的正確性由以下方程式保證.
viP=(ui+h2xi+h3di)P
=Ui+h2Xi+h3(ri+sh1)P
=Ui+h2Xi+h3(Ri+h1Ppub).
定理1. 在隨機(jī)預(yù)言模型中,若存在一個(gè)類型I攻擊者AⅠ能在概率多項(xiàng)式時(shí)間內(nèi)以ε的優(yōu)勢(shì)成功偽造一個(gè)簽名,那么存在一個(gè)挑戰(zhàn)者CⅠ能夠在概率多項(xiàng)式時(shí)間內(nèi)以ε1的優(yōu)勢(shì)解決橢圓曲線離散對(duì)數(shù)問(wèn)題.
證明:假設(shè)CⅠ是一個(gè)橢圓曲線離散對(duì)數(shù)問(wèn)題的解決者,困難問(wèn)題的輸入(G,P,Ppub=sP),其中s∈Zq*,CⅠ的目標(biāo)是計(jì)算s.
C1維護(hù)列表L1,L2,L3,Luser分別用于跟蹤AⅠ對(duì)預(yù)言機(jī)H1,H2,H3的Hash詢問(wèn)以及創(chuàng)建用戶詢問(wèn).初始時(shí)各列表均為空,AⅠ和CⅠ之間的交互如下.
階段1.C1運(yùn)行系統(tǒng)建立算法,將系統(tǒng)參數(shù)params={q,G,P,Q,H1,H2,H3,H,H′,(Pj,Yj)}發(fā)送給AⅠ.然后,AⅠ挑選車輛IDi*作為目標(biāo)用戶.
階段2.AⅠ適應(yīng)性地向CⅠ提交最多多項(xiàng)式有界次的詢問(wèn)如下:
1)H1詢問(wèn):當(dāng)CⅠ收到AⅠ的H1(Qi‖Ri‖Ppub)詢問(wèn)時(shí),若列表L1中包含(Qi,Ri,Ppub,h1),則CⅠ返回h1給AⅠ;否則,CⅠ隨機(jī)選取h1∈Zq*,將(Qi,Ri,Ppub,h1)加入列表L1,并返回h1給AⅠ.
2)H2詢問(wèn):當(dāng)CⅠ收到AⅠ的H2(IDi‖m‖PKi‖Ui)詢問(wèn)時(shí),若列表L2中包含(IDi,m,PKi,Ui,h2),則CⅠ返回h2給AⅠ;否則,CⅠ隨機(jī)選取h2∈Zq*,將(IDi,m,PKi,Ui,h2)加入列表L2,并返回h2給AⅠ.
3)H3詢問(wèn):當(dāng)CⅠ收到AⅠ的H3(IDi‖m‖Ppub‖Ui)詢問(wèn)時(shí),若列表L3中包含(IDi,m,Ppub,Ui,h3),則CⅠ返回h3給AⅠ;否則,CⅠ隨機(jī)選取h3∈Zq*,將(IDi,m,Ppub,Ui,h3)加入列表L3,并返回h3給AⅠ.
4)創(chuàng)建用戶詢問(wèn):當(dāng)CⅠ收到AⅠ的創(chuàng)建用戶詢問(wèn)時(shí),CⅠ查詢列表Luser,若列表Luser中包含(IDi,di,xi,Xi,Ri,flag),則CⅠ返回PKi=(Xi,Ri)給AⅠ;否則,CⅠ執(zhí)行以下操作:①如果IDi≠IDi*,CⅠ隨機(jī)選取di,h1,xi∈Zq*,計(jì)算Xi=xiP,Ri=diP-h1Ppub,令flag=Flase.②如果IDi=IDi*,CⅠ隨機(jī)選取h1,ri,xi∈Zq*,計(jì)算Xi=xiP,Ri=riP,令di=⊥,flag=Flase.最后,CⅠ檢查列表L1,若列表L1中包含(Qi,Ri,Ppub,H1(Qi,Ri,Ppub))且h1≠H1(Qi,Ri,Ppub),則CⅠ終止程序;否則,CⅠ返回PKi=(Xi,Ri)給AⅠ,將(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1)分別加入列表Luser,L1.
5)替換公鑰詢問(wèn):當(dāng)AⅠ想用新公鑰PK′i替換IDi的舊公鑰PKi時(shí),我們這里假設(shè)AⅠ已經(jīng)提交過(guò)關(guān)于IDi的創(chuàng)建用戶詢問(wèn),CⅠ從列表Luser中獲取(IDi,di,xi,Xi,Ri,flag),更新列表中的(xi,Xi,Ri)為(x′i,X′i,R′i)并令flag=True.
6)秘密值詢問(wèn):當(dāng)CⅠ收到AⅠ的秘密值詢問(wèn)時(shí),CⅠ檢查列表Luser,若列表Luser中包含(IDi,di,xi,Xi,Ri,flag),CⅠ返回xi給AⅠ;否則,CⅠ先提交關(guān)于IDi的創(chuàng)建用戶詢問(wèn)再返回xi給AⅠ.如果flag=True,返回的xi為⊥.
7)部分私鑰詢問(wèn):當(dāng)CⅠ收到AⅠ的部分私鑰詢問(wèn)時(shí),我們這里假設(shè)AⅠ已經(jīng)提交過(guò)關(guān)于IDi的創(chuàng)建用戶詢問(wèn),CⅠ執(zhí)行以下操作:當(dāng)IDi=IDi*時(shí),CⅠ終止程序;當(dāng)IDi≠IDi*時(shí),CⅠ查詢列表Luser,返回di給AⅠ.
8)簽名詢問(wèn):當(dāng)AⅠ對(duì)(IDi,m)提交簽名詢問(wèn)時(shí),CⅠ查詢列表Luser和L1,當(dāng)IDi≠IDi*時(shí),CⅠ從Luser,L1中獲取(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1),這種情況下di,xi不為⊥,CⅠ隨機(jī)選取ui,h2,h3∈Zq*,計(jì)算Ui=uiP,vi=(ui+h3di+h2xi)modq,其中H2(IDi‖m‖PKi‖Ui)=h2,H3(IDi‖m‖Ppub‖Ui)=h3,CⅠ返回簽名σi=(Ui,vi)給AⅠ,將(IDi,m,PKi,Ui,h2),(IDi,m,Ppub,Ui,h3)分別加入列表L2,L3.當(dāng)IDi=IDi*時(shí),CⅠ從Luser,L1獲取(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1),其中di=⊥,xi=⊥(AⅠ提交過(guò)替換公鑰詢問(wèn)并且沒(méi)有提供與之對(duì)應(yīng)的xi).CⅠ隨機(jī)選取vi,h2,h3∈Zq*,計(jì)算Ui=viP-h3(Ri+h1Ppub)-h2Xi,CⅠ返回簽名σi=(Ui,vi)給AⅠ,將(IDi,m,PKi,Ui,h2),(IDi,m*,Ppub,Ui,h3)分別加入列表L2,L3.
階段3.AⅠ停止上述詢問(wèn),輸出關(guān)于(IDi*,m*)的偽造簽名σi*=(Ui*,vi*).當(dāng)IDi*≠IDi時(shí),CⅠ終止游戲;否則,CⅠ查詢列表Luser,L1,L2,L3并從中獲取出(IDi*,di*,xi*,Xi*,Ri*),(Qi*,Ri*,Ppub,h1*),(IDi*,m*,PKi*,Ui*,h2*),(IDi*,m*,Ppub,Ui*,h3*),如果h2*,h3*不在列表L2,L3中,CⅠ終止游戲.
vi*=ui*+h3*di*+h2*xi*modq
(1)
由于di*=sh1*+ri*,其中h1*=h1,ri*=ri,所以式(1)可以改寫為:
vi*=ui*+h3*(ri+sh1)+h2*xi*modq
(2)
要注意的是xi*不一定是起初CⅠ挑選的xi,因?yàn)锳Ⅰ有可能提交過(guò)關(guān)于IDi的替換公鑰詢問(wèn),所以對(duì)于CⅠ來(lái)說(shuō)ui*,s,ri,xi*都是未知的,根據(jù)分叉引理[28],AⅠ會(huì)獲得關(guān)于消息m*的另外3個(gè)有效的簽名:
通過(guò)解4個(gè)線性無(wú)關(guān)方程,CⅠ會(huì)計(jì)算出s作為橢圓曲線離散對(duì)數(shù)問(wèn)題的有效解,從而解決橢圓曲線離散對(duì)數(shù)問(wèn)題.
接下來(lái),我們?cè)u(píng)估CⅠ解決橢圓曲線離散對(duì)數(shù)問(wèn)題的優(yōu)勢(shì).
事件1(E1):表示CⅠ沒(méi)有終止過(guò)游戲Ⅰ.
事件2(E2):vi*是一個(gè)關(guān)于(IDi*,m*)的有效簽名.
CⅠ解決橢圓曲線離散對(duì)數(shù)問(wèn)題的優(yōu)勢(shì)為:ε1=Pr[E1∧E2]=Pr[E1]Pr[E2/E1],其中,Pr[E2/E1]=ε.依據(jù)游戲分析,可以得到:
顯然,若AⅠ具有成功偽造一個(gè)簽名的優(yōu)勢(shì)ε,那么CⅠ就具有解決橢圓曲線離散對(duì)數(shù)問(wèn)題的能力,但這與橢圓曲線離散對(duì)數(shù)問(wèn)題無(wú)法解決矛盾,即可證明攻擊者AⅠ成功偽造一個(gè)簽名的優(yōu)勢(shì)可忽略.所以,本文方案能夠抵抗類型I攻擊者.
定理2. 在隨機(jī)預(yù)言模型中,若存在一個(gè)類型II攻擊者AⅡ能在概率多項(xiàng)式時(shí)間內(nèi)以ε′的優(yōu)勢(shì)在游戲Ⅱ中獲勝,那么存在一個(gè)挑戰(zhàn)者CⅡ能夠在概率多項(xiàng)式時(shí)間內(nèi)以ε2的優(yōu)勢(shì)解決橢圓曲線離散對(duì)數(shù)問(wèn)題.
證明:假設(shè)CⅡ是一個(gè)橢圓曲線離散對(duì)數(shù)問(wèn)題的解決者,其困難問(wèn)題的輸入(G,P,Q=xP),其中x∈Zq*,CⅡ的目標(biāo)是計(jì)算x.
CⅡ維護(hù)列表L1,L2,L3,Luser分別用于跟蹤AⅡ?qū)︻A(yù)言機(jī)H1,H2,H3的Hash詢問(wèn)和創(chuàng)建用戶詢問(wèn).初始時(shí)各列表均為空,AⅡ和CⅡ之間的交互如下.
階段1.AⅡ運(yùn)行系統(tǒng)建立算法,并將系統(tǒng)參數(shù)params={q,G,P,Ppub,H1,H2,H3,H,H′,(Pj,Yj)}和系統(tǒng)主密鑰s發(fā)送給CⅡ.AⅡ挑選車輛IDi*作為目標(biāo)用戶.
階段2.AⅡ適應(yīng)性地向CⅡ提交最多多項(xiàng)式有界次的詢問(wèn)如下:
1)Hash詢問(wèn):AⅡ適應(yīng)性地向CⅡ提交Hash詢問(wèn),步驟與定理1證明中的Hash詢問(wèn)一致.
2)創(chuàng)建用戶詢問(wèn):當(dāng)CⅡ收到AⅡ的創(chuàng)建用戶詢問(wèn)時(shí),CⅡ查詢列表Luser,如果該列表包含對(duì)應(yīng)的公鑰,則返回PKi=(Xi,Ri)給AⅡ;否則,CⅡ執(zhí)行以下操作:①如果IDi≠IDi*,CⅡ隨機(jī)選取ri,h1,xi∈Zq*,計(jì)算Ri=riP,di=sh1+rimodq,Xi=xiP,令flag=False.②如果IDi=IDi*時(shí),CⅡ隨機(jī)選取ri,h1∈Zq*,計(jì)算Ri=riP,di=sh1+rimodq,令flag=False,Xi=Q,xi=⊥.最后,CⅡ查詢列表L1,若列表L1中包含(Qi,Ri,Ppub,H1(Qi,Ri,Ppub))并且h1≠H1(Qi‖Ri‖Ppub),則CⅡ終止程序;否則,CⅡ返回PKi=(Xi,Ri)給AⅡ,將(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1)加入列表Luser,L1.
3)替換公鑰詢問(wèn):當(dāng)AⅡ想用新公鑰PK′i替換IDi的舊公鑰PKi時(shí),CⅡ驗(yàn)證AⅡ提交的身份,若IDi=IDi*,則CⅡ拒絕回應(yīng)AⅡ并終止游戲;否則,CⅡ從列表Luser中獲取(IDi,di,xi,Xi,Ri,flag),更新列表中的(xi,Xi,Ri)為(x′i,X′i,R′i)并令flag=True.
4)秘密值詢問(wèn):當(dāng)CⅡ收到AⅡ的秘密值詢問(wèn)時(shí),CⅡ驗(yàn)證AⅡ提交的身份,若IDi=IDi*,則CⅡ拒絕回應(yīng)AⅡ并終止游戲;否則,CⅡ查詢列表Luser,返回xi給AⅡ.如果flag=True,返回的xi為⊥.
5)部分私鑰詢問(wèn):我們假設(shè)CⅡ收到AⅡ的部分私鑰詢問(wèn)時(shí),AⅡ已經(jīng)提交了創(chuàng)建用戶詢問(wèn),CⅡ查詢列表Luser,從中獲取(IDi,di,xi,Xi,Ri)并返回di給AⅡ.
6)簽名詢問(wèn):當(dāng)AⅡ?qū)?IDi,m)提交簽名詢問(wèn)時(shí),CⅡ查詢列表Luser和L1,當(dāng)IDi≠IDi*時(shí),CⅡ從Luser,L1獲取(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1),其中xi不為⊥,CⅡ隨機(jī)選取ui,h2,h3∈Zq*,計(jì)算Ui=uiP,vi=(ui+h3di+h2xi)modq,其中H2(IDi‖m‖PKi‖Ui)=h2,H3(IDi‖m‖Ppub‖Ui)=h3,CⅡ返回簽名σi=(Ui,vi)給AⅡ,將(IDi,m,PKi,Ui),(IDi,m,Ppub,Ui)分別加入列表L2,L3.當(dāng)IDi=IDi*時(shí),CⅡ從Luser,L1中獲取(IDi,di,xi,Xi,Ri,flag),(Qi,Ri,Ppub,h1),其中xi=⊥.CⅡ隨機(jī)選取vi,h2,h3∈Zq*,計(jì)算Ui=viP-h3(Ri+h1Ppub)-h2Q,CⅡ返回簽名σi=(Ui,vi)給AⅡ,將(IDi,m,PKi,Ui,h2),(IDi,m,Ppub,Ui,h3)分別加入列表L2,L3.
階段3.AⅡ停止上述詢問(wèn),輸出關(guān)于(IDi*,m*)的偽造簽名σi*=(Ui*,vi*).當(dāng)IDi*≠IDi時(shí),CⅡ終止游戲;否則,CⅡ查詢列表Luser,L1,L2,L3并從中獲取(IDi*,di*,xi*,Xi*,Ri*),(Qi*,Ri*,Ppub,h1*),(IDi*,m*,PKi*,Ui*,h2*),(IDi*,m*,Ppub,Ui*,h3*),如果h2*,h3*不在列表L2,L3中,CⅡ終止游戲.
vi*=ui*+h3*di*+h2*xmodq
(3)
由于di*=di,所以式(3)可以改寫為:
vi*=ui*+h3*di+h2*xmodq
(4)
(5)
根據(jù)式(4)和式(5),CⅡ可計(jì)算出x作為橢圓曲線離散對(duì)數(shù)問(wèn)題的有效解,從而解決橢圓曲線離散對(duì)數(shù)問(wèn)題.
接下來(lái),我們?cè)u(píng)估CⅡ解決橢圓曲線離散對(duì)數(shù)問(wèn)題的優(yōu)勢(shì).
事件1(E1):CⅡ沒(méi)有終止過(guò)游戲Ⅱ.
事件2(E2):vi*是一個(gè)關(guān)于消息(IDi*,m*)的有效簽名.
CⅡ解決橢圓曲線離散對(duì)數(shù)問(wèn)題的優(yōu)勢(shì)為:ε2=Pr[E1∧E2]=Pr[E1]Pr [E2/E1],其中,Pr [E2/E1]=ε′.依據(jù)游戲分析,可以得到:
顯然,若AⅡ具有成功偽造一個(gè)簽名的優(yōu)勢(shì)ε′,那么CⅡ就具有解決橢圓曲線離散對(duì)數(shù)問(wèn)題的能力,但這與橢圓曲線離散對(duì)數(shù)問(wèn)題無(wú)法解決相矛盾,即可證明攻擊者AⅡ成功偽造一個(gè)簽名的優(yōu)勢(shì)可忽略.所以,本文方案能夠抵抗類型II攻擊者.
6.2.1 認(rèn)證性和完整性
認(rèn)證性和完整性的證明可以從定理1和定理2證明中獲得,即不存在類型I和類型II攻擊者能夠成功偽造一個(gè)簽名,只有合法車載單元發(fā)送的簽名可以通過(guò)驗(yàn)證等式.因此,本文方案滿足消息的認(rèn)證性與完整性.
6.2.2 匿名性
匿名性是指OBU在通信過(guò)程中,除了OBU本身和TA,其他實(shí)體都無(wú)法得知車輛的真實(shí)身份.車輛的匿名性主要體現(xiàn)在以下兩個(gè)方面.
1)車輛的假名IDi由OBU計(jì)算.車輛的秘密值和RSU的公鑰作為輸入?yún)?shù)(xiYj=yjXi),其中xi、yj分別為車輛、RSU所私有,基于CDHP,攻擊者無(wú)法計(jì)算出xiyjP.由于TA公布了合法RSU的信息,即使攻擊者偽裝成RSU也只能廣播正確的身份Pj及對(duì)應(yīng)的公鑰Yj(Yj=yjP),基于ECDLP,攻擊者無(wú)法計(jì)算出yj,也無(wú)法得到車輛實(shí)質(zhì)性的身份信息.這樣很好的保證了車輛身份的匿名性.
6.2.3 可追蹤性
本節(jié)將從計(jì)算開(kāi)銷,通信開(kāi)銷和安全性3個(gè)方面對(duì)本文方案進(jìn)行性能分析,并將本文方案與現(xiàn)有的相關(guān)方案[5,13,15,19,21,22]進(jìn)行比較.計(jì)算開(kāi)銷主要取決于簽名和驗(yàn)證算法的計(jì)算量,通過(guò)統(tǒng)計(jì)橢圓曲線標(biāo)量乘運(yùn)算,橢圓曲線標(biāo)量加運(yùn)算,雙線性配對(duì)運(yùn)算,Hash映射到點(diǎn)運(yùn)算的執(zhí)行次數(shù)來(lái)衡量.對(duì)于通信開(kāi)銷,我們根據(jù)車輛的簽名、假名、當(dāng)前時(shí)間戳和公鑰的長(zhǎng)度來(lái)評(píng)估.在安全性方面,我們主要檢查方案是否保證消息具有認(rèn)證性,方案是否提供條件隱私保護(hù)以及能否抵擋類型I、類型II的攻擊者.
在計(jì)算開(kāi)銷方面,我們采用文獻(xiàn)[12]中的實(shí)驗(yàn)統(tǒng)計(jì)結(jié)果,各種基礎(chǔ)操作的計(jì)算開(kāi)銷如表2所示.
表2 基礎(chǔ)操作的計(jì)算開(kāi)銷Table 2 Computational overhead of operations
由于文獻(xiàn)[13,15,19,21]涉及到雙線性配對(duì)和Hash映射到點(diǎn)運(yùn)算,而文獻(xiàn)[22]中簽名和驗(yàn)證算法的點(diǎn)乘運(yùn)算次數(shù)較多,導(dǎo)致上述方案的計(jì)算效率較低.如表3所示,相比于其他方案[13,15,19,21,22],本文方案的總開(kāi)銷分別減少了81.3%、87.5%、91.0%、93.8%和28.5%.本文方案的簽名開(kāi)銷和驗(yàn)證開(kāi)銷都具有優(yōu)勢(shì).
表3 計(jì)算開(kāi)銷的比較Table 3 Comparison of computational cost
表4 通信開(kāi)銷的比較Table 4 Comparison of transmission overhead
如表4所示,在文獻(xiàn)[13]的方案中,請(qǐng)求消息由(AIDi,Mi,Si,Ti)組成,簽名Si∈G1,假名AIDi=(AIDi,1,AIDi,2),其中AIDi,1,AIDi,2∈G1,Ti是當(dāng)前時(shí)間戳,通信開(kāi)銷為3|G1|+|T|=3104 bits.由于該方案是基于身份的公鑰密碼體系的認(rèn)證方案,公鑰即為消息發(fā)送者的身份,因此,不需要另外統(tǒng)計(jì)公鑰的長(zhǎng)度.在文獻(xiàn)[15]的方案中,請(qǐng)求消息由(IDi,vpki,Mi,ti,σi)組成,簽名σi=(Ri,Si),其中Ri,Si∈G1,假名IDi=(IDi,1,IDi,2,Ti),其中IDi,1∈G1,IDi,2∈Zq*,Ti和ti是當(dāng)前時(shí)間戳,公鑰vpki∈G1,通信開(kāi)銷為4|G1|+|Zq*|+2|T|=4320 bits.在文獻(xiàn)[19]的方案中,請(qǐng)求消息由(Fi,Pi,mi,σi)組成,簽名σi=(Ui,Vi),其中Ui,Vi∈G1,假名Fi=(F1i,F(xiàn)2i),其中F1i∈G1,F(xiàn)2i∈Zq*,公鑰Pi∈G1,通信開(kāi)銷為4|G1|+|Zq*|=4256 bits.在文獻(xiàn)[21]的方案中,請(qǐng)求消息由(PSUIDi,vepki,msgi,ti,sigi,IDRs)組成.簽名sigi=(Ui,Ti)∈G1,假名PSUIDi=(PIDi,1,j,PIDi,2,j,TPi,j),其中PIDi,1,j,PIDi,2,j∈G1,TPi,j和ti是當(dāng)前時(shí)間戳,公鑰vepki∈G1,RSU身份IDRs∈G1,通信開(kāi)銷為6|G1|+2|T|=6208 bits.在文獻(xiàn)[22]的方案中,請(qǐng)求消息由(IDi,PKi,mi,σi)組成,簽名σi=(Ri,Y1i,ui,wi),其中Ri,Y1i∈G,ui,wi∈Zq*,假名IDi=(ID1i,ID2i,Ti),其中ID1i∈G1,ID2i∈Zq*,Ti是當(dāng)前時(shí)間戳,公鑰PKi=(Xi,Ri)∈G,通信開(kāi)銷為4|G|+3|Zq*|+|T|=1792 bits.在本文方案中,簽名σi=(Ui,vi),其中Ui∈G,vi∈Zq*,假名IDi=(IDi1,IDi2,Ti),其中IDi1,IDi2∈Zq*,Ti是當(dāng)前時(shí)間戳,公鑰Xi∈G,所以通信開(kāi)銷為3|G|+3|Zq*|+|T|=1472 bits.
在安全性方面,如表5所示,文獻(xiàn)[5]中的方案無(wú)法抵抗類型I攻擊者,文獻(xiàn)[15,19]中的方案無(wú)法抵抗類型II攻擊者,文獻(xiàn)[5,19]中的方案無(wú)法保證車輛匿名性,文獻(xiàn)[5,19]在可追蹤性方面存在問(wèn)題,而本文可以滿足所有安全需求.
表5 安全性的比較Table 5 Comparison of security
由表2-表4可知,與現(xiàn)有的方案[13,15,19,21,22]相比,我們的方案的計(jì)算開(kāi)銷和通信開(kāi)銷表現(xiàn)更優(yōu).另外,相對(duì)于文獻(xiàn)[5]提出的方案,我們不僅保證了本文方案的安全性,而且本文方案與文獻(xiàn)[5]提出方案的計(jì)算開(kāi)銷基本持平.
針對(duì)車載自組網(wǎng)匿名認(rèn)證效率較低以及條件隱私保護(hù)難以實(shí)現(xiàn)的問(wèn)題,本文在Thumbur等人[5]方案的基礎(chǔ)上提出了一種無(wú)雙線性配對(duì)的無(wú)證書簽名方案.本文方案不需要安全信道,解決了OBU和TA之間通信依賴安全信道的問(wèn)題.在隨機(jī)預(yù)言模型下,基于橢圓曲線離散對(duì)數(shù)問(wèn)題證明本文方案具有不可偽造性.此外,本文方案還滿足匿名性、可追蹤性和不可否認(rèn)性.性能分析表明,本文方案在計(jì)算開(kāi)銷、通信開(kāi)銷和安全性方面都具有一定的優(yōu)勢(shì),適用于車載自組網(wǎng)中數(shù)據(jù)的安全共享.
在未來(lái)工作中,我們將會(huì)通過(guò)引入聚合技術(shù)來(lái)進(jìn)一步降低RSU的計(jì)算代價(jià),設(shè)計(jì)更高效地車載自組網(wǎng)認(rèn)證方案.