WEP的四次握手過程

2021-06-22 22:34:18 字數 1561 閱讀 8947

下面的文章**我在anywlan的乙個帖子

不管是用wep加密,還是用wpa,一般如果我們要和ap建立乙個連線,要經過兩個階段認證(authentic)和關聯(association)的過程,下面我只說說wep加密的情況下,是如何和ap建立連線的(wpa的基本原理是差不多的,但加密演算法比wep的複雜)。

如果採用wep加密,我們會有兩種選擇(開放式和共享式),如果選擇開放式,那ap和客戶端的認證過程是在關聯過程之後的,也就是說,不需要正確的密碼,就能連線上ap,但你無法傳輸資料(會顯示連線受限,具體看我以前的帖子),所以這個我們也不討論。

如果我們採用wep加密,而且,又選擇了共享式,那要想和ap建立連線,就會有四次握手(4-way-handshake)的過程:

第一次握手:客戶端傳送認證請求給ap,如下圖

我們圖中的內容,前面的內容是幀(frame)控制頭,裡面記錄了源位址,目的位址等資訊,ieee 802.11 wireless lan management frame說明這是802.11的管理幀,下面有6個位元組的引數,authentication algorithm是用來確定是開放式或者是共享式(1共享式,0開放式),我們這裡是共享式,authentication seq說明四次握手的步驟,現在是第一次握手,說以是1,最後的status code是狀態碼,現在是成功。

第二次握手:ap收到請求後,傳送乙個認證響應幀,裡面包含乙個128位元組的隨機數列,如下圖

我們再看ap的請求響應幀,裡面的authentication  seq已經變成2了,狀態也是成功,但幀的最後,我們發現了128位元組的隨機數列。

第三次握手:客戶端收到ap的響應幀後,用自己的金鑰加3個位元組的iv,用rc4演算法,產生加密流,用異或操作加密128位元組的隨機數列,然後發給ap,如下圖

我們看到,這個幀比較特殊,我們看不到序列號,而是多了乙個initialization vector(初始向量)這個就是我們經常說的iv(注意是明文的,沒有加密),最後data中的內容就是加密後的隨機數列

第四次握手:ap用自己的金鑰加客戶端發過來的iv,用rc4演算法,產生加密流,用異或操作加密那段隨機數列(challenge text),如果客戶端的金鑰和ap的金鑰相同,那麼,兩端加密後的資料應該是相同的。如下圖:

最後一次握手的序列號是4,狀態是成功,到此,四次握手的過程就全部完成了。

看完上面的內容,我想大家發現了乙個問題,在wep加密方式下,ap和客戶端認證的過程中,challenge text和加密後的資料都是可以得到的,而且3個位元組的iv也是明文的,而wep採用的,只是簡單的異或運算:明文(異或)加密流=密文,而異或運算是可逆的,也就是說,密文(異或)明文=加密流

三次握手《 》四次握手

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狀態 測試結果表...

WPA PSK四次握手

wpa2 psk,ap sta在4 wayshake前各自都知道密碼 也就是使用者連線某ssid輸入的密碼 ap authenticator 在1 4的時候把自己的隨機數 anonce 傳給sta,sta在收到anonce後,已經可以生成ptk 2 4的時候把自己的隨機數 snonce 傳給ap,同...