🌐 第五章 以太网与无线局域网
📄 一句话概括

空气是共享介质,谁都能"听见"——所以无线必须给数据上锁。WPA2(IEEE 802.11i)用一套"密码不上线"的四步握手验明双方都知道密码,再用 AES 逐帧加密保护数据;它统治了无线安全二十年,WPA3 换掉的是"猜密码"那扇最后的门。

📝 本节和前面几节的关系

5.16 把无线的零件与入网四步摆了出来,其中"认证"一步一直只有半句话:真验证密码在关联之后的 WPA 四步握手(5.18 补了位置、本节补机制)。5.16 还留下了"空气共享、隐蔽站"的物理事实——安全问题的根源正是它们。本节也顺带回收 5.8/5.20 的对照:有线以太网靠"物理隔离"天然省掉一整层安全设计,无线没有这个奢侈。

一、为什么无线天生需要安全,有线不需要

插网线的安全模型是物理的:想偷听,得先摸进机房把线搭上——物理隔离本身就是第一道锁。而空气是 5.16 讲过的共享介质,半径几十米内任何人都能收下你的每一帧,他只是不被允许"看懂"而已。

所以无线安全的任务被精确地拆成两件事:

  1. 准入(谁配上网)——证明你知道密码,且证明 AP 也真的属于这个网络(防"假 AP"钓鱼);
  2. 保密与完整(数据不让看、不让改)——每帧加密 + 完整性校验,抓包只能拿到密文,篡改会被当场识破。

记住这个拆分,后面所有机制都能各归其位。

二、演进四代:从"补丁"到"换地基"(第一张配图)

世代 年份 引擎 致命伤 / 定位
WEP 1999 RC4 + 静态密钥 IV 字段太短必然重复,几分钟可破解,早已报废
WPA 2003 TKIP(仍是 RC4) 赶工的过渡补丁:换包装不换引擎
WPA2 2004 AES-CCMP(802.11i) 本节主角,二十年主力
WPA3 2018 SAE 换掉 PSK 握手 堵死"抓包离线猜密码",弱密码也难破解

读这张表的正确姿势:前两代和后两代的差别不在"算法新旧",而在"地基换没换"。WEP/WPA 的地基是"把共享密码直接当加密钥匙用";WPA2 起地基改成"密码只用来推导钥匙,密码本身永不上线"。

三、四步握手:密码从头到尾不上线(第二张配图)

开局之前有一件事双方各自独立完成:PSK(密码)+ SSID → PMK。注意 SSID 参与运算——改 SSID 名字等于换锁,这也是同密码不同 SSID 不共享密钥的原因。

握手四步(发生在 5.18"关联"成功之后):

  1. AP → STA:随机数 ANonce。"我要开始验证了,这是我的随机数。"
  2. STA → AP:随机数 SNonce + MIC。STA 用 PMK 加两个随机数和双方 MAC 算出 PTK(逐帧加密真正用的钥匙),并用它做校验值——自证"我持有 PMK"。
  3. AP → STA:GTK(用 PTK 加密下发)。AP 同样算出 PTK、校验 MIC 通过(双方互验),再把组播/广播用的组密钥交给 STA。
  4. STA → AP:确认 + MIC。双方装好密钥,之后的每一帧都用 PTK/GTK 加密。

设计精髓一句话:密码从未出现在空中,出现的只有"用密码算出来的证据"。四帧全被抓走也推不出密码——但攻击者可以离线猜:猜一个密码 → 本地算 PMK/PTK → 对 MIC,对上了就是密码。这就是 5.18 说的"门禁"的完整原理,也是 WPA2 的安全性最终落在密码强度上的原因(WPA3 的 SAE 就是把"可离线验证"这个口子焊死)。

四、数据面:AES-CCMP 逐帧加密

握手只解决"钥匙怎么安全地成立",数据面的保护靠 CCMP(基于 AES):

五、两个版本:Personal 与 Enterprise

路由器设置页里的"WPA2-Personal / WPA2-Enterprise"不是营销词:

家庭场景记住判据即可:输一个共享密码的是 Personal,输个人账号的是 Enterprise。

六、顺手清一批"伪安全"

七、动手 Demo70:亲手看握手的四个"门牌"

  1. Win+R → cmd → 回车,打开命令提示符。
  2. 敲 netsh wlan show profiles,回车——列出本机存过密码的 Wi-Fi 名字,这就是 Personal 模式的"密码库"(存在系统里,不是存网上)。
  3. 敲 netsh wlan show profile name="你家的WiFi名" key=clear,回车——关键内容一栏就是你家的密码。看到它你就明白了:密码"不上线"只保护空中那一段,拿到设备本体密码一览无余。
  4. 敲 netsh wlan show interfaces,回车——找"身份验证"一行:显示 WPA2-Personal + CCMP,这正是本节的两个主角同框。
  5. 浏览器开 192.168.1.1(或路由器背面标注的地址)登录管理页,找到"无线设置 → 安全/加密方式"——确认选的是 WPA2/WPA3-Personal,加密方式 AES。
  6. 30 秒实验:看一眼这个密码的长度——教材共识是 WPA2 密码至少 12 位、别用纯单词。回想第三节:"离线猜"唯一的门槛就是密码强度。
  7. (选做)把安全模式临时切到 WEP 或"开放",手机重连时系统会警告"不安全"——亲眼看一次"报废标准"的现代待遇,看完切回 WPA2/WPA3。
  8. 关掉管理页。手机开飞行模式再关,重新连一次 Wi-Fi——你刚刚亲历了一次完整的"认证 + 四步握手"(5.18 的③④之间)。
  9. 全部完成。你现在能对着任何一台路由器的安全设置页,说出每一栏在防什么。

八、常见误区

九、动手自测

点开自测(先自己答,再展开) 1. 无线安全拆成哪两件事?各对应什么机制? 2. WEP/WPA 与 WPA2/WPA3 的本质差别用"地基"怎么说? 3. PMK 由什么算出来?为什么改 SSID 名等于换锁? 4. 四步握手里 STA 自证持密靠什么?AP 验它靠什么? 5. GTK 和 PTK 各管什么? 6. 抓到完整四帧握手能干什么、不能干什么?WPA3 补的是哪一步? 7. CCMP 的逐帧编号防的是什么攻击?FCS 为什么防不了它? 8. Personal 与 Enterprise 的判据一句话? 9. 三条"伪安全"分别错在哪? 10. 柯克霍夫原则一句话?它在无线上怎么体现?

答案:① 准入(四步握手/802.1X)+ 保密完整(AES-CCMP)。② 前者把密码当钥匙直接用,后者密码只用来推导钥匙、永不上线。③ PSK+SSID;SSID 参与派生。④ 第②帧的 MIC;AP 同样算出 PTK 校验。⑤ PTK 管单播逐帧加密,GTK 管组播/广播帧。⑥ 能离线猜密码、不能直接得到密码;WPA3 的 SAE 堵"离线验证"。⑦ 重放攻击;FCS 只防传输错误、不防恶意重放。⑧ 输共享密码=Personal,输个人账号=Enterprise。⑨ 隐藏 SSID 只挡被动扫描、MAC 自报可仿冒、WEP 已破。⑩ 安全靠密钥不靠算法保密;AES 公开却安全。

十、下一步学什么

相关笔记