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