范盛超,章國安,費洪海,邱恭安
(南通大學電子信息學院 南通 226019)
無線Mesh網絡是一種具有自組織、自配置和自恢復特點的高容量、高效率的分布式多跳網絡。同時,WLAN Mesh網絡具有較好的現實應用性,得到了快速、廣泛的發展,并且有專門的IEEE 802.11s工作組為其制定相關的標準。為了保持與現有IEEE 802.11系列標準的兼容性,IEEE 802.11s標準草案中的安全接入部分仍采用IEEE 802.11i標準框架。但IEEE 802.11i標準框架中并沒有考慮 WLAN Mesh網絡中接入節點 (mesh access point,MAP)移動特性的漫游切換環境,因此為了滿足話音、視頻等實時業務的需求,必須研究移動終端安全快速的切換方案,用于減少切換過程中的接入時延,并保證切換過程的安全性。
目前針對WLAN Mesh網絡的漫游切換環境,已經提出了一些快速切換認證方案。參考文獻[1]中采用基于鄰居圖和矩陣的密鑰預分配方法,克服了基于鄰居圖切換中由于接入節點的移動性造成的切換失敗問題。參考文獻[2]提出了基于身份保護和認證時延的接入認證協議,不僅具有可證明的安全性,而且有較高的通信效率,但必須要與本地域的MKD(mesh key distributor)節點進行信息交互,并且要進行復雜的加解密過程。參考文獻[3]綜合了 IEEE 802.11s和IEEE 802.11i技術,保持邊緣節點的協議不變,將EMSA協議擴展到終端接入環境中,利用初始認證后形成的密鑰體系結構實現快速切換認證。可此方案中同一密鑰有3位持有者,增加了遭受攻擊的風險。
在終端節點漫游切換認證過程中,不僅要考慮重新認證過程中的時延開銷和認證成功率,還要對節點的身份信息進行隱藏保護。本文通過分析現有無線Mesh網絡漫游接入認證協議的優缺點,在不改變原有的安全協議基礎上,利用IEEE 802.11s標準草案中已建立的安全體系結構,設計了一種安全高效的漫游切換認證協議。
Diffie-Hellman密鑰交換算法[4]的安全性依賴于這樣一個事實:雖然計算以一個素數為模的指數相對容易,但計算離散對數卻很困難。對于大的素數,計算出離散對數幾乎是不可能的。在有限域GF(p)上,它的計算復雜性為:

