久美草,王 迪,劉芳芳,蘆殿軍
(青海師范大學 數學與統計學院,青海 西寧 810008)
智能交通系統利用傳感、控制、通信和數據分析等技術來提供創新性的服務,可以有效解決傳統交通系統中固有的與交通相關的問題。近年來,配備有稱為車載單元(On Board Units,OBU)的通信設備的車輛正在出現,且在很多路邊和十字路口部署了路邊單元(Road Side Units,RSU),以實現車輛和基礎設施間的通信。這種模式創新了一種自組織網絡,稱為車載自組織網(Vehicular Ad-hoc Network,VANET)。如圖1 所示,一般來說,VANET 由一個可信機構(Trusted Authority,TA)、安裝了OBU 的車輛和RSU 組成。車輛之間以及RSU 和OBU 之間的通信利用DSRC 協議[1]實現;TA、RSU 和應用服務器(Applications Servers,AS)之間利用安全的有線信道[2]進行通信。根據VANET 的需求,每個OBU 能在100~300 ms[3]內頻繁廣播與交通相關的消息。RSU 可以從OBU 收集這些數據,并驗證其真實性和完整性,最后將有效的數據傳輸給AS 進行分析。

圖1 VANET 系統模型
在實際部署VANET 時,安全和隱私是需要認真關注的兩個問題。安全的車輛通信可以提供多種好處,如交通監控、避免交通事故、緩解交通擁堵、減少溫室氣體排放以及提供與交通相關的信息。因此,必須保護VANET 通信免受敵手和未經授權用戶的攻擊。此外,用戶的隱私必須得到保護,因為用戶的私人信息如旅行路線、身份、位置等暴露給未經授權的用戶,可能會導致用戶被跟蹤和危害。由于VANET 中傳輸的消息性質特殊,通過數字簽名實現的消息認證是VANET 確定和過濾未經授權用戶的關鍵安全需求。由于大多數智能設備只擁有有限的存儲空間和電力資源,傳統的密碼體制不適用于VANET,因此人們更關注設計輕量級和安全的密碼協議。
在數字簽名方案中,簽名者用私鑰對消息進行簽名,驗證者用相應的公鑰對簽名進行驗證。簽名者是唯一持有密鑰的人,因此也是唯一能夠產生簽名的人,這是保證簽名有效性的依據。作為簽名者身份的重要見證,公鑰的合法性保障至關重要。在傳統的公鑰密碼體制中,用戶的公鑰和身份存儲在某些可信機構頒發的證書中,而管理證書需要大量的存儲空間和計算時間。基于身份的公鑰密碼體制[4]消除了復雜的證書管理問題。在該密碼體制中,用戶的電子郵件地址等身份信息直接用作公鑰,而相應的私鑰由密鑰生成中心(Key Generation Center,KGC)根據系統主密鑰和用戶身份生成。此時,KGC 能夠以系統中任何用戶的名義解密和簽署消息,給該體制帶來了密鑰托管問題。為了解決上述兩個問題,AI-Riyami 和Patterson 引入了無證書公鑰密碼的概念。該密碼體制中雖然有第三方KGC,但此時的KGC 只提供用戶的一部分私鑰,另一部分私鑰由用戶自己生成。用戶的公鑰通常是根據用戶自己選擇的秘密值計算的,因此該密碼體制中不存在以上兩個問題,更適用于VANET 環境。
Al-Riyami 和Paterson[5]提出了第一個無證書簽名方案,并定義了其安全模型,之后無證書簽名方案得到了廣泛關注。文獻[6]給出了無證書簽名方案的通用結構。文獻[7]指出Al-Riyami 和Paterson的CLS 方案無法抵抗兩類敵手的攻擊。之后,Yap等人[8]設計了一種新的CLS 方案,但Park 等人[9]證明了該方案在公鑰替換攻擊下是不安全的。Liu等人[10]提出了第一個標準模型下的CLS 方案,但該方案容易受到第Ⅱ類敵手的攻擊。Hu[11]等人給出了CLS 方案的簡化定義,之后有很多學者提出多種新的CLS 方案[12-15]。聚合簽名[16]允許一種有效的算法將n個不同消息的n個簽名從n個不同的用戶聚合成一個簽名,由此產生的聚合簽名可以使驗證者相信n個用戶確實對n個消息進行了簽名。這一特性對于資源受限設備的認證非常有吸引力。Zhang 等人[17]給出了無證書集合簽名方案的概念和安全模型,并設計了一種安全有效的無證書聚合簽名方案。同年,Zhang 等人[18]提出設計了兩種無證書聚合簽名方案,這該兩個方案各有優缺點。之后,有很多安全高效的無證書聚合方案被提出[19-21]。
無證書聚合簽名方案由于其自身的特點,比其他數字簽名方案更適用VANET。CUI 等人[22]針對VANET 受帶寬和存儲約束的性質,提出了一種基于橢圓曲線無配對的無證書聚合簽名方案,在計算和通信成本方面比之前的VANET 認證方案要低。但是,Ogundoyin[23]發現該方案在現有安全模型下是不安全的,且提出了一種新的基于橢圓曲線加密的無證書聚合簽名方案,不僅滿足VANET 的隱私性和安全要求,而且支持批量處理驗證、自主性和有條件的隱私保護。Wang[24]等人為了實現VANET中車輛節點間信息傳輸的安全認證,設計了一種無證書聚合簽名方案,并模擬了VANET 環境中的交通密度與消息驗證時間延遲之間的關系。結果表明,該方案滿足消息認證、匿名性、不可偽造性和可追溯性,更適合于動態的VANET。Kumar 等人[25]提出了一種基于無證書聚合簽名的VANET 安全認證方案,保留了條件隱私,其中由車輛生成的消息被映射到一個不同的偽身份,并在隨機預言模型中證明了該方案對自適應選擇消息攻擊的安全性。Thorncharoensri 等人[26]為了提供云存儲中數據共享的完整性、真實性、權限和隱私性,提出了一個可指定驗證者的無證書聚合簽名方案,可以為VANET 提供有效的隱私保護。Li 等人[27]針對現有方案存在的缺點,如許多方案不安全,攻擊者可以偽造簽名,以及即使有些方案安全但計算開銷較大的問題,提出了一種新的無配對無證書聚案。該方案可以實現對車輛的隱私保護,同時方案的聚合簽名長度是恒定的,可大大減少通信和存儲開銷,且在計算開銷和通信成本方面優于最近的相關方案。本文在文獻[30]的基礎上提出了一個安全高效的VANET 無證書聚合簽名方案,如圖2 所示。
對于橢圓曲線離散對數問題,假設G是一個q階橢圓曲線加法群,其中q是大素數,P∈G是生成元,給定橢圓曲線上任意一個點Q∈G,對于Q=aP和,從Q計算出a是困難的。

