摘 要:針對車載自組網(wǎng)(VANET)的安全特性,采用基于身份的密碼學算法、分布式秘密共享算法和XTR公鑰密碼體制,實現(xiàn)安全高效的車輛節(jié)點認證。在使用Lagrange插值公式實現(xiàn)分布式的系統(tǒng)主密鑰的基礎(chǔ)上,基于XTR體制中的跡運算實現(xiàn)安全的分布式節(jié)點密鑰簽發(fā);簡單討論了XTR密碼體制下基于身份的數(shù)字簽名算法;同時,引入信譽值的概念來查找和剔除網(wǎng)絡(luò)中的惡意節(jié)點。通過算法安全性和效率分析,該機制適用于分布式的車輛移動網(wǎng)絡(luò)環(huán)境。
關(guān)鍵詞:車載自組網(wǎng);基于身份的密碼學;安全認證;XTR公鑰體制;秘密共享
中圖分類號:TP393 文獻標志碼:A
文章編號:1001-3695(2010)03-1089-03
doi:10.3969/j.issn.1001-3695.2010.03.078
Identity-based authentication scheme for VANET
WANG Qiang,CHEN Wu,MU De-jun
(Institute of Control Network, Northwestern Polytechnical University, Xi’an 710129, China)
Abstract:In order to realize secure mobile node authentication in vehicle Ad hoc networks(VANET),this paper proposed a scheme consisting of identity-based cryptographic algorithms,secret sharing distributed algorithms and XTR public key cryptosystem to achieve safe and efficient traffic nodes certification.This algorithrn used Lagrange interpolating polynomial to distribute master secret key among system nodes,and presented a distributed procedure to securely issue node key based on the XTR system tracks algorithm.This paper discussed identity-based digital signature algorithm on the XTR cryptosystem briefly.And used the concept of the credibility of the value to find and eliminate malicious nodes in the networks.After analyzing the security and efficiency of the proposed algorithm, the mechanism would apply to vehicles distributed mobile network environments.
Key words:vehicle Ad hoc networks(VANET); identity-based cryptography; security certification; XTR public key cryptosystem; secret sharing
車載自組網(wǎng)(VANET)是專門為車輛間通信而設(shè)計的自組織網(wǎng)絡(luò),它創(chuàng)造性地將自組網(wǎng)技術(shù)應(yīng)用于車輛間通信,使司機能夠在超視距的范圍內(nèi)獲得其他車輛的狀況信息(如車速、方向、位置、剎車板壓力等)和實時路況[1]。 由于VANET應(yīng)用場合的重要性,其安全問題是至關(guān)重要的,如確保生命攸關(guān)的消息在網(wǎng)內(nèi)傳輸時不能被攻擊者隨意竄改。因此VANET應(yīng)該滿足以下安全目標:a)安全認證。每個節(jié)點車輛需要能夠確認與其通信的節(jié)點車輛身份,確保合法信息的接收。b)完整性。保證信息在發(fā)送過程中不會被中斷,并保證節(jié)點車輛接收的信息應(yīng)與發(fā)送的信息完全一樣。c)可用性。即使受到攻擊(如DoS干擾攻擊),節(jié)點車輛仍然能夠在必要的時候提供有效服務(wù)。d)不可否認性。導(dǎo)致交通事故的司機應(yīng)能可靠地確定,發(fā)送者不能否認信息的傳輸。e)機密性。保證特定的信息不會泄露給未經(jīng)授權(quán)的用戶。f)實時限制。在VANET典型的高速環(huán)境中,嚴格的時間限制是必須要考慮的。
在以上安全目標中,只有節(jié)點車輛的安全認證與其他安全目標的關(guān)聯(lián)度最大。要保證通信的機密性和完整性,必須進行密鑰管理,而密鑰的分配與節(jié)點車輛身份的認證是緊密相連的,只有對身份進行了認證,才能將正確的密鑰分配給正確的節(jié)點。因此,安全認證是車載自組網(wǎng)安全目標實現(xiàn)的關(guān)鍵。
在移動自組網(wǎng)中,已經(jīng)提出了很多基于身份的認證機制。文獻[2]提出使用基于身份的認證方法和門限算法實現(xiàn)高效的身份認證,但沒有討論認證私鑰的安全簽發(fā)。文獻[3]基于Shamir的門限算法實現(xiàn)了Cha和Cheon的基于身份的認證算法,并使用橢圓曲線加密算法實現(xiàn)了安全高效的認證私鑰簽發(fā)。文獻[4]也提出了一種建立在橢圓曲線域上的基于雙向身份認證的密鑰管理方案,并且加入了惡意節(jié)點的發(fā)現(xiàn)與處罰策略。
本文在上述文獻的基礎(chǔ)上進行了如下改進:a)采用XTR公鑰密碼體制實現(xiàn)認證私鑰的簽發(fā);b)在XTR體制下實現(xiàn)基于身份的數(shù)字簽名算法;c)引入信譽值的概念來剔除網(wǎng)絡(luò)中的惡意節(jié)點。
1 基于XTR的認證私鑰安全簽發(fā)
在VANET中,使用基于身份的認證算法實現(xiàn)通信車輛的認證,需要解決兩個問題:分布式主密鑰的生成以及用戶認證私鑰的安全簽發(fā)。
認證私鑰的安全簽發(fā)需要滿足以下要求:a)擁有s分量的節(jié)點不應(yīng)該泄露其擁有的s分量;b)主密鑰s不應(yīng)該被任何節(jié)點獲得;c)任何節(jié)點不應(yīng)該了解其他節(jié)點的認證私鑰[3]。
在文獻[5]中提出了一種基于一般訪問結(jié)構(gòu)的多重秘密共享方案。在實現(xiàn)的過程中,由秘密分發(fā)者根據(jù)授權(quán)子集的情況為每個授權(quán)子集生成秘密恢復(fù)所必須的秘密因子,只有當該授權(quán)子集所有用戶參與秘密恢復(fù)才能恢復(fù)秘密。一個用戶可以分屬于不同的授權(quán)子集,但其所持有的秘密份額只有一份。但是該方案較多地使用了有限域上的求冪運算,這就使得整個方案的效率不高。本文使用了XTR公鑰密碼體制,使得有限域上的運算量降低為原來的三分之一。
1.1 XTR公鑰密碼體制
XTR公鑰密碼體制[6]是一種基于有限域中乘法子群元素的跡函數(shù)表示方法的密碼體制。XTR屬于移位寄存器序列密碼體制,人們所熟知的RSA公鑰密碼體制和ElGamal公鑰密碼體制采用的是GF(p)上的一階移位寄存器序列,而XTR公鑰密碼體制采用的是三階移位寄存器序列。
設(shè)素數(shù)p=2 mod 3,于是關(guān)于p的六次割圓多項式(即φ6(p)=p2-p+1)有素因子q>6。用g表示域GF(p6)*上的一個q階元素;h∈GF(p6)在GF(p2)上的共軛是h,hp2,hp4,h∈GF(p6)在GF(p2)上的跡是h在GF(p2)上所有共軛的和,即Tr(h)=h+hp2+hp4。X3-Tr(g)X2+Tr(g)pX-1的根是g的共軛,即Tr(g)∈GF(p2)是g的跡,給定Tr(g),由g生成的q階子群就稱為XTR群。
XTR公鑰系統(tǒng)的安全性是基于在XTR 群中求解離散對數(shù)的困難性。基于XTR 的有關(guān)密碼算法的實現(xiàn)主要依據(jù)下述三個定理[7]:
定理1 在不計GF(p)中的加減運算的情況下,找出XTR 群的一個生成元的跡Tr(g)平均可由GF(p)中的q/(q-1)(2.7log2 p+8log2((p2-p+1)/q)+c)次乘法實現(xiàn),這里c是一個很小的常數(shù)。
定理2 在不計GF(p)中的加減運算的情況下,已知Tr(g)∈GF(p2)和k,Tr(gk)能由GF(p)中的8log2 k次乘法實現(xiàn)。
定理3 在不計GF(p)中的加減運算的情況下,已知Tr(g)和Tr(gk),對任意0<a,b 1.2 具體算法實現(xiàn) a)隨機選取兩個大素數(shù)u和v滿足RSA密碼體制的要求,令N=uv;素數(shù)p=2 mod 3,q>N且q整除(p2-p+1),g的階為q;從[2,N]中隨機選取整數(shù)x,使得ψ與u-1和v-1互素,計算M=Tr(gψ)mod q,找到一個滿足ψ×θ=1 mod Ω(N)的整數(shù)θ,Ω(N)表示歐拉函數(shù),即不大于N且與N互素的正整數(shù)的個數(shù);并定義安全的hash函數(shù)H(#8226;)。 b)Fp為有限域,隨機選取t-1個系數(shù)a1,a2,…,at-1∈Fp\\{0},在Fp上構(gòu)建t-1次多項式f(x)=d+a1x+a2x2+…+at-1xt-1。計算由第i個節(jié)點保存的d分量di=f(i),i=1,2,…,n。 c)節(jié)點Vi計算自己的子秘密si=Mdi mod q=Tr((gψ)di)mod q。為了防止參與節(jié)點出示偽造的子秘密,其他成員可以利用下式對參與節(jié)點提供的子秘密進行驗證: Tr((gψ)di)θ mod q=Tr((gdi)ψθmod q=Tr(gdi) mod q=si d)由Lagrange插值法,任選t個si可以重構(gòu)t-1次多項式f(x)=ti=1sili(x),其中l(wèi)i(x)為Lagrange插值基函數(shù)。計算d=f(0)=ti=1sili(0)。通過上述Lagrange插值公式可以安全地把KGC的主密鑰d分成n個分量,并由任意t個分量重構(gòu)d。 1.3 性能分析 XTR公鑰系統(tǒng)的安全性是基于在XTR群中求解跡離散對數(shù)的困難性,在XTR體制下求解XDL問題的困難程度與在GF(p6)*中求解離散對數(shù)問題的難度相同。對任意的n, Tr(gψ)∈GF(p2)且F(Tr(gψ),gψ)=0,當p=2 mod 3時,由定理2可知,Tr(gψ)計算量相當于Tr(g)進行8log2 ψ次乘法運算,這比使用傳統(tǒng)的求冪運算gψ速度快大約三倍。因此由跡運算Tr(gψ)代替g的冪運算在計算、存儲、傳輸所需要的時間效率都有顯著的提高。而且由文獻[6]可知,在同等安全性條件下XTR的密鑰要比RSA的密鑰小得多,大約是ECC(橢圓曲線密碼體制)的兩倍,而在很多情況下(如密鑰存儲量)與ECC是相同的。在密鑰選取的速度上XTR與RSA相當,比ECC則要快幾個數(shù)量級[8]。 根據(jù)文獻[9]提出的公鑰密碼體制比較研究,在Pentium III 450 MHz 和 96 MB內(nèi)存的環(huán)境下,XTR、ECC、RSA加密算法的性能結(jié)果如表1所示。 表1 XTR、ECC、RSA性能結(jié)果比較 比較項XTRECCRSA 運行速度最快23 ms較快28 ms慢5 ms 密鑰長度短170 bit短170 bit長1 020 bit 密鑰選擇最簡單復(fù)雜簡單 因此,本文給出的基于XTR的認證私鑰分量的方案效率較高。 2 XTR體制下基于身份的數(shù)字簽名方案 XTR體制下基于身份的數(shù)字簽名方案需要用戶的身份信息ID作為用戶的公鑰,身份信息可以是用戶的郵件、地址、證件編號等與個體相關(guān)且惟一的信息,也可以是生物特征采集儀器提取的用戶指紋、虹膜等個體與生俱來的身份特征信息。在VANET中,本文使用車牌號作為身份信息ID。本方案在基于XTR 的環(huán)簽字算法[10]基礎(chǔ)上進行改進,其實現(xiàn)過程如下: 1)參數(shù)生成 給定素數(shù)p=2 mod 3,q>3且q整除 (p2-p+1),p≠8 mod 9,g的階為q,且GF(p6)和XTR群足夠大到可以抵抗已知的攻擊。PKG選取一個隨機數(shù)k,公開系統(tǒng)參數(shù){p,q,Tr(g),Tr(gk)}。 2)用戶注冊 入網(wǎng)用戶都必須到離線的可信任機構(gòu)(PKG)處注冊身份,PKG認證用戶的身份;PKG選取一個隨機數(shù)ψ∈RZq*, 計算Ψ1,其中ψ1#8226;ψ≡1(mod q),再 計算δ=(ψ1H(ID)+k)mod q,M′=Tr(gψ);PKG通過安全通道將{δ,M′}發(fā)送給用戶作為用戶的私鑰,ID作為用戶的公鑰。在此引入離線的可信任PKG組網(wǎng),以其為信任建立的基點,可以使系統(tǒng)有較高的信任度。 3)簽名驗證過程 首先簽字者Vj任意選擇d個公鑰構(gòu)成自己希望的匿名集L,然后對消息m和匿名L執(zhí)行簽名算法sign(m,L),產(chǎn)生出簽字σ。這里1<d≤n。