關於WPA WPA2 4次握手

2021-10-17 08:42:21 字數 1747 閱讀 7817

wpa/wpa2使用4次握手的方式來產生所需要的金鑰。四次握手通過一系列的互動,從pmk(pairwise master key)生成ptk(pairwise transient key)。pmk來自msk(master session key),是msk的前256位,32位元組。

ptk包含3個部分,kck(key confirmation key),kek(key encryption key),tk(temporal key)。

ptk的總長度根據加密方式不同而不同。

當加密方式是tkip時,ptk長512位,按順序分別為kck佔128位,kek佔128位,tk佔128位,mic key佔128位。

當加密方式是ccmp時,ptk長384位,按順序分別為kck佔128位,kek佔128位,tk佔128位。

kek和kck是給eapol-key,也就是四次握手時,加密和完整性驗證用的。tk用於後續的資料加密。

四次握手的報文都是基於eapol-key的,eapol-key的結構如下:

ptk如何生成

生成ptk,需要5個必要元素,pmk,anonce(nonce 1),snonce(nonce 2),authenticate mac(mac 1),supplicant mac(mac 2)。如下圖:

2個nonce分別是authenticator和supplicant生成的隨機數。

這張圖里的輸出包含4個部分,其實data encr和data mic合起來就是前面提到的tk。而eapol encr/mic分別對應前面的kek和kck。

4次握手的互動過程

1/4:authenticator -> supplicant

authenticator把anonce送給supplicant。supplicant收到1/4後,就有了生成ptk的所有元素。因為1/4裡同時也包含了authenticator的mac位址。

2/4:supplicant -> authenticator

supplicant計算出ptk,把snonce和自己的mac位址送給authenticator。同時,從2/4報文開始,後面的每個報文都會有mic。1/4沒有。

3/4:authenticator -> supplicant

authenticator向supplicant證明自己有有效的,同樣有mic加入其中

4/4:supplicant -> authenticator

僅是對3/4的乙個ack。說明ptk已經裝好,後面的資料可以加密了。

wpa與wpa2在4次握手上的區別

wpa的gtk會在4次握手完成以後進行安裝,而wpa2的gtk則是在4次握手的過程中就進行了安裝;如下圖:

wpa2-的4步握手協議

關於TCP三次握手

tcp syn ack fin rst psh urg簡析 三次握手three way handshake 乙個虛擬連線的建立是通過三次握手來實現的 1.b syn a 假如伺服器a和客戶機b通訊.當a要和b通訊時,b首先向a發乙個syn synchronize 標記的包,告訴a請求建立連線.注意 ...

關於TCP三次握手?二次握手為什麼不行?

zz 關於tcp三次握手?二次握手為什麼不行?1 tcp的三次握手過程 主機a向b傳送連線請求 主機b對收到的主機a的報文段進行確認 主機a再次對主機b的確認進行確認。2 採用三次握手是為了防止失效的連線請求報文段突然又傳送到主機b,因而產生錯誤。失效的連線請求報文段是指 主機a發出的連線請求沒有收...

關於TCP三次握手四次揮手

三次握手 1 a的tcp客戶程序首先建立傳輸控制模組tcb,同步位syn 1 初始序列號seq x,進入syn sent 同步已傳送 階段 2 b收到請求報文,同意建立連線,向a傳送確認 syn ack都置1 確認號是ack x 1,初始序列號seq y 進入syn rcvd 同步已收到 狀態 3 ...