楊 鴿,賴成喆,鄭 東
西安郵電大學 網絡空間安全學院,西安 710121
隨著智能車輛的快速發展,車輛網絡和應用已經出現在我們的日常生活中[1-3]。人們的出行要求也從最初的迅速快捷延伸到個性化的駕駛需求,在這樣的背景下,智能交通系統(ITS)[4-6]的快速發展成為解決出行要求的關鍵。車聯網是物聯網在智能交通領域的核心應用和新動向,其本質上是一個動態的移動通信系統,可以實時的收集、分享、處理、計算及更新網絡中的信息。由于車輛節點的高速移動性,車載環境的復雜性,交通用戶的規模性,通信環境的屬性,以及車輛用戶間的交互性等因素,使車聯網中安全高效的數據轉發備受挑戰。
數據轉發機制對實現安全的出行及車聯網的各類應用都起著至關重要的作用。隱私保護是數據轉發所面臨的一個嚴峻問題,車載傳感器從周圍環境收集和轉發的數據涉及很多敏感信息,因此會給參與者造成極大的困擾,例如身份隱私。數據的可靠性評估也是一個重要的問題。由于移動感知的開放性,需要大量的移動設備接入來提供數據,因此在提供數據源的用戶以及數據的可信度方面都存在著相應的問題。另外,用戶的參與性也是數據轉發中的一個重要研究內容。因為車輛在參與轉發時,也會在一定程度上犧牲用戶的隱私,因此在保證安全的轉發過程如何提高用戶的參與性也是非常重要的。目前,數據轉發在車聯網中得到了廣泛的應用[7-9],文獻[8]提出一種安全的上下文隱私數據傳輸方案,文獻[9]研究了車輛間的多跳轉發方案以增強通信的可靠性,文獻[10]提出了一種基于投票的信任管理系統來評估車輛的可靠性。由此可見,在目前的研究中,大多數的方案都只關注車輛的可信度,并未考慮到車輛所轉發內容的真實性。此外,由于車聯網無線通信的屬性,以及車輛用戶的自私性等問題。因此,在車聯網中如何保證數據轉發的可靠性以及用戶身份的隱私性和用戶的參與性等問題是非常重要的。
針對以上問題,我們把匿名認證和信譽模型的思想引入數據轉發中,并提出了具備匿名性和信任評估的車聯網數據轉發方案,它實現了數據的可靠性、完整性、匿名性以及不可抵賴性。本文的主要貢獻如下:
(1)該方案提出了一種具備匿名性和信任評估的車聯網數據轉發方案,并通過相互認證可以同時實現車輛的隱私保護及可追溯性。
(2)通過對信任等級的計算對車輛用戶的信用值進行更新,以此來激勵車輛貢獻自己的帶寬和消息,提高了參與用戶的積極性。
(3)利用Beta信任函數對信息內容的相似度和沖突度進行分類評估,判斷出消息內容的可信度。
近幾年來,數據轉發在各個領域都得到了廣泛的關注[11]。為了給用戶提供安全的駕駛環境以及方便高效的出行計劃,車聯網中安全的數據轉發十分重要,具體包括隱私安全,消息內容的可靠性以及轉發的及時性。
為了實現用戶的隱私,提出了消息認證的方法來實現用戶身份隱私。2006年,Raya等人[12]提出了關于車聯網隱私保護方案。目前車聯網中的隱私保護主要包括匿名方案和基于身份的密碼學方案。文獻[13]使用了匿名認證協議來保護用戶的隱私;文獻[14]提出了一種基于匿名證書的認證方案;文獻[15]提出基于共享證書實現車輛間身份驗證的匿名認證方案;文獻[16]都提出了給車輛分配大量證書的匿名認證方案;文獻[17]提出了一種車聯網中有效的消息認證方案;文獻[18]利用雙重假名的方法來隱藏車輛的真實身份并采用動態更新技術以定期更新信息,而且該方案在計算方面有較少的開銷;文獻[19]提出了一種新的輕量級群組身份驗證方案,不僅可以對所有設備進行身份驗證,而且還可以最大程度地減少身份驗證開銷。
文獻[20]中詳細介紹了VANET中的各種信任模型。目前車聯網中基于數據可靠性主要存在3種信任模型[21],它們分別是實體信任、數據信任以及組合信任。文獻[12]提出使用貝葉斯推理和謝弗理論來評價某一事件發生所收到的證據。文獻[22]提出了一種基于數據的信任架構,包括基于信任的數據共享系統,數據語義和抽象模型以及數據透明性和責任感增強機制。文獻[23]提出了參與者協調框架,該方法包括一個合作的數據聚合、一個激勵分配方法和一個懲罰機制,既保護了參與者的隱私,又保證了收集到的數據的可信度。組合信任模型的目的是基于其他對等工具提供的意見來確定數據包的可信度。文獻[8]提出了使用一種同態加密方式來保護眾包定位系統的數據的可信度。文獻[9]提出一種安全的上下文隱私數據傳輸方案。文獻[24]研究了車輛間的多跳轉發方案以增強通信的可靠性。
目前已經提出了很多研究車聯網中數據轉發的方案。文獻[25]研究了車輛間的中繼轉發方案以增強通信的可靠性。文獻[26]提出了一種安全的激勵方案來實現高速行駛的車輛中公平可靠的合作下載問題。文獻[27]提出了基于車載社交網絡中具有隱私保護要求和內容分發的解決方案。一些研究將V2V與V2R通信結合起來完成數據轉發。盡管它已經被證明RSU可以提高數據傳輸的性能,但由于其困難的部署策略和高成本限制了它的適用性[28]。隨著控制消息數量的增加,當遇到交通阻塞時,路由開銷和端到端延遲增加。因此,這些協議不適用于車聯網中大規模的數據轉發。
設G1和G2分別為階為q的加法群和乘法群,G1和G2上的雙線性映射為:e:G1×G1→G2,其中P為G1的生成元,它滿足以下3個性質。
雙線性:對任意的a,b∈Z q*以及S,R∈G1,總有e(aP,bP)=e(P,P)ab以及e(S+R,P)=e(S,P)e(R,P)。
非退化性:存在G1中兩個點S和R,使得e(R,S)≠e(P,P)。
可計算性:對中任意的S和R存在一個有效的算法e(R,S)。
Diffie-Hellman(CDH)問題:P為生成元,對于任意a,b∈Z q,已知aP及bP,計算abP是困難的。
共謀攻擊算法(k-CAA):給定整數a∈Z q,x∈Z q,P,Q=x P,h1,h2,…,h k∈Z q,(1/(h1+x))P,(1/(h k+x))P對于h?{h1,h2,…,h k}計算1/(h+x)是困難的。
本文的方案主要研究的是區域車輛通過RSU轉發消息,然后交通管理中心做出及時的響應,最后可信機構更新相關車輛的信用值。區域車輛首先需要和RSU進行認證,TA(可信機構)將車輛轉發的消息發送給TMC(交通管理中心),TMC接收后并驗證信息的真實性及可靠性,驗證完成后及時轉發給相應的車輛,最后TA(可信機構)計算車輛的信任等級,更新參與轉發車輛的信用賬戶。本文中,首先車輛和路邊單元(RSU)向可信機構(TA)發送注冊請求并進行相互認證,注冊后的車輛擁有一個賬戶用來記錄它的信用值;同一RSU范圍內的車輛將消息通過直接轉發或者多跳轉發的方式發送給TA;TMC接收到來自TA發送的消息后對消息進行分類并通過對Beta信任函數計算來決定信息是否可信,將可靠的消息發送給相應的車輛,最后可信機構(TA)計算每個轉發車輛的信任等級,并通過信任等級來更新車輛的信用賬戶。本文所描述的系統模型如圖1所示。

