第 8 章:安全演进 — 从明信片到强密码箱
"没有安全的通信,就像没有锁的门——任何人都能进来。"
¶ 本章导读
WiFi 安全的演进是一个不断修补漏洞的过程。从最初形同虚设的 WEP,到临时补丁 WPA,再到真正安全的 WPA2/WPA3。每一代安全协议的诞生,都是因为前一代被彻底攻破。
本章你将学到:
- WEP:RC4 的错误使用方式如何毁掉一个协议
- WPA/TKIP:临时补丁的局限
- WPA2/CCMP:AES 加密与 4 次握手的完整机制
- WPA3/SAE:Dragonfly 密钥交换与前向保密
- 802.11w/PMF:保护管理帧不被伪造
- 802.1X/RADIUS:企业级认证架构
- 已知攻击与漏洞的完整梳理
¶1 WEP — 明信片(1997)
¶1.1 WEP 的加密流程
WEP(Wired Equivalent Privacy)使用 RC4 流密码加密数据帧:
| 组件 | 说明 |
|---|---|
| RC4 | 流密码,产生伪随机密钥流 |
| IV | 24 位初始化向量,与密钥拼接后作为 RC4 种子 |
| Key | 40 位或 104 位预共享密钥 |
| CRC-32 | 校验和,用于完整性校验(非密码学 MAC) |
| ICV | Integrity Check Value,CRC-32 计算结果 |
RC4 本身没有被攻破,问题在于 WEP 的使用方式——IV 太短、CRC-32 不是密码学 MAC、无密钥管理。
¶1.2 WEP 的致命缺陷
| 缺陷 | 说明 | 后果 |
|---|---|---|
| IV 太短 | 24 位 → 约 1677 万种 | 忙碌网络几小时内 IV 重复 |
| CRC-32 不安全 | 线性运算,可被篡改 | 攻击者可修改数据而不被发现 |
| RC4 弱密钥 | 某些 IV+ 密钥组合导致密钥流偏差 | 可统计分析恢复密钥 |
| 无密钥管理 | 所有用户共享同一密钥 | 无法撤销单个用户的访问权限 |
| 无重放保护 | 没有序列号机制 | 可以重放旧的加密帧 |
| IV 明文传输 | IV 不加密,与密文一起发送 | 攻击者可收集 IV 进行分析 |
¶1.3 FMS 攻击原理
2001 年,Fluhrer, Mantin, Shamir(FMS)发表了针对 WEP 的攻击论文。核心发现:
RC4 的 KSA(Key Scheduling Algorithm)存在偏差:
当 IV 格式为 (A+3, N-1, X) 时,KSA 的第一步不会充分扰乱 S [1],导致 PRGA(Pseudo-Random Generation Algorithm)输出的第一个字节有统计偏差。
1 | 正常情况: S[1] 应该被充分洗牌 |
¶1.4 其他攻击方法
| 攻击方法 | 年份 | 原理 | 所需时间 |
|---|---|---|---|
| FMS 攻击 | 2001 | 弱 IV 导致密钥流偏差 | ~1 小时 |
| PTW 攻击 | 2007 | 利用更多弱 IV,效率更高 | 几分钟 |
| ChopChop | 2004 | 逐字节剥离密文,利用 CRC-32 的线性性 | 几分钟 |
| Fragment 攻击 | 2004 | 利用碎片帧重组机制 | 实时 |
¶1.5 为什么 CRC-32 不是 MAC
CRC-32 是为检测传输错误设计的,不是为安全性设计的:
1 | CRC-32 的线性性质: |
交通比喻:WEP 就像用明信片寄送密码——理论上 "写在纸上" 了,但谁都能看到。锁是 8 位十六进制密码锁(24 位 IV,约 1677 万种组合),几小时就能试出来。而且 CRC-32 就像一个可以擦写的墨水印章——攻击者可以改了内容再盖一个新章。
¶2 WPA/TKIP — 临时补丁(2003)
¶2.1 TKIP 的改进
WPA(Wi-Fi Protected Access)是 WEP 的临时替代方案,核心改进是 TKIP(Temporal Key Integrity Protocol):
| 改进 | WEP | WPA/TKIP |
|---|---|---|
| 每帧密钥 | 固定 | 每帧不同(IV + 基密钥 + MAC 地址混合) |
| IV 长度 | 24 位 | 48 位(TSC,TKIP Sequence Counter) |
| 完整性校验 | CRC-32 | Michael MIC(消息完整性校验) |
| 密钥管理 | 无 | 4 次握手(802.1X 或 PSK) |
| 重放保护 | 无 | 有(TSC 序列号计数器) |
¶2.2 TKIP 密钥混合函数
TKIP 的核心创新是密钥混合函数——每帧使用不同的加密密钥:
| 阶段 | 输入 | 输出 | 作用 |
|---|---|---|---|
| Phase 1 | TK + TA + TSC[47:16] | TTAK(80 位中间密钥) | 将发送方 MAC 地址混入密钥 |
| Phase 2 | TTAK + TK + TSC[15:0] | WEP IV + RC4 Key | 每帧独立计算最终密钥 |
这解决了 WEP 的 IV 重用问题——即使两个 STA 使用相同的 IV,由于 MAC 地址不同,实际的 RC4 密钥也不同。
密钥混得再独立,也补不上 WEP 留下的另一个窟窿——CRC-32 能被线性篡改(§8.1.5)。所以 TKIP 的第二个改进是换掉完整性校验,用 Michael MIC 顶上。
¶2.3 Michael MIC
Michael MIC 是专门为 TKIP 设计的消息完整性校验算法:
| 特性 | 说明 |
|---|---|
| 输出长度 | 8 字节(64 位) |
| 算法 | 基于 Feistel 结构的轻量级设计,使用移位和 XOR 操作 |
| 安全性 | 比 CRC-32 强得多,但不如 HMAC |
| 设计约束 | 必须在旧硬件上用软件实现(WEP 设备升级) |
Michael MIC 的关键改进:如果检测到篡改,TKIP 会停止通信 60 秒,防止攻击者反复尝试。
¶2.4 TKIP 的攻击
TKIP 虽然大幅改进了 WEP,但仍基于 RC4:
| 攻击 | 年份 | 原理 | 影响 |
|---|---|---|---|
| Beck-Tews 攻击 | 2008 | 利用 RC4 偏差 + QoS 优先级队列 | 可解密短帧(ARP) |
| Ohigashi-Morii 攻击 | 2009 | 改进 Beck-Tews,无需 QoS | 更广泛适用 |
| Michael MIC 反击 | 2008 | 利用 MIC 的弱点 | 可伪造短帧 |
交通比喻:WPA 就像把 3 位密码锁换成了 6 位密码锁(48 位 IV),并且每辆车都用不同的钥匙(每帧密钥)。但锁芯还是旧的(RC4),专业小偷仍然能打开。
¶3 WPA2/CCMP — 真正的保险柜(2004)
¶3.1 AES-CCMP 加密过程
WPA2(基于 802.11i)引入了 AES-CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol),这是真正的安全升级:
| 特性 | WPA/TKIP | WPA2/CCMP |
|---|---|---|
| 加密算法 | RC4 | AES-128 |
| 密钥长度 | 128 位 | 128 位 |
| 完整性校验 | Michael MIC | CBC-MAC |
| 模式 | 拼凑式 | 原生设计 |
| 安全性 | 可被攻破 | 至今未被攻破(CCMP) |
| 硬件支持 | 软件实现 | 需要 AES 硬件加速 |
CCMP 的并行处理:
CCMP 的设计很巧妙——加密(CTR 模式)和完整性校验(CBC-MAC)使用同一个 AES 密钥,但并行执行:
1 | 加密过程 (CTR 模式): |
¶3.2 4 次握手详解
WPA2 使用 4 次握手机制来协商会话密钥:
| 消息 | 方向 | 内容 | 作用 |
|---|---|---|---|
| Msg 1 | AP → STA | ANonce | AP 发送随机数,STA 据此计算 PTK |
| Msg 2 | STA → AP | SNonce + MIC | STA 发送自己的随机数 + 完整性校验 |
| Msg 3 | AP → STA | GTK (加密) + MIC | AP 发送组密钥 + 安装指示 |
| Msg 4 | STA → AP | ACK | STA 确认,双方开始加密通信 |
每条消息的详细说明:
Msg 1:AP 生成随机数 ANonce,以明文发送给 STA。STA 收到后,结合自己的 SNonce 和双方 MAC 地址,计算出 PTK。
Msg 2:STA 生成 SNonce,连同自己的 MAC 地址发送给 AP。使用 KCK 计算 MIC,证明自己知道 PMK。
Msg 3:AP 计算出相同的 PTK,用 KEK 加密 GTK 发送给 STA。包含安装指示(Install bit),告诉 STA 可以开始使用密钥。
Msg 4:STA 确认密钥安装完成。双方开始使用 TK 加密数据帧。
为什么 AP 一定要等到 Msg 4 才发数据? 双向认证其实在 Msg 2、Msg 3 就完成了(Msg 2 的 MIC 证明 STA 知道 PMK,Msg 3 的 MIC 证明 AP 知道 PMK)。Msg 4 不承担认证,它的作用是密钥安装确认——装密钥的时序是「不对称」的:
- STA 在收到 Msg 3 后就安装 PTK(它拿到 ANonce 能算 PTK,也验证了 AP 是真的);
- AP 要等到 Msg 4 才安装 PTK。
为什么不对称?因为 AP 无法确定 STA 到底有没有成功装上密钥:如果 AP 发完 Msg 3 就立刻用新 PTK 加密发数据,而 Msg 3 恰好丢了(或 STA 还没处理完),那 STA 手里根本没这把新密钥,解不开 AP 发来的数据,等于白发。Msg 4 就是 STA 给 AP 的那句「我装好了,你可以开始加密了」——AP 收到、验过 MIC,才敢用新密钥发包。
这个「STA 在 M3 装、AP 在 M4 装」的时序,也正是下面 8.3.5 讲的 KRACK 攻击下手的地方。
¶3.3 密钥层次结构
1 | Passphrase (密码) |
PTK 的计算:
1 | PTK = PRF(PMK, "Pairwise key expansion", |
¶3.4 Group Key 握手
Group Key 握手用于更新 GTK(组密钥),通常在 STA 断开连接后触发:
1 | 1. AP → STA: EAPOL-Key (GTK 加密, MIC) |
GTK 用于加密广播和组播帧。当有 STA 离开网络时,AP 会更新 GTK,确保离开的 STA 无法继续解密组播流量。
¶3.5 KRACK 攻击
2017 年,Mathy Vanhoef 发现了 KRACK(Key Reinstallation Attack)漏洞:
攻击原理:
攻击步骤:
- AP 发送 Msg 3(安装密钥 K)给 STA
- STA 回复 Msg 4,但攻击者拦截,AP 没收到确认
- AP 超时后重发 Msg 3
- STA 重新安装密钥 K → nonce 计数器被重置为 0
- 使用相同密钥 + 相同 nonce 加密不同数据 → 攻击者可解密
影响范围:WPA2 的所有 4 次握手都受影响,包括 Fast BSS Transition (FT) 握手。
修复方案:802.11 标准更新,要求 STA 在密钥安装后不再接受重放的 Msg 3。
CCMP 基于 AES-CTR 模式(计数器模式)。它的加密逻辑很简单:
密文 = 明文 XOR 密钥流
密钥流 = AES (密钥, Nonce + 计数器)
其中:
密钥:由四次握手生成,每个会话固定。
Nonce:一个 “一次性随机数”,保证每次加密用的密钥流都不同。
计数器:同一个 Nonce 下,每加密一个数据包,计数器递增。
关键点:Nonce 的设计原则是 “一次性”——同一个密钥下,Nonce 绝对不能重复使用。
如果重复会发生什么?
1
2 数据包1:密文1 = 明文1 XOR 密钥流
数据包2:密文2 = 明文2 XOR 密钥流注意,因为 Nonce 相同、密钥相同,所以密钥流完全一样。现在攻击者把两个密文做 XOR:
1
2
3 密文1 XOR 密文2
= (明文1 XOR 密钥流) XOR (明文2 XOR 密钥流)
= 明文1 XOR 明文2** 密钥流被完全消掉了!** 攻击者虽然不知道密钥流,但他得到了 明文 1 XOR 明文 2。这是一个极其严重的信息泄露。
特别严重的情况:攻击者不仅能触发 Nonce 重置,还能诱使设备安装一个全零的密钥。
¶3.6 Personal vs Enterprise
| 对比 | WPA2-Personal | WPA2-Enterprise |
|---|---|---|
| 认证方式 | PSK(预共享密钥) | 802.1X + RADIUS |
| PMK 来源 | PBKDF2 (密码) 直接计算 | RADIUS 服务器生成并下发 |
| 用户管理 | 所有人共用一个密码 | 每人独立账号 / 证书 |
| 密钥撤销 | 修改密码(影响所有人) | 禁用单个账号 |
| 适用场景 | 家庭、小型办公室 | 企业、校园、酒店 |
| 安全性 | 可被离线字典攻击 | 取决于 EAP 方法 |
交通比喻:WPA2 就像用 AES 加密的保险柜——锁芯是全新设计的(AES),钥匙是 128 位的随机密码。开锁前还要通过 4 步验证(4 次握手)确认身份。Personal 模式像所有住户共用一把钥匙,Enterprise 模式像每人一张门禁卡。
¶4 WPA3 — 强密码箱(2018)
¶4.1 SAE 握手(Dragonfly 协议)
WPA3 最大的改进是引入了 SAE(Simultaneous Authentication of Equals)握手,替代了 WPA2 的 PSK 模式。SAE 基于 Dragonfly 密钥交换协议(RFC 7664)。
| 特性 | WPA2-PSK | WPA3-SAE |
|---|---|---|
| 离线字典攻击 | 可能(捕获握手即可离线破解) | 不可能(必须在线交互) |
| 前向保密 | 无(PMK 固定) | 有(每次握手生成新 PMK) |
| 密钥协商 | 4 次握手(PMK 已知) | SAE(Dragonfly)+ 4 次握手 |
| 等价身份 | 不对等(AP 知道密码) | 对等(双方都证明知道密码) |
| 抗阻塞 | 无 | 有(Anti-Clogging) |
SAE 的 Hunting-and-Pecking 算法:
1 | 输入: 密码 + 双方 MAC 地址 |
¶4.2 SAE Commit/Confirm 交换
SAE 握手分为三个阶段:
Phase 1: Hunting-and-Pecking
- 双方独立计算 PWE(使用相同密码和 MAC 地址)
- 不需要网络通信
Phase 2: Commit Exchange
1 | STA → AP: Commit(scalar_STA, element_STA) |
Phase 3: Confirm Exchange
1 | AP → STA: Confirm = CN(SAE-KCK, send-confirm, 双方 commit 的 scalar/element) |
PMK 派生:
1 | 共享点 K = rand_STA × rand_AP × PWE ← 双方各自算出同一个点 |
PMK 算出来了,但 SAE 真正的价值要等握手之后才显形——同样叫 PMK,WPA2 是「一次生成、长期复用」,SAE 是「每次临时生成」。这个差异正是前向保密的分水岭。
¶4.3 前向保密与抗阻塞
前向保密(Forward Secrecy):
1 | WPA2-PSK: |
常见误解:Wireshark 不是靠密码解 WPA3:前向保密说的是「拿到密码 + 抓包,无法离线推算 PMK 去解密」。但 Wireshark 确实能解 WPA3 流量——它用的不是密码,而是从客户端 / AP 用
wpa_supplicant -d -K(或hostapd)导出的现成 PMK keylog,把这个 PMK 当解密密钥。这等于你已经拿到了那把会话密钥本身(而且只能解那一个客户端↔AP 的连接),跟「知不知道密码」是两回事。真正「密码就能推 PMK」的只有 WPA2,这也正是 WPA2 无前向保密、可离线跑字典的原因。
抗阻塞(Anti-Clogging):
SAE 引入了 Cookie 机制防止 Commit 洪泛攻击:
1 | 1. 攻击者发送大量 Commit 请求 |
¶4.4 192 位安全套件
WPA3 引入了 192 位安全套件(CNSA),用于企业级安全。默认的 128 位套件已够民用,但政府、金融、军事场景要对抗的是国家级算力,于是标准额外给出一档「全部组件同步升档」的高强度选项。读下表的关键,是把它看作同一条强度链条,而不是五条互不相干的参数:
| 组件 | 128 位套件(默认) | 192 位套件(CNSA) |
|---|---|---|
| 加密 | AES-128-CCMP | AES-256-GCMP |
| 哈希 | SHA-256 | SHA-384 |
| 密钥交换 | 256 位 ECDH | 384 位 ECDH |
| PMK 长度 | 256 位 | 384 位 |
| PTK 长度 | 384 位 | 704 位 |
| 适用场景 | 一般用途 | 政府、金融、军事 |
为什么五条组件要同步升档?因为安全强度由最弱的一环决定。只升 AES 到 256 位、哈希还停在 SHA-256,攻击者会绕开 AES 直接碰撞哈希;只加长 PMK、ECDH 仍用 256 位曲线,前向保密的「临时钥匙」就成了可被暴力破解的短板。所以 CNSA 是五条组件一起抬——加密、哈希、密钥交换、PMK、PTK,任何一条落下,整套就被拖回 128 位时代。
¶4.5 Transition Mode
WPA3 支持与 WPA2 共存的过渡模式:
| 模式 | 说明 | 安全性 |
|---|---|---|
| WPA3-only | 只允许 WPA3-SAE 连接 | 最高 |
| WPA3 Transition | 同时允许 WPA3-SAE 和 WPA2-PSK | 较低(WPA2 是弱点) |
| WPA2-only | 只允许 WPA2-PSK | 较低 |
降级攻击能得手,是因为 Transition Mode 在信标里同时宣告 WPA2 和 WPA3 两种能力。攻击者架起一台同 SSID 的假 AP,只在信标里宣告 WPA2-PSK(或过滤掉真 AP 的 WPA3 能力宣告);STA 扫到「只有 WPA2 可用」,便退回 WPA2 的 4 次握手、用固定 PMK 认证。此时 SAE 的抗离线字典攻击形同虚设——攻击者抓一次握手,就能像 WPA2 时代一样离线跑字典破解密码。所以「不是 SAE 被破解,而是兼容性给攻击者留了扇回旧协议的后门」。
Transition Mode 会降低安全性,因为攻击者可以强制 STA 使用 WPA2 模式(降级攻击)。建议尽快迁移到 WPA3-only。
¶4.6 Dragonblood 漏洞
2019 年,Mathy Vanhoef 等人发现了 Dragonblood 漏洞,影响 WPA3 的 SAE 握手:
| 漏洞 | 影响 | 缓解措施 |
|---|---|---|
| 降级攻击 | 强制使用 WPA2 模式 | 禁用 Transition Mode |
| 侧信道攻击 | 通过计时信息推断密码 | 使用 Hash-to-Curve 替代 Hunting-and-Pecking |
| 拒绝服务 | 洪泛 Commit 请求 | Cookie 机制 |
| 反射攻击 | 重放对方的 Confirm | 序列号检查 |
侧信道攻击最微妙:H&P 循环逐个 counter 试探候选值是否为二次剩余,试探次数随密码不同而变,AP 响应时间便泄露了密码信息。Hash-to-Curve 改用确定性哈希把密码一步映射到曲线点,消除循环、抹平计时差,从根上堵住这条计时侧信道。
交通比喻:SAE 就像两个人互相证明自己知道密码——但不会直接说出密码。密码先被换算成一个双方都能算出的「密码点」PWE(两人共知的暗号底本);每次握手各自捏一个临时值 rand 和 mask,把 PWE 揉进去——scalar = rand + mask、element = -mask × PWE,再把揉过的结果互相交换。即使有人全程监听,也只能看到揉过的暗号,反推不出 PWE 和 rand(离散对数难题护着)。而且每次见面都用不同的暗号(前向保密)。
¶4.7 SAE-PK — 防「假 AP」的公钥配网
SAE 堵住了离线字典攻击,却堵不住「知道密码的冒牌 AP」——拿到密码的攻击者照样能架起一个同名 SSID 的 evil twin,骗客户端连上来做中间人。SAE-PK(SAE Public Key,WPA3 Specification v3.5 §6)补的正是这一环:AP 额外持有一对静态 ECDSA P-256 公私钥,配网密码被设成「AP 公钥指纹」的 Base32 编码(形如 a2bc-de3f-ghi4)。SAE Confirm 帧里捎上 AP 公钥、Modifier 和数字签名,STA 用密码里的指纹核对公钥、再验签名,才确认连的是真 AP。即使密码被社会工程方式泄露,攻击者没有对应私钥,仍无法冒充 AP。打个比方,这就像门禁卡上压着一枚物业独有的钢印:密码是卡面印的字,谁都能抄;但钢印是 AP 那对 ECDSA 私钥盖出来的——指纹写进密码,签名捎在 Confirm 帧里,STA 刷门禁时先对钢印再放行。偷到密码的人只能复制卡面文字,压不出钢印,冒充不了真 AP。
¶5 管理帧保护(802.11w/PMF)
¶5.1 为什么需要 PMF
在 802.11w 之前,管理帧(如 Deauthentication、Disassociation)是明文发送的,任何人都可以伪造:
1 | 攻击者伪造 Deauthentication 帧: |
这种攻击不需要知道密码,只需要知道 MAC 地址。这就是为什么需要 PMF(Protected Management Frames)。
¶5.2 PMF 的工作方式
PMF 使用 CCMP 加密管理帧,防止伪造。关键机制是 SA Query 协议:
1 | 当 STA 收到 Deauthentication 帧时: |
SA Query 超时与对抗分析:
SA Query 的超时时间约为 200ms(具体实现可调,通常 200-1000ms)。超过这个时间没有收到 Response,STA 就认为 Deauth 可能是真的,接受断开。
这意味着理论上攻击者可以 "伪造 Deauth + 持续射频干扰" 来阻断 SA Query Response,迫使 STA 断开。但这已经不是协议层攻击,而是物理层干扰——需要持续占用信道、容易被频谱监控检测、且属于违法行为。PMF 防的是 "发几帧就能搞定" 的协议层攻击,物理层干扰不在其防护范围内。
不对称设计:STA vs AP 的处理方式:
| 方向 | 处理方式 | 原因 |
|---|---|---|
| 攻击者伪造 Deauth → STA | STA 发 SA Query 回拨确认 | STA 不确定 AP 的当前状态,需要确认 |
| 攻击者伪造 Deauth → AP | AP 直接丢弃明文管理帧 | AP 是策略执行者,知道哪些 STA 必须用 PMF,不合规的帧直接扔 |
AP 作为 Authenticator,对 PMF-capable 的 STA 发来的明文 Deauth 直接丢弃,不需要 SA Query。STA 作为 Supplicant,无法确定收到的 Deauth 是否真的来自 AP,所以需要 SA Query 回拨验证。这种不对称设计反映了 AP 和 STA 在安全架构中的不同角色。
| PMF 模式 | WPA2 | WPA3 | MLO |
|---|---|---|---|
| Optional | 可选 | 不允许只选 Optional | — |
| Required | 可选 | 强制 | 强制 |
¶5.3 PMF 与 MLO 的关系
802.11be 明确要求 MLO 必须在 RSNA 下运行,PMF 对 MLO 是 mandatory:
| 要求 | 说明 | 协议引用 |
|---|---|---|
| MLO 必须 RSNA | Open System 无法建立 MLO 连接 | 802.11be Section 12.6.3.2 |
| PMF 强制 | 所有 MLO 管理帧必须受保护 | 802.11be Section 12.6.3.1 |
| EML 帧保护 | EML Operating Mode Notification 使用 Category 37 | 802.11-2024 |
交通比喻:802.11w 就像给路牌加上防伪标签——伪造的 "前方封闭" 路牌(伪造的 Deauthentication 帧)不再能骗到车辆。WPA3 强制要求所有路牌都有防伪标签,MLO 连接更是如此。
¶6 Enterprise 认证(802.1X)
¶6.1 802.1X 架构
802.1X 定义了三个角色:
| 角色 | 设备 | 职责 |
|---|---|---|
| Supplicant | STA(客户端) | 提供认证凭据(证书 / 用户名密码) |
| Authenticator | AP / 控制器 | 中间人,转发 EAP 帧,不接触密码 |
| Authentication Server | RADIUS 服务器 | 验证身份,生成会话密钥 |
关键设计:AP 不知道用户的密码,只负责转发。这大大降低了 AP 被攻破后的风险。
¶6.2 EAP 方法
EAP(Extensible Authentication Protocol)是认证框架,支持多种认证方法。这些方法的分工,本质是在「证书的双向强认证」与「密码的部署便利」之间权衡——证书挡得住中间人,但每台设备都要装;密码轻便,但得靠 TLS 隧道护住内层:
| EAP 方法 | 认证方式 | 安全性 | 适用场景 |
|---|---|---|---|
| EAP-TLS | 双向证书认证 | 最高(强制证书) | 高安全环境(政府、金融) |
| PEAP | TLS 隧道 + 用户名 / 密码 | 高(单向证书) | 企业最常用 |
| EAP-TTLS | 类似 PEAP,更灵活 | 高 | 需要多种内层认证 |
| EAP-MSCHAPv2 | 用户名 / 密码(弱于 TLS) | 中等 | PEAP 内层 |
企业快速接入场景还有 EAP-RP(Re-authentication Protocol)——首次认证后缓存主会话,之后重连只做一次轻量交换,配合 802.11ai 的 FILS 把重连压到毫秒级。
EAP-TLS 流程:
1 | STA ←→ AP ←→ RADIUS |
¶6.3 RADIUS 服务器
RADIUS(Remote Authentication Dial-In User Service)是认证服务器协议:
| 功能 | 说明 |
|---|---|
| 认证 | 验证用户身份(证书、用户名 / 密码、LDAP) |
| 授权 | 决定用户的访问权限(VLAN、带宽限制) |
| 计费 | 记录用户的连接时间、流量 |
| 密钥管理 | 生成 PMK 并安全传输给 AP |
常用 RADIUS 服务器:FreeRADIUS(开源)、Microsoft NPS、Cisco ISE。
交通比喻:802.1X 就像机场安检——乘客(STA)出示证件给安检员(RADIUS),安检员验证后通知登机口(AP)放行。登机口不知道你的证件信息,只知道 "这个人可以登机"。
¶7 已知攻击与漏洞总结
读这张清单,按协议代际分层——WEP 三重致命(FMS/PTW/ChopChop)、WPA/TKIP 被 RC4 拖累(Beck-Tews)、WPA2 倒在密钥重装(KRACK)、WPA3 纠缠降级与侧信道(Dragonblood),另有跨代际的 FragAttacks 与 Deauth 伪造。
| 攻击名称 | 年份 | 影响协议 | 原理 | 严重程度 |
|---|---|---|---|---|
| FMS 攻击 | 2001 | WEP | 弱 IV 导致密钥流偏差 | 致命 |
| PTW 攻击 | 2007 | WEP | 改进 FMS,效率更高 | 致命 |
| ChopChop | 2004 | WEP | 利用 CRC-32 线性性 | 致命 |
| Beck-Tews | 2008 | WPA/TKIP | RC4 偏差 + QoS | 高 |
| KRACK | 2017 | WPA2 | 密钥重装攻击 | 高 |
| Dragonblood | 2019 | WPA3/SAE | 降级 + 侧信道 | 中 |
| FragAttacks | 2021 | 所有协议 | 帧碎片化漏洞 | 中 |
| Deauth 攻击 | 自 802.11 诞生 | 无 PMF | 伪造管理帧 | 高 |
FragAttacks(2021):Mathy Vanhoef 发现的漏洞,利用 802.11 帧碎片化机制的设计缺陷。攻击者可以:
- 将恶意数据注入到第一个碎片中
- 利用接收方重组碎片的逻辑错误
- 影响所有 WiFi 标准(包括 WPA3)
缓解措施:固件更新,禁用不需要的碎片化功能。
¶8 安全演进总结
| 年份 | 协议 | 加密 | 完整性 | 密钥管理 | 安全性 | 交通比喻 |
|---|---|---|---|---|---|---|
| 1997 | WEP | RC4 | CRC-32 | 无 | 形同虚设 | 明信片 |
| 2003 | WPA | RC4 (改进) | Michael MIC | 4 次握手 | 临时方案 | 带锁信箱 |
| 2004 | WPA2 | AES-128 | CBC-MAC | 4 次握手 | 安全至今 | 保险柜 |
| 2018 | WPA3 | AES + SAE | CBC-MAC/GCMP | SAE + 4 次握手 | 更安全 | 强密码箱 |
安全选择建议:
| 场景 | 推荐 | 原因 |
|---|---|---|
| 家庭网络 | WPA3-SAE | 简单易用,防离线破解 |
| 小型办公室 | WPA3-SAE | 无需 RADIUS 服务器 |
| 企业网络 | WPA3-Enterprise (EAP-TLS) | 证书认证,最强安全 |
| 高安全环境 | WPA3 192 位套件 | CNSA 级别,政府 / 金融 |
| 遗留设备 | WPA2 (过渡) | 尽快升级到 WPA3 |
本文之外,WPA3 时代还有几条没展开的支线——开放网络用 OWE(Enhanced Open,机会性无线加密)给「无密码」的公共热点补上每客户端独立密钥,防明文嗅探;有密码的公共网络,则靠上文 §8.4.7 的 SAE-PK 防「假 AP」;企业侧,FILS(Fast Initial Link Setup,802.11ai)把发现、认证、关联的帧交换压到最少,专治机场、高铁这类「快速接入」场景。这些连同 SAE,把 WPA3 对「个人密码网络」与「企业快速接入」的防线补齐了。
WiFi 安全不是一次性设置,而是持续演进的过程。WEP 曾经被认为 "足够安全",但 4 年后就被彻底攻破。今天的 WPA3 也可能在未来被攻破。保持更新,使用最强的安全配置,是唯一可靠的策略。
下一章将讲述:EDCA 如何用不同的竞争参数实现优先级?802.11 的每一种帧类型和信息元素有什么作用?QoS 从 802.11e 到 802.11be 经历了怎样的演进?