WPA PSK四次握手

2021-09-26 08:58:13 字數 1786 閱讀 6049

wpa2-psk,ap/sta在4-wayshake前各自都知道密碼(也就是使用者連線某ssid輸入的密碼)

ap(authenticator)在1/4的時候把自己的隨機數(anonce)傳給sta,sta在收到anonce後,已經可以生成ptk

2/4的時候把自己的隨機數(snonce)傳給ap,同時加了mic(對應於ptk中的kck,也就是秘鑰確認秘鑰)。ap收到snonce以後,就可以生成ptk了,將收到的mic和自己生成的mic比較進行完整性校驗,如果校驗失敗,握手失敗。校驗成功,ap生成ptk和gtk(grouptransient key,用來加密組播和廣播)

3/4中將gtk(組臨時金鑰)和mic(訊息完整性校驗碼)一起發給sta,因為此時雙方都已經知道ptk(成對臨時金鑰),所以會對gtk進行kek加密。

sta傳送ack進行確認

wpa-psk 初始化工作

使用 ssid 和passphares使用以下演算法產生psk 在wpa-psk 中

psk=pmk=pdkdf2_sha1(passphrase,ssid,ssid length,4096)

psk 預共享金鑰 就是乙個共享密碼,是用於驗證 l2tp/ipsec 連線的 unicode 字串。在需要使用之前,通過使用某一安全通道在雙方之間共享。預先分配的金鑰僅僅用於認證過程,而不會用於資料加密過程。

pmk 成對主金鑰 pmk由預先共享金鑰(psk)直接得到,或由主會話金鑰(msk)推導得出。如果pmk有msk推導得出,pmk的計算使用函式l(psk,0,256),即msk的前256位。因此,當使用msk推導pmk時,msk至少由256位組成。pmk的生命週期由認證伺服器決定,而ptk的宣告週期則要短於pmk的宣告週期

pmk是申請者和認證者之間所有金鑰資料的最終**。它可以衍生自身份驗證過程中的eap method,或者有psk直接提供。認證者用來生成組臨時金鑰(gtk)的金鑰,通常是認證者生成的一組隨機數。

ptk 成對臨時金鑰 ptk = prf-x(pmk,」pairwisekey expansion」,

min(aa,spa)||max(aa,spa)||min(anonce,snonce)||max(anonce,snonce))

aa: 是認證者的mac位址

spa:是申請者的mac位址

tkip使用x = 512,ccmp使用x= 384

ptk 是從成對主金鑰中產生的金鑰,其中包括加密與完整性協議所使用的金鑰以及傳遞動態金鑰所需要的金鑰。

最終用於加密單播資料流的加密金鑰。

gtk 組臨時金鑰由組主金鑰(gmk)通過雜湊運算生成,是用來保護廣播和組播資料的金鑰。 最終用於加密廣播和組播資料流的加密金鑰。

mic 訊息完整性校驗碼

mic key=ptk 前 16 個位元組。是在第二次握手的時候 ,提取這個 ptk 前 16 個位元組組成乙個 mic key。在第三次握手的時候提取這個 ptk 前 16 個位元組組成乙個 mickey 使用以下演算法產生 mic 值用這個 mic key 和乙個 802.1x data 資料幀使用以下演算法得到 mic 值:mic key=提取ptk 的前16 個位元組

mic = hmac_md5(mic key,16,802.1x data)

針對一組需要保護的資料計算出的雜湊值,用來防止資料遭篡改。

sta和ap得到pmk後,將進行密匙派生以得到ptk。最後,ptk被設定到硬體中,用於資料的加解密。由於ap和sta都需要使用ptk,所以二者需要利用eapol key幀進行資訊交換。這就是4-way handshake的作用。

三次握手《 》四次握手

1 第一次握手 客戶端給伺服器傳送乙個 syn 報文。2 第二次握手 伺服器收到 syn 報文之後,會應答乙個 syn ack 報文。3 第三次握手 客戶端收到 syn ack 報文之後,會回應乙個 ack 報文。4 伺服器收到 ack 報文之後,三次握手建立完成 作用是為了確認雙方的接收與傳送能力...

Linux TCP Socket四次握手

經過在linux系統上測試,b端只要呼叫了close函式,狀態就會變為closed狀態,而a端在沒有呼叫read函式讀之前,狀態會直接變為close wait,呼叫了read函式之後和呼叫close函式之後,狀態也是close wait狀態,呼叫了close函式之後,變為closed狀態 測試結果表...

TCP 三次握手 四次握手

http常見狀態碼 200 ok 伺服器成功處理了請求 301 302 moved permanently 重定向 response中應該包含乙個location url,說明資源現在所處的位置 304 not modified 未修改 客戶的快取資源是最新的,要客戶端使用快取 404 not fo...