WIFI如何選擇加密方式WPA2與WPA3
我們平時在家里使用無線路由器時都比較在意安全問題,無線路由器有一項必須的設置就是加密方式,常見的選項有WPA2與WPA3,那選擇哪個會更安全呢?
我們先回顧之前文章介紹過的WPA2-PSK的加密過程,STA和AP之間交換信息得到(STA MAC、AP MAC、PMK、ANonce、SNonce),這五個元素用相同算法計算得到PTK,如果雙方PSK和SSID相同,PMK就相同,計算得到的PTK也就相同,使用PTK的前16位字節以及802.1X Authentication數據包,計算出MIC,AP從STA的接入包中用PTK解密得到MIC,如果得到的MIC和自己的MIC相同,也就驗證了STA的密碼和自己一致。

STA和AP之間交換密鑰需要進行四次握手

1. AP把自己的隨機數(ANonce)傳給STA,STA在收到ANonce后,可以生成PTK。
2. STA把自己的隨機數(SNonce)和生成的PTK中的MIC傳給AP。AP收到SNonce后,可以生成PTK,將收到的MIC和自己生成的MIC比較進行完整性校驗,如果校驗失敗,握手失敗。
3. 校驗成功,AP使用PTK加密GTK,然后把加密后的GTK傳給STA。
4. STA使用自己生成的PTK解密GTK,同時驗證MIC,如果無誤則發送ACK進行確認。
在傳輸過程中可以發現PMK和PTK并沒有在數據包中體現應該足夠安全了吧,但現實并不是如此,通過抓取如上通信過程我們能不能還原出WIFI密鑰呢?
首先偽造一個 Deauthentication 幀發送給AP,當AP收到后會斷開與STA的連接,但是Deauthentication 幀并不是由STA發送的,這時它會與AP進行重連,在重連的過程中我們就可以抓取四次握手的報文,在這些報文中可以得到雙方的MAC地址、SSID、ANonce、SNonce,如果我們有足夠數量的字典嘗試做為密鑰,加上SSID計算出PTK,再加上報文中數據算出MIC與AP發送的MIC進行比較,如果一致那么就猜出了正確的密鑰,雖然算是暴力破解,但是隨著計算機性能提升再加上人們在密碼中常常加入名字生日等等容易猜測數據的習慣,破解并不是很難。
那么WPA3針對這些做了哪些改進呢?

在四次握手之前增加了SAE認證過程
SAE 采用了“互聯網工程任務組(IETF)”RFC7664 規范中定義的 “蜻蜓(Dragonfly)” 握手協議,將其應用于 Wi-Fi 網絡以進行基于密碼的身份驗證。
首先通過ECC或FC對原始密鑰PSK進行映射得到P, STA 生成隨機數 rS ;AP 生成隨機數 rA,而后STA 將 P · rS 傳給 AP,Ap 將 P · rA 傳給 STA,在雙方計算出PMK后就可以進行四次握手的過程。
這里請注意P · rS 推不出 rS, P · rA 也推不出 rA, 這樣即使通過抓包也得不到有用的數據,所以WPA3會比WPA2具有更高的安全性,此次就介紹到這里了,大家不必清楚密鑰交換的過程,只需記住設置哪種方式更安全就可以啦。
提交
AB Atlas "PN" - w/1Gbit TAP DIN , w/ L+S
Mercury MKII:PROFINET 監控套件 100M
Anybus ComBricks 1通道SCOPE中繼器
Anybus ProfiHub B5+
Anybus Atlas2 Plus

投訴建議