閆麗麗,昌 燕,張仕斌
(成都信息工程大學網絡空間安全學院 成都 610225)
隨著無線網絡技術的發(fā)展,無線通信的應用范圍越來越廣泛。但是由于無線用戶在公開的信道上交換信息,其安全性無法得到保障。而認證和密鑰協(xié)商協(xié)議可以提供數(shù)據的隱私保護,保證數(shù)據的保密傳輸。因此,在無線網絡應用方面,密鑰協(xié)商協(xié)議的研究變得尤其重要[1]。
1976年,Diffie-Hellman首次提出了密鑰協(xié)商的概念,隨后研究者基于Diffie-Hellman協(xié)議做了大量研究。傳統(tǒng)的密鑰協(xié)商協(xié)議主要是通過公鑰證書的方式實現(xiàn)協(xié)議協(xié)商過程中的身份認證?;诠€的密鑰協(xié)商協(xié)議具有許多優(yōu)點,但是公鑰認證和證書管理相當復雜,不適用于資源限制性的網絡環(huán)境。由于擴展的混沌映射算法具有高效和安全的特性,最近研究者將其應用于安全協(xié)議設計上,提出了大量的兩方[2-17]和三方認證[18-26]密鑰協(xié)商協(xié)議,本文主要關注三方密鑰協(xié)商協(xié)議。2010年,文獻[18]基于混沌算法提出了一個三方密鑰協(xié)商協(xié)議。但該協(xié)議存在很多缺陷,如協(xié)議采用時間戳,需要嚴格的時鐘同步機制;協(xié)議運行需要較多的計算,而且攻擊者可以非法篡改傳輸消息而不被發(fā)現(xiàn)[19]。2012年,文獻[20]基于混沌算法提出了一個三方認證協(xié)議,但該協(xié)議不能抵御內部用戶發(fā)起的攻擊[21]。且該協(xié)議沒有提供用戶密鑰的更新[25],而一個密鑰使用的時間越長,其安全性必然會變得越來越低。該協(xié)議還存在重放攻擊,攻擊者可以偽裝成合法用戶,將監(jiān)聽到的信息重新發(fā)送給接收者,而接收者卻無法發(fā)現(xiàn),而且協(xié)議中的智能卡無法檢測用戶輸入的密鑰是否正確[25]。2013年,文獻[21]提出了一個三方密鑰協(xié)商協(xié)議。但該協(xié)議被發(fā)現(xiàn)缺少密鑰更新功能,而且如果智能卡丟失,攻擊者可以提取出智能卡中的信息,偽裝成合法用戶[25]。2013年,一個基于擴展混沌算法的三方密鑰協(xié)商協(xié)議被提出[22],但仍然存在諸多問題,如:1) 存在內部用戶攻擊[25];2) 攻擊者可以實現(xiàn)在協(xié)議運行成功的基礎上,造成通信雙方協(xié)商出一個不一致的密鑰等[26];3) 使用了公鑰機制,在協(xié)議運行前,需要先構造一個公鑰基礎設施,加重了服務器的負擔。2014年,文獻[24]提出了一個三方密鑰協(xié)商協(xié)議,該協(xié)議不需要智能卡,也不需要公開密鑰和對稱密鑰體制。但是,該協(xié)議需要較大的計算量。最近,文獻[25]使用擴展的混沌算法,提出了一個基于密鑰的三方認證和密鑰協(xié)商協(xié)議。然而,該協(xié)議也需要時間戳和對稱密鑰體系。
本文基于擴展的混沌映射算法,提出了一個三方認證和密鑰協(xié)商協(xié)議。在可信服務器的幫助下,該協(xié)議可為通信雙方協(xié)商一個會話密鑰,用于信息的安全傳輸。該協(xié)議無需建立公鑰基礎設施,整個協(xié)議只包含Chebyshev多項式和哈希函數(shù),具有較低的計算消耗,而且可以抵御網絡中典型的惡意攻擊,適用于資源限制性的網絡。
定義 1 n維Chebyshev多項式 Tn(x) :[-1 ,1]→[-1,1]定義為 Tn(x) = cos(n a rccos(x )),其中:n為整數(shù),x為實數(shù)且 x ∈[-1 ,1]。
定義 2 令n∈Z,變量 x ∈[- 1 ,1],Chebyshev多項式 Tn(x) :[-1 ,1]→ [-1 ,1]的迭代關系式為Tn(x) = 2 x Tn-1(x)-Tn-2(x), n≥2,且T0(x)=1,T1(x)=x。最初的幾個Chebyshev多項式為T2(x) = 2 x2-1,T3(x) = 4 x3-3 x ,T4(x) = 8 x4-8 x2+1, …。
當n>1,n維Chebyshev多項式 Tn(x) :[-1 ,1]→[-1,1]是一個典型的混沌映射。該映射唯一絕對連續(xù)的不變測度為n維Chebyshev多項式的Lyaounov指數(shù)為lnn>0。當n>1時,Chebyshev多項式即為Logistic映射。
定義 3 Chebyshev多項式的半群屬性定義為Tn(x) ≡ (2 x Tn-1(x)-Tn-2(x) )modp , 其 中n>1,x∈(- ∞,+ ∞ ),p是一個大素數(shù),由半群性質可知Chebyshev多項式映射可轉換為 Tr( Ts( x) ) ≡ Tsr(x)≡Ts( Tr(x) )modp,s,r∈Z。
擴展的Chebyshev多項式的兩個問題被認為是多項式時間難解的。
定義 4 離散對數(shù)問題(discrete logarithm problem, DLP)。給定x、 y 和 p,找到一個整數(shù)r,使得 y =Tr(x) mod p 在計算上不可行。
定義 5 計算Diffie-Hellman問題(computation Diffie-Hellman problem, CDHP)。給定x、Tr(x)、Ts(x)和p,無法計算 Trs(x)。
該協(xié)議包含一個可信服務器S,一個信息發(fā)送者Ui和一個響應者Uj。Ui和Uj之間需要在S的幫助下協(xié)商一個安全的會話密鑰。初始化階段,Ui和Uj需要到服務器S上注冊,獲得一個有效的智能卡(smart card),該注冊階段可在智能卡出廠時,一次設置完成,然后分發(fā)給用戶使用。本文提出的協(xié)議包含注冊、登錄和密鑰協(xié)商、密鑰更新3個階段。表1列出了文中需要的變量和符號。
表1 協(xié)議中變量和符號說明
在協(xié)議運行前,由服務器為移動網絡生成基本參數(shù):一個大素數(shù)p,一個實數(shù) z ∈ (- ∞, + ∞) ,一個哈希函數(shù)h()和服務器的保密密鑰Xs。
用戶需在服務器處注冊,才能成為網絡中的合法用戶。用戶Ui輸入其IDi和密鑰PWi,同時產生一個隨機數(shù) Ni。Ui使用哈希函數(shù) h1()計算隨后將消息{IDi, fi}通過安全的通道發(fā)送給服務器S。
用戶在收到smart card后,將h1()、Ni和h(PWi)加入到smart card中。至此,用戶獲得了自己的smart card。用戶注冊的過程如圖1所示。
圖1 用戶注冊階段
當Ui要與其他移動用戶進行通信時,執(zhí)行如下操作。Ui插入他的smart card,輸入密鑰PWi′。smart card計算h(PWi′),并與自己存儲的h(PWi)進行比較,如果相等,smart card選擇隨機數(shù)kx和N1,計算M2=Tkx(SPUB)mod p 和 t1=h( IDi||IDj||M1||M2||Pi||N1)。其中N1是一個自增長的隨機數(shù),通過一個隨機數(shù)發(fā)生器生成,使得用戶每次產生的隨機數(shù)都比前一次的值大。由于用戶和服務器都具有同一個隨機數(shù)發(fā)生器函數(shù),因此它們可以通過使用該隨機數(shù)抵御重放攻擊。
Ui將消息{IDi, IDj, M1, t1, N1}發(fā)送給Uj。
Uj收到消息后,插入自己的smart card,然后輸入PWj′。由smart card計算是否h(PWj) = h(PWj′)。如果成立,smart card選擇一個隨機數(shù)ky和N2,計算和Pj||N2),其中N2是一個自增長的隨機數(shù)。
Uj發(fā)送消息{ IDi, IDj, M1, t1, N1, M3, t2, N2}給S。
當Ui收到消息后,根據IDj獲得M2和N1,計算通過判斷t3=t′3來確認S和Uj的身份,如果成立,獲得會話密鑰K =
當Uj收到消息后,同樣根據IDi獲得M4和N2,計算并通過判斷 t4= t4′來確認S和Ui的身份,如果成立,獲得會話密鑰K =協(xié)議的登陸和密鑰協(xié)商過程如圖2所示。
為了保證用戶的安全,用戶可根據需要更新自己的密鑰。在密鑰更新階段,無需服務器的協(xié)助,每個合法用戶都可以自主地改變密鑰。
當用戶需要更新密鑰時,用戶Ui插入他的smart card,輸入舊密碼PWi′和一個新密碼。由smart card使用用戶輸入的舊密碼計算h(PWi′),并與其存儲的h(PWi)進行比較。如果相等,smart card根據卡里存儲的Ni和ei,計算并生成一個新的隨機數(shù),再計算=最后smart card將Ni替換成,h(PWi)替換成h(),ei替換成,至此完成了密鑰的更新。
本節(jié)將針對典型的攻擊方式,采用非形式化的方式分析協(xié)議的安全性。
1) 密鑰猜測攻擊(on-line and off-line password guessing attack):攻擊者可以通過監(jiān)聽的方式,截獲Ui、Uj和S之間傳遞的信息,并發(fā)起密鑰猜測攻擊。在本協(xié)議中,會話密鑰 K =Tky(M1)modp=根據定義1.4和1.5,由于kx和ky并不包含在傳遞的消息內容中,因此即使攻擊者獲得了M1和M3,他也無法計算出會話密鑰K。
2) 竊取smart card攻擊(stolen smart card attack):當攻擊者竊取到合法用戶的smart card后,他可以獲得卡中存儲的信息{ IDi, ei, x, p, SPUB, h(), h1(), Ni,h(PWi) }。但是,攻擊者如果想冒充合法用戶,他需要輸入用戶密鑰PWi,由smart card計算h(PWi),并與存儲在智能卡中的值進行比較,只有比較相等smart card才繼續(xù)執(zhí)行協(xié)商協(xié)議。但是由于攻擊者無法獲得用戶密鑰PWi,所以即使攻擊者竊取了smart card也無法冒充合法用戶。
圖2 協(xié)議登錄和密鑰協(xié)商過程
當用戶發(fā)現(xiàn)智w能卡丟失后,需要向服務器提出申請,通過服務器重新注冊后,生成新的智能卡,舊的智能卡被撤銷。
3) 重放攻擊(replay attack):在協(xié)議中,所有的消息都包含一個隨機數(shù)N,而且該隨機數(shù)是一個自增長的值。協(xié)議每執(zhí)行一次,用戶和服務器中對應該用戶的隨機數(shù)發(fā)生器都會同步產生一個隨機數(shù)。如果有重放數(shù)據包,數(shù)據到到達后,用戶和服務器可以通過數(shù)據包中的隨機數(shù),與自己對應的隨機數(shù)進行對比,來發(fā)現(xiàn)重放攻擊。
4) 已知密鑰攻擊(known-key security):由于每次通信的會話密鑰K =Tkykx(z)都是由本次通信的隨機數(shù)kx和ky計算獲得,即使攻擊者知道上次會話或將來會話的某個密鑰,也無法推斷出本次會話密鑰。
5) 偽造和假冒攻擊(forgery and impersonation attack):如果一個攻擊者冒充合法用戶,他需要發(fā)送消息{IDi, IDj, M1, t1, N1},其中和但是攻擊者無法獲得用戶密鑰PWi,因此他就無法冒充合法用戶。
6) 中間人攻擊(man-in-the-middle attack):從上面分析可以發(fā)現(xiàn),由于攻擊者無法實現(xiàn)重放、偽造和假冒攻擊,因此他也無法實施中間人攻擊。
7) 特權用戶攻擊(privileged insider attack):由于在協(xié)議中傳遞的消息不包含Ui和Uj的密鑰,因此協(xié)議能夠抵御特權用戶攻擊。
表2列出了本協(xié)議與相關協(xié)議在安全性方面的比較結果。其中Yes表示,協(xié)議具有相應功能,或可以抵御對應攻擊。
本節(jié)將本協(xié)議的執(zhí)行效率與相關工作進行對比,結果顯示本協(xié)議的通信和計算開銷都較小。由于異或運算的計算量較少,在進行計算量評估時可忽略不計。表3列出了本協(xié)議與相關協(xié)議[18-25]在計算開銷方面的比較結果,其中TC、TS和Th分別表示Chebyshev多項式、對稱加、解密運算和哈希函數(shù)的計算執(zhí)行時間。
表2 本文協(xié)議和相關協(xié)議安全性比較
表3 本文協(xié)議和相關協(xié)議計算效率比較
在3.2 GHz處理器3.0 G RAM環(huán)境下,Th的執(zhí)行時間是0.2 ms,TS的執(zhí)行時間是0.45 ms,TC的執(zhí)行時間是32.2 ms[13],表4列出了本協(xié)議和相關協(xié)議[18-25]的執(zhí)行時間。
表4 本協(xié)議和相關協(xié)議的執(zhí)行時間
從上面分析結果可以發(fā)現(xiàn),本協(xié)議具有較低的計算開銷。與文獻[25]提出的協(xié)議相比,本協(xié)議需要4次通信,而文獻[25]中的協(xié)議需要8次,而且本協(xié)議不需要復雜的網絡時鐘同步技術。
本文基于擴展的混沌算法設計了一個適用于無線網絡的三方用戶認證和密鑰協(xié)商協(xié)議。在可信第三方服務器的協(xié)助下,協(xié)議實現(xiàn)了雙向用戶的認證和密鑰協(xié)商功能,而且協(xié)議提供了便捷的密鑰更新機制,提高了用戶密鑰的安全性。通過安全性分析和效率分析可得出,與現(xiàn)有相關協(xié)議相比,本協(xié)議具有較高的安全性和較低的通信、計算開銷,更適用于無線傳感器網絡。