802.1X的wpa认证流程-------4-way handshake过程分析
WPA系統(tǒng)在工作的時候,先由AP向外公布自身對WPA的支持,在Beacons、Probe Response等報文中使用新定義的WPA信息元素(Information Element),這些信息元素中包含了AP的安全配置信息(包括加密算法和安全配置等信息)。STA根據(jù)收到的信息選擇相應的安全配置,并將所選擇的安全配置表示在其發(fā)出的Association Request和Re-Association Request報文中。WPA通過這種方式來實現(xiàn)STA與AP之間的加密算法以及密鑰管理方式的協(xié)商。
支持WPA的AP工作需要在開放系統(tǒng)認證方式下,STA以WPA模式與AP建立關聯(lián)之后,如果網(wǎng)絡中有RADIUS服務器作為認證服務器,那么 STA就使用802.1x方式進行認證;如果網(wǎng)絡中沒有RADIUS,STA與AP就會采用預共享密鑰(PSK,Pre-Shared Key)的方式。
STA通過了802.1x身份驗證之后,AP會得到一個與STA相同的Session Key, AP與STA將該Session Key作為PMK(Pairwise Master Key,對于使用預共享密鑰的方式來說,PSK就是PMK)。隨后AP與STA通過EAPOL-KEY進行WPA的四次握手(4-Way Handshake)過程,如圖所示。
在這個過程中,AP和STA均確認了對方是否持有與自己一致的PMK,如不一致,四次握手過程就告失敗。為了保證傳輸?shù)耐暾?#xff0c;在握手過程中使用了名為 MIC(Message Integrity Code)的檢驗碼。在四次握手的過程中,AP與STA經過協(xié)商計算出一個512位的PTK(Pairwise Transient Key),并將該PTK分解成為五種不同用途的密鑰,如圖所示:
其中前128位用做計算和檢驗EAPOL-KEY報文的MIC的密鑰,隨后的128位作為加密EAPOL-KEY的密鑰;接下來的128位作為 AP與該STA之間通信的加密密鑰的基礎密鑰(即由該密鑰再經過一定的計算后得出的密鑰作為二者之間的密鑰);最后兩個64位的密鑰分別作為AP與該 STA之間的報文的MIC計算和檢驗密鑰。
由PTK分解出來的這一組(五個)密鑰是AP與該STA之間使用的密鑰(所以也叫每用戶密鑰,用于AP與STA之間的單播報文的加密),這些密 鑰永遠也不會以任何形式出現(xiàn)在無線網(wǎng)絡上。在確認雙方所持的PMK一致后, AP會根據(jù)自身是否支持每用戶密鑰的能力來指示STA是否安裝并使用這個每用戶密鑰。
為了使現(xiàn)有的設備能夠通過軟件/固件升級實現(xiàn)WPA,協(xié)議規(guī)定AP可以不采用PTK方式,而是利用下面將要描述的GTK作為AP向STA發(fā)送單 播報文時的密鑰。如果AP通知STA安裝并使用PTK,那么STA在向AP發(fā)送一個EAPOL-KEY相應報文后,再把相應的密鑰安裝到無線網(wǎng)卡中。
四次握手成功后,AP要生成一個256位的GTK(Group Transient Key),GTK是一組全局加密密鑰,所有與該AP建立關聯(lián)的STA均使用相同的GTK,AP用這個GTK來加密所有與它建立關聯(lián)的STA的通信報文, STA則使用這個GTK來解密由AP發(fā)送的報文并檢驗其MIC。該密鑰可以分解為三種不同用途的密鑰, 最前面的128位作為構造全局“每報文密鑰”(Per-packet Encryption Key)的基礎密鑰(Base Key),后面的兩個64位的密鑰分別作為計算和檢驗WPA數(shù)據(jù)報文的MIC的密鑰。AP使用EAPOL-KEY加密密鑰將GTK加密并發(fā)送給STA,并指明該GTK是否允許STA用作發(fā)送報文所使用,STA成功接收到該報文,將GTK解密后,向AP發(fā)送應答報文,并根據(jù)AP所指示的Key Index將其安裝無線網(wǎng)卡的相應位置,如果AP使用GTK作為向某一STA單播傳輸?shù)拿荑€,則該STA也需要使用GTK作為向AP發(fā)送單播報文的密鑰。
TKIP并不直接使用由PTK/GTK分解出來的密鑰作為加密報文的密鑰,而是將該密鑰作為基礎密鑰(Base Key),經過兩個階段的密鑰混合過程,從而生成一個新的每一次報文傳輸都不一樣的密鑰,該密鑰才是用做直接加密的密鑰。?通過這種方式可以進一步增強WLAN的安全性。密鑰的生成方式如圖所示:
在WPA中,AP支持WPA和WEP無線客戶端的混合接入。在STA與AP建立關聯(lián)時,AP可以根據(jù)STA的Association Request中是否帶有WPA信息元素來確定哪些客戶端支持使用WPA。但是在混合接入的時候,所有WPA客戶端所使用的加密算法都得使用WEP,這就 降低了無線局域網(wǎng)的整體安全性。
總結
以上是生活随笔為你收集整理的802.1X的wpa认证流程-------4-way handshake过程分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wifi网络结构(下)
- 下一篇: 802.11帧格式