(1.同濟大學 電信學院 寬帶無線通信與多媒體實驗室, 上海 200092; 2.上海無線通信研究中心, 上海 200050)
摘 要:在無線Mesh網絡(WMN)通信模式下,認證和密鑰交換對于其計費統計與安全連接起著十分重要的作用。在終端用戶與Mesh路由器之間快速建立安全連接對于減少網絡整體時延有著重要的幫助。MAKEP協議是為解決低功耗終端與高性能服務器之間的快速認證與密鑰交換而提出的,但在非頻繁加密業務連接下,認證協議的效率大大降低。針對WMN模式下的業務連接需求,提出了改進的MMAKEP協議,在降低業務連接時延的同時也提供了前向保密性。
關鍵詞:MMAKEP; 無線Mesh網絡; 認證協議; 模型檢測
中圖分類號:TN918 文獻標志碼:A
文章編號:10013695(2008)12374403
Novel mutual authentication and key confirmation protocol for wireless Mesh network
ZHU Jiahui1,2, RONG Lu2, WANG Xinhong1, XU Shangzhi1
(1.Broadband Wireless Communication Multimedia Laboratory, School of Electronic Information, Tongji University, Shanghai 200092, China; 2.Shanghai Research Center for Wireless Communications, Shanghai 200050, China )
Abstract:In a wireless Mesh network environment, authentication and key confirmation are important to accounting and security. Fast establishment of a secure link between the terminal device and the Mesh router is also very helpful to reduce the network delay. MAKEP protocol is a fast authentication and key confirmation protocol between a lower power Mesh point and a Mesh router. However, it is inefficient when the application requires long connection time. This paper proposed an improved MAKEP protocol in wireless Mesh network environment to solve the problem, which could greatly reduce the delay and also provides forward secrecy.
Key words:MMAKEP; wireless Mesh network(WMN); authentication protocol; model checking
無線Mesh網絡(wireless mesh network , WMN)作為一種新興的技術受到了通信界越來越多的關注。WMN是一種高容量、高速率的分布式網絡。相對于傳統的Ad hoc網絡而言,WMN具有較低的移動性和較高的網絡吞吐量,以因特網接入為主要業務類型[1]。它是一種有線公用網絡快速配置的無線擴展理想方案。
WMN的認證過程對于其計費統計與安全連接是十分重要的環節[2]。MAKEP 協議是2001年由Wong等人[3]提出的一種雙向認證密鑰交換協議。該協議能夠在低功耗終端與高性能的服務器之間建立可靠的無線連接,采用對稱加密算法,從而降低了無線終端設備的計算開銷。這正好與WMN中的終端用戶與Mesh路由器類似。隨后又有Shim[4]針對MAKEP協議的unknown keyshare攻擊進行了改進。在因特網接入中加密數據業務并不需要頻繁的連接,因此MAKEP協議中證書和密鑰的生存時間將會影響認證與密鑰生成的性能;同時MAKEP協議還無法提供前向安全性。
本文提出了一種MMAKEP(wireless Mesh networkmutual authentication key exchange protocol)的雙向認證和密鑰交換協議,通過CasperFDR模型檢測工具進行了仿真驗證。與原協議的性能比較表明,改進后的MMAKEP協議將更加適應無線Mesh網絡應用場景;相比于原MAKEP協議,MMAKEP協議在低功耗終端具有更快的計算速度和更高的安全性,并且提供前向保密性。
1 MAKEP協議介紹
MAKEP協議的目的是在低功耗終端用戶與高性能基站服務器之間進行身份認證和密鑰交換。首先介紹Wong等人提出的MAKEP協議:EK(rA)表示加/解密函數,密鑰為K。PKx、 SKx分別表示公鑰和私鑰,IDx表示X的惟一身份標志。certBA表示由A向B通信的證書,A預先已知B和TA的公鑰,TA[3]也已知A與B的公鑰。具體過程如圖1所示。
a)A將IDA和即將與之通信的B的IDB連同加密后的KAB發送給認證服務器TA。
b)TA將收到的ID生成證書certBA發送給A,這張有向證書只能用于A向B的通信。
c)A產生隨機數rA,并用長久對稱密鑰KAB加密,連同A到B的有向證書certBA一同發送給B;B將從certBA中提取出KAB從而通過解密EAB(rA)獲得rA。
d)B將c)獲得的rA連同自身產生的隨機數rB以及IDA、IDB一同以密鑰KAB加密發送給A。
e)A解密獲得rB,并返回用KAB加密的rB表示確認。
f)A與B分別各自生成會話密鑰rA⊕rB。
通過以上步驟能夠實現低功耗終端A與高性能服務器B之間的一個雙向認證。MAKEP協議在低功耗終端處消除多步非對稱加密算法,大大減少了用戶終端的計算量,因此在處理性能上比傳統的公鑰加密算法更快。上述d)中加入的IDA是K. Shim針對MAKEP協議的unknown keyshare攻擊進行了改進后的結果。同時原MAKEP協議中忽略了A與TA的證書生成過程,即A與TA之間的通信過程。但從實際考慮,證書生成過程中的非對稱加密步驟很大程度上影響了認證協議的計算速度,因此本文也需要考慮證書計算所帶來的負荷。MAKEP協議的缺陷是:當會話連接時間等于或超過證書生存時間,需要重新計算并頒發證書,從而增加了時延;KAB屬于長久會話密鑰,安全性無法保證;原協議無法提供前向安全性。
2 改進方案MMAKEP協議
2. 1 無線Mesh網絡應用環境
在WMN中,終端用戶多為筆記本、手機等設備,通過周圍的Mesh路由器接入到因特網中,提供的業務也主要是因特網接入業務[5]。因此低時延、用戶端的復雜度等是認證協議最為關注的部分。WMN的通信模型如圖2所示。
2. 2 MMAKEP協議工作過程
本文提出的MMAKEP協議針對WMN通信模型,在安全性與計算負荷等方面對MAKEP協議進行了改進。如圖3所示,改進后的協議工作過程如下:
a)首先由用戶A向網關認證器發送認證請求,發送信息內容包括user識別符、目標識別符、用B公鑰加密的臨時短密鑰KAB、用戶A產生用于生成會話密鑰的隨機數rA,將以上消息發送給認證服務器TA,由TA確定發送方IDA的合法性,然后TA將以上信息簽名轉發給B。
b)Mesh路由器B收到TA的消息后,首先使用私鑰SKB解密KAB從而獲得臨時短密鑰KAB,再使用KAB解密rA、IDA;將從TA處收到的IDA與解密所得的IDA進行比較,若相同則產生隨機數rB,連同rA、IDA、IDB一同用KAB加密發給A。
c)在用戶A收到了路由發送來的消息后,用KAB解密,比較rA、IDB是否正確。如果rA正是先前發送出去的隨機數,那么用戶將保存rB并計算會話密鑰ɑ=rA⊕rB,并使用消息摘要函數加密會話密鑰發送給B;若rA、IDB中任意值與期望不一致,則終止協議。
d)在路由器端,B首先計算出會話密鑰ɑ=rA⊕rB;然后將計算出來的會話密鑰使用相同消息摘要函數取得消息摘要,驗證是否與從A處收到的消息摘要值相同。若相同說明相互認證與密鑰交換成功;否則協議終止,認證失敗。
2. 3 MMAKEP協議安全性
由圖3可以看出,在第一步中A向B發出了一個質詢EKAB(rA,IDA),路由器B返回的rA應答完成,實現了A對B的認證;隨后B通過發送rB,A以會話密鑰ɑ=rA⊕rB的消息摘要值作為應答,實現B對A的認證,從而兩者實現雙向認證;同時在挑戰應答中雙方建立了會話密鑰ɑ=rA⊕rB用于接下來的數據通信。由于在EKAB(rA,IDA)中存在IDA,也解決了unknown keyshare攻擊。
3 MMAKEP協議安全性仿真驗證
筆者將基于CasperFDR模型檢測工具來證明MMAKEP協議的安全性。CSP是一種用來描述通過傳遞消息進行通信的并行代理系統符號,在認證協議的模型檢測中筆者把它看做是一種記錄研究系統類型的通用描述語言。FDR是應用CSP中的描述并發反應系統的結果。本文使用Casper產生協議的CSP描述,并使用FDR對協議描述進行模型檢測。
3. 1 MMAKEP協議的Casper描述
首先使用Casper腳本模擬協議的行為和攻擊。協議中腳本符號如表1所示。
表1 MMAKEP協議Casper腳本符號
符號說明符號說明
a,ba:終端用戶A;b:路由器BSSK,SPK網關認證服務器的公私鑰對
s網關認證服務器TAkabA與B的有向短密鑰
nxX生成的大素數rPK(x),SK(x)X的公私鑰對
定義協議中使用的變量與函數的類型。
#Free variables
a, b : Agent
s : Server
na, nb : Nonce
PK : Agent -> PublicKey
SK : Agent -> SecretKey
SPK : Server -> ServerPublicKey
SSK : Server -> ServerSecretKey
kab : Key
h : HashFunction
InverseKeys = (kab, kab), (PK,SK), (SPK, SSK)
圖3中所描述的MMAKEP協議由下面#protocol description聲明表示:
#protocol description
a)-> a : b
b)a -> s : a, b, {kab}{PK(b)}%v, {na,a}{kab} %W
c)s -> b : {a, b, v%{kab}{PK(b)}, W%{na,a}{kab}} {SSK(s)}
d)b -> a : {a, b, na, nb}{kab}
e)a -> b :h(na( + )nb)
在#specification中詳細定義了對協議保密和認證兩方面的要求。
#specification
Secret(a, kab, [b])
Secret(a, na, [b])
Agreement(b, a, [na,nb])
Agreement(b, a, [kab])
Secret行指定了協議的保密屬性,它表示當前協議下秘密消息只有用戶之間知道。一旦聲明,入侵者將無法獲得此消息。例如Secret(a, kab, [b])表示“a認為只有b與自己知道kab”,當然如果b是入侵者,那么就不能阻止kab的泄露,但是在產生CSP代碼中如果b完成了協議的運行,那么b就不會被認為是入侵者。Agreement行定義了協議的可認證性,在協議完成之后a將認為b處的na、nb、kab與自己的值是一致的。
定義入侵者信息。在CSP描述中,入侵者主要通過截取、假冒的手段實現攻擊。在Casper腳本寫入入侵者產生攻擊。
#intruder information
Intruder = Ivo
IntruderKnowledge={Alice,Bob,Ivo,Nm,Sam,PK,SPK,SK(Ivo)}
3. 2 Casper的FDR結果
Casper產生的CSP腳本經過FDR的檢驗后表明:在#specification中所描述的保密性和認證性兩方面都沒有產生攻擊的可能性。
SECRET_M::SECRET_SPEC[T=SECRET_M::SYSTEM_S
SECRET_M::SEQ_SECRET_SPEC[T=SECRET_M::SYSTEM_S_SEQ
AUTH1_M::AuthenticateRESPONDERToINITIATORAgreement_na_nb[T=AUTH1_M::SYSTEM_1
AUTH2_M::AuthenticateRESPONDERToINITIATORAgreement_kab[T=AUTH2_M::SYSTEM_2
No attack found
3. 3 驗證結果分析
協議實現了#specification中描述的四種要求:a認為kab、na是只有a與b之間知道的秘密,a也認為它與b在na、nb、kab值方面達成一致性。因為kab是有向臨時短密鑰, 同時s(本文認為是無法假冒的)實現對終端用戶的確認,可以讓b相信a是可信的。
4 協議性能比較
4. 1 計算開銷
從表2可以看到,低功耗的用戶端在計算開銷方面MMAKEP比MAKEP協議減少一次非對稱加密。因為非對稱加密的計算開銷遠遠超過對稱加密和消息摘要函數的計算開銷,所以這一次非對稱加密的減少將會大大提高認證協議的效率。在路由器端,改進后的協議基本與MAKEP協議計算量相當。
表2 用戶端和路由器端計算開銷比較
協議/次數
用戶端
非對稱加密對稱加密消息摘要
路由器端
非對稱加密對稱加密消息摘要
MAKEP220230
MMAKEP121221
4. 2 存儲開銷
原MAKEP協議需要將每一個服務器的有向證書存于低功耗終端處,增加了終端用戶的存儲負擔,但在MMAKEP協議中則不存在存儲問題。 因為認證服務器在此處只起到了證明A可靠性的作用,并沒有引進證書的概念。而MAKEP協議的KAB是長久短密鑰,需要一直存儲在終端用戶處,一旦丟失將會危及先前數據的安全;改進的MAKEP協議中KAB則是臨時短密鑰,可以在每一次產生新會話密鑰時臨時產生一個,即使KAB丟失也不會影響以前數據的安全性,這就同時具有了前向保密性。
4. 3 適應業務
MAKEP協議認為終端用戶只需第一次與認證服務器進行證書交換,在后續的通信中將直接使用先前存儲的證書。這樣做的優點是對于短時間內多次業務請求速度會加快;缺點也如前面所說,缺乏前向保密性,證書的頻繁更新不可避免,每次建立新的會話密鑰時都需要進行兩次非對稱加密過程,這樣MAKEP協議在較少會話加密業務中的優勢就不存在了。由于MMAKEP協議的實時計算開銷較小;同時具有前向保密性,減少終端存儲與計算的開銷,比較適合較少的會話加密業務。
5 結束語
在MAKEP協議基礎上,綜合無線Mesh網絡的特點,提出了一種改進的無線Mesh網絡雙向認證和密鑰交換協議。相比原協議而言,MMAKEP協議在低功耗移動終端的計算開銷和存儲開銷等方面更加適合無線Mesh網絡應用場景;同時也解決了MAKEP協議中的unknown keyshare攻擊與前向保密性的問題。經CasperFDR建模仿真測試,MMAKEP協議不存在安全漏洞,適用于低功耗設備與高性能路由器之間高效建立安全的認證通信。
參考文獻:
[1]IEEE P 802.11s/D1.0, IEEE draft amendment to standard for information technologytelecommunications and information exchange between systemsLAN/ MAN specific requirement part11: wireless medium access control(MAC) and physical layer (PHY) specifications: amendment:ESS Mesh networking [S]. 2006.
[2]IEEE Std 802. 1X22004, IEEE standards for local and metropolitan area networks: port based network access control [S]. 2004.
[3]WONG D S, CHAN A H. Mutually authentication and key exchange for low power wireless communications[C]//Proc of IEEE MILCOM 2001 Conf. Atlantic: IEEE, 2001:3943.
[4]SHIM K .Cryptanalysis of mutual authentication and key exchange for low pow wireless communications[J]. IEEE Communications Letters, 2003,7(5):248250.
[5]HASSAN M, DAS S, MOHAPATRA P, et al. Wireless Mesh networks[J]. IEEE Communications Magazine,2007,11(5):185198.
[6]HE Yijun, XU Nan, LI Jie. A secure key exchange and mutual authentication protocol for wireless mobile communications[C]//Proc of the 2nd IEEE Intern ational Conference on Availability, Reliability and Security. Santa Clara: IEEE, 2007:558563.
[7]周永彬, 張振峰, 馮登國.一種認證密鑰協商協議的安全分析及改進[J].軟件學報,2006,17(4):868875.