楊小東,裴喜禎,安發(fā)英,李 婷,王彩芬
(西北師范大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,蘭州 730070)
車載自組網(wǎng)(Vehicular Ad Hoc Network,VANET)是由車輛行駛信息構(gòu)成的交互網(wǎng)絡(luò)(包括車輛位置、車速和路線等)。車輛利用攝像頭、傳感器或全球定位系統(tǒng)等裝置完成各種信息的采集,并通過(guò)互聯(lián)網(wǎng)和計(jì)算機(jī)技術(shù)將所采集的信息傳輸?shù)礁浇能囕v或交通管理中心等機(jī)構(gòu)。交通管理中心收到傳輸來(lái)的消息后,對(duì)其進(jìn)行分析和處理,可以有效解決交通擁堵等問(wèn)題[1]。此外,車載自組網(wǎng)能提供綜合的智能交通服務(wù)[2]。然而,車載自組網(wǎng)面臨諸多安全問(wèn)題[3]。在隱私保護(hù)和提高計(jì)算效率等需求下,利用密碼學(xué)技術(shù)設(shè)計(jì)安全高效的消息認(rèn)證方案是當(dāng)前車載自組網(wǎng)領(lǐng)域的研究熱點(diǎn)之一。
針對(duì)傳統(tǒng)密碼體制的密鑰管理復(fù)雜等問(wèn)題,文獻(xiàn)[4]提出將身份信息作為公鑰的基于身份的密碼體制。文獻(xiàn)[5]提出方案將多個(gè)消息的簽名壓縮成一個(gè)短簽名,驗(yàn)證者只需對(duì)聚合后的簽名進(jìn)行驗(yàn)證,便可快速判斷所有簽名的有效性。隨后,研究人員相繼提出聚合簽名方案[6-8]。文獻(xiàn)[7]設(shè)計(jì)一個(gè)基于身份的聚合簽名方案,具有較高的簽名驗(yàn)證效率和較長(zhǎng)的簽名長(zhǎng)度。文獻(xiàn)[8-9]提出具有固定雙線性對(duì)運(yùn)算的基于身份的聚合簽名方案,其存在簽名長(zhǎng)度隨簽名人數(shù)的增加而增長(zhǎng)的問(wèn)題。文獻(xiàn)[10]設(shè)計(jì)一個(gè)高效的基于身份的聚合簽名方案,由于該方案中的簽名可以被偽造,因此安全性較低。文獻(xiàn)[11]提出一個(gè)簽名長(zhǎng)度固定的聚合簽名方案,其在簽名開(kāi)始前需要預(yù)先確定所有參與簽名人的集合,不適用于動(dòng)態(tài)車載自組網(wǎng)。文獻(xiàn)[12]構(gòu)造一個(gè)面向車聯(lián)網(wǎng)的聚合簽名方案,但簽名驗(yàn)證需要大量的雙線性對(duì)操作。文獻(xiàn)[13]提出一個(gè)適用于智能電網(wǎng)的基于身份的聚合簽名方案,解決了智能電網(wǎng)中存在的隱私泄露問(wèn)題,但其計(jì)算效率和通信效率均較低。文獻(xiàn)[14]提出一種新的聚合簽名方案,但其無(wú)法抵抗聯(lián)合攻擊[15]。文獻(xiàn)[16]設(shè)計(jì)一種適用于車載自組織網(wǎng)的聚合簽名方案,但其無(wú)法抵抗偽造攻擊。針對(duì)現(xiàn)有方案存在證書(shū)管理開(kāi)銷過(guò)大、簽名驗(yàn)證效率過(guò)低等問(wèn)題[17-19],本文利用基于身份的密碼體制和聚合簽名技術(shù),構(gòu)造一個(gè)新的車載自組網(wǎng)消息認(rèn)證方案。
設(shè)q是一個(gè)大素?cái)?shù),G1和G2是階為q的兩個(gè)循環(huán)群,g為G1的生成元,e:G1×G1→G2表示一個(gè)雙線性映射,且具有以下特性:
2)非退化性:e(g,g)≠1。
3)可計(jì)算性:對(duì)于任意g1,g2∈G1,存在一個(gè)有效的算法計(jì)算e(g1,g2)。
定義2若對(duì)于任意敵手Adversary,在多項(xiàng)式時(shí)間t內(nèi)攻破群G1上的CDH問(wèn)題的概率小于ε,則群G1上的(t,ε)-CDH假設(shè)成立。
可信的私鑰生成中心(Private Key Generator,PKG)、車輛單元(On Board Unit,OBU)和路邊單元(Road Side Unit,RSU)3個(gè)實(shí)體構(gòu)成本文方案的系統(tǒng)模型(見(jiàn)圖1)。PKG主要負(fù)責(zé)為車輛分發(fā)私鑰,同時(shí)對(duì)于發(fā)布虛假消息的車輛,PKG可以追查其真實(shí)身份,以便對(duì)其作出具體的懲罰。OBU可以利用DSRC技術(shù),完成與RSU或其他OBU之間的無(wú)線通信。RSU主要為安裝在路邊的基礎(chǔ)設(shè)施(如電線桿等實(shí)體),負(fù)責(zé)驗(yàn)證車輛單元發(fā)送的通信消息的簽名以及聚合多個(gè)消息的簽名等。
圖1 系統(tǒng)模型
基于身份聚合簽名的VANET消息認(rèn)證方案具體描述如下:
2)私鑰提取。對(duì)于車輛單元OBUi(i=1,2,…,n)的身份IDi,PKG確認(rèn)身份信息IDi的合法性后,計(jì)算dIDi=H1(IDi,s)+s,并通過(guò)安全信道將私鑰dIDi發(fā)送給車輛單元OBUi。
3)簽名。對(duì)于消息mi,車輛單元OBUi利用私鑰dIDi進(jìn)行如下操作:
(1)計(jì)算QIDi=gdIDi和hi=H2(mi,IDi,Ti,QIDi),其中Ti為當(dāng)前時(shí)間戳;
(3)輸出一個(gè)關(guān)于mi和Ti的簽名δi=(Si,QIDi)。
4)簽名驗(yàn)證。路邊單元RSU在當(dāng)前時(shí)間T′收到OBUi發(fā)送的關(guān)于消息mi和時(shí)間戳Ti的簽名δi=(Si,QIDi)后,若T′-Ti>τ,則拒絕驗(yàn)證,其中τ表示規(guī)定時(shí)間差;否則,RSU計(jì)算hi=H2(mi,IDi,Ti,QIDi)。若等式e(Si,g)=e(hi,QIDi)成立,則接受(Si,QIDi)是一個(gè)合法的簽名。
下文通過(guò)定理1證明2.2節(jié)提出方案的安全性可歸約到CDH問(wèn)題的困難性。
1)H1詢問(wèn)。當(dāng)Adversary給Challenger發(fā)送一個(gè)身份IDi時(shí),如果在列表ListH1中存在(IDi,ai),則Challenger將ai返回給Adversary;否則Challenger進(jìn)行如下操作:
(1)當(dāng)IDi=ID*時(shí),Challenger終止詢問(wèn),并輸出“FAILURE”(該事件發(fā)生用Eevent1表示)。
2)私鑰提取詢問(wèn)。當(dāng)Adversary向Challenger提交一個(gè)身份IDi并對(duì)其進(jìn)行私鑰提取詢問(wèn)時(shí),Challenger查詢列表ListE(IDi,dIDi),如果在列表ListE中有對(duì)于身份IDi的私鑰,則發(fā)送給Adversary;否則Challenger進(jìn)行如下操作:
(1)當(dāng)IDi=ID*時(shí),Challenger終止詢問(wèn),并輸出“FAILURE”(該事件發(fā)生用Eevent2表示)。
(2)當(dāng)IDi≠ID*時(shí),Challenger從列表ListH1中獲取(IDi,ai),并計(jì)算dIDi=ai+s,此時(shí)Ppub=gs;然后將(IDi,dIDi)增加到列表ListE中,發(fā)送私鑰dIDi給Adversary。
3)H2詢問(wèn)。當(dāng)Adversary詢問(wèn)關(guān)于身份IDi的H2哈希值時(shí),如果列表ListH2中存在(IDi,mi,Ti,Qi,hi),則Challenger發(fā)送hi給Adversary;否則Challenger執(zhí)行如下操作:
(1)當(dāng)IDi=ID*時(shí),Challenger設(shè)置Q*=gn和hi=H2(IDi,mIDi,Ti,QIDi)=gm,然后將gm發(fā)送給Adversary,并在列表ListH2中增加(IDi,mIDi,Ti,gn,gm)。
4)簽名詢問(wèn)。當(dāng)Adversary向Challenger詢問(wèn)關(guān)于消息mIDi和身份IDi的簽名時(shí),Challenger先從ListH2提取IDi對(duì)應(yīng)的哈希值hi,然后進(jìn)行以下操作:
(1)當(dāng)IDi=ID*時(shí),Challenger終止詢問(wèn),輸出“FAILURE”(該事件發(fā)生用Eevent3表示)。
下文分析Challenger成功解決CDH問(wèn)題實(shí)例的時(shí)間和優(yōu)勢(shì):
2)只有當(dāng)3個(gè)事件Eevent1、Eevent2和Eevent3都不發(fā)生時(shí),Challenger才能完成整個(gè)詢問(wèn),進(jìn)而解決CDH問(wèn)題實(shí)例。
本文方案與文獻(xiàn)[12-13]方案都利用了基于身份的聚合簽名技術(shù),下文對(duì)這3個(gè)方案的通信開(kāi)銷和計(jì)算開(kāi)銷進(jìn)行對(duì)比分析。
通信開(kāi)銷主要集中在私鑰提取、簽名和聚合簽名階段。將本文方案與文獻(xiàn)[12-13]方案在私鑰提取階段、簽名階段和聚合簽名階段的通信開(kāi)銷進(jìn)行對(duì)比分析。為便于比較,假設(shè)3個(gè)方案都選取階為同一個(gè)素?cái)?shù)q的群G1和G2。在文獻(xiàn)[13]方案中,私鑰提取階段需要的通信開(kāi)銷為(n+2)G1+GT;簽名階段對(duì)n個(gè)消息進(jìn)行加密需要的通信開(kāi)銷是2nG1,對(duì)n個(gè)密文進(jìn)行簽名需要的通信開(kāi)銷是nG1,所以在簽名階段總的通信開(kāi)銷是3nG1;聚合階段聚合密文需要的通信開(kāi)銷是2G1,同時(shí)對(duì)聚合密文進(jìn)行簽名需要的通信開(kāi)銷是2G1,所以在聚合階段總的通信開(kāi)銷是4G1。在文獻(xiàn)[12]方案中,私鑰提取階段需要的通信開(kāi)銷是2nG1,簽名階段需要的通信開(kāi)銷是2nG1,聚合階段需要的通信開(kāi)銷是2G1。在本文方案中,私鑰提取階段需要的通信開(kāi)銷是nG1,簽名階段需要的通信開(kāi)銷是2nG1,聚合階段需要的通信開(kāi)銷是G1。各方案的通信開(kāi)銷對(duì)比結(jié)果如表1所示。由此可知,本文方案優(yōu)化了私鑰提取、簽名和聚合簽名階段的算法,有效降低了通信開(kāi)銷。
表1 基于身份的聚合簽名方案通信開(kāi)銷比較
Table 1 Comparison of communication costs of identity-based aggregate signature schemes
方案私鑰提取階段簽名階段聚合簽名階段文獻(xiàn)[12]方案2nG12nG12G1文獻(xiàn)[13]方案(n+2)G1+GT3nG14G1本文方案nG12nG1G1
本文方案、文獻(xiàn)[12-13]方案的計(jì)算開(kāi)銷比較結(jié)果如表2所示,其中,Exp表示1次冪運(yùn)算、Mul表示1次乘法運(yùn)算、Add表示1次加法運(yùn)算、H表示1次哈希運(yùn)算、P表示1次雙線性配對(duì)運(yùn)算,n表示車輛數(shù)量。
由表2可知,在文獻(xiàn)[12]方案中,簽名階段執(zhí)行4n次乘法運(yùn)算,簽名驗(yàn)證階段執(zhí)行3n次雙線性配對(duì)運(yùn)算和n次乘法運(yùn)算,聚合簽名驗(yàn)證階段執(zhí)行(n+2)次雙線性配對(duì)運(yùn)算、(n-1)次乘法運(yùn)算和加法運(yùn)算;在文獻(xiàn)[13]方案中,簽名階段執(zhí)行4(n+1)次冪運(yùn)算和2(n+1)次乘法運(yùn)算,簽名驗(yàn)證階段執(zhí)行(3n+3)次雙線性配對(duì)運(yùn)算,聚合簽名驗(yàn)證階段執(zhí)行3n次雙線性配對(duì)運(yùn)算。但在本文方案中,簽名階段執(zhí)行2n次冪運(yùn)算,簽名驗(yàn)證階段執(zhí)行2n次雙線性配對(duì)運(yùn)算,聚合簽名驗(yàn)證階段執(zhí)行(n+1)次雙線性配對(duì)運(yùn)算。因此,本文方案具有較低的簽名驗(yàn)證開(kāi)銷和聚合簽名驗(yàn)證開(kāi)銷,可以在較短的時(shí)間內(nèi)驗(yàn)證通信消息的有效性。
表2 基于身份的聚合簽名方案計(jì)算開(kāi)銷比較
實(shí)驗(yàn)環(huán)境:CPU為Intel Core i7-5500U,內(nèi)存為4 GB?;诎姹咎?hào)為0.4.7的PBC庫(kù),對(duì)本文方案和文獻(xiàn)[12-13]方案進(jìn)行仿真實(shí)驗(yàn)。
圖2展示了RSU在仿真實(shí)驗(yàn)中執(zhí)行簽名驗(yàn)證所需的計(jì)算開(kāi)銷。仿真實(shí)驗(yàn)?zāi)M了從10輛~100輛車輛生成消息后,RSU執(zhí)行簽名驗(yàn)證所需的計(jì)算開(kāi)銷。3個(gè)方案隨著車輛數(shù)量的增加,對(duì)多個(gè)消息進(jìn)行簽名驗(yàn)證所需的時(shí)間也逐漸增多。然而,相比文獻(xiàn)[12-13]方案,本文方案在簽名驗(yàn)證階段計(jì)算開(kāi)銷最小。
圖2 簽名驗(yàn)證過(guò)程中計(jì)算時(shí)間與車輛數(shù)量的關(guān)系
Fig.2 Relationship between the calculation time and the number of vehicles during signature verification
圖3展示了RSU在仿真實(shí)驗(yàn)中執(zhí)行聚合簽名驗(yàn)證所需的計(jì)算開(kāi)銷。仿真實(shí)驗(yàn)?zāi)M了從10輛~100輛車輛生成消息后的聚合簽名驗(yàn)證所需的計(jì)算開(kāi)銷。由圖3可知,本文方案在聚合簽名驗(yàn)證階段具有更高的計(jì)算效率。
圖3 聚合簽名驗(yàn)證過(guò)程中計(jì)算時(shí)間與車輛數(shù)量的關(guān)系
Fig.3 Relationship between the calculation time and the number of vehicles during aggregate signature verification
為降低車輛對(duì)通信消息的認(rèn)證響應(yīng)時(shí)間,本文設(shè)計(jì)一個(gè)基于身份聚合簽名的車載自組網(wǎng)消息認(rèn)證方案,將多個(gè)消息的多個(gè)簽名聚合為一個(gè)短簽名進(jìn)行驗(yàn)證。分析結(jié)果表明,本文方案具有較高的安全性及較低的通信與計(jì)算開(kāi)銷。然而,由于本文方案的安全性規(guī)約于計(jì)算Diffie-Hellman困難問(wèn)題,無(wú)法抵抗量子計(jì)算攻擊,因此下一步將設(shè)計(jì)基于格困難問(wèn)題的車載自組網(wǎng)消息認(rèn)證方案。