🌐 第七章 网络安全技术
📄 一句话概括

前六章一直在讲"数据怎么送到",本章第一次问"谁有资格用网络"。第一道闸门就是身份认证(authentication)——在你做事之前,先确认"你真的是你自称的那个人/那台机器"。证明身份只有三类材料:你知道的(口令、PIN)、你持有的(IC 卡、U 盾、令牌)、你本身是什么(指纹、人脸);三类里凑齐两类以上叫多因素认证(MFA),只用同类里的两样(密码 + 密保问题)不算。认证的对象有两个——用户(用户名 + 口令、一次性口令、生物特征)和设备(MAC 地址过滤、数字证书、802.1X 端口认证)。最后记住这道闸门的位置:认证通过 ≠ 放行一切,后面还有授权(能访问什么)和记账(留下什么痕迹)——这三件事合称 AAA。

📝 本节和前面几节的关系

第六章的终点是"包到达了目的地",整章都在解决可达性:路由表、最长前缀匹配、VLAN、默认网关……但全程没有问过一句"发这个包的人有资格吗"。一条网线插上就能上网,一个 IP 配好就能通信——前六章的所有机制都默认"接进来了就是自己人"。

本章开始补上这个缺口:网络安全的三个最朴素的目标是不被偷看(机密性)、不被篡改(完整性)、不被搞瘫(可用性),而通往它们的第一步,就是先认人。本节讲的认证,是第七章的"地基"——后面几节的加密、防篡改、防攻击,全都建立在"我们已经知道对方是谁"这个前提上。

唯一的直系老账在 5.21 WPA2:那里讲无线安全时提过 Personal(一个密码全员共享)vs Enterprise(每人一套账号),企业模式背后跑的正是本节的 802.1X;当时那句"WEP 和 MAC 过滤都是伪安全",本节会给出完整理由。

一、网络安全三目标 + 四道关

先说清楚"网络安全"到底在防什么。教材给的三大目标是:

目标 大白话 被破坏的例子
机密性(Confidentiality) 别人看不到 密码被中间人截走、Wi-Fi 被隔壁蹭听(5.21)
完整性(Integrity) 别人改不了 转账金额被改成别的数、网页被插广告
可用性(Availability) 别人搞不瘫 DDoS 打满带宽、勒索病毒锁死文件

围绕这三点,网络上做的防护动作可以拢成四道关,按顺序排:

① 认证 Authentication   你是谁?(本节)
② 授权 Authorization    你能干什么?(能访问哪些资源)
③ 记账 Accounting       你干了什么?(留下日志)
④ 加密/完整性校验        说的话别人听不懂、改了看得出来(7.2 起)

前三道在行业里合成一个词:AAA(Authentication / Authorization / Accounting)。

📌 本节只负责第 ① 道,但要先记住它的位置:认证是"验明正身",不是"发通行证"。小区门口保安核对了你的脸和门禁卡(认证),至于你能进 3 号楼还是全小区随便走(授权),是另一件事。

二、认证的基本动作:申告 → 证明 → 核对

认证这个词听着玄,其实就三个动作,你在任何一个登录框前都完整地做过一遍:

步骤 你做什么 网络里发生什么
① 申告(声称身份) 输入用户名 / 刷工牌 / 连 Wi-Fi 告诉对方"我是谁"
② 证明(提交凭据) 输入口令 / 按指纹 提交"能证明我是他"的材料
③ 核对(比对) —— 服务器拿登记在案的那一份和你交的这份比:对得上=放行,对不上=拒绝

核心难点全在第 ② 步和第 ③ 步:

三、三类认证要素:你能拿什么来证明自己(第一张配图)

不管什么方案,能用来证明身份的材料只有三大类:

要素类别 英文说法 典型形式 优点 软肋
知识要素 something you know 口令、PIN、密保问题 零成本、随时可换 会忘、会被猜、会被骗(钓鱼)
持有要素 something you have IC 卡、U 盾、手机令牌、短信验证码 偷不到物理实体就进不去 会丢、会被复制/克隆
生物要素 something you are 指纹、人脸、虹膜、声纹 丢不了、随身携带 改不了(指纹泄露没法"挂失重办")

三者各有死穴,所以安全的做法是叠加:

多因素认证(MFA)= 从三类里凑齐两类以上。

📌 最容易搞错的一点:"密码 + 密保问题"不是多因素,因为两样都是知识要素(都靠你脑子里记的东西)。真正的多因素至少跨两类,比如"密码 + 手机验证码"(知识 + 持有)或"口令 + 指纹"(知识 + 生物)——这才是"窃取一样也进不来"。

四、用户认证的五种常见做法

1. 用户名 + 口令:最常用,也最需要小心

这是全世界用得最多的方式,关键细节在服务器那一边怎么保存口令:

口令这条路真正的漏洞往往不在数学,而在人:

2. 一次性口令(OTP):用过就作废

口令每天不变 = 偷一次能用很久。OTP 的思路是让口令具备时效:

