技術小故事

PMF 守門員的隱形印章

它不是拿來保護 Wi-Fi 資料內容,而是保護 Wi-Fi 連線控制過程,避免管理訊框被偽造利用。

2026-05-27 · 5 min read
802.11w PMF WPA3 Wi-Fi 安全

它不是拿來保護 Wi-Fi 資料內容,而是保護 Wi-Fi 連線控制過程,避免管理訊框被偽造利用。

故事場景

想像一棟企業大樓,大廳裡有一位名為 FortiAP 的門衛。

FortiAP 的工作就是讓合法員工(Wi-Fi clients)順利進出大樓,並維持每一個人的進出紀錄。他每隔幾秒就廣播一次 Beacon,像是播音員報站:「這裡是 CorpWiFi,歡迎進站!」

員工 STA-Alice 走進大樓,和 FortiAP 完成了一套嚴謹的入場流程:

  • Probe Request / Probe Response:「你好,CorpWiFi 在嗎?」「在這裡!」
  • Association Request / Association Response:「我可以加入嗎?」「歡迎,請進。」
  • 4-Way Handshake(WPA2/WPA3):兩人交換了秘密金鑰,確認彼此身份。

STA-Alice 順利進入,開始辦公,資料傳輸一切正常。

問題:沒有印章的驅逐令

大樓外,站著一個名為 Attacker-Kai 的陌生人。

Attacker-Kai 無法進入大樓(他沒有密碼),但他發現了一個漏洞:驅逐令(Deauthentication Frame)根本沒有印章。

任何人只要知道 FortiAP 的 BSSID(大樓地址)和 STA-Alice 的 MAC Address(員工編號),就可以偽造一張驅逐令:

偽造的 Deauthentication Frame
收件人:STA-Alice(MAC: aa:bb:cc:dd:ee:ff)
發件人:FortiAP(BSSID: 11:22:33:44:55:66)← 偽造
內容:你已被強制中斷連線,請重新認證。
簽章:(空白)

STA-Alice 收到這張沒有印章的驅逐令,卻傻傻地信了。她的設備自動斷線,開始重新搜尋 AP。就在這個空隙,Attacker-Kai 架起一台偽造的 Rogue AP,廣播和 CorpWiFi 一樣的 SSID……

這就是 Deauthentication Attack(deauth 攻擊)——不需要破密碼,只需要一張偽造的驅逐令。

PMF 出場:隱形印章機制

後來,大樓導入了 PMF(Protected Management Frames,IEEE 802.11w)

FortiAP 在 4-Way Handshake 時,和 STA-Alice 之間協商出了兩把特殊的金鑰:

金鑰用途
PTK(Pairwise Transient Key)加密點對點資料與單播管理訊框,附加 MIC 印章
IGTK(Integrity Group Temporal Key)保護廣播 / 多播管理訊框的完整性(BIP / AES-128-CMAC)

這兩把金鑰,只有 FortiAP 和 STA-Alice 知道。現在,每一張驅逐令都必須附上 MIC(Message Integrity Check)——一個用 PTK 算出來的數位印章。

接收端只要核對 MIC,就能判斷這張驅逐令是否真的來自合法的 AP。缺少 MMIE(Management MIC Information Element,元素 ID 0x4c),或 MIC 驗證失敗,封包直接丟棄。

攻擊者的困境

Attacker-Kai 再次出手,偽造了一張驅逐令。但這次,STA-Alice 沒有乖乖斷線。

她拿到驅逐令後先核對 MIC——Attacker-Kai 沒有 PTK,算出來的 MIC 是錯的,或者根本就沒有 MMIE 這個欄位。

STA-Alice 心想:「這張驅逐令沒有合法印章,直接丟棄。」

連線繼續,攻擊失敗。

WPA3 時代:印章變成強制規定

在 WPA2 時代,PMF 是可選的(Optional 或 Required 由管理員決定)。

但到了 WPA3,故事改寫了:

WPA3-Personal、WPA3-Enterprise、OWE(Enhanced Open) 全部強制要求 PMF。沒有 PMF,就不能使用 WPA3。

PMF 從選配配件,晉升為出廠標配。

Transition Mode 的灰色地帶

WPA2/WPA3 混合環境是最複雜的情境。FortiAP 在 Transition Mode 下,要同時服務:

  • WPA3 client:支援且強制使用 PMF
  • WPA2 client(支援 PMF):可以使用 PMF
  • 舊型 WPA2 client(不支援 PMF):以無 PMF 的方式連線

這意味著 PMF 並不對所有人強制生效。舊型印表機、IoT 裝置、工控終端,仍可能以未保護的方式連線,拉低整體安全水位。

Fortinet 的建議是:先設成 optional,搭配 client association logs 觀察哪些設備出現連線異常,確認相容性後再逐步改為 required

PMF 的邊界:它不是萬靈丹

威脅類型PMF 能否防護
管理訊框偽造(deauth / disassoc spoofing)✅ 有效防護
Layer 1 無線電干擾(jamming attack)❌ 實體層問題,PMF 無能為力
Control Frame 濫用(RTS / CTS)❌ Control Frame 不受保護
4-Way Handshake 期間的 Evil Twin / MitM❌ 初次握手前無保護

PMF 是守門員,但只負責守「管理訊框」這道門。實體層的干擾、控制訊框的濫用、第一次握手前的偽造 AP——這些不在他的管轄範圍。

技術摘要

  • 觸發條件:Client 與 AP 在 4-Way Handshake 時協商是否啟用 PMF
  • 保護對象:Disassociation、Deauthentication、部分 Action Frame(Block ACK、QoS、Fast BSS Transition 等)
  • 單播保護:用 PTK 對管理訊框附加 MIC(Message Integrity Check)
  • 廣播保護:用 IGTK + BIP(AES-128-CMAC)保護廣播 / 多播管理訊框
  • 識別欄位:MMIE(Management MIC Information Element,元素 ID 0x4c)
  • WPA3 強制:WPA3-Personal / WPA3-Enterprise / OWE 皆要求 PMF
  • PMF 限制:Layer 1 干擾、Control Frame(RTS/CTS)、初次握手前的攻擊不受保護
FortiAP CLI 設定 FortiOS
config wireless-controller vap
edit "vap-name"
set pmf enable
next
end

Sources: IEEE 802.11w-2009 - Wikipedia ·  Cisco 802.11w Deployment Guide ·  Fortinet Community - PMF/MFP 設定指南