圖2 本文方案所包含的步驟
在CLAS 方案中有兩種敵手Adv1和Adv2。Adv1模擬外部攻擊者,沒有系統主密鑰和每個用戶的部分私鑰,但可以選擇一個值來替換任意用戶的公鑰。Adv2充當惡意但被動的KGC,持有系統主密鑰,但無法替換目標用戶的公鑰。
CLAS 方案的安全模型是由挑戰者ξ和敵手Adv1、Adv2進行以下兩個游戲來模擬。
游戲1 涉及到的實體是挑戰者ξ和第一類敵手Adv1,他們的交互如下。
(1)系統初始化。由挑戰者ξ執行,產生一個系統主密鑰s和系統參數params,并將params發送給敵手Adv1,秘密保存主密鑰s。
(2)詢問階段。敵手Adv1能夠主動查詢以下預言。


定義1:如果在游戲1 和游戲2 中沒有敵手Adv1和Adv2能夠在多項式時間內以不可忽略的優勢獲勝,則CLAS 方案在適應性選擇消息攻擊下是不可偽造的。
Thumbur 等人的無證書聚合簽名方案包含9 個算法。
對于給定的安全參數λ和大素數p,KGC 生成一個橢圓曲線E:y2+ax+bmodp和E上的q階加法循環群G,其中且(4a3+b)modp≠0。KGC隨機選擇s∈Zp*作為系統主密鑰,計算Ppub=sP作為相應的公鑰。TA 隨機選擇b∈Zp*作為其主密鑰,計算Tpub=bP作為相應的公鑰。KGC 選擇3 個安全的Hash 函數H1,H2,H3:{0,1}*→Zp*,并發布系統參數params={P,p,q,E,G,H1,H2,H3,Ppub,Tpub}。