形式 怎么算出来 说明
TOTP(基于时间) 共享密钥 + 当前时间 一起算 手机 App(如各类"动态口令")每 30 秒变一次,服务器和令牌靠对表同步
HOTP(基于计数) 共享密钥 + 使用次数 一起算 每按一次出一个新口令
短信验证码 服务器随机生成后发给你 方便,但有软肋:短信可能被拦截、手机号可能被"补卡"冒领

📌 关键作用:即使口令被偷,攻击者手里的那个也已经过期了。这也是"密码 + 短信验证码"能算多因素的原因——第二样材料必须此刻拿到。

3. 挑战-应答(Challenge-Response):口令不上线

这是把"口令"变聪明的一招,思路和 5.21 的四步握手一模一样:

服务器 → 客户端:给你一个随机数(挑战 challenge)
客户端 → 服务器:用共享密钥/私钥把这个随机数算一遍,只交结果(应答 response)
服务器:自己也算一遍,对得上就是本人

全程共享密钥和口令从来没在网络上出现过——偷看的人只能拿到"这次的结果",换一个随机数就对不上(这叫重放攻击无效)。

4. 数字证书:拿第三方的"公章"证明身份

前面三种都依赖"服务器早就认识你"。那陌生人之间怎么互相认证?答案是找一个双方都信的第三方:

5. 生物认证:方便,但不可撤销

指纹、人脸之所以好,是因为你走哪儿带哪儿。但有两件事得知道:

五、设备认证:不光认人,还要认机器(第二张配图)

企业网络里,光认人是不够的——你自己的笔记本,和一台来路不明的设备,凭什么待遇一样? 于是有了针对"设备"的认证:

1. MAC 地址过滤:最省事,也最不牢靠

交换机/无线 AP 上登记一份"允许上网的 MAC 地址表"(5.4、5.14 的表),不在名单里的直接不放行。

听起来很美,问题是——MAC 地址可以在软件里随意改写(网卡驱动就能改)。攻击者只要嗅探到一个合法设备的 MAC 并照抄,过滤表就等于形同虚设。而且名单要手工维护,设备一多就是灾难。

📌 所以 5.21 把"MAC 过滤"和"隐藏 SSID"一起列为伪安全——能挡住随手蹭网的人,挡不住真正有目的的人。

2. 802.1X 端口认证:连上先验身,过关才开闸

这是企业网的正牌做法,思路非常直观:

交换机的端口平时是"半开"的——只放行认证协议本身,其他流量一律不通;认证通过后,端口才真正打开。

它有固定的三个角色:

角色 是谁 干什么
客户端(supplicant) 你的电脑/手机 发起认证、提交凭据或证书
认证者(authenticator) 交换机 / 无线 AP 只当"传达室",自己不做判断,把凭据转给后面的服务器
认证服务器(通常是 RADIUS) 后台服务器 拿着账号库做真正的判断,回一句"放行 / 拒绝"

看点在于:判断权不在交换机手里,而在统一的服务器上——所以员工入职/离职只需在服务器上开一个账号,不用去每台交换机改配置。Enterprise 级 Wi-Fi(5.21 的 WPA2-企业)就是 802.1X 在无线上的版本:每人一套账号,而不是"全公司共用一个密码"。

3. 数字证书与"准入检查"

设备也能像网站一样持有证书(证明"这台机器是公司发的")。更严格的场合还会加一步准入检查:设备合规(杀毒开着没、补丁打了没)才允许接入——这类做法统称网络准入控制。

六、认证 ≠ 授权:过了门,还有门

再强调一次这组最容易混淆的概念:

认证 Authentication 授权 Authorization
回答的问题 你是谁? 你能干什么?
比喻 机场安检核对身份证和登机牌 登机牌上的舱位决定你能进哪个区
技术手段 口令、OTP、证书、指纹、802.1X 权限表、角色、ACL(访问控制列表)
失败的后果 进不来 进来了但碰不到不该碰的东西

二者缺一不可。只有认证没有授权,等于"谁都放进来随便逛";只有授权没有认证,等于"规则写得再细,也不知道该给谁"。行业里还有个朴素原则叫最小权限:只给完成工作必需的那部分权限。

七、动手 Demo(Demo89)

目标:在自己每天用的设备上,把"认证"这套东西指认出来,并看清"谁能上网"是被谁管着的。

A. 数一数你今天经过了几道认证

拿手机做素材,按下面三列表格填一遍(这是最直观的"三类要素"实操):

场景 用了什么材料 属于哪类要素
解锁手机 指纹 + 数字密码 生物 + 知识 → 多因素
登录微信(新设备) 密码 + 短信验证码 知识 + 持有 → 多因素
连家里 Wi-Fi 一个共享密码 知识 → 单因素(5.21 的 Personal)
公司 VPN / 网银 U 盾 账号 + U 盾 / 令牌 知识 + 持有 → 多因素

