吳海云,王良民
(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 信息保障技術(shù)協(xié)同創(chuàng)新中心,安徽 合肥 230601)
近年來(lái),車載自組織網(wǎng)絡(luò)[1-2](vehicle ad hoc networks,簡(jiǎn)稱VANETs)以及基于VANETs的應(yīng)用的相關(guān)研究日益興起,研究者致力于實(shí)現(xiàn)智能交通和滿足用戶的服務(wù)需求.基于VANETs的應(yīng)用包括安全、便利導(dǎo)向應(yīng)用和商業(yè)應(yīng)用等.安全、便利導(dǎo)向應(yīng)用廣泛采用車輛廣播通信傳送緊急的警告消息、環(huán)境危害和交通狀況等[3].而商業(yè)應(yīng)用,如視頻點(diǎn)播、視頻會(huì)議、軟件更新等只有授權(quán)的車輛可獲得,一般采用車輛組播通信,支持基于群的應(yīng)用[4-7].為確保組播通信的保密性,發(fā)送者和群成員之間共享一個(gè)對(duì)稱密鑰,這個(gè)對(duì)稱密鑰稱為交通加密密鑰(traffic encryption key,簡(jiǎn)稱TEK).當(dāng)群成員關(guān)系發(fā)生變化時(shí),TEK需要及時(shí)更新[8].
典型的車聯(lián)網(wǎng)架構(gòu)如圖1所示.服務(wù)提供商(service provider,簡(jiǎn)稱SP)可以提供多項(xiàng)服務(wù),對(duì)每項(xiàng)服務(wù)注冊(cè)的車輛組成一個(gè)服務(wù)群.為保證服務(wù)只提供給授權(quán)的群成員,SP用服務(wù)群的群密鑰加密服務(wù),再通過(guò)路邊單元(road side unit,簡(jiǎn)稱RSU)傳送.一方面,服務(wù)群的群成員越多,群密鑰管理越復(fù)雜.特別是當(dāng)服務(wù)群的群成員關(guān)系改變時(shí),群密鑰需要立即更新,使得離開群的成員不能訪問(wèn)未來(lái)發(fā)送該群的服務(wù),保證前向安全;新加入的成員不能訪問(wèn)之前發(fā)送該群的服務(wù),保證后向安全[8].現(xiàn)有的群密鑰管理方案,如基于樹的邏輯密鑰層次結(jié)構(gòu)(logical key hierarchy, 簡(jiǎn)稱LKH)[9]、基于物理拓?fù)涞拿荑€管理(topology matching key management, 簡(jiǎn)稱TMKM)[10-11]和采用分散式框架密鑰管理(RSU-based distributed key management, 簡(jiǎn)稱RDKM)[4]存在密鑰更新開銷大以及車輛頻繁跨RSU移交時(shí)群密鑰更新頻繁等問(wèn)題.另一方面,車輛若以真實(shí)的身份向SP注冊(cè)服務(wù),SP可能販賣車輛的身份信息獲取私利;若不以真實(shí)身份注冊(cè)服務(wù),SP面臨如何對(duì)車輛使用的服務(wù)進(jìn)行正確計(jì)費(fèi)問(wèn)題.因此,提供服務(wù)的車聯(lián)網(wǎng)需要協(xié)調(diào)車輛的身份隱私和SP的服務(wù)計(jì)費(fèi)問(wèn)題.此外,由于部署RSU的成本比較高,服務(wù)提供商一般從經(jīng)濟(jì)的角度,考慮部署一個(gè)密度合理的RSU分布[12].由于RSU 單元通信范圍有限,相鄰 RSU 單元之間可能存在盲區(qū)[13],服務(wù)在傳送時(shí)需要考慮盲區(qū)內(nèi)的車輛如何獲取服務(wù).針對(duì)上述問(wèn)題,筆者提出了一個(gè)面向服務(wù)的隱私保護(hù)群密鑰管理(privacy-preserving group key management for VANETs, 簡(jiǎn)稱PVGKM)方案,在保護(hù)車輛的身份隱私的同時(shí)實(shí)現(xiàn)服務(wù)提供商的合理收費(fèi),并降低群密鑰管理的復(fù)雜度.
圖1 車聯(lián)網(wǎng)架構(gòu)
(1) 中國(guó)剩余定理[14]:設(shè)k1,k2,k3,…,kn為兩兩互質(zhì)的正整數(shù),對(duì)于任意給定的整數(shù)α1,α2,α3,…,αn,同余式方程組
x≡αimodki, 1≤i≤n
(1)
其中
(2) 橢圓曲線離散對(duì)數(shù)問(wèn)題(elliptic curve discrete logarithm problem, 簡(jiǎn)稱ECDLP)[15]:假設(shè)橢圓曲線E是定義在有限域Fr上,P和Q是橢圓曲線上的兩點(diǎn),在域Fr中尋找一個(gè)正整數(shù)x,使得xP=Q成立.
PVGKM方案采用的網(wǎng)絡(luò)模型如圖1所示,包含4種實(shí)體:服務(wù)提供商、權(quán)威機(jī)構(gòu)、路邊單元和車輛.SP提供多項(xiàng)服務(wù),每項(xiàng)服務(wù)用一個(gè)群密鑰加密.權(quán)威機(jī)構(gòu)(trusted authority, 簡(jiǎn)稱TA)一般是汽車制造商或者地方交通運(yùn)輸部門,它為SP設(shè)置服務(wù)群的群密鑰,為每個(gè)車輛頒發(fā)獨(dú)有的真實(shí)身份和認(rèn)證密鑰.路邊單元(road side unit,簡(jiǎn)稱RSU)是配備了全向天線的基礎(chǔ)設(shè)施,它通過(guò)安全的有線網(wǎng)絡(luò)連接SP和TA.每輛車裝有車載單元(on-board unit, 簡(jiǎn)稱OBU)和防篡改設(shè)備(tamper-proof device, 簡(jiǎn)稱TPD).OBU用于車與RSU之間(vehicle-to-infrastructure, 簡(jiǎn)稱V2I)、車車之間(vehicle-to-vehicle, 簡(jiǎn)稱V2V)通信,也可以與車內(nèi)其他模塊通信;TPD內(nèi)存放車輛的真實(shí)身份、私鑰和認(rèn)證密鑰等敏感信息.根據(jù)安全的車載自組網(wǎng)的規(guī)定,車輛每隔100~300 ms廣播一條與交通有關(guān)的信息,如駕駛方向、速度和加速/減速等.V2V和V2I都采用基于802.11p標(biāo)準(zhǔn)的專用短距離通信協(xié)議(dedicated short range communication, 簡(jiǎn)稱DSRC)進(jìn)行無(wú)線通信[1].
假設(shè)網(wǎng)絡(luò)模型中TA的計(jì)算能力、通信能力和存儲(chǔ)能力比RSU和車輛強(qiáng)很多,TA有防火墻和其他保護(hù)機(jī)制,能抵抗惡意攻擊者的攻擊,是完全可信的.而V2I和V2V在開放的無(wú)線網(wǎng)絡(luò)環(huán)境下通信,RSU發(fā)送包含群密鑰的消息面臨安全威脅[16].因此,群密鑰更新在考慮效率的同時(shí),也要考慮安全需求,如服務(wù)保密性、前后向安全性、隱私保護(hù)性以及身份可追溯性.
PVGKM方案用到的主要符號(hào)如表1所示.
表1 符號(hào)及其描述
VPKi=VSKi·P=ri·P,
車輛的防篡改裝置還生成一個(gè)假名
PIDi=RIDi⊕H(ri·PK).
(3) 對(duì)于i=1,2,…,n,計(jì)算yi滿足xi×yi≡1 mod VAKi.
(4) 對(duì)于i=1,2,…,n,將xi和yi相乘的結(jié)果存放在變量Ci中,即Ci=xi×yi.
假設(shè)訂購(gòu)某項(xiàng)服務(wù)的車輛群VGi向SP注冊(cè),注冊(cè)信息包括這些車輛的假名、公鑰以及該服務(wù)的訂購(gòu)時(shí)間tj和退訂時(shí)間tl,SP將這些注冊(cè)信息存入一張服務(wù)表.對(duì)于每項(xiàng)服務(wù),SP存儲(chǔ)一張對(duì)應(yīng)該服務(wù)的表.SP將車輛群VGi中所有車輛的假名PIDi和公鑰VPKi發(fā)送給TA,TA推導(dǎo)出這些車輛的真實(shí)身份,找到儲(chǔ)存器中每個(gè)車輛對(duì)應(yīng)的變量Ci,計(jì)算群密鑰因子λ,即
λ=∑Ci,Vi∈VGi.
然后TA進(jìn)行如下步驟:
m=k×λ.
(2) TA將k通過(guò)安全信道發(fā)送給SP,便于SP用k加密服務(wù).TA通過(guò)RSU廣播消息m到VANETs中的車輛,屬于服務(wù)群的車輛收到m,計(jì)算mmod VAKi可得到服務(wù)群的群密鑰k(因?yàn)閗 (3) 相鄰RSU之間盲區(qū)內(nèi)的車輛通過(guò)RSU內(nèi)的車輛或盲區(qū)內(nèi)的其他車輛獲取消息m.如圖2所示,邊緣區(qū)域Re內(nèi)屬于群成員的車輛(如V1)檢測(cè)到其通信范圍內(nèi)有RSU范圍外道路上的車輛(如V2),將消息m發(fā)送給這個(gè)車輛,如果這個(gè)車輛是該服務(wù)群的成員,它用m模自己的認(rèn)證密鑰可獲得群密鑰,并和其他群成員通信,告知同一服務(wù)群的車輛不要再將消息m發(fā)送給自己,以節(jié)省通信開銷;如果這個(gè)車輛不是該服務(wù)群的成員,它不能計(jì)算出正確的群密鑰,不能獲取服務(wù).盲區(qū)內(nèi)獲得消息m的車輛(如V2)再以同樣的V2V方式將m轉(zhuǎn)發(fā)給其通信范圍內(nèi)盲區(qū)內(nèi)的其他車輛(如V3). 圖2 RSU邊緣區(qū)域通信 當(dāng)服務(wù)群的群成員關(guān)系改變時(shí),群密鑰需要立即更新以保證前后向安全,群密鑰更新分兩種情況. 情況1當(dāng)新成員Vi加入服務(wù)群,Vi向SP發(fā)出訂購(gòu)請(qǐng)求信息,申請(qǐng)加入某服務(wù)群.Vi將其假名PIDi、公鑰VPKi、該服務(wù)的訂購(gòu)時(shí)間tj和退訂時(shí)間tl發(fā)送給SP, SP將這些信息存入服務(wù)表,并將Vi的假名PIDi和公鑰VPKi發(fā)送給TA,TA推導(dǎo)出該車輛的真實(shí)身份后,進(jìn)行如下步驟: (1) 從存儲(chǔ)器找到該車輛對(duì)應(yīng)的變量Ci,計(jì)算新的群密鑰因子 λ′=λ+Ci. m′=k′×λ′. (3) 將k′通過(guò)安全有線信道發(fā)送給SP,并通過(guò)RSU廣播消息m′到VANETs中的車輛,所有該服務(wù)群的成員用m′模自己的認(rèn)證密鑰獲得新的群密鑰k′. (4) RSU邊緣區(qū)域Re內(nèi)屬于群成員的車輛轉(zhuǎn)發(fā)m′給其通信范圍內(nèi)盲區(qū)內(nèi)的車輛.屬于該服務(wù)群的車輛用m′模自己的認(rèn)證密鑰獲得群密鑰k′,并將m′轉(zhuǎn)發(fā)給盲區(qū)內(nèi)的其他車輛. 擴(kuò)展到一般情況,若有w輛車同時(shí)加入某服務(wù)群,則TA需要執(zhí)行w次加法來(lái)更新群密鑰因子. 情況2當(dāng)SP從服務(wù)表中發(fā)現(xiàn)Vi訂購(gòu)某服務(wù)的tl到期后,將Vi的假名PIDi、公鑰VPKi、該服務(wù)的訂購(gòu)時(shí)間tj和退訂時(shí)間tl發(fā)送給TA,然后從服務(wù)表中刪除Vi的訂購(gòu)記錄.TA推導(dǎo)出該車輛的真實(shí)身份, SP對(duì)該車輛使用的服務(wù)情況進(jìn)行計(jì)費(fèi).然后TA進(jìn)行如下步驟: (1) 從存儲(chǔ)器找到該車輛對(duì)應(yīng)的變量Ci,計(jì)算新的群密鑰因子λ′=λ-Ci. (2)~(4)過(guò)程同情況1中的相應(yīng)步驟. 擴(kuò)展到一般情況,若有w個(gè)車輛同時(shí)退出某服務(wù)群,則TA需要執(zhí)行w次減法來(lái)更新群密鑰因子. (1) 服務(wù)保密性. PVGKM方案利用k加密服務(wù),只有享有k的群成員可以解密獲得服務(wù).當(dāng)群密鑰k更新為k′時(shí),由于消息m′的因子λ′的計(jì)算項(xiàng)只含有服務(wù)群內(nèi)的車輛的Ci, 因此只有屬于服務(wù)群的車輛可以用m′模自己的認(rèn)證密鑰獲得更新的k′,服務(wù)群外的車輛無(wú)法計(jì)算得到k′. (2) 前向安全性. 當(dāng)有成員Vi離開服務(wù)群時(shí),TA選擇一個(gè)新的群密鑰k′,將原來(lái)的群密鑰因子λ減去離開成員的Ci得到λ′.由于λ′中不含離開成員的Ci,離開成員無(wú)法計(jì)算出k′,它只能盲目猜測(cè)k′或其他群成員認(rèn)證密鑰的值.所有的群成員的認(rèn)證密鑰都儲(chǔ)存在各自的防篡改設(shè)備中,離開成員不能獲取.由于k′是一個(gè)大素?cái)?shù),正確猜測(cè)出它的值的概率非常小,而認(rèn)證密鑰的值都大于k′,猜中的概率更小,因此盲目猜測(cè)是不可行的, PVGKM方案保證了前向安全性. (3) 后向安全性. 當(dāng)有新成員Vj加入某一服務(wù)群時(shí),為了訪問(wèn)它加入前服務(wù)提供商提供的服務(wù),它需要獲得之前加密該服務(wù)的群密鑰k.假設(shè)Vj加入前,RSU廣播的消息為m.由于m的因子λ的計(jì)算項(xiàng)不含Cj,Vj不能計(jì)算出k.由前向安全性分析可知,猜測(cè)k的值也是不可行的.因此,PVGKM方案保證了后向安全性. (4) 隱私保護(hù)性. 車輛向服務(wù)提供商注冊(cè)服務(wù)時(shí),提供的是假名、公鑰和服務(wù)的訂購(gòu)時(shí)間信息,且每到一個(gè)RSU區(qū)域,車輛的公鑰和假名都會(huì)改變,服務(wù)提供商無(wú)法獲得車輛的真實(shí)身份,惡意的車輛也不能根據(jù)假名追蹤到合法的車輛,因此PVGKM方案保護(hù)了車輛的身份隱私. (5) 身份可追溯性. PVGKM方案初始化設(shè)置所定義的假名PIDi=RIDi⊕H(ri·PK),服務(wù)提供商在獲取群密鑰之前,會(huì)將Vi的假名PIDi、公鑰VPKi發(fā)送給TA,TA計(jì)算PIDi⊕H(s·VPKi)可獲得RIDi.因此,TA可以通過(guò)假名追溯車輛的真實(shí)身份. PVGKM方案與LKH[9]、TMKM[10-11]、RDKM[4]、CRTGKM[14](Chinese remainder theorem based group key management)方案的安全性對(duì)比如表2所示,其中:“×”表示不滿足,“√”表示滿足. 表2 安全性對(duì)比 下面主要分析PVGKM方案的群密鑰更新開銷,包括群成員關(guān)系變化時(shí)TA的計(jì)算時(shí)間、車輛獲得新群密鑰的計(jì)算時(shí)間、TA和車輛存儲(chǔ)與群密鑰計(jì)算有關(guān)的密鑰的存儲(chǔ)開銷以及實(shí)現(xiàn)群密鑰更新的通信開銷. 假設(shè)某城市區(qū)域有1個(gè)TA,1個(gè)服務(wù)提供商和c個(gè)RSU,TA管理n輛車.用TAS表示執(zhí)行一個(gè)加法或減法的時(shí)間,TMOD表示執(zhí)行一個(gè)模運(yùn)算的時(shí)間,TENC和TDEC分別表示執(zhí)行一次AES(advanced encryption standard)加密和解密運(yùn)算的時(shí)間,Tm表示執(zhí)行一次大數(shù)乘的時(shí)間,TXOR執(zhí)行一次異域操作的時(shí)間,TMUL表示執(zhí)行一次點(diǎn)乘的時(shí)間,TMTP表示執(zhí)行一個(gè)MapToPoint哈希函數(shù)的時(shí)間. PVGKM方案中,TA推導(dǎo)變化群成員的真實(shí)身份的計(jì)算開銷為TMUL+TMTP+TXOR,計(jì)算消息m′的計(jì)算開銷為TAS+Tm,TA總的計(jì)算開銷為TMUL+TMTP+TXOR+TAS+Tm.群內(nèi)車輛獲得群密鑰的計(jì)算開銷為TMOD. TA存儲(chǔ)每個(gè)車輛的RIDi、VPKi、xi、yi和Ci,以及與群密鑰計(jì)算有關(guān)的參數(shù)ψ、k和λ,TA管理n輛車的存儲(chǔ)代價(jià)為5n+3.每輛車儲(chǔ)存RIDi、PIDi、VAKi、VSKi和VPKi,存儲(chǔ)代價(jià)為5.TA連接c個(gè)RSU,廣播一個(gè)密鑰更新消息給所有的RSU.因此PVGKM方案的通信開銷為c. (2) LKH方案中,密鑰分發(fā)中心(key distribution center, 簡(jiǎn)稱KDC)管理一個(gè)TEK和一個(gè)度為d、葉子節(jié)點(diǎn)數(shù)為n的完全平衡密鑰樹.TMKM方案和RDKM方案假設(shè)車輛平均訪問(wèn)過(guò)x(1≤x≤c)個(gè)RSU,不考慮TMKM方案有線回程網(wǎng)絡(luò)中的一些控制信息.設(shè)RDKM方案中每個(gè)RSU內(nèi)劃分的段數(shù)為z,由于RDKM方案將密鑰管理功能授予各個(gè)RSU,KDC只需要存儲(chǔ)一個(gè)TEK[4]而RSUs(road side units, TA管理的所有RSU)存儲(chǔ)較多的密鑰.為保證比較的公平性,將RDKM方案的RSUs的存儲(chǔ)開銷、計(jì)算開銷和其他方案的TA或KDC的相應(yīng)開銷進(jìn)行比較.PVGKM方案與其他方案的群密鑰更新開銷如表3所示. 表3 不同方案的群密鑰更新開銷 在本地計(jì)算機(jī)(Intel Core i3 CPU,2.53 GHz,4 GB RAM,500 GB硬盤,Windows 7操作系統(tǒng))用Java語(yǔ)言做實(shí)驗(yàn),服務(wù)群的群密鑰和密鑰樹中的密鑰均采用長(zhǎng)度為128位的AES密鑰.使用Date類的getTime方法測(cè)試AES加密和解密算法的時(shí)間,實(shí)驗(yàn)測(cè)得TENC=4 ms,TDEC=5 ms.用BigInteger類的multiply方法處理大整數(shù)乘法,測(cè)得Tm=1 ms.根據(jù)文獻(xiàn)[17],TMTP=0.09 ms.TMUL=0.39 ms.TAS、TXOR和TMOD非常小,可以忽略.設(shè)置場(chǎng)景:RSU的數(shù)目c=10,密鑰樹的度d=2,RSU內(nèi)劃分的段數(shù)z=2,平均每個(gè)車輛訪問(wèn)過(guò)的RSU數(shù)目x=5. TA(或KDC或RSUs)的計(jì)算開銷如圖3所示. 圖3 計(jì)算開銷(TA,KDC或RSUs) 可以看出隨著TA管理的車輛數(shù)增多,LKH、TMKM和RDKM方案TA等的計(jì)算開銷呈階梯狀增加,而CRTGKM和PVGKM保持為一個(gè)常數(shù),且比前3個(gè)方案小.PVGKM比CRTGKM多0.48 ms,這是由于PVGKM增加了車輛真實(shí)身份的推導(dǎo)過(guò)程,這個(gè)時(shí)間差非常小,用此微小的時(shí)間差換取車輛的隱私保護(hù)是可行的.此外,從表4可以看出,CRTGKM和PVGKM方案車輛的計(jì)算開銷非常小,幾乎可以忽略,而LKH、TMKM和RDKM車輛的計(jì)算開銷大很多.從公式(2)可推導(dǎo)出 (3) 可推算出PVGKM和CRTGKM方案的TA存儲(chǔ)開銷比其他3個(gè)方案大一些.所有方案的通信開銷如圖4所示.由圖4可知,隨著TA管理的車輛數(shù)增多,LKH、TMKM和RDKM的通信開銷呈階梯狀增加,而PVGKM方案和CRTGKM方案保持常數(shù),且比另外3個(gè)方案的通信開銷小很多. 圖4 通信開銷 筆者利用中國(guó)剩余定理設(shè)計(jì)群密鑰因子使群密鑰保密,降低群密鑰管理的復(fù)雜度;利用車輛假名綁定服務(wù),在保證車輛的身份隱私的同時(shí)實(shí)現(xiàn)服務(wù)提供商的合理收費(fèi),并綜合V2I和V2V通信擴(kuò)大RSU的服務(wù)覆蓋范圍.論文的安全性分析、性能分析和實(shí)驗(yàn)表明PVGKM方案具有更好的安全性、較少的計(jì)算開銷和通信開銷.未來(lái)的研究可以考慮使用代理機(jī)構(gòu)減輕權(quán)威機(jī)構(gòu)管理密鑰的存儲(chǔ)開銷.2.3 群密鑰更新
3 安全性分析
4 性能分析與實(shí)驗(yàn)
4.1 性能分析
4.2 實(shí)驗(yàn)分析
5 結(jié)束語(yǔ)