從上面的簽名偽造和驗證過程中可以發現,偽造的簽名是有效的,即第Ⅰ類敵手對Thumbur 等人方案的簽名偽造攻擊是可行的。
改進的CLAS 方案包括如下9 個步驟,其中符號和注釋如表1 所示,本文方案如圖3 所示。

表1 符號及其注釋


圖3 本文方案


本節針對第Ⅰ類敵手和第Ⅱ類敵手,證明本文CLAS 方案的安全性。
定理1:假設不存在多項式時間算法解決橢圓曲線群中的橢圓曲線離散對數問題,那么本文CLAS 方案在第Ⅰ類敵手Adv1的自適應性選擇消息和身份攻擊下是存在性不可偽造的。
證明:假設ξ是橢圓曲線離散對數問題的挑戰者,Adv1是一個第Ⅰ類多項式時間的敵手。Adv1可以通過在游戲1 中與ξ進行交互來偽造消息的有效聚合簽名。假設ξ給出橢圓曲線離散對數問題中的一個實例(P,Q=sP),ξ的目標是在與Adv1進行交互后找到s,ξ將PID*作為對消息m*的Adv1的目標身份。
(1)系統初始化階段。ξ算法設置Ppub=Q=sP,執行執行系統初始化算法來生成params={q,G,P,Ppub,H0,H1,H2},并將params發送給Adv1,秘密保存s。
(2)詢問階段。在這個階段Adv1進行一系列詢問,而ξ自適應地對其進行回答。


定理2:假設不存在多項式時間算法解決橢圓曲線群中的橢圓曲線離散對數問題,那么本文CLAS 方案在第Ⅱ類敵手Adv2的自適應性選擇消息和身份攻擊下是存在性不可偽造的。
該定理證明過程類似于定理1,不再進行證明。
下面評估本文方案與其他5 個無配對VANET無證書聚合簽名方案的效率。為了具備與1 024 位的RSA 相同級別的安全性,本文選擇了一個非奇異橢圓曲線E:y2+ax+bmodp,其中a,b∈Zp*,G是E上的q階加法循環群,且p和q是160 位的素數。不同操作的運行時間如表2 所示。

表2 不同操作的運行時間
如圖4 和表3 所示,文獻[23]和文獻[28-29]和本文的方案是安全的,文獻[22]和文獻[30]的方案存在安全缺陷。本文在簽名階段需要執行1 個點乘運算、1 個Hash 運算、1 個模乘運算以及2 個模的加法運算,在驗證階段需要執行3 個點乘運算、3 個點的加法運算以及2 個Hash 運算。該方案的總計算量為1.776 8 ms,比文獻[22]和文獻[30]的方案減少了19.8%,比文獻[29]的方案減少了20%。就總計算成本而言,比Thumbur 等人的方案增加了0.07%。

圖4 計算成本比對

表3 計算成本比對
本文考慮簽名長度來評估本文方案與其他5 個方案的通信成本。如表4 所示,本文方案的聚合簽名長度恒為480 位,通信成本與文獻[23]一樣,不會隨著參與者的人數發生變化。

表4 通信成本比對
由于其本身的優勢,CLAS 在許多領域得到了廣泛應用。為了設計一種安全有效的CLAS 方案,以滿足VANET 的應用需求,本文首先對Thumbur等人的CLAS 方案進行了安全性分析,并證明了他們的CLAS 方案容易受到簽名偽造攻擊,后提出了一種新的無配對無證書聚合簽名方案,并在隨機預言模型中證明了其安全性,最后進行了效率分析和比較。安全性分析和效率分析表明,本文的新方案能夠以更低的計算成本和通信成本獲得更高的安全,且新方案的聚合簽名長度恒定,大大降低了通信和存儲開銷,更適用于VANET 環境的實際部署。