此算法具有如下主要優點:
·當通信需要時才生成密鑰,減小了長時間存儲密鑰而遭受攻擊的風險;
·密鑰交換過程不需要事先存在的基礎結構,只需約定全局參數。
但也存在某些缺點:
·交換過程中沒有提供雙方身份的任何信息;·容易遭受中間人的攻擊。
當終端節點在同一MKD域中的不同接入節點MAP間切換時,可以執行 MSA(mesh security association)中的二次認證過程,快速安全地在MAP間進行切換。若終端節點移動到鄰近MKD域中的MAP時,就要尋求一種高效的域間切換機制。本文所提出的域間安全切換接入方法的主要思想為:利用在初始認證過程中所建立的安全鏈接通路,傳輸終端節點中的敏感身份信息,在每個MKD節點中建立和維護一張預接入列表,用于動態地采集本地域及鄰近域中終端節點信息。并基于DH密鑰交換算法中節點私鑰的隱匿性和密鑰生成過程的獨特性,將其作為節點身份認證的信息使用。利用消息認證碼克服DH密鑰交換算法本身易遭受中間人攻擊的弱點。所提協議RADH(roaming authentication based Diffie Hellman key exchange)具體過程(如圖1所示)描述如下。
(1)在終端節點完成初始認證過程,并生成MKD域中的密鑰層次結構和建立安全的傳輸鏈路體系后,終端節點已取得合法身份,此時,終端節點STA隨機選取隨機數XSTA并計算YSTA=gXSTAmod p(XSTA
(2)當終端節點STA與當前接入節點之間的信號強度減弱時,觸發切換過程。STA掃描到一個合適的鄰域目標接入節點MAP后,發送包含YSTA信息的關聯請求幀給目標MAP。
(3)目標 MAP緩存 YSTA,并轉發給目標 MAP所在域的MKD節點。
(4)目標MAP所在域的MKD節點收到YSTA后,查詢預接入列表PAL中是否存在對應的YSTA信息,若存在則找出與YSTA對應的p和g,通過安全通道將p和g發送給目標MAP。
(5)目標 MAP 收到 p和g后,選取隨機數 XMAP(XMAP

圖1 漫游切換接入認證過程
(6)終端節點STA收到YMAP后,開始計算 K=(YMAP)XSTAmod p,利用K驗證TMAP,用于檢驗消息來源的真實性,并用K解密目標MAP信息。利用偽隨機函數PRF及雙方一輪信息交互完成后共享的K計算密鑰PTK=PRFK(YMAP,YSTA,MAP-IP,STA-ID),取PTK中用于消息認證碼加密部分的加密密鑰 MK(MAC key)計算 TSTA=MACMK(sid,ENC(K,STA-ID))。將用K加密的終端節點STA信息以及標識符sid和消息認證碼TSTA發送給目標MAP。
(7)目標MAP利用解密終端節點STA信息,計算PTK=PRFK(YMAP,YSTA,MAP-IP,STA-ID),利用 MK驗證 TSTA檢驗消息來源的真實性。驗證通過后接入認證成功。發送成功接入信息給終端節點MAP,并裝載PTK。
RADH協議可克服DH密鑰交換算法的先天易遭受中間人攻擊的弱點。假如有一攻擊節點MP(a),由于p和g不是全局公布的參數,而是通過初始接入建立的安全鏈路傳輸的,則 MP(a)無法得出與p、g參數相對應的 YMP(a)信息,用消息認證碼驗證消息來源的真實性,從而不能發起中間人攻擊。以下將利用CK模型對所提協議進行安全性分析。
CK(Canetti-Krawczyk)模型[5]作為用于形式化分析協議安全性的工具,利用會話密鑰安全和多項式時間不可區分性的概念證明協議在密鑰交換過程中的安全性。
定義1 如果對于UM(unauthenticated-links adversarial model)或 AM(authenticated-links adversarial model)中的任何密鑰交換協議(KE)對手A,協議能夠滿足下列兩條性質,稱該協議在UM或AM中是會話密鑰安全(SK secure)的[6]。
(1)如果兩個未被攻陷的參與者完成了協議中匹配的會話,它們將輸出相同的會話密鑰。
DDH(decision Diffie-Hellman)假設[7]設k為安全參數,p和q為素數,其中q的長度為k位比特,且q|p-1,g是一個隨機選擇的階為q的生成元。則對于任何的多項式時間算法 D,Q0={
:α,β Zq}與 Q1={
:α,β,γ Zq}的概率分布是計算上不可區分的。
定理1 如果π是AM中的SK安全的密鑰交換協議,λ 是一個 MT(message transmission)認證器,那么 π′=Cλ(π)在UM中是SK安全的密鑰交換協議[6]。
對新協議RADH進行形式化描述,將其轉化成CK模型所能理解的形式,消除冗余的信息后,在UM模型下協議RADHUM可如下表述。
(1)發起方 Pi選擇隨機數 XSTA{0,1}k(k 為協議的安全參數),計算YSTA=gXSTAmod p,把消息(sid,YSTA)發送給響應方 Pj(p,g不是全局公開的參數,只在兩參與者之間共享)。
(2)響應方 Pj收到(sid,YSTA)后,選擇隨機數 XSTA{0,1}k(XMAP≠XSTA)計 算 YMAP=gXMAP mod p,K=(YSTA)XMAPmod p,Ej=ENC(K,Pj),Tj=MACK(sid,YMAP,Ej),然后把消息(sid,YMAP,Ej,Tj)發 送 給 Pi。
(3)Pj收到(sid,YMAP,Ei,Ti)后,計算 K=(YMAP)XSTAmod p,然后驗證Ti,驗證通過后解密Pj=DEC(K,Ei),計算PTK=PRFK(YMAP,YSTA,Pi,Pj),Ei=ENC(K,Pi),TSTA=MACMK(sid,Ei),然后把消息(sid,Ei,Tj)發送給Pj,同時輸出密鑰PTK。
(4)收到消息(sid,Ei,Tj)后,計算 Pi=DEC(K,Ei),PTK=PRFK(YMAP,YSTA,Pi,Pj),然后驗證Ti,驗證通過后輸出密鑰PTK。
具體證明思路如下:首先構造AM模型下協議RADHAM,并證明協議在AM中是SK安全的,然后選擇合適的認證器,最后利用所選認證器是MT認證器的特點,可證明協議RADHUM在UM中是SK安全的。
在AM模型下協議RADHAM的描述如下。
(1)發起方 Pi選擇隨機數 XSTA{0,1}k(k 為安全參數),把消息(sid,YSTA=gXSTAmod p)發 送 給 Pj。
(2)響應方 Pj收到(sid,YSTA)后,選擇隨機數 XMAP{0,1}k(XMAP≠XSTA)計算 K=(YSTA)XMAP mod p,然后把消息(sid,YMAP=gXMAPmod p)發送給 Pi,并輸出會話密鑰 PRFK(YSTA,YMAP)。
(3)Pi收到(sid,YMAP)后,計算 K=(YMAP)XSTA mod p,并輸出會話密鑰PRFK(YSTA,YMAP)。
定理2 在DDH假設下,如果偽隨機函數是安全的,則協議RADHAM在AM模型中是SK安全的。
證明 由于協議RADHAM中通信雙方通過一方已存儲相關密鑰信息的修改的DH密鑰交換過程獲得了相同的預共享密鑰K,根據DDH假設成立的條件可知,預共享密鑰K具有前向保密性。根據前面的模型,設定會話不會過期。
在DDH假設下,根據協議的運行過程及AM的定義,當兩個參與者Pi和Pj未被攻陷且都完成了協議時,他們都得到了未被篡改的YSTA和YMAP,因此他們建立了相同的會話密鑰PRFK(YSTA,YMAP),可推知協議RADHAM滿足定義1的性質1。
以下將用反證法證明協議RADHAM滿足定義1的性質2。假設存在一個KE對手在AM中進行測試會話查詢時能以不可忽略的優勢δ猜中b,則就可以構造一個算法D能夠以不可忽略的優勢δ區分偽隨機函數和隨機函數。
設:
Q0={YSTA,YMAP,PRFK(YSTA,YMAP)},Q1={YSTA,YMAP,random()}
D 的輸入是三元組(x,y,z),該三元組是 Q0或 Q1的概率均為。KE對手A作為算法D的子過程,算法D的描述如下。
(1)設L是在A任何交互過程中所能激發的會話的上限,選擇m {1,…,L}。激活A和在AM中運行協議RADHAM的n個參與者P1,…,Pn,進行仿真交互。
(2)當A激活某個參與者建立一個新的會話 t(t≠m)或者參與者接收到某條消息時,D代表此參與者執行協議RADHAM。
(3)若 t=m,則 D 讓 Pi把消息(Sm,x)發送給 Pj,當收到消息(Sm,x)時,D 讓 Pj把消息(Sm,y)發送給 Pi。
(4)當會話過期時,參與者將內存中的會話密鑰擦除。
(5)當某個參與者被攻陷或某個會話 t(t≠m)暴露時,D把此參與者或會話的相關信息交給A。
(6)如果未暴露的第m個會話被選中進行測試會話查詢,則D把z作為查詢的響應給A。
(7)如果第m個會話暴露或者A選中了其他的會話作為測試會話,再或者A沒有選擇測試會話就停止,則D輸出b′ {0,1},然后停止。
(8)如果A輸出b′并終止,則D終止并輸出和A相同的 b′。
由上述過程可以看出,算法D所激發的A的運行(直到A停止或D終止A的執行)和KE對手A對抗協議RADHAM的正常運行是一致的。
算法D仿真協議的執行過程中,A對測試的會話t有以下兩種可能。
(1)當會話 t=m時,如果Q0作為D的輸入,則D返回一個真實的密鑰信息作為A的值。如果Q1作為D的輸入,則D返回一個隨機數作為A的值。因為D的輸入是分別以的概率來自Q0或Q1。根據算法D的構造原理,A成功猜中得到的值是真實密鑰信息還是隨機數的概率等同于猜中D的輸入是來自Q0還是Q1的概率。由于A猜中的概率為,其中δ是不可忽略的,通過輸出和A相同的b′,則D猜中的概率也為,其中δ是不可忽略的。
(2)當會話t≠m時,D輸出一個隨機數,在這種情況下,D猜中Q0或Q1的概率為

綜上所述可知,協議RADHAM在AM中是SK安全的。
作為一種比較通用的形式化分析模型,CK模型中已給出了幾類經過安全證明的標準的認證器,選用參考文獻[8]中的基于消息認證碼和偽隨機函數的消息傳輸認證器λprf。
定理3 假設對稱加密算法ENC是理想密碼模型,且偽隨機函數PRF和消息認證碼算法MAC是安全的,則認證器λprf可以模仿UM環境下的消息傳輸協議。
具體證明過程參見參考文獻[8,9]。
定理4 若DDH假設成立,對稱加密算法是理想密碼模型,偽隨機函數和消息認證碼算法是安全的,則協議RADHUM在UM中是SK安全的。
證明 在協議RADHAM是SK安全的情況下,利用λprf是MT認證器的性質,把AM下的協議RADHAM轉化為UM下的協議RADHUM。通信雙方使用YSTA和YMAP作為挑戰,把λprf應用到AM下協議RADHAM的每個消息,并結合piggy-backing技術及定理 1、2、3,可得到 UM下的協議RADHUM是SK安全的。
在漫游節點重新接入的過程中,接入時延是一個首當考慮的參數指標,它決定了通信中是否具有良好的業務連續性。目前,IEEE 802.11s草案中沒有提及節點漫游到臨近域時的切換接入認證過程。因此,當節點漫游到非歸屬域時,需采用EMSA來重新認證。表1中對EMSA和本文所提協議RADH的計算量進行了統計。其中,E為模指數運算,M為消息認證碼計算,F為簽名運算,K為對稱加密運算。由于EMSA中用到的簽名是非對稱加密運算,相對于新協議RADH中的對稱加密運算需要具有更長的運算時間,從表1中可以看出新協議RADH的計算時延明顯低于EMSA的計算時延。

表1 運算量性能對比
除以上所具有的低時延特性外,所提協議RADH還具有如下的特性。
·利用MKD節點所維護的預接入列表,克服基于鄰居圖切換方法在MAP節點變化移動的情況下所造成的切換失敗問題。按網絡規模設置合適的存儲容量,并通過先進先出的隊列存儲方式,在一定時間內實現預接入列表的動態更新。終端節點信息只存儲在本地域及鄰近域的MKD節點中,具有移動特性的MAP節點不參與對終端節點的信息維護,只在終端節點接入時才通過MKD節點發送給相關MAP節點的終端節點信息,使其更能適應Mesh網絡拓撲結構變化的特性。
·終端節點在初始認證后已成為合法成員,并且在網絡中傳輸的是YSTA信息,可以極好地隱藏終端節點的身份,并且在一定的時間內對XSTA和YSTA進行更新,可以抵御攻擊者對信息流長時間的分析處理而獲得終端節點身份信息的缺點。
·在接入認證的過程中同時實現了通信雙方的密鑰交換,減少了信息交互輪數。并使用對稱的加解密方式實現信息傳輸,與基于公鑰體制的加解密方式相比進一步降低了計算開銷。
·實現雙向認證。當終端節點發送請求切換開始信息后,MKD通過查詢預接入列表中YSTA的合法性,驗證終端節點是通過初始認證后接入網絡的合法節點。MKD通過建立的安全通道將p、g傳送給新的目標MAP,終端節點通過消息認證碼驗證該目標MAP的真實性。
針對WLAN Mesh網絡的漫游接入認證過程,新協議RADH利用EMSA初始認證過程中所建立的安全鏈路,在此基礎上利用修改后的DH密鑰交換過程,避免在漫游接入過程中終端節點與舊的歸屬域的重復認證,只需與新的歸屬域進行較少的交互次數完成接入認證過程。通過形式化分析方法中的CK模型,證明了所提方案具有基本的SK安全屬性。與基于鄰居圖的切換接入方案相比,新方案更能適應Mesh網絡拓撲變化較快的特性,且能較好地隱藏終端節點的身份信息。在完成雙向接入認證過程的同時,完成了密鑰的生成,并在接入時延上優于EMSA協議。雖然終端節點中選擇的XSTA在全網中可能發生碰撞,但是這種幾率是非常小的,不會影響正常的網絡通信。為進一步提高切換接入的成功率,研究不重復選擇隨機數算法將是下一步的研究工作。
1 彭清泉,裴慶祺,龐遼軍等.一種WLAN Mesh網絡快速切換認證.江蘇大學學報(自然科學版),2010,31(4):458~463
2 楊超,曹春杰,王巍等.一種新的Mesh網絡漫游接入協議.吉林大學學報(工學版),2008,38(2):423~428
3 Chi Kuang-hui,Shih Yung-chien,Liu Ho-han,et al.Fast handoff in secure IEEE 802.11s mesh networks.IEEE Transactions on Vehicular Technology,2011,60(1):219~232
4 Li Nan.Research on Diffie-Hellman key exchange protocol.Proceedings of the 2nd International Conference on Computer Engineering and Technology,Chengdu,China,2010:634~637
5 Bellare M,Canetti R,Klawczyk H.A modular approach to the design and analysis of authentication and key-exchange protocols.Proceedings of the 30th Annual Symposium on the Theory of Computing,New York,USA,1998:419~428
6 彭華熹.一種基于身份的多信任域認證模型.計算機學報,2006,29(8):1 271~1 281
7 Boneh D.The decision Diffie-Hellman problem.Lecture Notes in Computer Science,1998(1423):48~63
8 Zhang Fan,Ma Jianfeng,Moon S J,et al.The security proof of a 4-way handshake protocol in IEEE 802.11i.Lecture Notes in Computer Science,2005(3802):488~493
9 朱輝,李暉,楊加喜等.一種可證明安全的通用多信任域認證協議.武漢大學學報(信息科學版),2008,33(10):1 051~1 054