我理解 802.1X 是某种端口身份验证控制。但是,当我检查无线加密设置时,我在下拉菜单中发现了 802.1X,以及 WPA2、WPA 和 WEP,但我不明白它如何可以替代这些。
有人能用通俗易懂的语言解释一下 802.1X 是如何适用的吗?也许也与 EAP 协议有关?我所知道的是,802.1X 为每个物理端口提供了两个逻辑端口实体,其中一个用于身份验证,另一个用于实际的 EAP 消息流过?
答案1
我能做到最接近外行人的术语,稍微过于简单化,并且为了简单起见仅限于 WPA2:
802.1X 不是一种加密类型。它基本上只是一种针对每个用户(例如用户名和密码)的身份验证机制。
WPA2 是一种安全方案,它指定了无线安全的两个主要方面:
- 身份验证:您可以选择 PSK(“个人”)或 802.1X(“企业”)。
- 加密:始终为 AES-CCMP。
如果您在网络上使用 WPA2 安全性,则您有两种身份验证选择:您要么对整个网络使用每个人都知道的单一密码(这称为预共享密钥或 PSK),要么使用 802.1X 强制每个用户使用他自己唯一的登录凭据(例如用户名和密码)。
无论您设置网络使用哪种身份验证类型,WPA2 始终使用一种称为 AES-CCMP 的方案通过无线方式加密您的数据,以确保保密性并阻止各种其他类型的攻击。
802.1X 是“局域网上的 EAP”或 EAPoL。EAP 代表“可扩展身份验证协议”,这意味着它是一种适用于各种身份验证方法的插件方案。以下是一些示例:
- 您想使用用户名和密码对用户进行身份验证吗?那么“PEAP”是一种不错的 EAP 类型。
- 您想通过证书验证您的用户吗?那么“EAP-TLS”是一种不错的 EAP 类型。
- 您的网络上的设备都是带 SIM 卡的 GSM 智能手机吗?那么您可以使用“EAP-SIM”进行 GSM SIM 卡式身份验证以接入您的网络。等等。等等。
如果您将无线路由器设置为使用 802.1X,则需要有一种通过某种 EAP 类型对您的用户进行身份验证的方法。某些路由器可能允许您直接在路由器上输入用户名和密码列表,并且路由器知道如何自行完成整个身份验证。但大多数路由器可能要求您配置 RADIUS。RADIUS 是一种协议,允许您将用户名和密码数据库保存在中央服务器上,因此您不必在每次添加或删除用户或用户更改密码等时在每个单独的无线路由器上进行更改。执行 802.1X 的无线路由器通常不知道如何直接对用户进行身份验证,它们只知道如何在 802.1X 和 RADIUS 之间进行网关,以便无线客户端计算机实际上由网络上的 RADIUS 服务器进行身份验证,并且 RADIUS 服务器知道如何处理各种 EAP 类型。
如果您的无线路由器的用户界面上有“802.1X”列表加密类型,那么它可能意味着“带有动态 WEP 的 802.1X”,这是一种旧方案,其中 802.1X 用于身份验证,并且每个用户每个会话的 WEP 密钥作为身份验证过程的一部分动态生成,因此 WEP 最终是使用的加密方法。
更新关于:两个逻辑端口
回答有关两个逻辑端口实体的问题,您可能指的是 802.1X 规范中的两个独立概念。
首先,802.1X 规范为 802.1X 协议定义了客户端和服务器角色,但分别称为请求方和认证方。在您的无线客户端或无线路由器中,您有充当 802.1X 请求方或认证方角色的软件。该规范将充当该角色的软件称为端口访问实体或 PAE。
其次,规范提到,在您的无线客户端计算机中,必须有一种方式让您的 802.1X Supplicant 软件访问您的无线接口,以便发送和接收 EAP 数据包以完成身份验证,即使您系统上的其他网络软件尚未被允许使用无线接口(因为网络接口在经过身份验证之前不受信任)。因此,在 IEEE 规范文档的奇怪工程法律术语中,它说有一个逻辑上的“不受控制的端口”供 802.1X 客户端软件连接,还有一个“受控端口”供其余网络堆栈连接。当您首次尝试连接到 802.1X 网络时,只有不受控制的端口处于启用状态,而 802.1X 客户端则执行其工作。一旦连接经过身份验证(并且,例如,已设置 WPA2 AES-CCMP 加密来保护其余的网络传输),受控端口就会启用,以便系统的其余部分将该网络链接视为“已启动”。
长答案,不太适合外行人理解:
IEEE 802.1X 是一种针对有线或无线以太网 LAN(以及 IEEE 802 系列中的其他网络方案)进行每用户或每设备身份验证的方法。它最初是为有线以太网设计和部署的,后来被 IEEE 802.11(无线 LAN)工作组采用,作为 802.11 的 802.11i 安全附录的一部分,用作 802.11 网络的每用户或每设备身份验证方法。
当您在 WPA 或 WPA2 网络上使用 802.1X 身份验证时,您仍在使用 WPA 或 WPA2 的机密性密码和消息完整性算法。也就是说,在 WPA 的情况下,您仍在使用 TKIP 作为机密性密码,使用 MIChael 作为消息完整性检查。在 WPA2 的情况下,您使用的是 AES-CCMP,它既是机密性密码,也是消息完整性检查。
使用 802.1X 时的不同之处在于您不再使用网络范围的预共享密钥 (PSK)。由于您不再对所有设备使用单个 PSK,因此每台设备的流量都更安全。使用 PSK,如果您知道 PSK 并在设备加入网络时捕获密钥握手,则可以解密该设备的所有流量。但是使用 802.1X,身份验证过程会安全地生成密钥材料,用于为连接创建唯一的成对主密钥 (PMK),因此一个用户无法解密另一个用户的流量。
802.1X 基于 EAP,即最初为 PPP 开发的可扩展身份验证协议,目前仍广泛用于在加密隧道中使用 PPP 的 VPN 解决方案(LT2P-over-IPSec、PPTP 等)。事实上,802.1X 通常被称为“LAN 上的 EAP”或“EAPoL”。
EAP 提供了一种通用机制来传输身份验证消息(身份验证请求、质询、响应、成功通知等),而 EAP 层无需了解所使用的特定身份验证方法的详细信息。有许多不同的“EAP 类型”(旨在插入 EAP 的身份验证机制)可用于通过用户名和密码、证书、令牌卡等进行身份验证。
由于 EAP 与 PPP 和 VPN 的历史,它一直很容易被网关到 RADIUS。正因为如此,支持 802.1X 的 802.11 AP 通常(但技术上并非必需)包含 RADIUS 客户端。因此,AP 通常不知道任何人的用户名或密码,甚至不知道如何处理各种 EAP 身份验证类型,它们只知道如何从 802.1X 接收通用 EAP 消息,并将其转换为 RADIUS 消息并将其转发到 RADIUS 服务器。因此,AP 只是身份验证的管道,而不是其中的一方。身份验证的真正端点通常是无线客户端和 RADIUS 服务器(或 RADIUS 服务器网关到的某些上游身份验证服务器)。
比你想知道的更多历史: 802.11 刚创建时,它支持的唯一身份验证方法是使用 40 位或 104 位 WEP 密钥的共享密钥身份验证,而 WEP 在每个网络中最多只能使用 4 个密钥。所有连接到您网络的用户或设备都必须知道网络的 4 个短密钥之一才能连接。标准中没有办法分别对每个用户或设备进行身份验证。此外,共享密钥身份验证的方式允许轻松进行“离线预言机”快速暴力密钥猜测攻击。
许多企业级 802.11 设备供应商意识到,每个用户(即用户名和密码,或用户证书)或每个设备(机器证书)身份验证对于使 802.11 在企业市场取得成功是必不可少的。尽管 802.1X 尚未完成,但思科采用了 802.1X 的草案版本,将其限制为一种 EAP 类型(EAP-MSCHAPv2 的一种形式),使其生成每个设备每个会话的动态 WEP 密钥,并创建了他们所谓的“轻量级 EAP”或 LEAP。其他供应商做了类似的事情,但使用了更笨拙的名称,例如“带有动态 WEP 的 802.1X”。
Wi-Fi 联盟 (前身为无线以太网兼容性联盟,或“WECA”) 看到 WEP 声名狼藉,并看到行业中安全方案的分裂,但迫不及待 IEEE 802.11 工作组完成将 802.1X 纳入 802.11i,因此 Wi-Fi 联盟创建了 Wi-Fi 保护访问 (WPA),以定义一个可互操作的跨供应商标准,用于修复 WEP 作为机密性密码的缺陷(创建 TKIP 来替换它)、基于 WEP 的共享密钥身份验证的缺陷(创建 WPA-PSK 来替换它),并提供一种使用 802.1X 进行每个用户或每个设备身份验证的方法。
随后,IEEE 802.11i 任务组完成了他们的工作,选择 AES-CCMP 作为未来的保密密码,并采用 802.1X(带有某些限制以确保无线网络安全),用于 802.11 无线局域网的每用户和每设备身份验证。反过来,Wi-Fi 联盟创建了 WPA2 来认证 802.11i 实现之间的互操作性。(Wi-Fi 联盟实际上是一个互操作认证和营销组织,并且通常更愿意让 IEEE 成为真正的 WLAN 标准机构。但如果 IEEE 过于保守,无法跟上行业的步伐,Wi-Fi 联盟将介入并在 IEEE 之前开展类似标准机构的工作,并且通常会在相关 IEEE 标准出台后遵从该标准。)