The Cable Guy - 2002年7月
面向基于密码的安全无线访问的PEAP(附带MS-CHAP v2)
欲了解关于The Cable Guy的所有专栏的列表和更多信息,请点击此处。
面向Windows无线客户端安全访问的推荐配置如下:
Windows XP无线客户端
Windows XP具有对基于IEEE 802.11的网络访问和使用可扩展身份验证协议-传输层安全(EAP-TLS)的IEEE 802.1X身份验证的内置支持,其中EAP-TLS是一种基于证书的身份验证方法。
Windows 2000 Active Directory域
Active Directory提供计算机和用户帐户、拔入属性和组来管理无线访问。
Windows 2000Internet身份验证服务(IAS)
IAS是一个远程身份验证拨入用户服务(RADIUS)服务器,它为许多类型的网络访问(包括无线访问)执行身份验证、授权和统计。
使用Windows 2000认证中心(CA)的公共密钥基础结构(PKI)
PKI用于向IAS服务器和无线客户端发行证书以进行EAP-TLS身份验证。
这个配置在使用Windows XP和Windows 2000 Internet身份验证服务的IEEE 802.11部署白皮书中有所描述。由于身份验证基础结构的许多要素已经存在,这个配置适合用于中到超大规模的机构。然而,这个配置对于小型企业并不实用。
小型企业的安全无线访问要通过使用附带Microsoft质询-握手身份验证协议第2版(MS-CHAP v2)EAP类型的受保护的EAP(PEAP)(也称为PEAP with MS-CHAP v2)来实现,PEAP with MS-CHAP v2随Windows XP Service Pack 1(SP1)和Windows Server 2003产品家族一起提供。
本页内容
PEAP概述
MS-CHAP v2概述
附带MS-CHAP v2的PEAP的运作
PEAP快速重连
Windows中的PEAP支持
更多信息
PEAP概述
IEEE 802.1X在允许网络客户端访问网络之前使用EAP来对其进行身份验证。EAP最初设计用于点对点协议(PPP)连接,它允许您创建任意身份验证模式来验证网络访问。请求访问的客户端和进行身份验证的服务器必须首先协商特定EAP身份验证模式(称为EAP类型)的使用。在就EAP类型达成一致之后,EAP允许访问客户端和身份验证服务器(通常是一个RADIUS服务器)之间进行无限制的对话。对话由身份验证服务器的身份验证信息请求和来自客户端的响应组成。对话的长度和细节取决于EAP类型。
EAP设计用于允许同时在某个连接的访问客户端和身份验证服务器上使用身份验证插件模块。通过同时在这两方安装EAP类型库文件,这样就可以支持新的EAP类型。使用EAP进行身份验证的一个优点在于,您不必升级访问服务器以支持新的EAP类型。
虽然EAP提供了身份验证灵活性,但是整个EAP会话可能被当作明文(未加密)来发送。 拥有媒体访问权限的恶意用户能够将包注入该会话,或从成功的身份验证捕获EAP消息来进行分析。 这对无线连接来说特别存在问题,因为在无线连接中,恶意用户可以位于企业之外。 EAP在IEEE 802.1X身份验证期间、在使用有线等价隐私(WEP)来加密无线帧之前进行。
PEAP是处理这个安全问题的一种EAP类型,它首先创建同时被加密和使用传输层安全(TLS)来进行完整性保护的安全通道。然后进行另一种EAP类型的新的EAP协商,从而对客户端的网络访问尝试进行身份验证。由于TLS通道保护网络访问尝试的EAP协商和身份验证,因此可以将通常容易受到脱机字典攻击的基于密码的身份验证协议可用于在无线环境中执行身份验证。
MS-CHAP v2概述
MS-CHAP v2是一种基于密码的质询-响应式相互身份验证协议,使用工业标准的“信息摘要 4(Message Digest 4,MD4)”和数据加密标准(Data Encryption Standard,DES)算法来加密响应。身份验证服务器质询接入客户端,然后接入客户端又质询身份验证服务器。如果其中任一质询没有得到正确的回答,连接就被拒绝。MS-CHAP v2最初是由Microsoft当作一种PPP身份验证协议来设计的,以便为拔入和虚拟专用网(VPN)连接提供更好的保护。对于Windows XP SP1和Windows Server 2003家族,MS-CHAP v2还是一种EAP类型。
虽然MS-CHAP v2比以前基于PPP的质询-响应身份验证协议提供更好的保护,但它仍然容易受到脱机字典的攻击。 恶意的用户能够捕获成功的MS-CHAP v2交换,并想方设法地猜测密码,直至确定正确的密码。运用PEAP和MS-CHAP v2的组合,MS-CHAP v2交换就能通过TLS通道强大的安全性得到保护。
附带MS-CHAP v2的PEAP的运作
PEAP身份验证过程包括两个部分。第一部分是使用EAP和PEAP EAP类型来创建一个加密的TLS通道。第二个部分是使用EAP和一个不同的EAP类型来对网络访问进行身份验证。本节将使用一个例子来研究附带MS-CHAP v2的PEAP的运作:一个无线客户端尝试对一个无线访问点(AP)进行身份验证,这个AP使用一个RADIUS服务器进行身份验证和授权。
PEAP第1部分 — 创建TLS通道
以下步骤用于创建PEAP TLS通道:
在创建逻辑链路之后,无线AP向无线客户端发送一条EAP-Request/Identity消息。
无线客户端使用一条EAP-Response/Identity消息来响应,其中包含该无线客户端的身份(用户或计算机名称)。
无线AP将EAP-Response/Identity消息发送给RADIUS服务器。 从此时起,RADIUS服务器和无线客户端之间就使用该无线AP作为一个中转设备开始了逻辑通信。
RADIUS服务器向无线客户端发送一条EAP-Request/Start PEAP消息。
无线客户端和RADIUS服务器交换一系列TLS消息(TLS通道的密码套件通过这些消息进行协商),并且RADIUS服务器向无线客户端发送一个证书链以用于身份验证。
在PEAP协商结束时,RADIUS服务器已经向客户端验证了自己的身份。两个节点都已经确定了用于TLS通道的共有密码和签名密钥(使用公用密钥而不是密码)。
PEAP第2部分 — 使用MS-CHAP v2进行身份验证
在创建PEAP TLS通道之后,以下步骤用于通过MS-CHAP v2验证无线客户端的凭证:
RADIUS服务器发送一条EAP-Request/Identity消息。
无线客户端使用一条EAP-Response/Identity消息来响应,其中包含该无线客户端的身份(用户或计算机名称)。
RADIUS服务器发送一条EAP-Request/EAP-MS-CHAP-V2 Challenge消息,其中包含质询字符串。
无线客户端使用一条EAP-Response/EAP-MS-CHAP-V2 Response消息来响应,其中同时包含对RADIUS服务器质询字符串的响应和对RADIUS服务器发出的咨询字符串。
RADIUS服务器发送一条EAP-Request/EAP-MS-CHAP-V2 Success消息,指出无线客户端的响应是正确的,同时包含对无线客户端质询字符串的响应。
无线客户端发送一条EAP-Response/EAP-MS-CHAP-V2 Ack消息,指出RADIUS服务器的响应是正确的。
RADIUS服务器发送一条EAP-Success消息。
在这次相互身份验证交流结束时,无线客户端已经提供了关于它知道正确密码的证据(对RADIUS服务器质询字符串的响应),RADIUS服务器也已经提供了关于它知道正确密码的证据(对无线客户端质询字符串的响应)。整个交流过程是通过PEAP第1部分中创建的TLS通道来加密的。
PEAP快速重连
还可以使用PEAP来快速恢复TSL会话。如果PEAP第2部分成功,RADIUS服务器就能够缓存在PEAP第1部分期间创建的TLS会话。由于该缓存条目是通过一个成功的PEAP第2部分身份验证过程来创建的,因此无须执行PEAP第1部分或PEAP第2部分就能够恢复该会话。这种情况下会立即发送一条EAP-Success消息来进行重新身份验证尝试。这称为快速重连。当无线客户端从一个无线AP漫游到另一个无线AP时,快速重连最小化了无线环境中的连接延迟。
Windows中的PEAP支持
附带MS-CHAP v2的PEAP作为增强的EAP和IEEE 802.1X支持的组成部分随Windows XP Service Pack 1一起提供。这样就允许Windows XP无线客户端使用附带MS-CHAP v2的PEAP进行安全无线访问——使用密码而不是证书。Windows Server 2003系列提供的IAS网络组件也支持附带MS-CHAP v2的PEAP,从而允许IAS服务器对运行Windows XP Service Pack 1的无线客户端进行身份验证。
附带MS-CHAP v2的PEAP需要IAA服务器上的证书,但是不需要无线客户端上的证书。IAS服务器必须在它们的“本地计算机”证书存储库中安装一个证书。与其部署一个PKI,您可以从第三方CA购买单独的证书来安装到IAS服务器上。为确保无线客户端能够验证IAS服务器证书链,必须在每个无线客户端上安装发行IAS服务器证书的CA的根CA证书。
Windows XP包括了许多第三方CA的根CA证书。如果您从某个第三方CA购买IAS服务器证书,而该CA对应于Windows XP已包括的一个根CA证书,那就不需要附加的客户端配置。如果您从某个第三方CA购买IAS服务器证书,而Windows XP没有包括一个对应的根CA证书,您就必须在每个无线客户端上安装根CA证书。
更多信息
关于Windows中的PEAP和无线支持的更多信息,请参考以下资源:
受保护的EAP协议(PEAP)Internet草案(文件名为draft-josefsson-pppext-eap-tls-eap-0x.txt)
面向无线连接的IEEE 802.1X身份验证(Cable Guy于2002年4月发表的文章)
IEEE 802.11b无线网络概述(Cable Guy于2002年3月发表的文章)
如对本专栏的内容有任何疑问或想发表反馈信息,请致信Microsoft TechNet写信。
欲了解关于The Cable Guy所主持的所有专栏的列表和更多信息,请点击此处。