潘森杉,王賽妃
(1.江蘇大學 江蘇省工業(yè)網(wǎng)絡安全技術重點實驗室,江蘇 鎮(zhèn)江 212013;2.江蘇大學 計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212013)
隨著無線網(wǎng)絡通信技術的飛速發(fā)展,人們希望在駕駛時享受更安全、更智能、更高效的交通服務,車聯(lián)網(wǎng)應運而生。車聯(lián)網(wǎng)中包含4個基本實體:一個可信機構(Trusted Authority,TA)、一個密鑰生成中心(Key Generation Center,KGC)、路側單元(Road Side Unit,RSU)以及具有車載單元(On Board Unit,OBU)的車輛[1]。車聯(lián)網(wǎng)中最典型的兩種通信方式是車車通信和車與基礎設施通信。車輛可以感知到位置、速度和路況等信息,并發(fā)送給附近的其他車輛與RSU[2]。
車聯(lián)網(wǎng)擁有很大優(yōu)勢,但也仍有很多問題需要解決。一方面,由于開放的無線網(wǎng)絡,攻擊者能夠輕易加入網(wǎng)絡獲取信息或傳播篡改信息發(fā)送給其他車輛,這會導致嚴重的交通事故。因此,消息的身份驗證與完整性驗證是必要的[3-5]。另一方面,車輛發(fā)送的信息中包含著用戶的身份信息,每條消息都應該被簽名加密。對于RSU或資源受限的車輛,每秒驗證上千條信息是一種挑戰(zhàn)。計算復雜度和計算開銷將隨著車輛發(fā)送的消息數(shù)量的增加呈線性增加[6]。因此,加密和簽名的成本需要降到最低。
為了解決上述問題,大量先進的密碼體制被提出。1997年,文獻[7]提出了簽密的概念。簽密機制可以同時實現(xiàn)消息的簽名與加密,降低了計算成本且提高了安全系數(shù)與效率[8]。現(xiàn)有的簽密方案主要分為基于傳統(tǒng)公鑰基礎設施的簽密方案(TC-PKS)、基于身份的簽密方案(ID-PKS)和無證書的簽密方案(CL-PKS)。TC-PKS中用戶需要管理大量公鑰和證書,這對資源受限的設備來說是困難的。在ID-PKS中,私鑰生成器(KGC)生成并保存所有用戶私鑰導致密鑰托管問題。CL-PKS用戶的私鑰一部分由KGC生成,一部分自己生成,解決了上述兩個方案存在的問題。2003年,文獻[9]提出了聚合簽名(AS)的概念。AS使用較少的存儲空間完成驗證操作。RSU或車輛將大量的簽密聚合成一個短的簽密,一旦短簽密通過驗證,所有的簽密都將被認為是合法的。綜上,無證書聚合簽密方案可以很好地解決車輛網(wǎng)中存在的問題。
近年來,已有大量學者對無證書聚合簽密方案進行了研究。文獻[10-11]一些方案能滿足較強的安全級別,但由于使用了大量昂貴的雙線性配對操作,在整個簽密與解簽密階段會產(chǎn)生較大延遲。文獻[12-13]提出的方案基于Schnorr簽名,沒有使用雙線性配對,具有較高的驗證效率。但筆者發(fā)現(xiàn),上述兩種方案存在相同的安全問題,即公鑰替換攻擊和合謀攻擊。
哈希抗碰撞性:對于一個哈希函數(shù),難以找到x和x′,滿足H(x)=H(x′)。
文獻[13-14]的方案都基于Schnorr簽名且存在類似問題。以文獻[13]的方案為例進行分析。下面是方案的具體流程。
(5) 單一簽密驗證:接收方用戶IDB收到發(fā)送方用戶IDi的簽密σi時,執(zhí)行以下操作:計算h2i=H2(ci,Ui),P′i=(xIDB+dIDB)Ui,得到明文消息mi=ci⊕H3(P′i,Ui),驗證等式viP=Ui+h2i(RIDi+h1iPpub+XIDi);若驗證失敗,則丟棄消息;否則接收明文消息。
下面對文獻[13]的方案存在的安全問題進行分析。
3.2.1 公鑰替換攻擊
公鑰替換攻擊指惡意用戶利用合法用戶的身份加入到網(wǎng)絡中,接收或發(fā)送信息。簽密方案中的公鑰替換攻擊共有兩類:第1類惡意用戶偽造網(wǎng)絡中發(fā)送方用戶的公鑰,生成自己所需要發(fā)送信息的簽密發(fā)送給其他用戶;第2類惡意用戶偽造網(wǎng)絡中接收方用戶的公鑰,獲取網(wǎng)絡中的信息。在車聯(lián)網(wǎng)中,惡意用戶通過這兩類攻擊可以隨意獲取并發(fā)送一些虛假的交通信息給其他用戶,進而造成交通堵塞等問題,甚至威脅用戶的生命安全。下面詳細說明方案中存在的公鑰替換攻擊問題。
(1) 初始化階段:首先挑戰(zhàn)者C執(zhí)行初始化算法來獲取系統(tǒng)參數(shù)Params和系統(tǒng)主密鑰x,然后秘密保存x并將Params發(fā)送給敵手A1。
上述是第1類公鑰替換攻擊,在陳虹等方案中同時存在第2類公鑰替換攻擊,證明過程與其類似,敵手A1可以替換接收方公鑰并利用替換的公鑰獲取明文消息。
3.2.2 合謀攻擊
合謀攻擊來自兩個或兩個以上的惡意用戶;他們通過交換相關身份信息產(chǎn)生無效簽密,但這些無效簽密仍能通過聚合簽密驗證。在車聯(lián)網(wǎng)中,兩個或多個惡意車輛交換(位置等身份相關的信息)來躲避權威機構的追蹤,從而廣播虛假的簽密信息,這可能將導致嚴重的交通事故。
文中無證書聚合簽密方案結合車聯(lián)網(wǎng)場共設置4種實體:TA、KGC、RSU和車輛。方案流程如下:
(6) 單一簽密驗證:當VANETs場景中交通較為稀疏時,接收方用戶可以逐條驗證簽密信息。當接收方用戶IDB接收到來自發(fā)送方用戶IDi的簽密σi時,執(zhí)行以下驗證操作:計算h2i=H2(ci,IDi,Ui,RIDi,XIDi,RIDB,XIDB,Ppub),驗證等式viP=RIDi+h1iPpub+Ui+h2iXIDi。若驗證失敗,則丟棄消息,否則計算P′i=(xIDB+dIDB)Ui,得到明文消息IDi‖mi=ci⊕H3(P′i,IDB)。
4.2.1 機密性
定理1(敵手A1的選擇密文攻擊下的保密性) 在隨機預言模型中且ECDH問題難解的情況下,敵手A′1能夠以不可忽略的優(yōu)勢贏得游戲IND-CCA2,則存在一個算法C在有限的多項式時間內能夠解決ECDH困難問題。
初始階段:C執(zhí)行初始化步驟,得到公共參數(shù)Params,并將Params發(fā)送給敵手A′1,A′1無法獲取系統(tǒng)主密鑰信息。令Ppub=aP,C隨機選擇ID*作為被挑戰(zhàn)者。
問詢階段:C維護列表L1,L2,L3,Ls,Lsk,Lpk來記錄問詢相關的結果。其中,L1,L2,L3分別用于跟蹤預言機H1,H2,H3,Ls,Lsk,Lpk用于跟蹤用戶秘密值,私鑰和公鑰生成問詢結果。所有列表初始化為空。
秘密值問詢:C收到敵手A′1關于IDi的私鑰信息問詢時,若IDi=ID*,則C終止模擬;否則,C查詢表LC。若Lc中存在這一項,則直接返回xIDi;若不存在,則C進行關于IDi的創(chuàng)建用問詢獲得(IDi,xIDi,rIDi,⊥,RIDi,XIDi),并將xIDi返回給A′1。
部分私鑰問詢:C收到敵手A′1關于IDi的部分私鑰信息問詢時,若IDi=ID*,則C終止模擬;否則,若IDi≠ID*,則C查詢表Lc獲得rIDi;若rIDi不存在,則C進行關于IDi的創(chuàng)建用問詢,獲得(IDi,xIDi,rIDi,⊥,RIDi,XIDi),進而獲得rIDi,令dIDi=rIDi。將(IDi,xIDi,rIDi,dIDi,RIDi,XIDi)存入表Lc中,并將dIDi給A′1。
公鑰替換問詢:C收到敵手A′1(IDi,R′IDi,X′IDi)問詢時,若IDi=ID*,則C終止模擬;否則,若IDi≠ID*,將(IDi,⊥,⊥,⊥,R′IDi,X′IDi)存入表Lc。
解簽密問詢:C收到敵手A′1的(ID1,ID2,…,IDn,σagg,IDB)問詢時,若IDi≠ID*,則C按照方案進行解簽密操作。驗證等式viP=RIDi+h1iPpub+Ui+h2iXIDi是否成立,若成立,則返回明文消息mi;否則終止游戲;若IDi=ID*,則C查詢表L2和L3;若表中存在相對應元組,則返回明文消息mi;否則停止模擬。若IDi的公鑰被替換,則C查詢表L2和L3;若表中存在相對應元組,則返回明文消息mi;否則停止模擬。
定理2(敵手A2的選擇密文攻擊下的保密性) 在隨機預言模型中且ECDH問題難解的情況下,敵手A′2能夠以不可忽略的優(yōu)勢贏得游戲IND-CCA2,則存在一個算法C在有限的多項式時間內能夠解決ECDH困難問題。
證明 由于篇幅原因,這里不再贅述。
4.2.2 不可偽造性
定理3(敵手A1的選擇消息攻擊下的不可偽造性) 在隨機預言模型中且ECDLP難解的情況下,敵手A″1能夠以不可忽略的優(yōu)勢贏得游戲EUF-CMA,則存在一個算法C在有限的多項式時間內能夠解決ECDLP困難問題。
初始階段:C執(zhí)行初始化步驟,得到公共參數(shù)Params,并將Params發(fā)送給敵手A″1,A″1無法獲取系統(tǒng)主密鑰信息。令Ppub=aP,隨機選擇ID*作為被挑戰(zhàn)者。
問詢階段:問詢階段同定理1。
(1)
(2)
用等式(2)減去等式(1),得到以下的推導公式:
定理4(敵手A2的選擇消息攻擊下的不可偽造性) 在隨機預言模型中且ECDLP問題難解的情況下,敵手A′2能夠以不可忽略的優(yōu)勢贏得游戲EUF-CMA,則存在一個算法C在有限的多項式時間內能夠解決ECDLP困難問題。
證明 由于篇幅原因,這里不再贅述。
定理5在筆者聚合簽密方案中,假設H4具有哈希抗碰撞性,那么該方案可以抵御用戶間的合謀攻擊。
證明 挑戰(zhàn)者C的目的是利用敵手A3來打破哈希函數(shù)H4的抗碰撞性。初始化與問詢階段同定理1。
在計算開銷和功能上與現(xiàn)有文獻[10-15]中的6個方案進行了對比,如表1所示。筆者使用MIRACLE庫,在超奇異橢圓曲線上測試了一次點乘操作TM以及一次雙線性配對操作TP所需的時間分別為1.225 3 ms和9.788 4 ms。在簽密消息數(shù)量為5 000時,文獻[10]需要140 769 ms,文獻[11]需要159 079 ms,文獻[12-13]中的方案需要36 730 ms,文獻[14]需要67 321 ms,文獻[15]需要55 187 ms,文中方案需要36 730 ms。文獻[11-12,14-15]都使用了雙線性配對操作而產(chǎn)生較大計算開銷。基于Schnorr簽名的方案在計算開銷上具有很好的優(yōu)勢。但文獻[12-13]中的方案仍存在安全問題,它們無法抵御公鑰替換攻擊和合謀攻擊??梢钥吹?筆者的方案在不增加計算開銷的同時,可以同時抵御這兩種攻擊,提供了更好的安全性與功能性。
表1 計算開銷、功能對比
圖1 平均車速與傳輸延遲
圖2 車輛密度與傳輸延遲
圖3 車輛密度、平均車速和丟包率
筆者提出了一種新的無證書聚合簽密方案。該方案可以同時抵抗兩類公鑰替換攻擊以及合謀攻擊,解決車聯(lián)網(wǎng)安全問題。且與現(xiàn)有方案相比并未增加整個驗證階段的計算開銷。通過實驗模擬,該方案完全符合車聯(lián)網(wǎng)特性,適用于車聯(lián)網(wǎng)。