圖1 系統模型Fig.1 System model
該系統主要由以下4部分組成。
(1)可信機構(trusted authority,TA):它是車聯網中完全可信的服務器,主要作用于注冊階段和轉發階段,因此它是可信的并且具有足夠的計算能力和存儲空間。當車輛首次加入新的區域后,它會向可信機構提交屬性信息并在完成轉發后更新車輛的賬戶,此外它可以保證用戶的安全和隱私。
(2)交通管理中心(transportation management center,TMC):TMC主要負責從TA接收信息,并評估車輛發送信息的真實性和可靠性。當評估完成后,交通管理中心就會將可靠的消息轉發給相應的車輛。
(3)車輛(vehicles,V):本文中,每個車輛都配備一個車載通信單元。新加入區域的車輛需要通過RSU向TMC發送道路安全信息。在路網中,車輛節點既是消息的產生者又是轉發消息的中間車輛。
(4)路邊單元(road-side unit,RSU)。本文中,RSU需要和新加入的車輛進行相互認證后才可以繼續通信,它是道路上配備的固定基礎設施,通常能通過無限通道和TMC進行通信。
給定一個安全參數K,加法循環群G1和乘法循環群G2的階為q,這兩個循環群均滿足雙線性映射e:G1×G1→G2,并且群G1的生成元為P。TA選擇一個隨機數s∈Z*q,為系統主密鑰并計算系統主公鑰Ppub=Ppub1,Ppub2,Ppub3=s×P,s-1×P,s2×P。然后它選擇三個安全的哈希函數:Z*q。接著TA會選擇一個基于橢圓曲線(ECC)和一個消息認證碼函數MACkey。最后TA就會公布系統參數params:{p,q,G1,G2,P,Ppub,Tpub,H1,H2,H3,H4,e(P,P)=E}。
本階段,RSU和它區域內的車輛分別向TA發送注冊請求。本文中,每個RSU和車輛都有唯一的身份ID∈{0,1}*并儲存在它的防篡改設備中。注冊過程如下。
(1)車輛注冊:車輛選擇一個隨機數xo∈Z*q,并計算它的公鑰PIDo=xo×Ppub1,接著向TA發送注冊請求消息req=(IDo,PKIDo)。然后TA選擇一個隨機數rIDo∈Zq*,并且計算RIDo=rIDo×Ppub1,h1=H1(IDo,RIDo,Ppub),dIDo=rIDo+h1×s。最終,TA向車輛發送部分私鑰DIDo={RIDo,sIDo}和公鑰PKIDo={RIDo,PIDo}。
驗證部分私鑰DIDo:區域內車輛通過dIDo×Ppub1=RIDo+h1×Ppub3驗證私鑰DIDo。如果等式成立,車輛接受DIDo為它的部分私鑰,否則車輛就會丟棄它。
在完成車輛注冊后,TA就會將相關信息增添到記錄隊列L中。
(2)RSU注冊:可信機構(TA)接收到RSU的注冊請求r=ID R后,然后TA就會計算h3=H3(ID R),DIDR=[1/(h3+s)]×P,然后向RSU發送部分私鑰DIDR。
驗證DIDR:RSU通過e(DIDR,H3(ID R)×P+Ppub1)=E,驗證DIDR。如果等式成立,RSU接受DIDR,否則RSU就會丟棄它。
(1)假名生成:在這部分,引入RSU的區域管理概念。在同一區域的RSU具有相同的公私鑰對,TA會定期生成公私鑰對,并定期發送給RSU。
當一個車輛進入新的區域后,它會向RSU廣播它的公鑰。如果車輛想要通過RSU上傳信息,它就必須向附近的RSU發送訪問報告。然后RSU會為每個用戶生成一個假名P=E pk(r||IDo)。
(2)報告簽名:車輛執行以下步驟完成報告簽名,并得到當前的時間戳T,然后計算h2=H2(r,T,P,PIDo,RIDo,Ppub),報告r的簽名為σ0=(h2×dIDo+xo)-1。最后車輛將請求報告r的簽名發送給RSU。
(3)RSU驗證車輛:一旦接收后,RSU核查T的有效性,然后驗證e(σ0,h2(RIDo+h1Ppub3+PIDo))=e(P,P)是否成立。一旦驗證算法失敗或某個車輛用戶違法時,用戶即可把違法車輛用戶的假身份遞交給TA,TA查詢到該車輛用戶的注冊信息,從而追蹤到相應的真實身份。
(4)車輛驗證RSU:RSU使用其私鑰解密區域內車輛用戶的假名D sk(f)=(r||IDo)。獲得IDo后,RSU計算hIDo=H3(IDo),key=H4(hIDo,ID R),mac=MAC key(hIDo),并發送消息驗證碼給其他車輛。然后車輛用戶計算接著驗證mac是否和接收到的一致。如果兩個值相同,則RSU被認證。
在轉發階段,可能有些車輛節點不能直接轉發消息給可信機構,因此會出現兩種情況,車輛直接轉發或者多跳轉發。幫助轉發的中繼車輛可以從源車輛獲得積分值。加入系統的車輛首先必須注冊一個帳戶,中繼車輛幫助轉發后可以從源車輛獲得一定的信用值。
完成轉發任務后,車輛節點會將它們的轉發記錄上傳到可信機構。然后可信機構就會計算相應的信用值。對于第一種情況,任務完成后車輛期望獲得的信用值為P1=S·p。其中,S為數據的大小,p為每單位的固定信用值。在本文中,車輛的信用值與它的信任等級相關,因此車輛節點可以獲得的信用值為Pa=(1+θ)R·P1,θ是由可信機構設置的一個懲罰因子,它是正數。第二種情況,中繼車輛節點可以獲得從源車輛節點轉移的信用值。完成合作轉發后,所有的中繼車輛會將他們的轉發記錄上傳到可信機構。然后,可信機構就會計算應從源車輛帳戶轉移到中繼車輛帳戶的信用值。對于第i個中繼車輛節點應從源節點獲得的信用值為Pra=P a·(1-λ)i,λ為調整因子。
定義1可信屬性信息(TAI):TAI代表個人的各種屬性參數用來對它進行可信度評估。TAI不是單個值而是一個集合,它由車輛上的傳感器節點收集的參數。A=a1,a2,…,a n,其中A代表TAI集,a1,a2,…,a n表示由n個傳感器所收集的不同參數,用來反映車輛的屬性信息。
TAI是給定車輛的個人信息,其中包含由傳感器收集的車輛的私人數據。TAI可能包括最新的活動狀態,正在運行時間,里程,油耗,行車路線,交通事故記錄以及其他可以反映車輛健康狀況的參數狀態和行為模式。TAI僅只能記錄數據,收集TAI的目的是使TA能夠執行TL評估。車輛的平均可信屬性值εi計算方式如下:

