概述
為了增強無線網路安全性,至少需要提供認證和加密兩個安全機制。
認證機制:認證機制用來對用戶的身份進行驗證,限定特定的用戶(授權的用戶)可以使用網路資源。
加密機制:加密機制用來對無線鏈路的數據進行加密,保證無線網路數據只被所期望的用戶接收和理解。
常用安全技術
鏈路認證技術
鏈路認證即WLAN鏈路關聯身份驗證,是一種低級的身份驗證機制。在STA同AP進行關聯時發生,該行為早於接入認證。任何一個STA試圖連線網路前,都必須進行鏈路身份驗證進行身份確認。可以把鏈路身份驗證看作是STA連線到網路時的握手過程的起點,是網路連線過程中的第一步。常用的鏈路認證方案包括開放系統身份認證和共享密鑰身份認證。
開放系統身份認證允許任何用戶接入到無線網路中來。從這個意義上來說,實際上並沒有提供對數據的保護,即不認證。也就是說,如果認證類型設定為開放系統認證,則所有請求認證的STA都會通過認證。如圖1所示,開放系統認證分為以下兩個步驟。
第一步,STA請求認證。STA發出認證請求,請求中包含STA的ID(通常為 MAC 地址)。
第二步,AP返回認證結果。AP發出認證回響,回響報文中包含表明認證是成功還是失敗的訊息。如果認證結果為成功,那么STA和AP 就通過雙向認證。
共享密鑰認證是除開放系統認證以外的另外一種認證機制。共享密鑰認證需要STA和AP配置相同的共享密鑰。共享密鑰認證如圖2所示,具體過程如下。
第一步,STA先向AP傳送認證請求;
第二步,AP會隨機產生一個Challenge包(即一個字元串)傳送給STA;
第三步,STA會將接收到字元串拷貝到新的訊息中,用密鑰加密後再傳送給AP;
第四步,AP接收到該訊息後,用密鑰將該訊息解密,然後對解密後的字元串和最初給STA的字元串進行比較。如果相同,則說明STA擁有無線設備端相同的共享密鑰,即通過了共享密鑰認證;否則共享密鑰認證失敗。
圖2 共享密鑰認證過程
接入認證技術
接入認證是一種增強WLAN安全性的解決方案。當STA同AP關聯後,是否可以使用AP的無線接入服務要取決於接入認證的結果。如果認證通過,則AP為STA打開網路連線連線埠,否則不允許用戶連線網路。常用的接入認證方案有預共享密鑰(Pre-shared key,PSK)接入認證和基於802.1X的接入認證方案。
PSK接入認證是以預先設定好的靜態密鑰進行身份驗證。該認證方式需要在無線用戶端和無線接入設備端配置相同的預共享密鑰。如果密鑰相同,PSK 接入認證成功;如果密鑰不同,PSK 接入認證失敗。
IEEE 802.1X協定是一種基於連線埠的網路接入控制協定。基於802.1X的接入認證可以在WLAN接入設備的連線埠這一級對所接入的用戶設備進行認證和控制。連線在接口上的用戶設備如果能通過認證,就可以訪問WLAN中的資源;如果不能通過認證,則無法訪問WLAN中的資源。一個具有802.1x認證功能的無線網路系統必須具備客戶端、認證者和認證伺服器三個要素才能夠完成基於連線埠的訪問控制的用戶認證和授權。
認證客戶端一般安裝在用戶的工作站上,當用戶有上網需求時,激活客戶端程式,輸入必要的用戶名和口令,客戶端程式將會送出連線請求。認證者在無線網路中就是無線接入點AP或者具有無線接入點AP功能的通信設備。其主要作用是完成用戶認證信息的上傳、下達工作,並根據認證的結果打開或關閉連線埠。認證伺服器,通過檢驗客戶端傳送來的身份標識(用戶名和口令)來判別用戶是否有權使用網路系統提供的服務,並根據認證結果向認證系統發出打開或保持網路連線埠關閉的狀態。
三者之間利用以下兩種EAP方式傳輸:在客戶端和認證者AP之間的鏈路上運行EAP over LAN協定;認證者AP和認證伺服器之間的同樣運行EAP,但該協定被封裝到高層協定中。對於該連線過程,IEEE並沒有定義具體的協定,但通常用EAP over RADIUS協定進行通信。
如圖3所示,802.1X使用EAP完成認證,但EAP本身不是一個認證機制,而是一個通用架構用來傳輸實際的認證協定。EAP的好處就是當一個新的認證協定發展出來的時候,基礎的EAP機制不需要隨著改變。目前有超過20種不同的EAP協定,而各種不同形態間的差異在於認證機制與密鑰管理的不同。其中比較有名的EAP協定包括:最基本的EAP-MD5;需要公鑰基礎設施PKI(Public Key Infrastructure)的EAP-TTLS、PEAP、EAP-TLS與EAP-LEAP;基於SIM卡的EAP-AKA與EAP-SIM:基於密碼的EAP-SRP和EAP-SPEKE;基於預共享密鑰PSK(Pre Shared Key)的EAP-SKE、EAP PSK與EAP-FAST。
無線加密技術
相對於有線網路,無線網路存在著更大的數據安全隱患。在一個區域內的所有WLAN設備共享一個傳輸媒介,任何一個設備可以接收到其他所有設備的數據,這個特性直接威脅到WLAN 接入數據的安全。WLAN中常用的三種加密方案包括:有線等效加密(WEP)、暫時密鑰集成協定(TKIP)和高級加密標準 AES-CCMP。WEP加密採用RC4加密算法,密鑰的長度一般有64位和128位兩種。其中有24Bit的IV(Initialization Vector,初始化向量)是由系統產生,因此需要在AP和STA上配置的共享密鑰就只有40位或104位。在實際中,已經廣泛使用
104位密鑰的WEP來代替40位密鑰的WEP,104位密鑰的WEP稱為WEP-104。
雖然WEP104在一定程度上提高了WEP加密的安全性,但是受到RC4加密算法以及靜態配置密鑰的限制,WEP加密還是存在比較大的安全隱患,無法保證數據的機密性、完整性和對接入用戶實現身份認證。TKIP(Temporal Key Integrity Protocol,暫時密鑰集成協定)為增強WEP加密機制而設計的過渡方案。它也和WEP加密機制一樣使用的是RC4算法,但是相比WEP加密機制,TKIP加密機制可以為WLAN服務提供更加安全的保護,主要體現在以下幾點:靜態WEP的密鑰為手工配置,且一個服務區內的所有用戶都共享同一把密鑰,而TKIP的密鑰為動態協商生成,每個傳輸的數據包都有一個與眾不同的密鑰;TKIP將密鑰的長度由WEP的40位加長到128位,初始化向量IV的長度由24位加長到48位,提高了WEP加密的安全性;TKIP支持MIC認證(Message Integrity Check,信息完整性校驗)和防止重放攻擊功能。
AES-CCMP(Counter mode with CBC-MAC Protocol,計數器模式搭配CBCMAC協定)是目前為止WLAN中最高級的無線安全協定。CCMP使用128位AES(Advanced Encryption Standard,高級加密標準)加密算法實現機密性,使用CBC-MAC(區塊密碼鎖鏈-信息真實性檢查碼協定)來保證數據的完整性和認證。