安全問題一直是困擾在WLAN靈活便捷的優勢之上的陰影,已成為阻礙WLAN進入信息化套用領域的最大障礙。
國際標準為此採用了WEP、WPA、802.1x、802.11i、VPN等方式來保證WLAN的安全,但都沒有從根本上解決WLAN的安全問題。我國在2003年5月份提出了無線區域網路國家標準GB15629.11,引入一種全新的安全機制WAPI,使WLAN的安全問題再次成為人們關注的焦點。
WAPI機制已由ISO/IEC授權的IEEERegistrationAuthority審查獲得認可,並分配了用於該機制的以太類型號(IEEEEtherType Field)0x88b4,這是我國在這一領域向ISO/IEC提出並獲得批准的唯一的以太類型號。
WAPI安全機制
無線區域網路鑑別與保密基礎結構WAPI(WLANAuthenticationandPrivacy Infrastructure)由無線區域網路鑑別基礎結構WAI(WLAN Authentication Infrastructure)和無線區域網路保密基礎結構WPI(WLAN Privacy Infrastructure)組成。其中,WAI採用基於橢圓曲線的公鑰證書體制,無線客戶端STA和接入點AP通過鑑別伺服器AS進行雙向身份鑑別。而在對傳輸數據的保密方面,WPI採用了國家商用密碼管理委員會辦公室提供的對稱密碼算法進行加密和解密,充分保障了數據傳輸的安全。
WAPI充分考慮了市場套用,根據無線區域網路套用的不同情況,可以以單點式、集中式等不同的模式工作,同時也可以和現有的運營商系統結合起來,支持大規模的運營級服務。此外,用戶的使用場景不同,WAPI的實現和工作方式也略有詫異。
WAPI的用戶使用場景主要有以下幾種:
1.企業級用戶套用場景:有AP和獨立的AS(鑑別伺服器),內部駐留ASU(鑑別服務單元),實現多個AP和STA證書的管理和用戶身份的鑑別;
2.小公司和家庭用戶套用場景:有AP,ASU可駐留在AP中;
3.公共熱點用戶套用場景:有AP,ASU駐留在接入控制伺服器中;
4.自組網用戶套用場景:無AP,各STA在套用上是對等的,採用共享密鑰來實現鑑別和保密。
WAI與WAI相關的STA的狀態轉換圖
圖1給出了與WAI相關的STA的狀態轉換圖,與ISO/IEC8802.11-1999的5.5相比,該狀態圖將原有的“鑑別”改為了“鏈路驗證”,此外新增了專用於處理WAI過程的“鑑別狀態”。這樣,STA總共需要維護三個狀態變數:鏈路驗證狀態,關聯狀態和鑑別狀態,由此決定了STA將會有四種本地狀態,如圖狀態1~4所示。其中STA和AP之間的WAI鑑別過程處於狀態3。鑑別系統結構
圖2描述了鑑別請求者、鑑別器和鑑別服務實體之間的關係及信息交換過程。這裡首先介紹幾個重要概念,有助於對鑑別系統結構的理解。
鑑別器實體AE:駐留在AP中,在接入服務前,提供鑑別操作。
鑑別請求者實體ASUE:駐留在STA中,需通過鑑別服務單元ASU進行鑑別。
鑑別服務實體ASE:駐留在ASU中,為鑑別器和鑑別請求者提供相互鑑別。
在圖2中,鑑別器的受控連線埠處於未鑑別狀態,鑑別器系統拒絕提供服務,鑑別器實體利用非受控連線埠和鑑別請求者通信。
受控與非受控連線埠可以是連線到同一物理連線埠的兩個邏輯連線埠,所有通過物理連線埠的數據都可以到達受控連線埠和非受控連線埠,並根據鑑別狀態決定數據的實際流向。
受控連線埠:只有當該連線埠的鑑別狀態為已鑑別時,才允許協定數據通過。只有通過鑑別的STA才能使用的AP提供的數據連線埠為受控連線埠。
非受控連線埠:協定數據的傳送不受當前鑑別狀態的限制。AP提供STA連線到鑑別服務單元ASU的連線埠即為非受控連線埠。
需要說明的是,除鑑別數據外,系統中AP與STA之間的網路協定數據的交換都是通過一個或多個受控連線埠來實現的。受控連線埠狀態由系統鑑別控制參數確定。
另一個重要概念是鑑別服務單元ASU,前面已經提到,在整個WAI鑑別過程中,ASU作為第三方起著提供鑑別服務的作用。此外,ASU還擔當著為STA和AP提供證書的頒發、認證、吊銷等功能。一個ASU可以管理一個或多個BSS,在同一個ASU的管理範圍內,STA與AP之間需通過ASU實現證書的雙向認證。
WAI鑑別基礎結構
在BSS中,當STA關聯或重新關聯至AP時,必須進行相互身份鑑別。若鑑別成功,則AP允許STA接入,否則解除其鏈路驗證。整個鑑別過程包括證書鑑別、單播密鑰協商與組播密鑰通告。
STA與AP之間的鑑別數據分組利用以太類型欄位為0x88B4的WAPI協定傳送,AP與ASU之間的鑑別數據報文通過連線埠號為3810的UDP套接口傳輸。
在WAI的整個過程中,涉及到數種加/解密和訊息摘要等算法,可歸納如下:
基於WAI的安全接入控制分類:
根據WLAN的不同類型,可將基於WAI的安全接入控制作以下分類。
BSS(有AP)
WAI典型範例,採用公鑰密碼技術實現STA與AP之間的相互身份鑑別,證書鑑別成功後分單播密鑰協商和組播密鑰通告。
IBSS(AdHoc,無AP)
WAI採用共享密鑰完成STA之間的相互身份鑑別。網路中各個STA約定一個共享密鑰,用戶通過設定(輸入)共享密鑰接入網路,和其他用戶交換信息。用戶輸入的為共享主密鑰。
WDS模式
WAI採用共享密鑰完成STA之間的相互身份鑑別。網路中各個STA約定一個共享密鑰,用戶通過設定(輸入)共享密鑰接入網路,和其他用戶交換信息。用戶輸入的為共享主密鑰。
WPI
WPI採用國家密碼管理委員會辦公室批准的用於WLAN的SSF43對稱分組加密算法對MAC子層的msdu進行加/解密處理,有兩種工作模式:用於數據保密的ofb模式和用於完整性校驗的CBC-MAC模式。
WPI封裝過程
數據傳送時,WPI的封裝過程為:
1.利用加密密鑰和數據分組序號PN,通過工作在OFB模式的加密算法對MSDU(包括SNAP)數據進行加密,得到MSDU密文;
2.利用完整性校驗密鑰與數據分組序號PN,通過工作在CBC-MAC模式的校驗算法對完整性校驗數據進行計算,得到完整性校驗碼MIC;
3.封裝後再組幀傳送。
WPI解封裝過程:
數據接收時,WPI的解封裝過程為:
1.判斷數據分組序號PN是否有效,若無效,則丟棄該數據;
2.利用完整性校驗密鑰與數據分組序號PN,通過工作在CBC-MAC模式的校驗算法對完整性校驗數據進行本地計算,若計算得到的值與分組中的完整性校驗碼MIC不同,則丟棄該數據;
3.利用解密密鑰與數據分組序號PN,通過工作在OFB模式的解密算法對分組中的MSDU密文進行解密,恢復出MSDU明文;
4.去封裝後將MSDU明文遞交至上層處理。
結語
目前,我們已用軟體實現了STA的WAPI機制,運行結果完全能夠滿足GB15629.11標準的要求。此外,我們還使用硬體描述語言VerilogHDL對WPI的封裝和解封裝過程進行了RTL描述,並從數字電路設計的角度對其進行了最佳化。總體而言,WPI硬體仿真結果較WPI軟體運行在時間上體現了強大的優勢,這對於保證無線區域網路數據通信的高速性無疑是很重要的一點。當然,WPI軟體可以與驅動程式相結合,體現低成本和易維護的特點。對於WAI,整個過程處在AP和STA之間網路協定數據通信之前,因此對時間的要求要略遜一些,而過程相對繁雜,筆者認為更宜用軟體實現。
作者:呂霞 楊軍