定義2信任等級(TL):本文引入了一個信任等級,它是TA所提供的一個評估標準。

其中,參數γ稱為歷史因子,γ的取值范圍[0,1],π表示消息的可信度。
當交通管理服務器接收到信息后,它會對信息的真實性進行驗證。TMC可能在短時間內接收到來自不同車輛的具有不同甚至可能是相反信息的多個消息。這些消息可能與發生在相同或不同位置的不同事件(或不同查詢)有關,我們將從這些事件中識別出描述同一事件的消息,以此對每個事件進行分析。然后使用了類似的貝葉斯統計方法用于計算信息的可信度,假設它們遵循概率分布。Beta分布通過使用兩個參數來決定該信息是否可信。它們通過觀察同一位置事件的相似性和沖突性來計算該消息的可信度。Beta信任函數φ(x|t,d)的期望概率值E(x)是非常合適的表示。因此該消息的可信度為:

基于Beta信任函數φ(x|t,d)的計算方式如下:

其中,0≤x≤1,0≤t,0≤d,ε表示gamma函數。

當π等于1時,說明該消息可信,TMC將該消息轉發給相應的車輛并發送π到TA。當π等于0時,說明該消息不可信,然后將π值發送給TA,以此更新車輛節點的信任等級。
(1)正確性

