張鈞媛 鄭小芳
摘 要: 為了保證無線Mesh網(wǎng)絡鏈路切換過程的快速與安全性,運用了CPK標識認證技術,參照了IKEv2認證與密鑰交換協(xié)議的設計方法,按照安全協(xié)議設計原則,設計了基于預認證的無線Mesh網(wǎng)絡快速認證技術方案,包括基于預認證的端到端認證與加密方案和快速重認證方案。通過方案性能與安全性分析,方案在實現(xiàn)安全快速的同時還兼具了很好的性能。
關鍵詞: 無線Mesh網(wǎng)絡; 鏈路切換; CPK標識認證; IKEv2認證與密鑰交換協(xié)議
中圖分類號: TN915.08?34; TP393.04 文獻標識碼: A 文章編號: 1004?373X(2015)01?0083?04
Abstract: In order to ensure the celerity and security in link switching process of wireless Mesh network, the CPK identity authentication technology is used and the design method of IKEv2 authentication and key exchange protocol is referred. The pre?certification based technology solution for fast switching authentication in wireless Mesh network is designed according to the security protocol design principle. The solution includes two parts, end?to?end authentication and encryption scheme based on pre?certification and fast re?authentication scheme. The analyses of the scheme performance and security show that the scheme is characterized by celerity and security as well as good performance.
Keywords: wireless Mesh network; link switching; CPK identity authentication; IKEv2 authentication and key exchange protocol
0 引 言
無線Mesh網(wǎng)絡是從移動Ad Hoc網(wǎng)絡中分離出來,并承襲了部分WLAN技術的一種新的網(wǎng)絡技術,具有較高的可靠性和較低的投資成本。研究發(fā)現(xiàn),無線Mesh網(wǎng)絡是作為未來WMAN核心網(wǎng)最理想的方式之一,是迄今為止一種建立大規(guī)模移動Ad Hoc網(wǎng)絡的可行性技術[1]。
無線Mesh網(wǎng)絡呈網(wǎng)狀網(wǎng)形狀,按照最初預想,每一個Mesh節(jié)點都會與周圍所能探測到的所有節(jié)點建立鏈路連接,這樣就使得無線Mesh網(wǎng)絡中兩個節(jié)點之間具有多條路徑可達,從而保證了無線Mesh網(wǎng)絡較強的抗毀性與鏈路選擇的靈活性。但是,在實際實現(xiàn)過程中,網(wǎng)狀網(wǎng)鏈路會帶來巨大的維護代價和管理代價,并且,會極大地降低整個Mesh網(wǎng)絡的帶寬。因此,比較常見的做法是將鏈路分為主鏈路與備份鏈路,正常情況下,路由計算與數(shù)據(jù)傳輸都基于主鏈路,當主鏈路鏈路質量變差或者鏈路斷開的情況下,選擇向鏈路質量最佳的備份鏈路進行切換,將備份鏈路啟用為主鏈路。
切換過程的產(chǎn)生必然會帶來新的安全隱患,所以,必須有相應的安全機制予以保障。然而,現(xiàn)有針對這部分切換安全性的研究很少,通常的做法是,在切換階段重新完成一次接入認證過程,而未過多地考慮到切換的效率問題。然而,切換過程過長,會嚴重影響網(wǎng)絡的通信質量,從而直接導致網(wǎng)絡的可靠性大大降低。為了減少切換時長,本文設計了快速切換認證方案,通過預認證的方法,降低真正切換過程中切換認證的時延,保證切換過程的時效性和安全性。
1 無線Mesh網(wǎng)絡的切換
用圖1來描述切換過程,AP3維護著一條與AP2的活動鏈路(也稱主鏈路),當AP3與AP2之間的鏈路斷開或者鏈路質量變差的情況下,AP3就會斷開與AP2節(jié)點的關聯(lián),重新選擇與AP1或者AP4之間的最優(yōu)鏈路進行切換??焖偾袚Q的目的是保障網(wǎng)絡的魯棒性,保持網(wǎng)絡通暢的同時,盡可能的使網(wǎng)絡獲得大的帶寬。
主/備份鏈路的切換需要經(jīng)歷三個階段:信道信息搜集階段,切換觸發(fā)階段和切換階段。第一階段信道信息搜集階段,節(jié)點搜集周邊可入網(wǎng)的節(jié)點的信息。為了降低切換時延,當節(jié)點正常加入網(wǎng)絡后,就開始進行信道信息搜集,信道信息搜集階段完成鄰居節(jié)點的發(fā)現(xiàn)與維護過程。第二階段切換觸發(fā)階段,節(jié)點切換產(chǎn)生的原因有兩種:第一種情況為主鏈路的鏈路斷開,節(jié)點需要尋找新的通信鏈路;第二種情況為發(fā)現(xiàn)了比主鏈路質量更優(yōu)的鏈路,進行主動切換。第三階段切換階段,切換階段完成節(jié)點從主鏈路切換到備份鏈路的動作。
主/備份鏈路的切換過程給無線Mesh網(wǎng)絡安全提出了新的需求。首先,節(jié)點之間的鄰居關系需要建立在節(jié)點相互了解與信任的基礎之上,根據(jù)無線Mesh網(wǎng)絡的鏈路形態(tài),節(jié)點與鄰居節(jié)點之間不存在通信鏈路,所以,節(jié)點與鄰居節(jié)點之間的消息交互必須通過其他節(jié)點進行轉發(fā),為保證消息交互的私密性與認證的可靠性,需要進行端到端的認證與保護。其次,在切換來臨之際,需要通過重認證機制來保證切換的正確性,避免網(wǎng)絡鏈路變化給攻擊者造成的可乘之機,同時,由于重認證機制發(fā)生在切換階段,為縮短切換時延,在保證安全的情況下,需盡量降低重認證過程的時延。根據(jù)切換觸發(fā)的情景不同,發(fā)生切換時有兩種情況:鏈路斷開時是節(jié)點向節(jié)點切換,當發(fā)現(xiàn)最優(yōu)鏈路時,節(jié)點需要通過其他節(jié)點轉發(fā)消息來進行切換,所以,重認證過程既要保證點到點的安全,也要保證端到端的安全。最后,在無線Mesh網(wǎng)絡無中心、自組織的特點下實現(xiàn)快速切換認證,需要選擇合適的基礎設施,并盡量減少非對稱加解密的使用,同時減少消息的傳遞。
2 基于預認證的無線Mesh網(wǎng)絡快速切換認證
方案設計
2.1 基于預認證的端到端的認證與加密方案
在信道信息搜集階段完成正常入網(wǎng)節(jié)點與周圍鄰居節(jié)點的相互認證,通過在該階段的預認證避免節(jié)點在真正切換中的身份認證,縮短切換時延,整個過程被稱為鄰居節(jié)點安全關聯(lián)。鄰居節(jié)點安全關聯(lián)通過安全關聯(lián)協(xié)議來實現(xiàn),協(xié)議設計參照了IKEv2認證與密鑰交換協(xié)議,具體的實現(xiàn)過程見圖2。鄰居節(jié)點安全關聯(lián)的時機,可以選擇節(jié)點成功入網(wǎng)之后,或者是發(fā)現(xiàn)新的鄰居節(jié)點之時,將協(xié)議數(shù)據(jù)包的發(fā)送優(yōu)先級置為最高,從而避免切換突發(fā)情況的發(fā)生。圖2顯示的是圖1中AP3入網(wǎng)成功之后,與AP1建立安全關聯(lián)的過程。其中①②③④為傳送的協(xié)議數(shù)據(jù)包。
SA安全關聯(lián)載荷,用于協(xié)商節(jié)點之間采用的認證方式、加密算法,Diffie?Hellman組等;ID是獲取身份的惟一標識;N是傳遞的隨機數(shù)用來防止重放攻擊;KE傳送的是Diffie?Hellman的參數(shù)值。keyT是在切換階段用于開啟切換過程的共享秘密;R是構成空口密鑰的重要參數(shù);keyid記錄空口密鑰的序列號;AUTH是簽名載荷,是一端私鑰對雙方共享秘密的簽名。PAP1()表示使用AP1的公鑰進行加密;KSK_er()表示使用SK_er密鑰進行對稱加密。
第①②條消息主要完成參數(shù)與計算方式的協(xié)商,通過KE Diffie?Hellman參數(shù)的交互得到會話密鑰K,通過會話密鑰與隨機數(shù)計算出一個主密鑰SKEYSEED,SKEYSEED被進一步用來計算其他7個密鑰材料:SK_d為最終的加密密鑰生成資料,SK_ai和SK_ar用于后兩步的切換消息的認證,SK_ei和SK_er用于后兩步消息的加解密,SK_pi和SK_pr用于后兩步AUTH載荷的產(chǎn)生。
其中,prf()為散列函數(shù)或者位運算。Prf+為指定的散列算法,“|”是連接符號,SPI是數(shù)據(jù)包頭中的安全索引。
第③④條消息完成身份的認證與秘密參數(shù)的傳遞。身份認證協(xié)議的設計以CPK標識認證為基礎設施,利用對方標識獲得對方身份,加密傳給對方的秘密參數(shù),利用本端的私鑰加密信息形成AUTH載荷,用以證明自己的身份。CPK標識認證的使用避免了第三方的參與,減少證書的傳遞與驗證,能很大程度上加快協(xié)議的執(zhí)行速度。AUTH載荷的計算公式如下:
AUTHAP3=SAP3(H(SAAP3,NAP3,KEAP3,SAAP1,NAP1,KEAP1,prf(SKpi,IDAP3,RAP3)) )
其中SAP3為AP3的私鑰加密。H()表示對括號里的內容進行散列計算。
當AP1接收到來自AP3的消息(3)之后,首先通過Diffie?Hellman交換計算出SK_er,利用SK_er解密消息內容,第二步利用本端私鑰解密keyTAP3,RAP3,第三步利用AP3公鑰對AUTH載荷進行解簽記為H1,再通過本端存儲的信息按照AUTH構成計算本端所認同的解簽內容記為H2,對比H1與H2的值,若一致則AP1通過對AP3的身份認證,若不一致則AP3的身份認證失敗。消息④的過程與消息③的處理過程一致,實現(xiàn)的是AP3對AP1身份的認證。
在消息③與消息④的交互中,分別使用了對稱加密,公鑰加密與私鑰簽名三種加密方式,對稱加密使用的密鑰是前一次DIffie?Hellman交換計算的結果,不僅使消息保持了前向一致性,還在消息破解上增加了破解Diffie?Hellman參數(shù)交換的難度。公鑰加密的結果一方面能夠保證消息內容的安全,另外一方面還能確保消息內容到達指定的接收方,保證了消息內容端到端的可靠性。另外,私鑰簽名是證明身份的最佳方式。
2.2 快速重認證方案
當節(jié)點之間鏈路斷開或者發(fā)現(xiàn)更優(yōu)鏈路時,意味著切換階段的到來。在預認證的基礎上,通過快速重認證,實現(xiàn)節(jié)點的安全快速切換。重認證方案通過重認證協(xié)議來實現(xiàn)。節(jié)點在與父節(jié)點鏈路斷開或者發(fā)現(xiàn)更優(yōu)鏈路的情況下都可能進行切換。圖3顯示了圖1中節(jié)點AP3分別在鏈路斷開與發(fā)現(xiàn)更優(yōu)鏈路兩種情況下的重認證過程。
鏈路斷開情況下:
① 鏈路建立數(shù)據(jù)包
② 切換重認證請求數(shù)據(jù)包
③ 切換重認證回復數(shù)據(jù)包
發(fā)現(xiàn)更優(yōu)鏈路:
① 切換重認證請求數(shù)據(jù)包
② 切換重認證回復數(shù)據(jù)包
③ 鏈路建立通知數(shù)據(jù)包
切換重認證請求數(shù)據(jù)包的構造如下:
Kkey(H(keyTAP3+1,SK_ai),keyTAP3′)
切換重認證回復數(shù)據(jù)包的構造如下:
Kkey(H(keyTAP1+1,SK_ar),keyTAP1′)
當AP3鏈路斷開時,首先由AP3根據(jù)監(jiān)測結果選擇切換到的鄰居節(jié)點為AP1,執(zhí)行一系列鏈路協(xié)議后,AP1發(fā)送鏈路建立數(shù)據(jù)包,在AP3與AP1之間建立通信鏈路。鏈路建立完畢,AP3發(fā)送切換重認證請求數(shù)據(jù)包,切換重認證請求數(shù)據(jù)包內容包括由鄰居節(jié)點安全關聯(lián)過程中交換的切換參數(shù)keyT與Diffie?Hellman交換產(chǎn)生的SK_a進行散列運算得到的切換“開關”,以及新的切換參數(shù)keyT′。當AP1切換重認證請求數(shù)據(jù)包時,首先,用共享密鑰key解密數(shù)據(jù)包,之后,計算keyTAP3+1與SK_ai的散列結果,與數(shù)據(jù)包中的該值做對比,若一致則切換認證通過,記錄新的切換參數(shù),發(fā)送切換回復數(shù)據(jù)包;若不一致,則認為切換重認證未通過,在一端斷開與AP3的鏈路連接。同樣,AP3收到AP1發(fā)送的切換重認證回復數(shù)據(jù)包后,通過驗證切換“開關”決定是否通過重認證過程。
當AP3發(fā)現(xiàn)更優(yōu)鏈路時,通過AP2與AP0的中轉發(fā)送切換重認證請求數(shù)據(jù)包,過程與鏈路斷開切換一致,當AP3與AP1互相重認證通過之后,由AP3發(fā)送鏈路建立通知數(shù)據(jù)包,建立AP3與AP1之間的直接鏈路。若重認證失敗,則AP3重新選擇切換對象。
在切換重認證協(xié)議設計中,為減少切換時延,遵循了幾個原則,第一,將協(xié)議的交互次數(shù)降到最低。重認證協(xié)議交互次數(shù)為兩次,這是設計協(xié)議的最少交互次數(shù),交互次數(shù)的減少,必然會大大降低協(xié)議執(zhí)行的時延。第二,避免對非對稱加解密的使用。非對稱加解密的速度遠遠低于對稱加解密的速度,在認證過程中避免非對稱加解密的使用能夠大大縮短協(xié)議計算過程的時延。第三,安全性保障。切換重認證請求數(shù)據(jù)包與切換重認證回復數(shù)據(jù)包均使用鄰居節(jié)點安全關聯(lián)后計算得到的共享密鑰key進行空口加密,共享密鑰的生成建立在Diffie?Hellman交換與橢圓曲線加解密的安全之上,具有非常高的安全級別。另外,切換“開關”中,KeyT與SK_a均來自于鄰居節(jié)點安全關聯(lián),具有很好的前向關聯(lián)性,keyT′的使用能夠有效避免重放攻擊。
3 方案性能與安全性分析
基于預認證的無線Mesh網(wǎng)絡快速切換認證方案由基于預認證的端到端認證與加密方案及快速重認證方案兩部分構成。其中,基于預認證的端到端認證與加密方案是進行快速重認證方案得以實現(xiàn)的基礎,通過預認證減少真正切換到來時的在進行身份認證與參數(shù)協(xié)商和計算的時延是關鍵,根據(jù)對重認證的試驗統(tǒng)計,切換認證的過程能夠降低到100 μs數(shù)量級,按照傳統(tǒng)的切換方法這個值會達到毫秒級以上。針對無線Mesh網(wǎng)絡網(wǎng)狀網(wǎng)的特征,在基于預認證的端到端認證與加密方案建立在CPK標識認證基礎設施之上,這對方案整體性能的提升具有很大的意義。
首先,CPK認證機制解決了規(guī)模化的密鑰管理問題,它所使用的密鑰產(chǎn)生與存儲方式可以大大節(jié)省密鑰存儲空間,對于一個[m×n]的種子密鑰矩陣來說,能夠產(chǎn)生[mn]次方個公私鑰對,因此,CPK只需要很小的存儲空間就可形成一個很大的密鑰空間。其次,CPK采用離線密鑰集中分發(fā)的方式,密鑰的安全性能夠得到極大的保障。第三,CPK機制在認證過程中,避免了第三方權威機構的參與,也避免了證書的傳遞及驗證過程,可以大大簡化協(xié)議的設計過程,同時,避免通過證書泄露相關秘密信息。最后,CPK多采用橢圓曲線的加密算法,橢圓曲線最大的優(yōu)點就是在密鑰長度較小的情況下能夠提供其他公鑰加密算法在密鑰長度較大時才能達到的加密強度。
除了使用CPK標識認證機制所帶來的性能提升之外,基于預認證的無線Mesh網(wǎng)絡快速切換認證方案中協(xié)議的設計參考的是IPSec中IKEv2密鑰交換協(xié)議的設計方法,IKEv2是帶認證的密鑰交換協(xié)議,支持端到端的認證與加密保護,并且,IKEv2是在沿用原來協(xié)議的共享策略協(xié)商的基礎上,進行了全面的優(yōu)化和改革,從而具備了更高的性能、更好的安全性與更低的系統(tǒng)耗費[2]。
4 結 語
無線Mesh網(wǎng)絡呈網(wǎng)狀網(wǎng)形狀,為了保證鏈路質量,提高網(wǎng)絡傳輸率,當節(jié)點之間鏈路斷開或者質量變差的情況下就要考慮進行快速的鏈路切換。本文針對鏈路切換過程中面對的安全問題進行了分析,給出了基于預認證的無線Mesh網(wǎng)絡快速切換認證方案,旨在既保證切換的安全,又能以最快的速度完成切換過程,導致鏈路最小時間的中斷或者保證鏈路的最佳狀態(tài)。方案建立在CPK標識認證基礎設施之上,具有極小的密鑰存儲空間需求,無需第三方參與以及證書的使用,對整個方案性能具有很大的性能提升意義。另外,方案協(xié)議的設計參照了IKEv2的設計,能在一定程度上保證協(xié)議設計的科學性與安全性。同時,協(xié)議中身份認證與密鑰協(xié)商的設計,也能夠體現(xiàn)出協(xié)議設計的獨特性與創(chuàng)新性。
參考文獻
[1] 方旭明.下一代無線因特網(wǎng)技術:無線Mesh網(wǎng)絡[M].北京:人民郵電出版社,2006.
[2] 楊亞濤.無線多跳網(wǎng)絡的認證、密鑰協(xié)商及信任機制研究[D].北京:北京郵電大學,2009.
[3] 南相浩.CPK體制與網(wǎng)際安全[M].北京:國防工業(yè)出版社,2008.
[4] 袁美雄.無線局域網(wǎng)中基于預先認證的快速切換方案[J].湖南人文科技學院學報,2011,10(5):134?137.
[5] 楊衛(wèi)東,馬建峰,楊超.無線局域網(wǎng)中一種快速安全的切換方法[J].西安電子科技大學學報:自然科學版,2008,6(3):474?477.
[6] 彭清泉.無線網(wǎng)絡中密鑰管理與認證方法及技術研究[D].西安:西安電子科技大學,2010.
[7] 高杰,楊衛(wèi)東.一種WLAN環(huán)境下新的快速安全切換方法[J].計算機與網(wǎng)絡創(chuàng)新生活,2009,5(13):73?76.
[8] KAUFMAN C. RFC4306 Internet key exchange (IKEv2) protocol [M]. [S.I.]: The Internet Society, 2005.
[9] 章宇春,李繼國,王志堅.互聯(lián)網(wǎng)密鑰交換協(xié)議的安全性分析與改進[EB/OL].[2007?01?05]. http://www.paper.edu.cn/html/releasepaper/2007/01/43/ .
[10] 曹宇,祝躍飛,李勤,等.IKEv2 實現(xiàn)方案研究[J].計算機應用研究,2005(6):74?76.
[11] 荊琪.基于EAP切換認證機制研究[D].西安:西安電子科技大學,2012.