看到什么算成功:你能一眼判断出"这一步是单因素还是多因素、用的哪一类材料"。

B. 看 Windows 管账号的两条命令

net user                      # 本机有哪些账户
net accounts                  # 本机的口令策略:最短长度、锁定阈值、有效期

net accounts 的输出就是"限制访问用户"最直接的落地:最短密码长度和账户锁定阈值(连错几次就锁)两条,直接把"猜口令"这条路的成本抬上去了。

C. 看一次"认证"与"授权"的分家

打开一个共享文件夹的属性 → 安全选项卡:

D. 30 秒实验一:看 Wi-Fi 用的是哪种认证

netsh wlan show interfaces        # 看当前连接
netsh wlan show profiles          # 看已保存的网络

对着一个已保存的网络执行 netsh wlan show profile name="网络名" key=clear,输出里的「身份验证」字段通常会写 WPA2-个人 或 WPA2-企业——这就是 5.21 那张表在你自己电脑上的样子(企业=802.1X)。

E. 30 秒实验二:思考一个"反例"

问自己:只靠 MAC 地址过滤,能防住什么、防不住什么?

F. 一个"看得见"的对比

用手机连着 Wi-Fi 试着打开一个需要登录的网站,先不登录观察:你能连上网、能打开页面(网络可达 + 已认证到 Wi-Fi),但看不到里面的内容(没有通过业务系统的认证)。这就是两层认证的直观区别——"能上网"从来不代表"有权访问"。

八、常见误区

九、动手自测

点开自测(先自己答,再展开) 1. 网络安全常说的三个目标是什么?各用一句大白话解释。 2. 认证的三个基本动作是什么?难点主要落在哪一步? 3. 三类认证要素分别叫什么?各举两个例子。 4. 为什么"密码 + 密保问题"不算多因素认证?请给出至少两个**跨类**的组合例子。 5. 一次性口令为什么能提升安全性?TOTP 和 HOTP 的差别在哪? 6. 挑战-应答认证最大的优点是什么?它和 5.21 讲的四步握手有什么共同点? 7. 数字证书解决了什么"靠前面的方法解决不了"的问题? 8. MAC 地址过滤为什么被叫做"伪安全"?它到底能防住谁? 9. 802.1X 里的三个角色分别是谁?为什么"判断权"要放在后台服务器而不是交换机上? 10. "认证通过 ≠ 放行一切"这句话对应哪个概念?机场安检的比喻里,哪一步是认证、哪一步是授权? 11. 企业 Wi-Fi 的 WPA2-企业模式和 802.1X 是什么关系? 12. 生物认证最大的缺点是什么?为什么说它更适合当第二因素?

答案:① 机密性(别人看不到)、完整性(别人改不了)、可用性(别人搞不瘫)。② 申告身份 → 提交凭据 → 服务器核对;难点在②③,即"凭据不能被偷/猜"和"服务器里存的底档不能被直接拿走"。③ 知识要素(口令、PIN/密保问题)、持有要素(IC 卡、U 盾、手机令牌、短信验证码)、生物要素(指纹、人脸、虹膜/声纹)。④ 因为二者都是知识要素,属于同类叠加,一旦"你脑子里的东西"被套出来就同时失守;跨类例子:密码 + 手机验证码(知识+持有)、口令 + 指纹(知识+生物)、工牌 + PIN(持有+知识)。⑤ 因为时效性——即使用过一次的口令被偷,也已经作废;TOTP 用"当前时间 + 共享密钥"算,靠对表同步,每 30 秒一换;HOTP 用"使用次数 + 共享密钥"算,按次递增。⑥ 共享密钥/口令从不在网络上传输,抓到的应答换一个随机数就无效(能抵抗重放);与 5.21 四步握手一样,都是"只交换算出来的结果,不交换密钥本身"。⑦ 解决陌生人之间的互信问题:前三种都要求服务器事先认识你,证书用可信第三方 CA 的签名把"公钥 ↔ 身份"绑起来,谁都能验。⑧ 因为 MAC 地址可以在软件里随意改写,攻击者嗅探到合法 MAC 后照抄即可绕过,且名单要手工维护;它只能挡住"随手蹭网"和"私接设备"的人。⑨ 客户端(supplicant,你的电脑/手机)、认证者(authenticator,交换机或 AP)、认证服务器(通常是 RADIUS)。判断权放服务器是为了统一管理:账号在服务器上开/停,无须逐台设备改配置,也能集中记录。⑩ 对应"授权"(以及 AAA 里的记账)。安检核对证件与登机牌=认证;登机牌上的舱位决定你能进哪个候机区=授权。⑪ 是同一套东西的两种叫法:WPA2-企业模式背后就是用 802.1X 做"每人一套账号"的认证(个人模式则是全公司共享一个 PSK 密码)。⑫ 缺点是不可撤销/不可更换——指纹、人脸泄露了没法"改一个";因此更适合作为口令之外的第二因素,而不是唯一的钥匙。

十、下一步学什么

相关笔记