(2)匿名性
在本文中,車輛的真實身份被轉換為不受任何第三方管理的假名f=(r||IDo)。由于報告r中車輛的假名都是一次性的,因此對手無法區分兩個不同的假名是否來自同一輛車。而且沒有RSU的私鑰sk,對手很難暴露車輛的真實身份,由于任何第三方都不能獲得車輛的真實身份,因此實現了匿名性。
(3)不可抵賴性
車輛不能拒絕提交某些消息的行為,因此服務請求消息包含車輛的假名f。RSU可以通過使用其私有密鑰計算Dsk()f來發現車輛的真實身份,因此滿足不可抵賴性。
(4)可追溯性
如果車輛轉發了不可信的消息,TMC就會發送Req給TA,TA首先會驗證車輛是否惡意。如果有,TMC就會發送報告Req和相關證據給TMC,TMC就會通過TA提供的位置消息找到相應的車輛。
(5)抵抗重放攻擊
由于當前時間戳T保證了報告的新鮮度,在收到車輛的請求消息req,RSU首先會檢查是否過期,因此,我們的方案可以抵抗重放攻擊。
(6)消息可靠性
本文方案中,交通管理中心接收到消息后會對其進行分類評估,最后轉發給需要的車輛并向可信機構提交結果,因此車輛用戶從交通管理中心所接收的消息具有可靠性。
在本節中,從方案服務功能和計算開銷方面對本文所提出的方案進行了簡單的比較。
(1)方案服務功能
在表1中,該方案的服務功能與現有的車聯網中的轉發方案的功能進行了對比。由于移動群體感知的開放性,需要大量的移動設備接入來提供數據,因此車輛的身份必須經過驗證,前面所提到的工作系統模型并未考慮車輛的身份隱私問題以及信息內容的真實性問題。針對以上問題,把匿名認證和信譽模型的思想引入車聯網的數據轉發中,解決了車輛身份的隱私問題以及轉發信息的真實性問題。

表1 服務功能對比Table 1 Comparison of service functions
(2)計算開銷
由于缺乏完全相似的方案進行比較,因此簡要的測試了一下本方案的密碼算法來代替整個方案的結果。我們將本文方案的計算效率與現有方案[32-34]的效率進行了比較。為了評估該方案的效率,本文選取了一個由8 GB處理器內存的Intel I5-5200和Windows7組成的硬件平臺,通過仿真實驗結果對比了開銷。表2是不同方案間計算開銷的對比,其中M表示一個標量乘運算,E表示一個指數運算,PP表示一個雙線性運算。

表2 認證開銷對比Table 2 Authentication cost comparison
在簽名階段,本文的方案僅使用了一個標量乘法運算。在驗證階段,使用了一個雙線性運算和兩個標量乘法。圖2表示了3個方案簽名和驗證的總時間,因此本文方案具有計算開銷低的優點。

圖2 認證開銷對比Fig.2 Authentication cost comparison
本文針對車聯網中的數據轉發面臨的安全、隱私及用戶可靠性問題,提出了具備匿名性和信任評估的車聯網數據轉發方案,它實現了消息的完整性、可靠性、匿名性、不可抵賴性及用戶的可靠性。安全性分析和性能分析表明,該系統提高了所轉發信息內容的真實性,并在匿名認證方面具有較高的效率。