在連線 Wi-Fi 或設定家裡的 Wi-Fi Router 時,經常在安全協議的選項看到,可以選擇 WEP、WPA、WPA2、WPA3 等。他們分別代表了什麼?又存在著哪些差異呢?這篇文章將以小白的角度,簡單的描述這些安全協議的運作原理及差異。

什麼是 PSK?

在開始之前,我們先來認識經常與安全協議一起出現的名詞「PSK」。PSK 全名為「pre-shared key」,顧名思義就是預先分享的密碼,其實也就是我們平時登入 Wi-Fi 時,輸入的密碼。

Wi-Fi 連線的四次握手

Wi-Fi 在連線時,會經過四次握手的連線以確保客戶端(使用者)知道 Wi-Fi 密碼(PSK),並生成安全的通訊金鑰。

如下圖所示,客戶端和 Wi-Fi 分享器(AP)會先各自生成一段隨機數,分別為「Anonce」和「Snonce」。接著客戶端與 Wi-Fi 分享器會各自將彼此生成的隨機數(共兩個)以及 Wi-Fi 分享器的密碼(PSK)進行加密演算。最後將兩方各自加密後的密文比對,即可在不傳輸 PSK 的同時,驗證客戶端是否知道 Wi-Fi 的密碼,以避免遭到攻擊者監聽獲得 PSK。

image

圖片來源:https://networklessons.com/wp-content/uploads/2023/12/wpa-4-way-handshake-workflow.png

聰明的你/妳應該會發現,圖片中還有一個名詞「MIC」,它是做什麼的呢?為了避免兩端之間的傳輸遭到劫持串改,會使用彼此生成的兩隨機數(ANonce、SNonce)與 Wi-FI 密碼進行哈希運算,以確認資料並無遭到串改。如果 MIC 比對錯誤,連線就會失敗。

破解 Wi-Fi 密碼

[!Warning]
所有內容之目的在於提升技術能力和資安意識,不得從事非法攻擊或違法行為,所有非法行為將受法律規範,切勿以身試法。詳閱刑法 358 至 363 條。

攻擊者若想破解 Wi-Fi 密碼,需要先監聽四次握手的隨機數以及經過加密運算後的資料,接著使用密碼本離線爆破去的 PSK。

WEP:

WEP 是最早推出的安全協議,其使用 RC4 演算法對 PSK 和一個 24 位元的隨機數(IV)進行加密,但因為其加密演算法本身存在一些漏洞,以及 IV 僅使用 24 位元導致重複性太高(僅 16,777,216 種),攻擊者只要收集夠多重複的 IV,就能推算出 PSK,並在幾分鐘內破解。造成安全性過低,使攻擊者能夠輕易的破解取得密碼。也因為其安全性過低,目前已遭棄用。

WPA:

為了提高安全性發明了 WPA,它在 WEP 的基礎上增加 TKIP,雖解決了 IV 容易遭到破解的問題,但仍然使用 RC4 演算法,因此用字典檔暴力破解 PSK 的難度較 WEP 高,但仍不安全。

WPA2:

為了解決 RC4 演算法造成安全性過低的問題,WPA2 使用 AES 演算法。但攻擊者仍然可以透過監聽四次握手透過密碼本爆破取得密碼。以目前的硬體設備,使用密碼本僅需 5 分鐘到幾小時即可爆破成功。

WPA3:

在進行四次握手時,會因為遭到監聽而被攻擊者離線爆破獲得密碼,因此 WPA3 改用 SAE,而不使用四次握手,其概念與公鑰、私鑰類似,因此較難透過離線爆破密碼。

若攻擊者想要嘗試爆破,只能透過以下兩種方式:

  1. 若 Wi-Fi 分享器沒有設定密碼嘗試次數的限制,可以嘗試不斷的連線 Wi-Fi 分享器爆破密碼,然而依 Wi-Fi 分享器的處理效能不同,每次連線皆需 0.1 至 0.5 秒時間。若想爆破密碼,簡單的密碼可能需要幾小時到幾天,複雜的密碼則有可能花上數十年到數世紀的時間,可見此方法基本上不可行。
  2. 降級攻擊:因為 WPA3 是 2018 年推出的安全協議,為了能夠相容所有裝置,一般在設定上會使用混合模式,也就是同時存在 WPA2 和 WPA3 兩種安全協議,因此可以透過降級攻擊將其安全等級變為 WPA2。具體方法是先斷開原始連線,並讓使用者被迫連接到假的 WPA2 安全協議的 Wi-Fi 分享器,藉此進行降級攻擊。

預防 Wi-Fi 密碼破解

若你/妳是一位 Wi-Fi 分享器的管理者,要如何預防 Wi-Fi 密碼遭到破解呢?

  1. 設定高強度密碼:密碼長度建議為 20 位以上,包含大小寫字母、數字和特殊符號。
  2. 關閉混合模式:2018 年後推出的電子產品基本上都支援 WPA3 的安全協議,因此應關閉混合模式並使用 WPA3。也可使用 WPA3-Enterprise,分配每位使用者帳號密碼,在遇到攻擊事件時,也較容易從紀錄檔中分析釐清責任。

如果有任何疑問或建議,歡迎來信詢問:sunyipingtw@icloud.com