侯慧瑩 廉歡歡 趙運(yùn)磊,2
1(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 上海 200433)
2(綜合業(yè)務(wù)網(wǎng)絡(luò)國家重點(diǎn)實(shí)驗(yàn)室(西安電子科技大學(xué)) 西安 710071)
(860963890@qq.com)
車聯(lián)網(wǎng)是移動(dòng)自組網(wǎng)的一種變體,它在過去的幾年里得到了廣泛的研究[1-4].在自動(dòng)駕駛系統(tǒng)中,車輛通過裝備的車載單元(on board unit, OBU)定期地向附近的車輛和路側(cè)單元(road side unit, RSU)廣播周圍的交通狀況[5-9].附近的車輛和RSU可以根據(jù)收到的交通狀況消息及時(shí)地做出反應(yīng)來避免交通混亂,比如交通擁堵,交通事故等.
近年來,隨著人工智能技術(shù)的迅猛發(fā)展,也給車聯(lián)網(wǎng)帶來了新的發(fā)展機(jī)遇.2020年7月27日由國家標(biāo)準(zhǔn)化管理委員會(huì)、中共中央網(wǎng)絡(luò)安全和信息化委員會(huì)辦公室、國家發(fā)展和改革委員會(huì)、中華人民共和國科學(xué)技術(shù)部、中華人民共和國工業(yè)和信息化部5部門聯(lián)合發(fā)布的《國家新一代人工智能標(biāo)準(zhǔn)體系建設(shè)指南》[10]的核心內(nèi)容之一就是“人工智能與車聯(lián)網(wǎng)的結(jié)合”.作為人工智能和車聯(lián)網(wǎng)相結(jié)合的產(chǎn)物,自動(dòng)駕駛也得到了廣泛的關(guān)注.
但自動(dòng)駕駛依賴于精確的位置和時(shí)間信息,這將導(dǎo)致嚴(yán)重的隱私泄露[11].這是因?yàn)楣粽呖梢愿鶕?jù)這些位置和時(shí)間信息重構(gòu)出車輛的行駛路徑.一般情況下,車輛的駕駛員是固定的[12],攻擊者根據(jù)車輛的行駛路徑可以進(jìn)一步獲得車輛的身份和駕駛員信息,以及其他的隱私信息.為了解決上述隱私泄露問題,需要打破位置和車輛身份之間的對(duì)應(yīng)關(guān)系.
一種最直接的方法是“位置模糊”.但“位置模糊”會(huì)導(dǎo)致無法實(shí)現(xiàn)自動(dòng)駕駛.這是因?yàn)楹笈_(tái)人工智能算法要根據(jù)車輛傳感器收集到的路況信息以及車輛的位置信息來為車輛規(guī)劃出下一步的行駛路線.另一種有效的方法是在通信過程中隱藏車輛的真實(shí)身份.為了保護(hù)車輛身份的隱私性,涌現(xiàn)出一系列基于假名機(jī)制的車聯(lián)網(wǎng)匿名通信方案.不過需要注意的是,1個(gè)假名是遠(yuǎn)遠(yuǎn)不夠的[13].攻擊者還是可以輕易地將收集到的假名的位置信息與特定的車輛聯(lián)系起來.
為了解決上述問題,現(xiàn)存的許多匿名通信方案[14-26]都建議每輛車預(yù)先存儲(chǔ)大量的假名,以便定期更換假名.然而,即使定期更換假名可以在一定程度上保護(hù)了車輛的行駛路徑不被泄露.但攻擊者仍然可以利用多重假設(shè)跟蹤(multiple hypothesis tracking, MHT)技術(shù)重構(gòu)出車輛行駛路徑,詳情見第2節(jié).
為了保護(hù)車輛行駛路徑不被泄露,研究人員提出了多種假名更換策略以降低MHT成功的概率,如設(shè)置驅(qū)動(dòng)速度作為假名更換[27]的觸發(fā)點(diǎn),在特定區(qū)域(混合區(qū))[28]或特定時(shí)間(沉默期)[29]更換假名.總之,假名更換越頻繁,抵御MHT的效果就越好.但頻繁更換假名會(huì)給資源受限的網(wǎng)絡(luò)帶來沉重的存儲(chǔ)負(fù)擔(dān).因此,怎樣設(shè)計(jì)一個(gè)面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案仍需要進(jìn)一步探索.
本文貢獻(xiàn)可以歸納為3個(gè)方面:
1) 提出了一個(gè)面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案.在本文方案中,車輛由1個(gè)由多輛車共享的屬性集合表示.由于屬性集與車輛之間的1對(duì)多的關(guān)系,車輛的匿名性能自然地得到實(shí)現(xiàn).此外,在本文方案中,指令消息以密文形式進(jìn)行傳輸,也允許可信的權(quán)威(trusted authority, TA)通過傳輸?shù)闹噶钕?duì)惡意的車輛進(jìn)行追溯和懲罰.
2) 設(shè)計(jì)了一個(gè)高效的簽密方案.本文將認(rèn)證加密(authentication encryption, AE)融合到傳統(tǒng)的屬性加密方案中設(shè)計(jì)出一個(gè)簽密方案.該簽密方案相較于現(xiàn)存的屬性基簽密方案是高效的,更適用于自動(dòng)駕駛場景.
3) 通過形式化的安全性分析和一系列仿真實(shí)驗(yàn)證明本文方案是安全和高效的.
為了保護(hù)車輛行駛路徑不被暴露,研究學(xué)者們提出了許多基于公鑰加密、身份基加密、群簽名和無證書的匿名通信方案[9,14-15,17-18,30-39].然而,由于需要頻繁地更新假名或私鑰,上述所有方案都給車輛帶來了沉重的計(jì)算和存儲(chǔ)負(fù)擔(dān).
在基于公鑰加密的方案[14-15,17]中,公共基礎(chǔ)設(shè)施(public key infrastructure, PKI)須向車輛用戶頒發(fā)公鑰證書.由于需要頻繁地更換假名,在基于公鑰加密的方案中,每輛車都要預(yù)先存儲(chǔ)大量的公私鑰對(duì)和公鑰證書,這給資源受限的車輛帶來了沉重的存儲(chǔ)負(fù)擔(dān).與基于公鑰加密的方案相比,身份基的匿名通信方案[18,30]不再需要給車輛頒發(fā)公鑰證書.基于身份的匿名通信方案依靠可信的權(quán)威機(jī)構(gòu)來為每輛車生成假名.同時(shí)車輛也需要預(yù)先存儲(chǔ)大量的假名.為了降低車輛的存儲(chǔ)負(fù)擔(dān),提出了基于群簽名和無證書的匿名通信方案[31-32,38-39].然而,上述提及的通信方案[14-15,17-18,31-32,38-39]方案均不能同時(shí)實(shí)現(xiàn)傳輸消息的保密性和車輛身份的隱私保護(hù),且大部分都不支持對(duì)惡意車輛的追責(zé).
為了同時(shí)實(shí)現(xiàn)車輛身份的隱私保護(hù)、傳輸消息的保密性以及對(duì)惡意車輛的追溯,Cui等人[8]提出了一種基于屬性的動(dòng)態(tài)屬性通信框架.但是,在該方案中,車輛的密鑰長度太長且計(jì)算開銷大.具體地,車輛的密鑰長度與|W|·|Path(x)|成正比,其中|W|表示為車輛擁有的屬性集合W包含的屬性的個(gè)數(shù),|Path(x)|表示代表車輛的葉子結(jié)點(diǎn)x到二叉樹根結(jié)點(diǎn)路徑Path(x)包含的結(jié)點(diǎn)個(gè)數(shù).文獻(xiàn)[8]中的方案給車輛造成了較大的存儲(chǔ)負(fù)擔(dān),如何設(shè)計(jì)一個(gè)面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案是十分有意義的.
1) 雙線性映射
設(shè)G1,G2,GT為3個(gè)大素?cái)?shù)p階的乘法循環(huán)群.g1,g2分別是群G1,G2的生成元.雙線性映射是一個(gè)具有3個(gè)特點(diǎn)的映射e:G1×G2→GT:
① 雙線性.對(duì)任意的g1∈G1,g2∈G1以及a,b∈
② 非退化性.g1和g2分別是群G1和G2的生成元,e(g1,g2)≠1.
③ 可計(jì)算性.對(duì)所有的g1∈G1,g2∈G2,e(g1,g2)都是可以高效計(jì)算的.
設(shè)G1,GT為2個(gè)大素?cái)?shù)p階的乘法循環(huán)群,g1為群G1的生成元,那么e:G1×G1→GT為雙線性映射.
2) 離散對(duì)數(shù)問題
離散對(duì)數(shù)問題指的是,給定素?cái)?shù)p階循環(huán)群G1的生成元g,gx∈G1,x∈計(jì)算x.
3) 雙線性Diffie-Hellman判定問題
4) 認(rèn)證加密
簡而言之,在認(rèn)證加密方案中,密文C不僅包含有加密后的消息M也包含有關(guān)聯(lián)數(shù)據(jù)H(例如1個(gè)數(shù)據(jù)包或1個(gè)IP地址)[40].關(guān)聯(lián)數(shù)據(jù)H是用于驗(yàn)證的,它的內(nèi)容一般由上下文來決定.
5) 訪問控制樹
在訪問控制樹中,可以使用1組描述性屬性對(duì)密文進(jìn)行標(biāo)記.訪問控制樹的結(jié)構(gòu)可以確定解密密文的私鑰集合.每棵樹的內(nèi)部結(jié)點(diǎn)是1個(gè)閾值門,葉子與屬性相關(guān)聯(lián).只有當(dāng)分配給樹結(jié)點(diǎn)的密文屬性與要求一致時(shí),用戶才能用給定的密鑰解密相應(yīng)的密文.
1個(gè)訪問控制樹的每個(gè)非葉子結(jié)點(diǎn)代表1個(gè)閾值門,由其子結(jié)點(diǎn)和1個(gè)閾值描述.numx表示結(jié)點(diǎn)x的孩子數(shù),vx為該結(jié)點(diǎn)的閾值,其中0 為了使訪問控制樹更加方便實(shí)用,定義了一些函數(shù).定義parent(x)表示為結(jié)點(diǎn)x的父結(jié)點(diǎn).當(dāng)x為葉子結(jié)點(diǎn)時(shí),att(x)表示為其代表的屬性.訪問控制樹中也定義了結(jié)點(diǎn)x的孩子們的順序,從1到numx.index(x)為結(jié)點(diǎn)x為其父結(jié)點(diǎn)的第x個(gè)孩子. 令訪問控制樹Γ的根結(jié)點(diǎn)為r.Γx表示為其根結(jié)點(diǎn)為x的Γ的子樹.如果屬性集合W滿足訪問控制樹Γx,則Γx(W)=1.Γx(W)的計(jì)算方式為:如果x為非葉子結(jié)點(diǎn),計(jì)算其所有孩子x′的Γx′(W),至少vx個(gè)孩子結(jié)點(diǎn)返回1時(shí),Γx(W)才等于1;如果x為葉子結(jié)點(diǎn),只有當(dāng)att(x)∈W時(shí),Γx(W)才等于1. 6) 多重假設(shè)跟蹤(MHT) 如圖1所示,多重假設(shè)跟蹤技術(shù)可以根據(jù)一段時(shí)間內(nèi)的確定軌跡猜測出用戶更長一段時(shí)間內(nèi)的行駛路徑.例如,我們現(xiàn)在知道了假名一段時(shí)間內(nèi)的確定軌跡(1,2).根據(jù)確定的軌跡,MHT通過卡爾曼濾波器來預(yù)測下一假名時(shí)間段內(nèi)的位置(3)[13].然后,MHT接收到2個(gè)測量值A(chǔ)和B,它們可以與現(xiàn)有的軌跡相關(guān)聯(lián),也可以作為新軌跡的起點(diǎn).根據(jù)MHT理論,每條假設(shè)路徑都用概率進(jìn)行了標(biāo)記.如圖1(a)所示,最有可能的關(guān)聯(lián)值是B=3,因?yàn)锽比A更接近估計(jì)位置3.接下來,MHT分別基于優(yōu)先路徑A和(1,2,B)估計(jì)位置2和4.在接收到2個(gè)新的測量值后,MHT計(jì)算每個(gè)假設(shè)的概率.如圖1(b)所示,D既不接近4也不接近2,得到的P21和P22會(huì)很小.因此,當(dāng)考慮這2個(gè)步驟時(shí),如圖1(c)所示,假設(shè)路徑(1,2,A,C)是車輛最可能行駛的路徑. Fig.1 The example of MHT圖1 MHT示例 Fig. 2 The system model of this paper圖2 本文的系統(tǒng)模型 如圖2所示,本文的系統(tǒng)模型包含了4種不同的實(shí)體:可信的權(quán)威(TA)、交通控制中心、路側(cè)單元(RSU)以及車載單元(OBU). 1) 可信權(quán)威(TA).TA是一個(gè)具有大量計(jì)算資源的可信第三方.實(shí)際上,自動(dòng)駕駛是一種按需服務(wù)的交通服務(wù)系統(tǒng).該服務(wù)提供方就可作為系統(tǒng)模型中的TA,它只為訂購自動(dòng)駕駛的用戶提供服務(wù).當(dāng)RSU和OBU想要加入到自動(dòng)駕駛系統(tǒng)時(shí),TA為其提供離線的注冊(cè)服務(wù).注冊(cè)完成后,RSU和OBU可以將系統(tǒng)參數(shù)和密鑰通過離線的方式預(yù)下載到本地.根據(jù)OBU和RSU的要求,TA還可提供其他一些服務(wù).所有車輛進(jìn)入系統(tǒng)前必須通過離線的方式向TA登記詳細(xì)的身份信息.在系統(tǒng)中,車輛需要直接向TA中提供必要的信息,如姓名、電話、地址等.在本文的系統(tǒng)模型中,TA還作為一個(gè)仲裁機(jī)構(gòu),是唯一可以在傳輸?shù)南⒅刑崛“l(fā)送方身份信息的實(shí)體. 2) 交通控制中心.交通控制中心是一個(gè)具有豐富計(jì)算資源并擁有人工智能算法的實(shí)體.在自動(dòng)駕駛系統(tǒng)中,交通控制中心可以根據(jù)車輛搜集到的交通狀況信息通過人工智能算法為用戶規(guī)劃下一步的行駛路線. 3) 路側(cè)單元(RSU).RSU通過無線信道與被覆蓋區(qū)域內(nèi)的車輛以及其他的RSU進(jìn)行通信.RSU是半可信的.當(dāng)RSU受到攻擊時(shí),它可以向?qū)κ中孤稒C(jī)密數(shù)據(jù).為了防止硬件發(fā)生故障,所有RSU都應(yīng)該受到監(jiān)視,比如閉路電視或攝像機(jī). 4) 車載單元(OBU).每輛車上都裝備有車載單元OBU.車輛通過自身裝備的OBU與其他車輛和RSU的通信.通過定期廣播交通狀況,比如位置、速度和緊急事件,OBU可以幫助其他車輛改變它們的運(yùn)動(dòng)軌跡來避免交通擁堵或交通事故. 一個(gè)安全的面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案應(yīng)該滿足5個(gè)要求: 1) 機(jī)密性.只有屬性集合滿足密文訪問控制結(jié)構(gòu)的車輛才能對(duì)密文進(jìn)行正確的解密. 2) 匿名性.接收者不知道哪輛車發(fā)送的消息.有且只有TA能追蹤到消息的發(fā)送方. 3) 可追溯性.在車聯(lián)網(wǎng)中,TA可以準(zhǔn)確地捕獲信息的發(fā)送者,并對(duì)惡意車輛進(jìn)行懲罰. 4) 抗多重假設(shè)跟蹤.敵手無法通過使用MHT技術(shù)來重構(gòu)出車輛的行駛路徑. 5) 抗假冒攻擊.一個(gè)有效的接收者不能假裝成另一接收者與其他車輛通信. 定義1.一個(gè)面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案由6種算法組成:Join,Setup,KeyGen,TransMessage-Generation,Message-Veri-fication,Tracking.這些算法的詳細(xì)定義為: Join(name,address,mobilenumber)→(rid,pwd).該算法由TA執(zhí)行.它以車輛用戶的姓名、地址和手機(jī)號(hào)碼作為輸入.然后,輸出車輛的真實(shí)身份rid和相關(guān)的OBU的訪問密碼pwd. Setup(1k)→(par,msk).該算法由TA執(zhí)行.它以安全參數(shù)k為輸入,輸出系統(tǒng)的公開參數(shù)和主私鑰msk. TransMessage-Generation(par,W,sks,H,M)→C或⊥.這是一個(gè)概率算法.它以系統(tǒng)的公開參數(shù)par、發(fā)送者的私鑰sks、消息M、屬性集合W以及關(guān)聯(lián)數(shù)據(jù)H為輸入,其輸出傳輸消息的密文C或者⊥.⊥代表程序運(yùn)行失敗. KeyGen(par,msk)→sk.該算法由TA執(zhí)行.它以系統(tǒng)的公開參數(shù)par、主私鑰msk為輸入,其輸出用戶的私鑰sk. Message-Verification(par,C)→M或⊥.這是一個(gè)確定性的算法.它以系統(tǒng)的公開參數(shù)par和密文C為輸入.如果通過了驗(yàn)證算法,該算法輸出消息M,否則輸出⊥. Tracking(id,msk)→rid.該算法由TA執(zhí)行.它以id=ridmsk以及主私鑰msk為輸入,而后輸出發(fā)送者的真實(shí)身份rid. 定義2.如果在選擇集合安全模型下所有的多項(xiàng)式時(shí)間敵手獲得勝利的概率均是可以忽略的,那么本文中面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案是安全的. 本文認(rèn)為接收者不是完全可信的.滿足訪問控制結(jié)構(gòu)的接收方可能希望在下一次與其他車輛的通信中假冒此次通信的發(fā)送方.因此,密文中包含的發(fā)送者身份信息應(yīng)該是一次性的.也就是說,即使有效的接收方知道發(fā)送方的身份信息,也不能冒充發(fā)送方與其他車輛或RSU進(jìn)行通信.考慮到上述情況,給出了下面的安全定義. 定義3.如果任何有效的接收方都不能偽裝成相應(yīng)的接收方與其他車輛進(jìn)行下一次通信,那么我們可以說本文提出的面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案是可以抵御假冒攻擊. 在實(shí)際應(yīng)用中,可以使用1組屬性集合{省,市,街道,RSU},{市,街道,RSU}或者{街道,RSU}來代表車輛或RSU,相應(yīng)的TA分別管理1個(gè)國家、1個(gè)省或者1個(gè)直轄市.在本文方案中,TA管理1個(gè)國家.為了將每一個(gè)屬性映射到中1個(gè)元素,本文對(duì)所有屬性進(jìn)行了編號(hào).一般情況下,1個(gè)國家的省或直轄市的數(shù)量和每個(gè)城市的區(qū)或縣的數(shù)量變化很小.為了將屬性集合映射到可以按照省、市、街道、RSU的順序進(jìn)行連續(xù)編號(hào).為了可以支持省、市、街道、RSU數(shù)量的變化,每部分可以酌情預(yù)留出一些元素.例如,n1-24為上海市區(qū)或縣的數(shù)量與為區(qū)屬性預(yù)留出來的元素個(gè)數(shù)的總和,n2-n1-1表示為上海市楊浦區(qū)的街道個(gè)數(shù)與為街道屬性預(yù)留出來的元素個(gè)數(shù)的總和.TA負(fù)責(zé)治理1個(gè)國家,而后對(duì)全國所有省份進(jìn)行編號(hào),如上海為1、山東為2、河南為3等.進(jìn)一步,可以對(duì)這個(gè)省的所有城市、街道和RSU進(jìn)行編號(hào).例如,屬性集合{上海,楊浦,邯鄲,RSU1}可以表示為W={1,24,n1+1,n2+1}. Fig.3 The number of attributes圖3 屬性的編號(hào)方式 為了實(shí)現(xiàn)可追溯性,密文應(yīng)該包含發(fā)送者身份的相關(guān)信息,只有TA可以根據(jù)這些相關(guān)信息跟蹤發(fā)送者的身份.此外,車聯(lián)網(wǎng)要求極高的實(shí)時(shí)性,密文應(yīng)包含時(shí)間信息,以防止重放攻擊. 本文詳細(xì)描述了提出的抗MHT車輛網(wǎng)匿名通信方案的6種算法. 1)Join(name,address,mobilenumber).當(dāng)車輛首次加入系統(tǒng)時(shí),它首先離線地向TA完成注冊(cè).注冊(cè)時(shí),車輛擁有者需要向TA提交一些必需的信息,如姓名、車牌號(hào)、地址以及手機(jī)號(hào).注冊(cè)成功后,TA為該車輛頒發(fā)1個(gè)唯一的車輛表示RID以及車載單元的訪問口令pwd.在這里,OBU是車輛的防篡改設(shè)備,如果用戶想訪問它的rid,他需要使用相關(guān)的OBU的訪問口令pwd. 2)Setup(1k).假設(shè)所有省、市、街道以及RSU的總數(shù)量為n.而后,本文使用中前n個(gè)元素代表屬性集合,也就是屬性集合可以表示為U={1,2,…,n}.而后,為每個(gè)i∈U選擇1個(gè)隨機(jī)數(shù)ti∈p.最后,選擇隨機(jī)數(shù)y1←p,y2←并計(jì)算Y=,id=(rid)y2.最后,TA將id通過安全信道發(fā)送給車輛. 主私鑰為msk={t1,t2,…,tn;y1,y2}. 3)TransMessage-Generation(par,W,id,H,M).令SE=(KSE,Enc,Dec)為認(rèn)證加密算法.M∈{0,1}*為消息,H∈{0,1}*為關(guān)聯(lián)數(shù)據(jù),W?U為屬性集合.KDF:GT×GT→{0,1}*表示為密鑰推導(dǎo)函數(shù),在實(shí)際中可以視為一個(gè)隨機(jī)預(yù)言機(jī). 為了傳輸消息M∈{0,1}*,發(fā)送者進(jìn)行5個(gè)操作: ① 選擇隨機(jī)數(shù)x←并生成 ② 計(jì)算預(yù)共享密鑰PS=e(g1,Y)x; ③ 計(jì)算密鑰k1=KDF(X,PS); ④ 計(jì)算CAE←Enck1(H,M‖id‖Ti),其中id=(rid)y2,Ti為時(shí)間戳. ⑤ 廣播傳輸消息C=(H,X,CAE). 4)KeyGen(par,msk).TA為擁有屬性集合為W的接收者生成解密密鑰D.當(dāng)且僅當(dāng)Γ(W)=1時(shí),擁有解密密鑰D的接收者可以解密密文C.TA進(jìn)行2個(gè)操作: ① 以從上到下的方式,從根結(jié)點(diǎn)r開始為訪問控制樹Γ中的每個(gè)結(jié)點(diǎn)w選擇一個(gè)多項(xiàng)式qw.每個(gè)結(jié)點(diǎn)w的多項(xiàng)式qw的秩為dw=vw-1,這里的vw為該結(jié)點(diǎn)的閾值.對(duì)于根結(jié)點(diǎn)r,令qr(0)=y,對(duì)多項(xiàng)式qr的其他dr點(diǎn)進(jìn)行隨機(jī)定義.對(duì)于樹中的其他結(jié)點(diǎn)w,令qw(0)=qparent(w)(index(w)),多項(xiàng)式中的其他點(diǎn)也是隨機(jī)進(jìn)行定義. ② 對(duì)于每個(gè)葉子結(jié)點(diǎn),將下面的秘密值發(fā)送給接收者: 其中,i=att(x). 解密密鑰D為所有這些秘密值的集合. 5)Message-Verification(par,C).當(dāng)收到密文C=(H,X,CAE)后,接收者向TA發(fā)送解密密鑰請(qǐng)求.收到請(qǐng)求后,TA進(jìn)行3個(gè)操作. ② 獲得PS之后,計(jì)算密鑰k1=KDF(X,PS). ③ 計(jì)算H,M,id,Ti←Deck1(H,M‖id‖Ti). 解密后,接收者首先驗(yàn)證解密得到的關(guān)聯(lián)數(shù)據(jù)H是否與明文發(fā)送的關(guān)聯(lián)數(shù)據(jù)相同.如果相同,再驗(yàn)證時(shí)間戳Ti是否與系統(tǒng)時(shí)間相吻合,如果是,接收消息M并保存id.否則,返回⊥. 6)Tracking(id,msk).當(dāng)TA需要追溯消息的發(fā)送者時(shí),它可以通過2種方式來獲得車輛的rid.其中一種是通過解密密鑰D解密密文C,得到id=(rid)y2,而后用主密鑰y2得到rid.另一種方法是接收者向TA發(fā)送追溯請(qǐng)求,而后將id=(rid)y2發(fā)送給TA.而后用主密鑰y2得到rid.TA追溯到惡意發(fā)送者后對(duì)其進(jìn)行懲罰. 本節(jié)通過機(jī)密性、匿名性、可追溯性、抗多重假設(shè)跟蹤、抗假冒攻擊5個(gè)方面證明本文方案是安全的. 定理1.機(jī)密性.假設(shè)在雙線性群中DBDH問題是困難的,并且用于生成密文的認(rèn)證加密是安全的.在該方案中,對(duì)于不擁有符合密文訪問控制結(jié)構(gòu)的屬性集的敵手,是不能解密密文的. 下面定義了2種程序PolySat和PolyUnsat. PolySat(Γx,W,λx).該算法的目標(biāo)是為滿足Γx(W)=1的結(jié)點(diǎn)選擇多項(xiàng)式.該算法的目標(biāo)是以訪問控制樹Γx、屬性集合W以及整數(shù)λx∈p作為輸入.首先,對(duì)于根結(jié)點(diǎn)x,為其分配一個(gè)階為dx的多項(xiàng)式qx,令qx(0)=λx.并隨機(jī)地定義多項(xiàng)式總的其他點(diǎn)以固定多項(xiàng)式qx.而后,調(diào)用為結(jié)點(diǎn)x的每個(gè)子結(jié)點(diǎn)x′分配多項(xiàng)式,令qx′(0)=qx(index(x′)). PolyUnsat(Γx,W,gλx).該算法的目標(biāo)是為滿足Γx(W)=0的結(jié)點(diǎn)選擇多項(xiàng)式.該算法的目標(biāo)是以訪問控制樹Γx、屬性集合W以及整數(shù)gλx∈G1作為輸入.首先,對(duì)于根結(jié)點(diǎn)x,為其分配一個(gè)階為dx的多項(xiàng)式qx,令qx(0)=λx.由于Γx(W)=0,小于dx個(gè)x的孩子可以滿足要求.假設(shè)hx≤dx為結(jié)點(diǎn)x的孩子數(shù).為每個(gè)孩子結(jié)點(diǎn)x′設(shè)置qx(index(x′))=λx′. 為了計(jì)算該算法其他結(jié)點(diǎn)的多項(xiàng)式,對(duì)每個(gè)結(jié)點(diǎn)x的子結(jié)點(diǎn)x′,調(diào)用算法: ①PolySat(Γx′,W,qx(index(x′))).如果x′為內(nèi)部結(jié)點(diǎn),qx(index(x′))是已知的. ②PolyUnsat(Γx′,W,gqx(index(x′))).如果x′為非內(nèi)部結(jié)點(diǎn),那么只有在差值gqx(0)已知的情況下才能獲得gqx(index(x′)). 在這種情況下,結(jié)點(diǎn)x的每個(gè)孩子結(jié)點(diǎn)都有qx′(0)=qx(index(x′)). Z=PS=(g,Y)x=(g,gab)x. 如果μ=0,那么Z=e(g,g)ab.如果令x=c,可以得到Z=PS=(g,g)abc.如果μ=1,Z=e(g,g)z. 從上述4個(gè)階段中可以看出,參數(shù)和私鑰的生成都與真正的方案相同. 證畢. 定理2.匿名性.除了TA,沒有人可以知道消息發(fā)送者的真實(shí)身份. 證畢. 定理3.可追溯性.該方案允許TA追溯到惡意的發(fā)送者并對(duì)其進(jìn)行懲罰. 證明. 車輛的真實(shí)身份包含在id=(rid)y2中,TA可以通過使用擁有的主私鑰y2得到rid.因此,本文提出的抗MHT的車聯(lián)網(wǎng)匿名安全通信方案實(shí)現(xiàn)了對(duì)惡意車輛的可追溯性. 證畢. 定理4.抗多重假設(shè)跟蹤.在本文方案中,對(duì)手不能利用MHT技術(shù)重構(gòu)出車輛的行駛路徑. 證明. 在本文方案中,每輛車都用1個(gè)由多輛車共享的屬性集來表示.因此,即使在同一區(qū)域,也可能有多個(gè)車輛具有同一屬性集.在這種情況下,對(duì)手無法在短時(shí)間內(nèi)得到確定的路徑作為MHT算法的輸入,使得敵手無法運(yùn)行MHT算法來重構(gòu)車輛的路徑.因此,本文提出的抗MHT的車聯(lián)網(wǎng)匿名安全通信方案抗多重假設(shè)跟蹤. 證畢. 定理5.抗假冒攻擊.沒有一輛車能假冒另一輛合法車來給進(jìn)行通信. 證明. 為了假冒成其他的車輛或者RSU,敵手必需產(chǎn)生合法的密文C=(H,X,CAE),其中CAE←Enck1(H,M‖id‖Ti).該id是由TA根據(jù)車輛的真實(shí)身份rid生成的,每次信息傳輸時(shí),id值是不同的.因此,對(duì)手不能偽造出合理的密文.總體而言,本文提出的抗MHT的車聯(lián)網(wǎng)匿名安全通信方案能夠抵御假冒攻擊. 證畢. 本節(jié)首先對(duì)本文提出的方案進(jìn)行了定性評(píng)估.而后,將本文方案與最近提出的方案[23,25-26,41]進(jìn)行了功能性的對(duì)比.最后通過一系列仿真實(shí)驗(yàn)驗(yàn)證了該方案的有效性. 本文用到的雙線性映射定義為e:G1×G1→GT.為了方便表示,定義以下符號(hào)來表示方案中的操作:令Hash,Exp(G1)和Mul(G1)分別表示一個(gè)散列操作、一個(gè)群G1中的模冪操作和一個(gè)群G1中的模乘操作.同樣地,Exp(GT)和Mul(GT)分別表示一個(gè)群GT中的模冪操作和一個(gè)群GT中的模乘操作.Pair表示為一次雙線性映射操作.令屬性集合為W,|W|表示屬性集合中包含的屬性個(gè)數(shù).令Enc和Dec分別表示認(rèn)證加密中的加密和解密操作. 1) 性能分析 Table 1 Performance Analysis of the Proposed Scheme表1 本文方案的性能分析 2) 功能對(duì)比 將本文的方案與9個(gè)相關(guān)文獻(xiàn)[8-9,23,25-26,33-35,41]進(jìn)行了功能對(duì)比.如表2所示,文獻(xiàn)[33-35]不滿足匿名性.也就是,在文獻(xiàn)[33-35]中,車輛在通信中不能夠隱藏真實(shí)身份,這嚴(yán)重侵犯了車輛的身份隱私.文獻(xiàn)[25-26]不能抵御假冒攻擊.也就是,在文獻(xiàn)[25-26]中,一個(gè)惡意的敵手可以偽裝成另一輛合法車輛與其他車輛進(jìn)行通信.文獻(xiàn)[23,25-26]不能抵御篡改攻擊,惡意的敵手可以通過篡改傳輸中的交通狀況信息來制造交通事故.文獻(xiàn)[8-9,33-35]不能抵御重放攻擊.一個(gè)惡意的接收方,可以冒充成之前與其通信的發(fā)送方車輛向其他車輛發(fā)送之前它接收到的消息.文獻(xiàn)[23,25-26,33-35,41]不能保證傳輸消息的機(jī)密性.文獻(xiàn)[25-26]不能實(shí)現(xiàn)可追溯性,無法完成對(duì)惡意車輛的追責(zé).文獻(xiàn)[9,23,25-26,33-35,41]均不能抵御MHT.敵手可以使用MHT技術(shù)完成對(duì)文獻(xiàn)[9,23,25-26,33-35,41]中車輛行駛路徑的重構(gòu).總的來說,本文的方案是唯一能夠滿足匿名性、抗假冒攻擊、篡改攻擊和重放攻擊、可追溯性、機(jī)密性和抗MHT的方案. 3) 實(shí)驗(yàn)結(jié)果 本節(jié)首先評(píng)估了本文方案在普通消息數(shù)量和大量消息數(shù)量這2種不同場景下的性能.我們?cè)O(shè)定普通消息數(shù)量在0~100之間,大量消息數(shù)量在1~1 000之間.之后,我們將結(jié)果與現(xiàn)存的先進(jìn)的文獻(xiàn)[8-9,33-35]進(jìn)行比較. 在本節(jié)中,我們通過實(shí)驗(yàn)來評(píng)估本文方案的性能.仿真實(shí)驗(yàn)代碼是使用C++編寫的,運(yùn)行在Intel處理器為2.30 GHz和8 GB內(nèi)存的Linux服務(wù)器上.這些實(shí)驗(yàn)是在基于配對(duì)的密碼學(xué)庫[42](版本為PBC 0.5.14)和GNU多精度算法[43]的幫助下完成的.在實(shí)驗(yàn)中,我們使用PBC中的參數(shù)a.param來設(shè)置基礎(chǔ)字段大小為320 KB,分為16 384塊,p中一個(gè)元素的大小是20 b. Table 2 Function Comparison Among the Proposed Scheme and the Related Schemes表2 本文方案與相關(guān)方案的功能對(duì)比 ① 在普通消息數(shù)量以及大量消息數(shù)量條件下本文方案的性能.為了評(píng)估發(fā)送方的計(jì)算開銷,我們?cè)u(píng)估了密文生成需要的計(jì)算時(shí)間.在實(shí)驗(yàn)中,消息塊分別從0增加到100和1 000個(gè).如圖4所示,在一般消息數(shù)量下,密文生成的時(shí)間成本隨消息塊的數(shù)量線性增加.具體而言,密文生成的時(shí)間為0.162~1.613 s.如圖5所示,在大量消息數(shù)量下,密文生成時(shí)間為0.162~15.288 s.顯然,這對(duì)發(fā)送者來說是完全可以接受的. Fig. 4 Computation overhead of the sender圖4 發(fā)送者的計(jì)算開銷 Fig. 5 Computation overhead of the sender圖5 發(fā)送者的計(jì)算開銷(大量消息) 對(duì)于接收到的不同數(shù)量的消息,我們分別給出了在普通消息數(shù)量(0~100)以及大量消息數(shù)量(0~1 000)下的接收方的計(jì)算開銷.如圖6所示,接收者消息驗(yàn)證的計(jì)算開銷隨著發(fā)送消息的數(shù)量線性增加.接收者的計(jì)算開銷從0.18~1.825 s不等.如圖7所示,在消息數(shù)量為0~1 000時(shí),接收方的計(jì)算開銷從0.18 s增加到17.98 s. Fig. 6 Computation overhead of the receiver圖6 接收者的計(jì)算開銷 Fig. 7 Computation overhead of the receiver圖7 接收者的計(jì)算開銷(大量消息) Fig. 8 Computation overhead of the sender圖8 發(fā)送者的計(jì)算開銷 Fig. 9 Computation overhead of the receiver圖9 接收者的計(jì)算開銷 ② 在普通消息數(shù)量條件下本文方案與文獻(xiàn)[8-9,33-35]方案的性能比較.為了評(píng)估在一般消息數(shù)量的條件下,本文方案相較于文獻(xiàn)[8-9,33-35]方案在性能方面是否有優(yōu)勢,我們分別將本文方案的發(fā)送方生成密文所需的計(jì)算時(shí)間以及接收方解密消息所需的計(jì)算時(shí)間與文獻(xiàn)[8-9,33-35]方案進(jìn)行了對(duì)比.如圖8所示,文獻(xiàn)[8]方案所需的密文生成計(jì)算時(shí)間最長.具體地,隨著消息數(shù)量的增加,文獻(xiàn)[8]方案的發(fā)送方所需的計(jì)算時(shí)間從0 s增加到5.23 s.文獻(xiàn)[9,33,35]方案的發(fā)送方的計(jì)算開銷均大于本文方案.本文方案與實(shí)現(xiàn)相同功能的文獻(xiàn)[8]方案相比是非常高效的.同樣地,如圖9所示,文獻(xiàn)[8]方案所需的密文解密計(jì)算時(shí)間最長,本文方案所需的密文解密計(jì)算時(shí)間最小.綜上,本文方案與實(shí)現(xiàn)相同功能的方案相比是非常高效的. 本文提出了一個(gè)面向自動(dòng)駕駛的高效可追蹤的車聯(lián)網(wǎng)匿名通信方案.在本文方案中,車輛由多輛車共享的屬性集表示.由于屬性集與車輛之間的1對(duì)多的關(guān)系,車輛的匿名性能自然地得到實(shí)現(xiàn).此外,在本文方案中,指令消息以密文形式進(jìn)行傳輸,也允許可信的權(quán)威(TA)通過傳輸?shù)闹噶钕?duì)惡意的車輛進(jìn)行追溯和懲罰.此外,本文在屬性基加密方案中融合了認(rèn)證加密設(shè)計(jì)了一種簽密方案作為底層技術(shù)支持本文提出的匿名通信方案.該簽密方案相較于現(xiàn)存的屬性基簽密方案是高效的,更適用于自動(dòng)駕駛場景.通過對(duì)其安全性的分析,該方案在安全性和效率上均達(dá)到了預(yù)期的效果. 作者貢獻(xiàn)聲明:侯慧瑩負(fù)責(zé)算法與仿真實(shí)驗(yàn)的設(shè)計(jì)、實(shí)驗(yàn)數(shù)據(jù)的分析與處理、論文撰寫;廉歡歡負(fù)責(zé)論文寫作檢查與修改;趙運(yùn)磊負(fù)責(zé)算法設(shè)計(jì)、論文檢查與修改.3 系統(tǒng)模型和安全模型
3.1 系統(tǒng)模型
3.2 設(shè)計(jì)目標(biāo)
3.3 定 義
3.4 安全模型
4 本文方案
5 安全性分析
6 性能評(píng)估
7 總 結(jié)