認證方式/通訊數據加密算法
路由器web端輸入的的SSID的中文都是UTF8編碼
因此使用Android或者IOS這些默認UTF8編碼的系統可以正常顯示,但是在Windows(ANSI)環境下顯示亂碼
開放方式:
Open/Open【無】
Open/WEP【WEP開放認證】(接入時不需要密鑰認證,但實際數據通訊仍然需要正確密鑰才能進行)
WEP/WEP【WEP共享密鑰】
一般WEP的密鑰可以設置4個認證密鑰,每個密鑰可以使用64bit或者128bit,可選擇ASCI或者十六進制填入
選擇64bit時,ASCII密鑰長度爲5Bytes,十六進制長度爲10Bytes
選擇128bit時,ASCII密鑰長度爲13Byte,十六進制長度爲26Bytes
在四個認證密鑰中,可以選擇一個加密密鑰,因此實際還是隻有一個密鑰可以使用。
過渡版本:
WPA(802.1X,EAP)/TKIP,WEP【WPA-企業】
PSK1/TKIP,WEP【WPA-個人】
使用802.1x或者EAP進行驗證的就是WPA,使用Personal Key(PSK)的成爲個人版WPA
先進版本:
WPA2(802.1X,EAP)/CCMP(AES-CCMP),TKIP,WEP【WPA2-企業】
PSK2/CCMP(AES-CCMP),TKIP,WEP【WPA2-個人】
WPA2除了認證方式有改進,也增加有AES通訊加密
終結版本:
WPA-mixed/CCMP(AES-CCMP),TKIP,WEP【WPA/WPA2混合-企業】
PSK-mixed/CCMP(AES-CCMP),TKIP,WEP【WPA/WPA2混合-個人】
可以參考
https://wiki.openwrt.org/doc/uci/wireless#wpa_modes
中介紹的WPA Mode
關於WPA的破解方法
我們平時說的WPA密碼其實叫PSK(pre-shared key),長度一般是8-63字節,它加上ssid通過一定的算法可以得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的長度是定長的,都是64字節。由於計算PMK的過程開銷比較大,是我們破解花費時間長的關鍵,所以採用以空間換時間的原則把PMK事先生成好,這個事先生成好的表就是常說的HASH表(生成PMK的算法是一種哈希),這個工作就是用airlib-ng這個工具來完成的,我們的快速破解就是這麼來的。
認證的時候會生成一個PTK(pairwise temporary), 這是一組密鑰,具體細節不詳細說了,它的生成方法也是採用的哈希,參數是連接的客戶端MAC地址、AP的BSSID、A-NONCE、S-NONCE、 PMK,其中A-NONCE和S-NONCE是兩個隨機數,確保每次連接都會生成不同的PTK。PTK的計算消耗很小。PTK加上報文數據採用一定的算法 (AES或TKIP),得到密文,同時會得到一個簽名,叫做MIC(message integrality check)
認證的原理是在獲得以上的所有參數後,客戶端算出一個MIC,把原文連同MIC一起發給AP,AP採用相同的參數與算法計算出MIC,並與客戶端發過來的比較,如果一致,則認證通過,否則失敗。
目前的破解方法是我們獲得握手包後,用我們字典中的PSK+ssid先生成PMK(如果有HASH表則略過),然後結合握手包中的(客戶端MAC,AP的 BSSID,A-NONCE,S-NONCE)計算PTK,再加上原始的報文數據算出MIC並與AP發送的MIC比較,如果一致,那麼該PSK就是密鑰。