曾經看過一篇文章說,wifi密碼的安全性在於長度而不是內容,所以,我把wifi密碼設置成27個9了,請問,這樣就安全了嗎?


WPA2/WPA PSK (Pre-Shared Key )模式不安全。如果把安全只定義為3個級別,低中高。這裡的安全強度為Low)。儘管密碼長度較長,但是低熵Low Entropy),無法防範離線Offline)字典攻擊。
WPA3 SAE (Simultaneous Authentication of Equals) 模式相對安全。如果把安全只定義為3個級別,低中高。這裡的安全強度為Medium )。之所以安全強度大大提升,那是因為SAE就是為了防範離線Offline)字典攻擊而設計的反制措施。
如果將27個9中的1個或2個,修改成英文字母、或特殊字符,配置WPA3 SAE,那麼這裡的安全強度將進一步提升到High )。
題主以為破解Wi-Fi密碼依靠暴力,密碼最小長度8個字符,字符包括:數字英文字母小寫英文字母大寫特殊符號,由這4種字符自由組合嘗試到27個9不知道要到猴年馬月、海枯石爛,所以是安全的,對嗎?
常用的Wi-Fi密碼破解依賴於密碼庫,先嚐試常用的10萬密碼庫,這個密碼庫基本涵蓋了英文字典常用單詞、用戶常用密碼TOP10000、單一字符循環重複(8-63次)等等。
如果沒有擊中,那麼嘗試更長的密碼庫,涵蓋了幾乎所有英文單詞、單純數字的組合≤12位,單純英文字母大寫的組合≤12位,單純英文字母大寫的組合≤12位。
如果還沒有擊中,那麼就嘗試數字英文字母小寫英文字母大寫特殊符號的自由組合≤12位。
到這裡如果依然沒有擊中,那麼恭喜諸位,密碼的安全等級是高的!
最後一步還沒有擊中,腳本一般會停止運行。接下來每增加一個字符的長度,耗時以近100倍的數量增長。
所以題主的密碼,大概率在第一個回合就被擊中。
用字典中的英文單詞來嘗試破解,這樣的密碼雖然不安全,但是容易記憶,即字典攻擊。
離線是什麼?
破解方需要將合法用戶(擁有正確的密碼)的4-Way Handshake報文捕獲下來。
4-Way Handshake包含了PSKMaster Key)信息。字典攻擊一次,得到PSK‘。觀察是否可以得到和4-Way Handshake相同的信息。
如果yes, 那麼PSK == PSK。獲取正確的密碼,腳本停止。
如果no,嘗試下一個攻擊。
為何WPA3 SAE無法離線字典攻擊?
SAE採用ECC(Elliptic Curve Cryptography)FFC(Finite Field Cryptography)這2種的公鑰算法的1種。
FFC(Finite Field Cryptography),Diffie-Hellman設計的公鑰算法。
ECC(Elliptic Curve Cryptography),利用橢圓曲線設計的公鑰算法
題主的27個9和這個ECC有什麼關係?
當然有關係,唯一的關係就是利用這27個9找到橢圓曲線的G點
怎麼找呢?
pwd-seed = H(MAX(STA-A-MAC, STA-B-MAC) || MIN(STA-A-MAC, STA-B-MAC), password||counter)
如果得到的pwd-seed為橢圓曲線上一個點的X座標,那麼pwd-seed就是G點的X座標,根據橢圓曲線方程可以求出Y座標(2個),取其中一個,即Y座標的LSB和pwd-seed  LSB相同的一個。
如果得到的pwd-seed不滿足橢圓曲線方程,那麼計算器counter++,直到得到pwd-seed滿足橢圓曲線方程,即可按照上文得到G點X座標。
雙方得到的G點,如果password相同,G點應該相同的。
接下來的一切運算,和password沒有半毛錢關係。
要G點做什麼?
通俗地說,這是通信雙方(A、B)跑酷的起點,即G點
A告訴B,自己準備跑k*G(A的公鑰),k為A的私鑰。
B告訴A,自己準備跑m*G(B的公鑰),m為B的私鑰。
A掏出自己的私鑰k,和B告訴自己的公鑰m*G,做一個scalar運算。
k *(m*G)
按照乘法結合律
k *(m*G) =km*G
B掏出自己的私鑰m,和B告訴自己的公鑰k*G,做一個scalar運算。
m *(k*G)
按照乘法結合律
m *(k*G) =km*G
很顯然2個運算結果相同,A、B最終到達了相同的終點,位於橢圓曲線上的km*G
這種方法最大的特點是,每猜一次密碼,都要上線與AP進行握手,以驗證盲猜的password是否正確。
因為離線盲猜,沒有任何反饋信息告知盲猜的密碼是否正確!
更重要的是,即使有wi-fi的正確密碼,如果不是active attack,也無法獲取其他人的km*G。
km*G的X座標是什麼?
不就是大名鼎鼎的Pre-Master Key嘛!
推薦閱讀1、2、3。