Wifi OKC 驗證

OKCOpportunistic Key Caching安全

OKC,也叫OPC(Opportunistic PMK Caching),是微軟定義的一套標準,並不在802.11標準中。不過多數廠商都支持這種方式,也成爲了一種事實標準。服務器

其流程大體以下:網絡

當STA跟AP1通過完整的EAP/802.1X創建鏈接後,產生一條PMKSA,裏面包含一個PMKID1,而後AP1把這個PMKSA傳給它的鄰居,其中一個就是AP2。測試

Fast Roaming發生前,STA要根據AA,SPA和PMKID1計算出一個PMKID2,把這個PMKID2放在RSN IE裏,送給AP2。.net

AP2在收到這個PMKID2後,就像平時同樣,會在本身的PMKSA Cache裏找,固然,這是找不到的。由於Cache沒有一個的PMKID是PMKID2。而後,AP2就要對Cache中的每個Entry計算一次新的PMKID,其必要的幾個元素,AA,SPA和PMKID1都是有的。每計算一個就跟PMKID2匹配一次,匹配成功就能夠直接進行4次握手。blog

Preauthentication雖然在Roaming期間略過了802.1X,但仍是每次都要作,只不過提早罷了。文檔

OKC的出現,就是爲了解決每次都要作802.1X的問題,能夠提升效率,下降網絡負荷。但是,OKC的方即是創建在犧牲安全性的基礎上的。這會致使每一個AP上都拿到相同的PMK。get

802.1X鏈接過程it

802.1X鏈接的正常流程。須要屢次EAP  request/reponse與RADIUS服務器交互,而後再進行四次握手。步驟以下:io

1 申請者鏈接至802.11 網絡。鏈接只用到兩個幀,這種簡單的交換程序幾乎都會成功。

2 申請者發出一個EAPOL-Start 信息,開始進行802.1X 交換程序。這個步驟並不是必要。並不是全部申請者都會送出EAPOL-Start 信息,所以可能沒有這個步驟。

3 「正常的」EAP 交換程序開始。認證者(基站)發出一個EAP-Request/Identity 幀。若是基站只爲已經認證成功的鏈接轉送幀,Request/Identity 幀以前可能就沒有EAPOL-Start。主動發出Request/Identity 幀用來指示申請者必須進行802.1X 身份認證。

4 申請者以EAP-Response/Identity 幀進行答覆, 此幀隨後被轉換爲Radius-Access-Request 封包送給RADIUS 服務器。

5 RADIUS 服務器判斷須要使用那個類型的身份認證,而且在所送出的EAP-Request 信息中指定認證方式類型。EAP-Request 被封裝於Radius-Access-Challenge 封包送給基站。地臺收到封包後。將EAP-Request 傳遞給申請者。AP-Request 信息一般會被表示爲EAP-Request/Method。其中的Method 表明所使用的EAP 認證方式。若是目前使用的是PEAP,則傳回的封包將以EAP-Request/PEAP 來表示。

6 申請者從使用者方面取得迴應,而後回傳EAP-Response。認證者會將此迴應轉換爲送給RADIUS 的Radius-Access-Request 封包,針對挑戰信息所作的迴應則存放於數據字段。步驟5 與步驟6 不斷重複進行,直到身份認證完成爲止。若是所使用的是須要交換憑證的EAP 認證方式,免不了要重複這些步驟幾回。有些EAP 交換可能須要在用戶端與RADIUS 服務器間,反覆進行10 到20 個回合。

7 既然RADIUS 服務器送出一個Radius-Access-Accept 封包容許對方訪問網絡,所以認證者會發出一個EAP-Success 幀,而且受權使用鏈接埠。訪問權限也能夠由RADIUS 服務器所回傳的參數來決定。

8 收到Access-Accept 封包後,基站會當即使用EAPOL-Key 信息將密鑰傳給申請者。

9 一旦申請者安裝好密鑰,就能夠開始傳送數據幀來訪問網絡DHCP 配置設置一般會在此刻進行。

10 當申請者再也不須要訪問網絡,就會送出一個EAPOL-Logoff 信息,使鏈接埠回覆未受權狀態。

 

驗證方法

在WCNSS_qcom_cfg.ini文件中有一個選項OkcEnable。默認值是1,默認是打開OKC。漫遊的時候,只有首次鏈接到802.1X的網絡時,會有屢次EAP  request/response數據包的交互,在success以後,再進行四次握手。在漫遊的過程當中,直接進行四次握手,也就是EAPOL-key包的交互。

測試的時候,嘗試將OkcEnable的值設置成0。不管是首次鏈接到802.1X網絡其後漫遊過程當中,都會有EAP  request/response數據包的交互,而後纔是四次握手,這樣流程多了幾步,對漫遊的效率也是有影響的。

抓包分析

首次鏈接。

 

漫遊狀況下。OKcEnable=1的狀況。沒有EAP request和EAP response。

 

OkcEnable=0的時候,漫遊時任然會進行EAP request/reponse的交互。

 

EAP request:

 

EAP response:

 

EAP-FAST:

 

Success:

 

參考文檔

《802.11無線網絡權威指南》

https://blog.csdn.net/ollins136/article/details/28277717

相關文章
相關標籤/搜索