WPA2/WPA3、漫游与受控端口状态¶
连接问题必须把 802.11 关联、AKM 认证、密钥安装、受控端口和 IP 配置分开。UI 显示“已连接”并不代表数据面已经可用。
分层状态¶
DISCOVERED
→ AUTHENTICATED (802.11 open/SAE 等语境需区分)
→ ASSOCIATED
→ PTK/GTK READY
→ CONTROLLED PORT AUTHORIZED
→ L3 CONFIGURED
→ SERVICE REACHABLE
每层有独立的成功证据和超时。DHCP 失败不能自动归因于四次握手;关联成功也不能证明 Key/Port/queue 已放行。
RSN 协商¶
STA 在 Scan 结果中读取 RSN/RSNXE 等能力,选择协议、pairwise/group cipher、AKM 与 PMF policy,并在 Association Request 中提交选择。AP 的响应和后续 EAPOL 必须与选择一致。
实现应保存“原始能力”“Host 选择”“Firmware/Hardware 实际配置”三份视图,并在差异时给出 reason。只保存最终 cipher 字符串无法解释能力协商失败。
四次握手的状态提交¶
M1 提供 ANonce,Supplicant 生成 SNonce 并派生 PTK;M2 让 Authenticator 验证;M3 携带受保护的 GTK Key Data 与 replay counter;M4 确认。双方本地安装 Key,不是 AP 把 PTK 传给 STA。
实现需要处理:
- EAPOL replay counter 单调性和重传;
- M3 重传不得导致 Key 重装或 TX PN 回退;
- Key 写 Hardware table 的原子发布;
- Key ready、Port authorized 与数据 queue release 的顺序;
- 握手失败时清理旧 Key/BA/Peer state;
- 日志绝不输出 PMK/PTK/GTK 或可恢复密钥的材料。
WPA3-SAE 边界¶
SAE 在关联前建立抗离线字典攻击的共享密钥材料,随后仍进入 RSN 和四次握手。排查要区分 SAE commit/confirm、anti-clogging、group/capability、Association 和 EAPOL 阶段。
PMF 使用管理帧完整性保护健壮管理帧。capable、required 与实际协商结果要分开;未受保护的 Deauth/Disassoc 在 PMF 会话中不能按普通断链处理。
Roam 不是一次简单 reconnect¶
漫游可包含扫描/邻居信息、候选评分、预认证或 FT、reassociation、Key 切换和 datapath 切换。关键目标是在旧链路失效前准备尽可能多的新状态,同时防止两个 AP Context 混用。
sequenceDiagram
participant H as Host/Supplicant
participant F as Firmware
participant O as Old AP
participant N as New AP
H->>F: candidate/policy
F->>F: scan / score / prepare generation N
F->>N: auth / reassoc / key procedure
Note over F: commit new Peer/Key/Channel
F-->>H: roam result + new generation
F->>O: release old context
提交点之前,数据仍属于旧 Peer;提交点之后,旧 completion/Event 不得修改新状态。若硬件只有一套 Key/Peer slot,要定义切换期间暂停队列的窗口。
11k/11v/11r 的作用边界¶
- 11k 提供邻居和测量信息,帮助发现候选,不保证漫游;
- 11v 可提供 BSS Transition 建议,STA 仍有策略选择;
- 11r 缩短认证/密钥派生路径,但不会消除信道切换、关联和数据面恢复时间。
不要看到协议 IE 就断言功能生效;需要对齐请求、响应、选择、提交与业务中断时间。
Controlled Port 与例外流量¶
Port 未授权时通常只允许必要认证流量,例如 EAPOL。Driver/Firmware 需要明确过滤位置和例外规则。若 Host 认为 Port open、Firmware 仍 block,表现为关联和握手成功但 DHCP 不出去。
诊断矩阵¶
| 现象 | 先验证 |
|---|---|
| 找不到 AP | Regulatory/channel、Scan dwell、RF detect |
| Auth/Assoc 被拒 | status code、能力/安全选择 |
| M1 后无 M2 | Supplicant、PMK/AKM、Event delivery |
| M3 循环 | MIC/replay、Key install、M4 TX |
| Port open 但无 DHCP | key generation、TX queue、decrypt/replay、VLAN/AP |
| Roam 后单向通 | Peer/Key/BA/PN 的新旧绑定 |
最小证据包¶
保存 BSS capability、Auth/Assoc status、EAPOL message/replay counter(不含密钥)、Key metadata、Port state、Peer generation、TX/RX reason、roam commit 时间和空口抓包。所有来源使用统一时间轴。
面试追问¶
- Association success、4-way complete、Port authorized 有什么区别?
- M3 重传为什么可能成为安全问题?
- 11r 能缩短哪些阶段,不能缩短哪些阶段?
- 漫游后旧 BA completion 为什么可能破坏新连接?
答题要点与适用边界¶
Association成功仅确认加入BSS;4-way完成确认相应安全握手状态;Port authorization控制普通数据是否允许。M3重传若重复初始化同一Key的PN,会破坏安全状态。11r优化部分认证/密钥过程,不能消除信道调谐、调度和业务路径恢复。旧BA/TX事件若引用被复用的Peer/TID,会推进新窗口或错误归还资源。