劉輝,劉鑫衍,許艷,仲紅,王夢
(1.安徽大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601;2.安徽大學(xué)電子信息與工程學(xué)院,安徽 合肥 230601)
車載自組織網(wǎng)絡(luò)(VANET,vehicle ad-hoc network)是智能交通系統(tǒng)(ITS,intelligent traffic system)的核心組成部分[1],可幫助駕乘人員和交通管理人員獲得實時全面的交通信息,減少交通事故的發(fā)生。為了實現(xiàn)交通信息的交互,VANET 包含2 類通信節(jié)點:部署在車輛中的車載單元(OBU,on-board unit)和固定于路邊的基礎(chǔ)設(shè)施單元(RSU,road side unit)。OBU 和RSU 使用專用短程通信(DSRC,dedicated short range communication)協(xié)議[2],實現(xiàn)車車通信(V2V,vehicle-to-vehicle)、車輛與RSU 通信(V2I,vehicle-to-infrastructure)、RSU 與車輛通信(I2V,infrastructure-to-vehicle)。
然而,DSRC 協(xié)議是無線通信協(xié)議,傳輸?shù)臄?shù)據(jù)容易被監(jiān)聽、修改和偽造[3]。車輛或RSU 在接收消息時需確認(rèn)消息來源的合法性以及消息的完整性。此外,車輛身份關(guān)乎駕乘人員的生命財產(chǎn)安全,除了需要確認(rèn)消息來源的合法性以及消息的完整性,VANET 還需保護(hù)車輛的身份隱私。同時,當(dāng)車輛發(fā)生交通事故或產(chǎn)生違規(guī)行為時,還需要對惡意車輛進(jìn)行追責(zé)。這種能夠保護(hù)車輛的身份隱私,但在必要時又可追蹤車輛真實身份的行為被稱為條件隱私保護(hù)。2007 年,Raya 等[4]提出了一種基于公鑰基礎(chǔ)設(shè)施(PKI,public-key infrastructure)的條件隱私保護(hù)認(rèn)證方案來實現(xiàn)車輛身份和消息完整性的驗證。隨后,學(xué)者提出VANET 條件隱私保護(hù)協(xié)議,以實現(xiàn)安全的V2V 或V2I 認(rèn)證。
已有的VANET 條件隱私保護(hù)協(xié)議多考慮對車輛發(fā)布的消息進(jìn)行驗證[4-13]。然而,在VANET 中也需要考慮對RSU 發(fā)布的消息進(jìn)行認(rèn)證,因為交通管理部門(TMD,transportation manage department)可通過RSU 向車輛發(fā)布與車輛相關(guān)的交通信號、路況信息或者車輛的違章信息等。此外,在車輛行駛過程中TMD 捕獲到的是道路上行駛車輛的真實身份,如車牌號碼等。隨后,TMD 經(jīng)由RSU 給車輛發(fā)送的警告信息,包含的也是車輛的真實身份。而在VANET 中,為了保護(hù)身份隱私,車輛往往使用假名進(jìn)行通信。所以TMD 在經(jīng)由RSU 向車輛發(fā)布警告消息之前需要根據(jù)車輛的真實身份獲取車輛的假名。但是,在VANET 中車輛的真實身份和假名應(yīng)是難以相互推導(dǎo)的。已有的VANET 條件保護(hù)隱私協(xié)議,往往研究的是可信第三方可以根據(jù)假名追蹤出車輛的真實身份。而如何由真實身份推導(dǎo)出車輛的假名,目前的研究較少。
本文提出隱私保護(hù)的VANET 警告消息發(fā)布協(xié)議,TMD 在發(fā)布違章消息之前能夠根據(jù)車輛的真實身份及時獲取車輛假名,從而經(jīng)由RSU 給車輛發(fā)送警告消息。
本文的主要貢獻(xiàn)如下。
1) 提出條件隱私保護(hù)的警告消息發(fā)布協(xié)議,該協(xié)議可以根據(jù)車輛的真實身份及時獲取車輛假名。此外,TMD 也可以通過車輛假名追蹤到車輛的真實身份,實現(xiàn)條件隱私保護(hù)。
2) 采用簽密技術(shù)實現(xiàn)I2V 認(rèn)證,在實現(xiàn)車輛對RSU 身份認(rèn)證的同時保護(hù)警告消息涉及車輛的身份隱私。
3) 采用橢圓曲線密碼體制(ECC,elliptic curve cryptography)實現(xiàn)車輛執(zhí)行的驗證過程,不依賴于雙線性對,有較高的計算效率。實驗分析表明,所提協(xié)議有較低的計算開銷和通信開銷。
2008 年,Lu 等[5]提出了一個高效的條件隱私保護(hù)協(xié)議,實現(xiàn)了可追蹤的匿名認(rèn)證。該協(xié)議能夠在OBU 和RSU 之間生成實時的臨時匿名密鑰,最小化存儲臨時匿名密鑰所需的存儲空間。但是在該協(xié)議中,車輛需要頻繁地向RSU 申請匿名證書,導(dǎo)致RSU 需要維護(hù)龐大的證書列表。同年,Zhang 等[6]采用假名技術(shù)來為車輛假名生成私鑰。該協(xié)議不需要向RSU 申請證書,減輕了RSU 的負(fù)擔(dān)。2011 年,Zhang 等[7]提出帶有群測試的支持批驗證的VANET 條件隱私保護(hù)協(xié)議。Lee 等[8]指出文獻(xiàn)[7]提出的協(xié)議不能抵抗重放攻擊,并提出一個新的基于身份的批驗證協(xié)議。文獻(xiàn)[9-11]指出Lee 等[8]方案也存在安全缺陷,即惡意車輛能夠偽造其他車輛的合法簽名。但是,文獻(xiàn)[9-11]采用耗時的雙線性對操作。為了減少計算開銷,文獻(xiàn)[12-13]提出無雙線性配對的面向車聯(lián)網(wǎng)高效安全的消息認(rèn)證方案,這些方案基于ECC,具有較高的計算效率。然而,上述協(xié)議雖然保護(hù)了車輛的身份隱私、消息的完整性和消息來源的合法性,但沒有考慮到消息的機(jī)密性,未授權(quán)的車輛可能會獲取敏感的違章信息[5-13]。
為實現(xiàn)傳輸消息的機(jī)密性,Rabieh 等[14]使用同態(tài)加密技術(shù)構(gòu)造了隱私保護(hù)的交通信息上報協(xié)議,但是加密后再進(jìn)行簽名會造成很大的時延。為減少對消息加密和簽名的總計算開銷和通信開銷,Zheng[15]提出了簽密的概念,實現(xiàn)了在一個步驟內(nèi)同時完成加密和簽名操作。2017 年,Basudan 等[16]將簽密技術(shù)于應(yīng)用于路況監(jiān)測。2019 年,Wang 等[17]提出基于源認(rèn)證的隱私保護(hù)云路況監(jiān)測方案,將路況信息以密文形式上報給云服務(wù)器,云服務(wù)器需要在路況信息是密文的情況下驗證消息來源,但該方案無法追蹤惡意車輛的真實身份。為解決文獻(xiàn)[17]無法追蹤惡意車輛真實身份的問題,韓牟等[18]提出一種VANET 高效群密鑰協(xié)商協(xié)議,但該協(xié)議使用了較耗時的雙線性對操作。2020 年,為提高計算效率,Xu 等[19]構(gòu)造了車輛的身份可追蹤的路況檢測協(xié)議,該方案無雙線性對操作。2021 年,Elkhali等[20]提出一種適用于車聯(lián)網(wǎng)異構(gòu)系統(tǒng)的高效簽密方案,但該方案未考慮車輛的匿名性。Ali 等[21]提出一種異構(gòu)車聯(lián)網(wǎng)中條件保密的混合簽密方案,解決了文獻(xiàn)[20]中車輛的匿名性問題。
本文采用的系統(tǒng)模型包括4 個參與者:可信中心(TA,trusted authority)、TMD、車輛和RSU。如圖1所示,系統(tǒng)模型的上層由TA 和TMD 組成,底層由RSU 和若干車輛組成。TA、TMD 和RSU 可以通過安全套接字層(SSL,secure socket layer)協(xié)議進(jìn)行安全通信。RSU 與車輛、車輛與車輛之間可以通過DSRC 協(xié)議進(jìn)行通信。這些參與者的詳細(xì)情況介紹如下。
圖1 系統(tǒng)模型
TA 是可信第三方,具有較強(qiáng)的計算能力。負(fù)責(zé)生成系統(tǒng)參數(shù),并為TMD、車輛等參與者進(jìn)行注冊。
TMD 是高度可信的交通管理部門,可以捕獲車輛違章消息,并經(jīng)由RSU 給車輛發(fā)送警告消息,是唯一能夠追蹤車輛真實身份的參與者。
RSU 是半可信的,誠實遵守協(xié)議但對車輛的隱私好奇。RSU 能夠使用DSRC 協(xié)議與車輛通信,驗證車輛發(fā)送的消息的有效性。TA、TMD 與車輛的通信通過RSU 進(jìn)行消息傳遞。
車輛配備了支持DSRC 協(xié)議的OBU。車輛通過OBU 與RSU 進(jìn)行無線通信。此外,車輛配有防篡改設(shè)備(TPD,temper-proof device)。
安全和隱私對VANET 通信都相當(dāng)重要?;赩ANET 安全和隱私研究的相關(guān)文獻(xiàn)[12-17,19],本文提出的VANET 警告消息發(fā)布協(xié)議應(yīng)滿足以下安全要求:消息認(rèn)證、身份隱私保護(hù)、可追溯性、保密性和抗攻擊性。
1) 消息認(rèn)證。車輛能夠認(rèn)證RSU 發(fā)送消息的有效性。此外,車輛能夠確認(rèn)接收消息是否被修改,即車輛可以對收到消息的來源以及消息的完整性進(jìn)行認(rèn)證。
2) 身份隱私保護(hù)。RSU 與其他車輛無法獲得其他車輛的真實身份,即除TMD 外的任何第三方都無法通過分析截獲的信息獲得車輛的真實身份。
3) 可追溯性。TMD 可以在必要時追蹤車輛的真實身份。例如,當(dāng)惡意車輛發(fā)送錯誤消息來誤導(dǎo)他人時,TMD 可以追蹤惡意車輛的真實身份。
4) 保密性。TMD 發(fā)送給車輛的消息是保密的,任何其他車輛都無法獲取TMD 發(fā)送給指定車輛的消息內(nèi)容。
5) 抗攻擊性。本文提出的協(xié)議能夠抵御各種常見的攻擊,如偽造攻擊、修改攻擊以及重放攻擊。
本文主要用到橢圓曲線密碼學(xué)中的2 個困難問題,分別是橢圓曲線離散對數(shù)問題(ECDLP,elliptic curve discrete logarithm problem)和橢圓曲線Diffie-Hellman 問題(ECDHP,elliptic curve Diffie-Hellman problem)。
1) ECDLP。設(shè)G是階為q的橢圓曲線,存在,若P和Q是已知的,則計算出整數(shù)a屬于ECDLP。
2) ECDHP。P是階為q的群的生成元,對于任意,若P,aP,bP已知,則計算出abP屬于ECDHP。
本節(jié)給出“攻擊-挑戰(zhàn)”游戲的形式化定義,該模型可用于證明協(xié)議的不可偽造性和保密性。
3.4.1 不可偽造性
游戲由系統(tǒng)初始化、詢問和偽造3 個階段組成,參與者為敵手A 和挑戰(zhàn)者C,具體步驟如下。
1) 系統(tǒng)初始化。C 生成系統(tǒng)私鑰x和公開參數(shù)params,然后將params 發(fā)送給A,并維護(hù)查詢隊列記錄預(yù)言機(jī)詢問及密鑰生成詢問的數(shù)據(jù)。
2) 詢問。A 向C 發(fā)起hi(i=1,2,3)詢問,當(dāng)A 調(diào)用hi并且使用參數(shù)m查詢時,C 選取h∈RZq,將(m,h)插入查詢隊列Lh,并將hi返回給A。以上詢問是自適應(yīng)的,即執(zhí)行每一次詢問時都可以根據(jù)前一次詢問的結(jié)果進(jìn)行調(diào)整。
定義1對于任意敵手A,在多項式時間均不能以不可忽略的優(yōu)勢贏得上述游戲,則稱協(xié)議在適應(yīng)性選擇明文攻擊下具有不可偽造性(EUF-CMA,existentially unforgeable against chosen-message insider attack)。
3.4.2 保密性
游戲由系統(tǒng)初始化、詢問、挑戰(zhàn)和猜測4 個階段組成,參與者為敵手A 和挑戰(zhàn)者C,具體步驟如下。
1) 系統(tǒng)初始化。C 生成系統(tǒng)私鑰x和公開參數(shù)params,然后將params 發(fā)送給TMD,并維護(hù)各個查詢隊列記錄預(yù)言機(jī)詢問及密鑰生成詢問的數(shù)據(jù)。
2) 詢問。A 向C 發(fā)起如下詢問。
①密鑰生成詢問。A 輸入身份IDTMDi,C 查詢私鑰列表,產(chǎn)生私鑰xj發(fā)送給A。
② 簽密詢問。A 輸入發(fā)送者和接收者身份IDTMD、AIDi、明文mi,C 查找發(fā)送者的私鑰xj,并向預(yù)言機(jī)進(jìn)行簽密詢問,最后將詢問結(jié)果σ返回給A。
③解簽密詢問。A 以IDTMD、AIDi和σ進(jìn)行詢問,C 計算接收者秘密值vi,并以相同的輸入向預(yù)言機(jī)進(jìn)行解簽密詢問,預(yù)言機(jī)將mi返回給C,C再發(fā)送給A。
以上詢問是自適應(yīng)的,即執(zhí)行每次詢問都可以根據(jù)前一次詢問結(jié)果調(diào)整。
3) 挑戰(zhàn)。
①A 選擇消息m0、m1和挑戰(zhàn)的身份IDTMD1、AIDi1,其中IDTMD1和 AIDi1未進(jìn)行過密鑰生成詢問。
② C 隨選擇b∈R0,1,并將mb、IDTMD1、AIDi1及xj、params 作為預(yù)言機(jī)的輸入進(jìn)行簽密詢問,預(yù)言機(jī)返回詢問結(jié)果σ*,并發(fā)送給A。
③A 可以進(jìn)行多項式次詢問,但不能對IDTMD1和AIDi1進(jìn)行密鑰生成詢問,也不可以對σ*進(jìn)行解簽密詢問。
4)猜測。A輸出b∈R0,1作為對b的猜測,A贏得游戲的優(yōu)勢為。等式b′=b成立的概率即為A 贏得游戲的概率。
定義2對于任意敵手A,在多項式時間內(nèi)不能以不可忽略的優(yōu)勢贏得上述游戲,則稱該協(xié)議是抗選擇密文內(nèi)部攻擊安全(SC-IND-CCA,semantically secure against chosen ciphertext insider attack)。
本文提出隱私保護(hù)的VANET 警告消息發(fā)布協(xié)議包括5 個階段:系統(tǒng)設(shè)置、TMD 注冊、車輛注冊、警告消息發(fā)布、警告消息接收。車輛在VANET中使用的身份是其假名,而TMD 發(fā)布警告消息之前已經(jīng)知道車輛的真實身份(如車牌號碼)。本文協(xié)議實現(xiàn)了通過車輛的真實身份獲取車輛的假名。
TA 在此階段執(zhí)行以下步驟。
1) 設(shè)Fp是一個有限域,p是素數(shù),TA 定義橢圓曲線E:y2=x3+ax+bmodp,其中。
2) TA 從E上選擇一個階為q、生成元為p的加法循環(huán)群G,它由橢圓曲線E和無窮遠(yuǎn)點O組成。假設(shè)G中的每個元素都可以用l位長的二進(jìn)制字符串表示。TA 選擇隨機(jī)數(shù)作為系統(tǒng)的私鑰,并計算系統(tǒng)公鑰Ppub=xP。
3) TA 選擇3 個安全的哈希函數(shù)h1:{0,1}→,其中n表示明文的長度,并且是k的多項式。
4) TA 為每個車輛分配一個真實身份RID 和一個密碼PWD,并{RID,PWD,}x預(yù)加載到其TPD 中。
TMD 使用其真實身份IDTMD向TA 注冊。
2) TA 通過安全信道將uj和xj發(fā)送到TMD。同時,TMD 通過RSU 廣播Uj和jα。TMD 定時生成有效期VPi,通過安全信道將VPi發(fā)送給車輛。
1) 車輛將真實身份RID(如車牌號碼)和密碼PWD 輸入OBU。OBU 檢查RID 和PWD 是否等于存儲的RID 和PWD。如果其中之一與相應(yīng)存儲的不相等,則OBU 將要求所有者再次輸入正確的身份和密碼。
TMD 將違章消息發(fā)送給目標(biāo)車輛RID。TMD 在發(fā)布違章消息前需要根據(jù)車輛的真實身份(如車牌號碼)計算出車輛假名。此階段TMD 執(zhí)行以下步驟。
本節(jié)將證明在隨機(jī)預(yù)言機(jī)模型下本文提出的警告消息發(fā)布協(xié)議具有不可偽造性和保密性。
定理1不可偽造性。基于ECDLP 問題的困難性,本文提出的警告消息發(fā)布協(xié)議能夠抵抗自適應(yīng)選擇消息偽造攻擊。
定理2保密性。設(shè)k為安全參數(shù),在隨機(jī)預(yù)言模型下,如果存在一種多項式時間算法攻破加密方案的SC-IND-CCA 安全優(yōu)勢是ρ(k),那么存在一種多項式時間算法求解ECDHP 問題的概率至少是,其中poly(·) 是多項式,p是SC-IND-CCA 安全模型中最大的解簽密查詢次數(shù)。
本節(jié)將分析證明提出的警告消息發(fā)布協(xié)議可以滿足3.2 節(jié)提出的安全需求。
1) 消息認(rèn)證。根據(jù)定理1 可知,沒有敵手能在多項式時間內(nèi)解決ECDLP 問題,因此,驗證者可以通過驗證等式VP=Uj+αjPpub+h2(mi,Rj,AIDi,Di)Rj是否成立來確認(rèn)消息<mi,(Rj,AIDi,Di,V,αj,Uj)>是否具有合法性和完整性。因此,該協(xié)議具有消息認(rèn)證功能。
2) 身份隱私保護(hù)。車輛在發(fā)送消息時使用假名AIDi=EIDTMD[RID⊕viUj,viUj],AIDi由隨機(jī)數(shù)和真實的身份RID 生成,其中。由于uj和vi的隨機(jī)性,會產(chǎn)生毫無關(guān)聯(lián)的假名。因此,敵手 A 想要從假名·Uj,viUj]中進(jìn)行身份信息攻擊,就必須得求出ujP。依據(jù)ECDLP 問題假設(shè)可知,在隨機(jī)預(yù)言模型與未知uj和iv的情況下求解viUj,在多項式時間內(nèi)是不可行的。因此,該協(xié)議具有身份隱私保護(hù)功能。
3) 可追蹤性。該協(xié)議的有效簽名<mi,(Rj,AIDi,Di,V,αj,Uj)>包含車輛的真實身份RID,當(dāng)TMD 需要追蹤消息發(fā)送者的真實身份時,可以通過計算出消息發(fā)送者的真實身份。因此,該協(xié)議具有車輛身份可追蹤性。
5) 抗攻擊性。由定理1 可知,沒有任何一方可以偽造出TMD 的簽密消息,因此該協(xié)議可以抵抗偽造攻擊。而且任何中間人對消息的修改都可以被驗證出,因此該協(xié)議可以抵抗修改攻擊。此外,在TMD 每次發(fā)送警告信息都會附帶有時間戳,所以該協(xié)議可以抵抗重放攻擊。
安全級別為80 bit 的基于雙線性對的方案設(shè)置如下:e:G1×G1→G2,其中,加法群G1是由生成元生成的階為q的加法群,其中,是度為2 的超奇異曲線上的點,是512 bit 的素數(shù),是160 bit 的素數(shù)。橢圓曲線密碼運算方案如下:G是由生成元P生成的階為q的加法群,P為非奇異橢圓曲線E:y2=x3+ax+bmodp上的點,其中p,q為160 bit 的素數(shù),。表1給出了密碼運算及其對應(yīng)的縮寫和執(zhí)行時間。
表1 密碼運算及其對應(yīng)的縮寫和執(zhí)行時間
在文獻(xiàn)[16]中,消息生成過程包含7 個雙線性對標(biāo)量乘法運算Tbm、3 個雙線性對加法運算Tba、一個單向哈希函數(shù)運算Th和2 個MapToPoint 哈希函數(shù)運算HT,此階段的總開銷為;解密和驗證過程包含4 個雙線性配對運算Tb、3 個雙線性對的標(biāo)量乘法運算Tbm、一個雙線性對加法運算Tba、2 個MapToPoint 哈希函數(shù)運算TH和一個單向哈希函數(shù)運算Th,此階段的總開銷為。在文獻(xiàn)[17]中,消息生成的過程中主要包含4 個雙線性對上的冪運算Texp、一個MapToPoint 哈希函數(shù)運算TH和2 個單向哈希函數(shù)運算>Th,此階段的總計算開銷為2Th+4Texp+TH;解簽名、解密和驗證過程主要包含4 個雙線性對上的冪運算Texp、4 個雙線性配對運算>Tb、一個MapToPoint 哈希函數(shù)運算TH和4 個單向哈希函數(shù)運算Th,此階段的總開銷為4Texp+4Tb+4Th。在文獻(xiàn)[19]中,消息生成過程主要進(jìn)行3 個橢圓曲線標(biāo)量乘法運算Tem和7 個單向哈希函數(shù)運算Th,此階段總計算開銷為3Tem+7hT;解密和驗證過程包含5 個橢圓曲線標(biāo)量乘法運算Tem,2 個橢圓曲線加法運算Tea和9 個單向哈希函數(shù)運算Th,此階段總計算開銷為5Tem+2Tea+9Th。在本文協(xié)議中,消息生成過程中包含3 個橢圓曲線的標(biāo)量乘法運算Tem和2 個單向哈希函數(shù)運算Th,此階段的總開銷為2Th+3Tem;解密過程包括驗證,該過程包含2 個橢圓曲線的加法運算Tea、4 個橢圓曲線的標(biāo)量乘法運算Tem和2 個單向哈希函數(shù)運算Th,此階段的總開銷為2Tea+2Th+4Tem。因此,如表2 所示,本文協(xié)議有著較低的計算開銷。
表2 計算開銷對比
圖2 各方案的通信開銷對比
本文提出VANET 中保護(hù)隱私的警告消息發(fā)布協(xié)議,其中TMD 可以根據(jù)車輛的真實身份獲取車輛的假名,必要時又可以通過車輛假名追蹤車輛的真實身份。所提協(xié)議采用橢圓曲線密碼體制,不依賴于雙線性對,具有較小的計算開銷和通信開銷。安全性分析和性能分析表明,所提協(xié)議可用于VANET實現(xiàn)保護(hù)隱私的警告消息發(fā)布。