WPA RSN四次握手和PTK

2021-06-22 03:58:16 字數 1532 閱讀 1150

wpa/rsn使用四次握手(4-way handshake)的方式生成所需的金鑰。

作用

四次握手通過一系列的互動,從pmk(pairwise master key)生成ptk(pairwise transient key)。pmk來自msk(master session key),是msk的前256位,32位元組。

本文的主要目的是講ptk,所以暫時忽略pmk和msk。

ptk的內容

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

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

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

當加密方式是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。

四次握手的互動過程

下面的互動僅僅是乙個流程,對內部的一些資料的處理就不細說了。

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 RSN四次握手和PTK

wpa rsn使用四次握手 4 way handshake 的方式生成所需的金鑰。作用 四次握手通過一系列的互動,從pmk pairwise master key 生成ptk pairwise transient key pmk來自msk master session key 是msk的前256位,...

tcp三次握手和四次握手

建立tcp需要三次握手才能建立,而斷開連線則需要四次握手。整個過程如下圖所示 先來看看如何建立連線的。首先client端傳送連線請求報文,server段接受連線後回覆ack報文,並為這次連線分配資源。client端接收到ack報文後也向server段發生ack報文,並分配資源,這樣tcp連線就建立了...

TCP三次握手和四次握手

ip 網路層 不穩定性。硬體聯絡緊密 傳輸層 1.完全不彌補 udp 無連線不可靠報文傳輸 2.完全彌補 tcp 面向連線的可靠資料報傳遞 tcp傳送資料就包含了tcp三次握手建立連線和關閉連線的四次握手 建立連線用syn傳送,用ack應答 所謂三次握手就是客戶端與伺服器之間的三次應答。伺服器是一直...