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时,快速重连最小化了无线环境中的连接延迟。
阅读(2052) | 评论(0) | 转发(0) |