了解无线网络的 802.1X 身份验证
802.1X 是一个 IEEE 标准,用于对有线以太网和无线 802.11 网络进行经过身份验证的网络访问。IEEE 802.1X 通过提供对集中式用户标识、身份验证、动态密钥管理和记帐的支持来提高安全性和部署。
EAP、EAP-TLS、EAP-MS-CHAP v2 和 PEAP 身份验证
802.1X 为可扩展身份验证协议 (EAP)
EAP
802.1X 使用 EAP 在身份验证过程中进行消息交换。通过 EAP,可以使用任意身份验证方法,例如,证书、智能卡或凭据。EAP 允许在 EAP 客户端(如无线计算机)和 EAP 服务器(例如 Internet 验证服务 (IAS)
EAP-TLS
EAP 传输层安全性 (TLS)
EAP-MS-CHAP v2
EAP-Microsoft 质询握手身份验证协议版本 2 (MS-CHAP v2),是一种支持基于密码的用户或计算机身份验证的相互验证方法。在 EAP-MS-CHAP v2 身份验证过程中,服务器和客户端都必须证明它们具有使身份验证获得成功所需的用户密码知识。利用 EAP-MS-CHAP v2,用户可以在身份验证成功之后更改其密码,并可在其密码到期时获得通知。
注意
- EAP-MS-CHAP v2 仅可用于 PEAP。
PEAP
PEAP 是一种身份验证方法,它使用 TLS 增强其他 EAP 身份验证协议的安全性。PEAP 具有以下好处:保护 PEAP 内运行的 EAP 方法的加密渠道、从 TLS 生成的动态密钥资料、快速重新连接(利用缓存的会话密钥重新连接到无线访问点的能力,这样就可以在无线访问点之间进行快速漫游),以及可用来防止部署未经授权的无线访问点的服务器身份验证。
PEAP 身份验证过程
PEAP 身份验证过程包含两个阶段:
- 服务器身份验证和 TLS 密码通道创建。服务器通过向客户端提供证书信息来向客户端标识其本身。客户端验证服务器的身份之后,就生成一个主安全信息。然后使用从主安全信息派生出来的会话密钥创建一个 TLS 加密通道,该加密通道加密服务器和无线客户端之间进行的所有后续通信。
- EAP 会话以及用户和客户端计算机身份验证。客户端和服务器之间的完整 EAP 会话,封装在 TLS 加密通道内。通过 PEAP,您可以使用多种 EAP 身份验证方法之一(如密码、智能卡和证书)验证用户和客户端计算机的身份。
在 PEAP 身份验证过程中生成的会话密钥,为有线等效隐私 (WEP) 加密密钥(该密钥用来加密在无线客户端和无线访问点之间传输的数据)提供了密钥材料。
您可以将 PEAP 与以下任何身份验证方法一起使用来进行无线身份验证:
- EAP-TLS,它使用服务器身份验证证书以及用户和客户端计算机身份验证证书或智能卡。
- EAP-MS-CHAP v2,它使用服务器身份验证证书和用户身份验证凭据。
- 非 Microsoft EAP 身份验证方法。
注意
- 不支持把 PEAP 与 EAP-MD5
- PEAP 可用作一种 802.11 无线客户端身份验证方法,但虚拟专用网 (VPN) 客户端或其他远程访问客户端不支持它。因此,只有在使用 Internet 验证服务 (IAS) 时,才可以把 PEAP 配置为远程访问策略的身份验证方法。
PEAP 支持快速重新连接
当客户端连接到一个 802.11 无线网络时,经验证的会话具有一个确定的到期间隔,该间隔是由网络管理员确定的,目的是为了限制经验证的会话的持续时间。要避免需要经验证的客户端提供重新验证并恢复会话的凭据的通知,可以启用快速重新连接选项。
PEAP 支持快速重新连接,只要将每一个无线访问点配置为同一 IAS (RADIUS) 服务器的客户端,PEAP 快速重新连接就允许漫游用户在同一网络的不同无线访问点之间移动时保持连续的无线网络连接。另外,必须在无线客户端和 RADIUS 服务器上都启用快速重新连接。
初始 PEAP 身份验证成功之后,每次用户移动到一个新的无线访问点时,系统就不会提示用户提供其凭据(如果将 PEAP 与 EAP-MS-CHAP v2 一起用于身份验证)或其个人识别码 (PIN)(如果将 PEAP 与智能卡一起用于身份验证)。相反,如果启用 PEAP 快速重新连接,初始 PEAP 身份验证成功之后,客户端和服务器就会缓存 TLS 会话密钥。当用户与某个新的无线访问点关联时,客户端和服务器使用缓存的密钥重新验证彼此的身份,直到缓存到期。由于密钥被缓存起来,RADIUS 服务器可以快速确定客户端连接为重新连接。这可减少客户端的身份验证请求以及 RADIUS 服务器之间的时间延迟。同时还可以向客户端和服务器的要求提供资源。
如果不使用原始 RADIUS 服务器,必须发生完全身份验证,并且系统会再次提示用户提供凭据或 PIN。在以下情况下可能会发生这类错误:
- 用户与一个新的无线访问点关联,该无线访问点配置为新的 RADIUS 服务器的客户端。
- 用户与同一无线访问点关联,但是,该无线访问点把身份验证请求转发给一个新的 RADIUS 服务器。
在两种情况下,在新的 RADIUS 服务器进行初始身份验证成功之后,客户端都把新的 TLS 会话密钥缓存起来。客户端可以缓存多个 RADIUS 服务器的 TLS 会话密钥。
详细信息,请参阅 EAP、MS-CHAP 版本 2 以及 PEAP。
有关为无线远程访问策略配置会话超时的详细信息,请参阅远程访问策略简介、配置远程访问策略以及远程访问策略的元素。
安全和部署考虑事项
选择身份验证方法时,请在所需安全级别与要为部署付出的努力之间进行平衡。要获得最高等级的安全性,请选择带有证书的 PEAP (EAP-TLS)。要获得最简便的部署,请选择带有密码的 PEAP (EAP-MS-CHAP v2)。
虽然带有 EAP-TLS 的 PEAP 和单独的 EAP-TLS 都通过使用服务器端身份验证的证书和客户端计算机及用户身份验证的证书或智能卡来增强安全性,但是当使用带有 EAP-TLS 的 PEAP 时,客户端证书信息会被加密。带有 EAP-MS-CHAP v2 的 PEAP 最易部署,因为客户端的身份验证是基于密码的,所以无需在客户端安装证书或智能卡。因为在发生 EAP-MS-CHAP v2 验证之前,PEAP 已创建了一个端对端加密通道,所以身份验证交换不容易受到脱机词典 (offline dictionary) 攻击。
关于 802.1X 身份验证方法的证书需求的详细信息,请参阅网络访问身份验证和证书。有关部署智能卡的信息,请参阅清单:部署用于登录到 Windows 的智能卡。
要点
- 当部署 PEAP 和未经 PEAP 保护的 EAP 时,对于同一 EAP 身份验证类型请不要同时带有 PEAP 和没有 PEAP。例如,如果部署带有 EAP-TLS 的 PEAP (PEAP-EAP-TLS),请不要同时部署没有 PEAP 的 EAP-TLS。以同一类型部署身份验证方法 - 一种带有 PEAP 保护,另一种没有 PEAP - 将产生安全缺陷。
- 证书模板提供一种新的证书模板(版本 2),名为 Workstation Authentication。该证书模板可以配置为自动注册,可用于运行 <noloc></noloc>Windows Server2003 Enterprise Edition;<noloc></noloc>Windows Server2003 Datacenter Edition;或 64 位版本的 <noloc></noloc>Windows Server2003 家族的计算机上的企业证书颁发机构 (CA)。基于此模板的证书允许客户端计算机向服务器验证其标识。如果您为运行 <noloc></noloc>WindowsXP 的无线客户端使用基于证书的身份验证,同时为运行 <noloc></noloc>Windows Server2003 Enterprise Edition;<noloc></noloc>Windows Server2003 Datacenter Edition;或 64 位版本的 <noloc></noloc>Windows Server2003 家族的计算机提供企业 CA,则应该使用该证书模板。如果在这种情况下,您使用 Computer 证书模板,客户端身份验证将失败。详细信息,请参阅证书模板和为企业证书颁发机构管理证书模板。
802.1X 如何影响 802.11 无线网络
802.1X 执行基于端口的网络访问控制。基于端口的网络访问控制使用交换的局域网 (LAN) 基础设施的物理特征来验证连接到 LAN 端口的设备,并防止访问身份验证进程已经失败的那个端口。
在基于端口的网络访问控制交互期间,LAN 端口采用两个角色之一:验证者或恳请者。如果是验证者,LAN 端口在允许用户访问可以通过该端口访问的服务之前强制执行身份验证。如果是恳请者,LAN 端口请求访问可以通过验证者的端口访问的服务。“身份验证服务器”可以是单独实体或与验证者共存,它代表验证者检查恳请者的凭证。然后验证服务器答复验证者,指出恳请者是否已授权访问验证者的服务。
验证者的基于端口的网络访问控制,通过一个物理 LAN 端口,定义进入 LAN 的两个逻辑数据路径。第一个数据路径(不受控制的端口)允许在验证者和 LAN 上的计算设备之间进行数据交换,不管该设备的身份验证状态如何。这是 EAPOL (EAP over LAN) 消息采用的路径。第二个数据路径(受控端口)允许在经验证的 LAN 用户和验证者之间进行数据交换。这是在计算设备通过验证之后所有其他网络通信采用的路径。
802.1X 和 IAS
要支持身份验证、授权以及无线网络连接记帐,您可以将 802.1X 与 IAS 一起使用。IAS 是远程身份验证拨号用户服务 (RADIUS) 服务器和代理服务器的 Microsoft 实现。执行 RADIUS 时,无线访问点阻止在没有有效身份验证密钥的情况下把数据通信转发到有线网络或另一个无线客户端。获取有效身份验证密钥的过程如下:
- 无线客户端在某个无线访问点的有效范围内时,该无线访问点质询客户端。
- 无线客户端把其标识发送到无线访问点,无线访问点再将此信息转发到 RADIUS 服务器。
- RADIUS 服务器请求无线客户端的凭据来验证客户端的身份。作为此请求的组成部分,RADIUS 服务器指定所需凭据的类型。
- 无线客户端将其凭据发送到 RADIUS 服务器。
- RADIUS 服务器验证无线客户端的凭据。如果凭据有效,RADIUS 服务器会把一个加密的身份验证密钥发送到无线访问点。
- 无线访问点使用此身份验证密钥,安全地把每站单播会话和多身份验证密钥传输到无线客户端。
有关为无线访问身份验证配置 IAS 的信息,请参阅清单:为无线访问配置 IAS 服务器和无线访问点和无线访问。
有关如何为客户端配置 802.1X 设置的信息,请参阅在客户端计算机上为无线网络定义 802.1X 身份验证。
有关无线网络安全性方面的一般信息,请参阅无线网络的安全信息。