萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 無線網路知識

WPA/WPA2 密碼機制深度解析:從 PSK 到 PMK/PTK、四次握手、MIC 驗證與離線破解原理

核心雜湊基礎

哈希 (Hash):單向函數,輸入任意長度 → 固定長度摘要。特性:不可逆 (無法從摘要反推輸入)、抗碰撞 (極難找到兩輸入產生相同摘要)。常見:MD5 (128-bit, 已破解)、SHA-1 (160-bit, 弱)、SHA-256/384/512 (現代標準)。

WPA 密碼體系鏈路

用戶輸入 PSK (8-63 ASCII) 
       ↓ PBKDF2-HMAC-SHA1 (4096 迭代, SSID 作為 Salt)
PMK (Pairwise Master Key, 256-bit / 64 Hex)  ← 靜態主金鑰,同一 SSID+PSK 固定
       ↓ PRF-512 (PMK, ANonce, SNonce, AA, SA)
PTK (Pairwise Transient Key, 512-bit) ← 每次會話動態生成
       ├── KCK (Key Confirmation Key, 128-bit) → 計算 MIC
       ├── KEK (Key Encryption Key, 128-bit) → 加密 GTK 傳輸
       └── TK (Temporal Key, 128-bit) → 加密數據幀 (CCMP/TKIP)

四次握手包詳細內容

幀發送方關鍵欄位用途
Msg 1AP → STAANonceAP 隨機數,防重放
Msg 2STA → APSNonce, MICSTA 隨機數 + 證明擁有 PMK
Msg 3AP → STAANonce, GTK (加密), MIC分發群組金鑰 GTK + 確認
Msg 4STA → APMIC確認安裝 PTK/GTK

關鍵點:PMK、PTK 不在握手包中傳輸。握手包僅含 MAC、Nonce、MIC。攻擊者需離線猜測 PSK → 算 PMK → 算 PTK → 算 MIC → 比對。

認證驗證邏輯

  1. STA 計算 MIC = HMAC-SHA1-128(KCK, EAPOL_Key_Data) (WPA2 為 AES-128-CMAC)。
  2. AP 用相同 KCK 算 MIC' 比對。相等 → 認證成功;不等 → 失敗。
  3. MIC 機制確保雙方擁有相同 PMK,且 Nonce 新鮮,防重放攻擊。

離線破解完整鏈路

輸入:握手包 (MAC_AP, MAC_STA, ANonce, SNonce, MIC) + 字典 PSK 候選
循環每個 PSK:
  PMK = PBKDF2-HMAC-SHA1(PSK, SSID, 4096, 256)
  PTK = PRF-512(PMK, "Pairwise key expansion", MAC_AP||MAC_STA||ANonce||SNonce)
  KCK = PTK[0:16]
  MIC_calc = HMAC-SHA1-128(KCK, Msg2_EAPOL_Key_Data)
  若 MIC_calc == MIC 捕獲值 → PSK 正確,破解成功

瓶頸:PBKDF2 4096 迭代極慢 (CPU ~1k H/s, GPU ~300k H/s)。空間換時間:airolib-ng 預計算 PMK 表 (Hash Table) → 破解時直接查表跳過 PBKDF2,但需儲存 64 Bytes × 字典大小 (rockyou 1400萬 ≈ 900 MB)。

TKIP 弱點與 tkiptun-ng

  • TKIP 使用 Michael MIC (64-bit) + RC4,MIC 算法可被線性近似,tkiptun-ng 可在 12-15 分鐘 解密單向 TKIP 數據幀 (非破解 PSK)。
  • 不影響 WPA2-AES (CCMP),CCMP 使用 AES-CTR + CBC-MAC,目前無實用破解。

wpa_passphrase 快速生成 PMK

$ wpa_passphrase "TP-LINK" "12345678"
network={
    ssid="TP-LINK"
    #psk="12345678"
    psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da
}

psk= 即 PMK (256-bit Hex)。相同 PSK 不同 SSID 產生完全不同 PMK,故預計算表須按 SSID 分別建立。PMK 不可逆推 PSK,直接輸入 PMK 亦可連線 (等同輸入 PSK)。

防禦總結

  • PSK 高熵隨機 (≥12 字元全鍵盤) → 字典空間覆蓋率趨近 0。
  • WPA3-SAE 取代 PSK/PMK 架構,使用 Dragonfly PAKE,離線字典攻擊無效。
  • 企業環境強制 802.1X,消除共享金鑰風險。

理解 PMK/PTK/MIC 推導鏈,才能真正評估 Wi-Fi 密碼安全強度並部署有效防禦。

copyright © 萬盛學電腦網 all rights reserved