劉雪艷 王 力 郇麗娟 杜小妮 牛淑芬
①(西北師范大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院 蘭州 730070)
②(西北師范大學(xué)計算機科學(xué)與工程學(xué)院 蘭州 730070)
車聯(lián)網(wǎng)(Internet of Vehicles, IoV)是物聯(lián)網(wǎng)在交通領(lǐng)域中的一種應(yīng)用。其通過車輛自帶的傳感器收集車輛和道路交通數(shù)據(jù),并將這些數(shù)據(jù)通過無線通信傳輸給智能終端。車聯(lián)網(wǎng)中每個節(jié)點利用相鄰節(jié)點的信息提供交通管理、車輛定位、速度控制等服務(wù)。因為其中的節(jié)點具有移動性,導(dǎo)致頻繁的拓撲變化,所以它是一種根據(jù)車輛需求智能提供服務(wù)的動態(tài)網(wǎng)絡(luò)[1]。
車聯(lián)網(wǎng)主要利用傳感器數(shù)據(jù)采集、無線射頻識別以及短距離通信等技術(shù),實現(xiàn)車輛與車輛 (Vehicleto-Vehicle, V2V)、車輛與路邊基礎(chǔ)設(shè)施(Vehicleto-Infrastructure, V2I)進行互相通信和信息交換,從而實現(xiàn)對車輛和道路的完全控制。在車聯(lián)網(wǎng)系統(tǒng)中,車載單元(On-Board-Unit, OBU)的工作原理是在專用短程通信系統(tǒng)的幫助下,集成和利用諸如全球定位系統(tǒng)、微型傳感器和嵌入式系統(tǒng),使得車輛可以和周圍其他車輛或路側(cè)單元(Road-Side-Units, RSUs)進行消息傳遞。RSUs通過有線信道和無線信道與可信中心(Trusted Authority, TA)或OBU進行信息傳遞,它可以接受來自O(shè)BU信息并傳遞給TA,同時也可以接受TA發(fā)送的信息并傳遞給OBU。
車聯(lián)網(wǎng)系統(tǒng)具有車輛節(jié)點規(guī)模大,行駛速度快,通信信道開放等特點,所以車聯(lián)網(wǎng)環(huán)境下各節(jié)點之間的通信面臨著巨大挑戰(zhàn)。惡意攻擊者可能會竊聽消息,注入虛假消息或修改消息來造成流量中斷,或者跟蹤車輛節(jié)點獲取車輛隱私信息如車主的身份隱私、位置隱私信息等[2]。所以,在車聯(lián)網(wǎng)中需要關(guān)注3個重要問題,首先,對于消息來源的可靠性需要高效認證;其次,車輛信息應(yīng)該得到很好的隱私保護;最后對于惡意用戶,他們的身份應(yīng)該是可追蹤的。
因此,在IoV中共享的信息必須滿足可驗證性、完整性、隱私性、不可否認性、可追溯性、匿名性等安全要求。
(1)動機與工作。雖然一些研究工作提出了用于IoV部署的消息認證方案[3—7],但它們不能提供必要的安全特性,而且易受到各種已知攻擊,此外,這些方案需要大量的計算和通信開銷,使得它們無法適應(yīng)實時場景。針對這些問題,本文在IoV環(huán)境下,提出了一種基于橢圓曲線密碼(Elliptic Curve Cipher, ECC)無對的無證書匿名認證方案。主要工作如下:
(a) 密鑰生成中心(Key Generation Center,KGC)生成車輛的部分私鑰,車輛聯(lián)合部分私鑰和自己的秘密值共同產(chǎn)生實際私鑰,以此解決密鑰托管問題;
(b) 在注冊階段區(qū)域管理局(Regional Trusted Authority, RTA)為車輛生成一個長期的偽身份用于后續(xù)的部分密鑰生成,而在和其他車輛或RSUs通信時車輛自身生成一個短期的偽身份。長期-短期偽身份的聯(lián)合使用保證了強匿名性和簽名的新鮮性,并且避免了RSUs生成臨時偽身份造成的身份泄露和時延問題;
(c) 采用無雙線性對的同態(tài)簽名和批量驗證,提高了RSUs驗證消息的效率;
(d) 當(dāng)有惡意事件發(fā)生時,RTA可以通過長-短期偽身份追蹤車輛真實身份,并由TA撤銷該用戶。
在上述工作中,該方案達到了車聯(lián)網(wǎng)中消息的可認證性,消息發(fā)送者的匿名性,身份的可追蹤性,消息的不可抵賴性,不可鏈接性,前向安全性和后向安全性以及消息認證的高效性等。
(2)相關(guān)工作。在安全和隱私的背景下,一些針對車聯(lián)網(wǎng)的公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)的方案[3,4]已經(jīng)被提出,但是該方案存在車輛很難管理和存儲數(shù)量豐富的公私鑰對和相關(guān)證書問題。此外,TA需要維護一個證書撤銷列表(Certificate Revocation List, CRL),其中存儲被吊銷車輛的證書,這通常是龐大的。Raya和Hubaux[5]通過使用匿名證書來隱藏用戶的真實身份,為車聯(lián)網(wǎng)引入了一種匿名認證方案。他們建議每輛車都存儲一些匿名證書,這樣車輛就可以在每個認證過程中使用不同的公私鑰對避免可追溯性。但是,這會造成車輛不得不存儲大量的對。因此,密鑰的安全分發(fā)、密鑰管理和存儲變得非常復(fù)雜。
為了解決傳統(tǒng)PKI認證方案的問題,出現(xiàn)了許多基于身份的認證方案。文獻[6]把車輛的身份屬性作為公共密鑰,因此不需要系統(tǒng)為其生成公鑰證書?;谏矸莸恼J證方案不僅能夠保護車輛的隱私信息還能夠保護消息的完整性,但是其存在密鑰托管問題。文獻[7]使用于ECC設(shè)計了一種新的基于身份的條件隱私保護認證方案,該方案傳輸簽名消息所需的通信帶寬更小。為了提高系統(tǒng)效率,文獻[8]提出了一種高效匿名認證協(xié)議。文獻[9]提出了一種可擴展的、滿足批量驗證的條件隱私保護認證方案。在該方案中,偽身份和相應(yīng)的私鑰由PKG單獨生成。然后,文獻[10]提出了一種高效的基于身份的批量驗證方案,并指出了一些安全風(fēng)險。文獻[11]通過改進文獻[10]的方案,提出了一種不需要雙線性對的基于身份的批驗證安全方案。文獻[12]采用了一種基于身份加密的環(huán)簽名方案,對環(huán)簽名方案進行了修改,實現(xiàn)了簽名者的模糊性,提高了車載網(wǎng)絡(luò)的隱私要求。然而,環(huán)簽名方案在車聯(lián)網(wǎng)中并不適用,不能實現(xiàn)有條件的隱私。文獻[13]提出了一種高效匿名批處理認證方案,該方案利用哈希鏈和消息認證碼為通信提供批處理驗證。仿真結(jié)果表明,當(dāng)消息數(shù)大于23條時,文獻[13]比其他批處理驗證方案效率更高。文獻[14]提出了一種新的基于身份驗證的框架,通過使用假名和基于門限的分布式控制分別實現(xiàn)匿名性與不可否認性。在車聯(lián)網(wǎng)中采用簽密技術(shù)的方案[15]也被提出,由于車聯(lián)網(wǎng)節(jié)點不受計算能力限制,因此比簽名和加密方法具有相當(dāng)大的優(yōu)勢。然而,在所有這些基于身份的方案中,主要的障礙是KGC利用自己的主密鑰生成一個車載實體的密鑰。它不能確保不可否認性,因為KGC濫用車輛的訪問能力可以簽署和解密任何消息,從而導(dǎo)致密鑰托管問題。
為了克服證書管理和密鑰托管問題,文獻[16]在2003年引入了基于無證書的機制。2011 年,文獻[17]提出了一種車聯(lián)網(wǎng)環(huán)境下的無證書認證方案,方案中車輛的假名由車輛自身和可信中心TA共同生成,車輛的私鑰由車輛自身和KGC共同生成,保護了車輛隱私信息,并且解決了密鑰托管問題。2014 年,文獻[18]提出了一種車聯(lián)網(wǎng)環(huán)境下更加安全的無證書認證方案,主要用于實現(xiàn)V2I之間的安全通信。同時,無證書認證方案也能夠?qū)崿F(xiàn)可追蹤性,一旦有車輛傳播不合法的消息,TA能夠通過自己的主私鑰追蹤車輛的真實身份[19]。2018年,文獻[20]提出了車載網(wǎng)中可證安全的無證書聚合簽名算法,但文獻[21]認為文獻[20]是不安全的,并進一步提出了一個改進的無證書聚合簽名方案。
此外,上述部分文獻利用了橢圓曲線加密技術(shù),橢圓曲線密碼學(xué)主要是將橢圓曲線應(yīng)用到密碼學(xué)中,利用橢圓曲線離散對數(shù)問題(Elliptic Curve Discrete Logarithm Problem, ECDLP)構(gòu)成橢圓曲線密碼學(xué)(ECC)。由于其占用內(nèi)存小不易破解等優(yōu)點廣泛應(yīng)用于一些安全領(lǐng)域,如加密、解密、數(shù)字簽名和安全協(xié)議等。
當(dāng)今社會人們的隱私意識越來越強,為了進一步加強安全,提高效率,需要一個避免密鑰托管的強匿名認證方案來保護隱私。因此,本文提出了一個有效且高效的無證書匿名認證方案,該方案沒有涉及 PKI 證書,減少了系統(tǒng)車輛的存儲負擔(dān),并且采用無對的聚合方法以減少RSUs驗證的時間。
(1) 公鑰加密(PKC)。在PKC中,每個用戶都有一個公鑰和一個私鑰。私鑰是保密的,而公鑰是公開的。用戶的公鑰通過證書(即受信任的證書頒發(fā)機構(gòu)在公鑰上的簽名)與用戶相關(guān)聯(lián)。這使得接收方確保它們擁有的公鑰是發(fā)送方的正確公鑰。想要使用公鑰的接收者必須驗證相應(yīng)的證書以確保密鑰的有效性。因此,需要一個公鑰基礎(chǔ)設(shè)施(PKI)——一系列可信賴的第三方,可以依賴他們來擔(dān)保身份與特定公鑰之間的聯(lián)系。但是該特性會導(dǎo)致證書頒發(fā)機構(gòu)需要大量的存儲和計算能力來管理證書。
(2) 基于身份的加密(ID-PKC)。為了避免證書管理問題,引入了ID-PKC的概念?;谏矸莸姆桨笇嶓w的公鑰設(shè)置為其數(shù)字身份,從而消除了對公鑰基礎(chǔ)設(shè)施的需要,而且KGC使用主密鑰生成實體的私鑰。因此,ID-PKC的一個固有問題是“密鑰托管”。
(3) 無證書密碼學(xué)。文獻[17]引入了無證書公鑰加密(CL-PKC)的概念,它消除了在PKC中使用證書,并解決了ID-PKC中的密鑰托管問題。CLPKC的基本思想是:KGC為用戶產(chǎn)生一個部分私鑰,用戶選取一個秘密值,并與部分私鑰結(jié)合生成用戶的私鑰,用戶私鑰由KGC和用戶聯(lián)合產(chǎn)生。KGC不知道用戶的完整私鑰,從而避免了密鑰托管問題。和基于證書的公鑰密碼體制相比,無證書的公鑰密碼學(xué)不需要證書的管理,所需負載更小,因此更適用于低寬帶需求和低能量消耗的移動應(yīng)用環(huán)境。
設(shè)Fp表示階為p的有限域,其中p是大素數(shù)。通常定義一個標(biāo)準(zhǔn)橢圓曲線E為:y2=x3+ax+bmodp,其中a,b ∈Fp,且Δ=4a3+27b2/=0。E上的點和無窮遠處的點O構(gòu)成一個循環(huán)加法橢圓曲線群
G={(x,y):x,y ∈Fp,E(x,y)=0}∪{O}
G有以下性質(zhì):
(1) 加法(+/—):設(shè)P與Q為G上的兩個點,若P /=Q則有R=P+Q,R是E與連接P,Q兩點直線的交點。若P=Q,則有R=P+Q,R是E與P(Q)點切線的交點。若Q=-P,則有P+Q=P-P=O;
(2) 標(biāo)量乘法(·):設(shè)P ∈G,m ∈Zq*,則在G上的標(biāo)量乘法為m·P=P+P+...+P(共m次)。
已知E/Fp上的點P,給定點對(P,mP),求整數(shù)m ∈Zp,這個問題稱為橢圓曲線離散對數(shù)問題,簡寫為ECDLP。當(dāng)點P有大的素數(shù)階時,認為求解ECDLP是計算上不可行的。
本節(jié)介紹了本文方案的體系結(jié)構(gòu)、安全模型和安全性要求。
IoV結(jié)構(gòu)由5個實體組成:可信中心(TA)、區(qū)域管理局(RTA)、密鑰生成中心(KGC)、路側(cè)單元(RSUs)和車載單元(OBU)。IoV網(wǎng)絡(luò)模型如圖1所示。
圖1 IoV網(wǎng)絡(luò)模型
(1) 可信中心(TA):它是完全可信賴的權(quán)威,具有足夠的計算和通信資源,并且擁有車輛的真實身份列表,并且為系統(tǒng)生成公私鑰對和系統(tǒng)參數(shù)。TA通常為交通管理部門。
(2) 區(qū)域管理局(RTA):即區(qū)域TA,負責(zé)注冊車輛和RSUs。RTA為注冊的車輛分配一個防篡改設(shè)備(Tamper-Proof Device, TPD),其具有高強度的安全特性,可以阻止各類環(huán)境下的信息泄露攻擊。
(3) 密鑰生成中心(KGC):在IoV系統(tǒng)中KGC是另一個豐富了計算和通信資源的可信實體。KGC負責(zé)為IoV中的車輛生成部分私鑰。
(4) 路側(cè)單元(RSUs):RSUs部署在路邊,是TA, KGC和OBU之間的橋梁。RSUs與RTA和KGC通過有線連接,與OBU通過無線信道連接。其主要負責(zé)驗證車輛廣播的消息。
(5) 車載單元(OBU):車載單元嵌入到車輛中,并廣播與交通有關(guān)的信息、位置標(biāo)識和駕駛狀態(tài)等。該設(shè)備有自己的時鐘,用于生成正確的時間戳,為此,所有TA, RTA, KGC, RSUs和OBU都有大致同步的時鐘。其負責(zé)將敏感信息存儲在車輛的防篡改設(shè)備(TPD)中,并向車輛和附近的RSUs廣播消息。
本文的安全模型是在文獻[1]安全模型基礎(chǔ)上提出的,其中的敵手可以不受限制地訪問公共信道,并且可以在公共信道上讀取、攔截、重放、修改、制造和刪除傳輸?shù)姆纸M。假設(shè)TA, RTA, KGC和RSUs是IoV環(huán)境中的可信實體。在IoV環(huán)境中的車輛配備了防篡改設(shè)備TPD,故敵手不能讀取、寫入或刪除TPD的內(nèi)容。由于本方案利用了無證書密碼學(xué)的思想,故用戶的公鑰沒有得到認證,所以在敵手模型中,必須允許敵手有權(quán)利用他自己選擇的不合法公鑰代替用戶的公鑰,而且由于KGC知道系統(tǒng)主密鑰,從而能夠計算所有用戶的部分私鑰,但他不能替換用戶的公鑰。所以本文將敵手類型分為兩類,類型I的敵手模擬一個外部攻擊者,充當(dāng)惡意的第三方,并且能夠請求和替換系統(tǒng)中的公鑰。類型II的敵手是一個內(nèi)部攻擊者,可以訪問KGC的主密鑰,充當(dāng)惡意但被動的KGC,但不能替換用戶的公鑰。如果兩類敵手均能在多項式時間內(nèi)以不可忽略的概率贏得其與挑戰(zhàn)者之間的游戲,則一定分別存在一個多項式時間內(nèi)的挑戰(zhàn)者解決ECDLP問題,但這與ECDLP為困難性問題矛盾。
(1) 可認證性:消息的真實性確保接收到的消息確實是由聲稱這樣做的車輛發(fā)送的。
(2) 完整性:它確保消息在從發(fā)送方傳遞到接收方時沒有被修改、偽造或丟棄。
(3) 匿名性:IoV中的其他車輛和敵手無法通過分析同一車輛發(fā)送的多條消息或其偽身份來識別發(fā)送者的真實身份。
(4) 可追溯性:僅RTA就可以通過獲取發(fā)送者的偽身份來識別發(fā)送者的真實身份,并且可以識別車輛發(fā)送的惡意消息。
(5) 不可鏈接性:敵手不能在同一發(fā)送者發(fā)送的消息中找到任何共同的知識,所有的假名不應(yīng)該透露他們之間的任何聯(lián)系。
(6) 前向安全性與后向安全性:敵手無法通過當(dāng)前的簽名消息推斷出之前或之后的簽名消息。
圖2給出了本文方案的總覽,當(dāng)車輛發(fā)起注冊請求時,TA將車輛的真實身份列表 UL從其數(shù)據(jù)庫轉(zhuǎn)發(fā)給RTA,然后車輛通過安全信道向RTA發(fā)送注冊請求,完成注冊后的車輛便可向車輛配備一個TPD設(shè)備,并且同時給車輛生成一個長期偽身份;接著,車輛結(jié)合KGC產(chǎn)生的部分密鑰、RTA分配的長期偽身份,生成自己的公私鑰;當(dāng)車輛在進入RSUs區(qū)域時先生成一個短期偽身份,然后把簽名消息發(fā)送給RSUs;當(dāng)RSUs收到車輛發(fā)來的消息時,進行驗證。
圖2 方案總覽圖
證明思路與方法同定理1,但與定理1的證明不同的是A2僅有哈希值詢問、公鑰提取詢問、秘密值詢問、私鑰提取詢問、簽名詢問的能力,不具有公鑰替換的能力,所以證明過程這里不再贅述。
由于車輛間通信具有瞬時性特征,所以IoV系統(tǒng)對計算開銷與通信開銷的要求更為苛刻,因而本節(jié)對本文方案與文獻[23—25]在計算開銷、通信開銷、功能與安全性方面進行了對比分析,主要涉及了簽名階段與驗證階段,其中,TSM-G1表示雙線性變換后群上的點乘運算,TSM-G表示橢圓曲線上的點乘運算,TMTPH表示映射到點的哈希運算,TPA-G1表示雙線性群上的加法運算,TBP表示對運算,TMM表示模乘運算。
在文獻[23]中,用戶在簽名階段需要執(zhí)行4個雙線性變換后群上的點乘運算、1個哈希TMTPH和2個經(jīng)雙線性變換后群上的加法運算,即用戶共需要4TSM-G1+TMTPH+2TPA-G1;RSUs在驗證時需要執(zhí)行3個經(jīng)雙線性變換后的群上的點乘運算、4個雙線性對運算和2個映射到點的哈希函數(shù),即RSUs共需要4TBP+3TSM-G1+2TMTPH。用同樣的方法可以計算出文獻[24,25]的計算開銷,如表1所示。本文方案在簽名過程中只需1個橢圓曲線上的點乘運算和兩個模乘運算,即TSM-G+2TMM,在驗證過程中需要執(zhí)行3個橢圓曲線上的點乘運算,即3TSM。
表1 計算運行時間對比
由表1可知,本文方案中簽名階段不存在計算復(fù)雜度較大的雙線性對運算,僅用到計算復(fù)雜度較小的點乘運算。方案建立在計算開銷較小的橢圓曲線的基礎(chǔ)上,與文獻[23—25]在驗證階段均有一定的效率優(yōu)勢。本文仿真實驗的環(huán)境為:Win10的操作系統(tǒng)、CPU主頻為2.3 GHz、內(nèi)存為4 GB的環(huán)境,采用Miracl庫。圖3和圖4顯示了本文方案與對比方案在簽名和認證過程中批量認證的消息個數(shù)與所消耗時間(實驗中取100 次的平均值)的關(guān)系,可以直觀看到,隨著n的增大,相比其他方案,本文方案更加高效。
圖3 簽名階段計算復(fù)雜度比較
圖4 驗證階段計算復(fù)雜度比較
本文方案與文獻[23—25]在部分私鑰、公鑰、偽身份的生成以及簽名的通信量比較如表2所示。在Miracl庫中循環(huán)群G上的元素占據(jù)32 Bytes,經(jīng)過雙線性變換后的群(G1)的元素占據(jù)64 Bytes。假設(shè)橢圓曲線群G中的元素大小為40 Bytes,經(jīng)過雙線性變換后的群G1中的元素大小為128 Bytes,整數(shù)域Zq*中的元素大小為20 Bytes。通過比較分析可以發(fā)現(xiàn),本文方案在通信復(fù)雜度方面也存在一定的優(yōu)勢。
表2 通信復(fù)雜度比較(Bytes)
本文方案與文獻[23—25]主要在消息的真實性、身份的可追蹤性、匿名性、隱私性、不可鏈接性、不可偽造性以及批驗證和密鑰托管彈性進行比較。如表3所示,本文方案與文獻[23—25]相比提供了更好的安全性和功能性。
表3 功能與安全性比較
綜合分析,本文在簽名和驗證階段的計算復(fù)雜度均比其他3個方案小,雖然圖3和圖4表明文獻[25]與本文方案相差不大,但文獻[25]的通信開銷相比較大,所以本文方案更適用于低時延和計算量低的車聯(lián)網(wǎng)。
為提高網(wǎng)絡(luò)的可擴展性,本文提出了一種有效的不使用雙線性對的無證書聚合簽名方案。從而解決了以往傳統(tǒng)認證方案中的密鑰托管問題。RTA生成的長期偽身份和車輛自己生成的短期偽身份的相結(jié)合保證了車輛的強匿名性和簽名的新鮮新;采用聚合無雙線性對的方式進行簽名和驗證,隨著節(jié)點數(shù)量的增加,大大減少了RSUs的驗證時間,提高了網(wǎng)絡(luò)的可擴展性;并且在發(fā)生惡意事件時,RTA可以追蹤到車輛的真實身份并由TA撤銷該用戶。該方案具有完整性、隱私性、不可否認性、可追蹤性、匿名性和撤銷性等安全性。效率分析表明,本文方案的認證效率最高提升了95.06%,故該認證方案實現(xiàn)了計算效率高、速度快的車輛認證。因此,本文提出的方案對于動態(tài)可擴展網(wǎng)絡(luò)中的車輛通信更加有效。車聯(lián)網(wǎng)是一種使萬物通信成為可能的自組織網(wǎng)絡(luò),因而接下來的工作是研究車聯(lián)網(wǎng)環(huán)境下的跨域匿名認證方案。