扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛管理 来源:zdnet安全频道 2008年12月17日
关键字: 无线网络
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将介绍Protected Extensible Authentication Protocol (PEAP) Authentication,这是一种基于密码的验证协议,可以帮助企业实现简单安全的验证功能。
受保护的可扩展身份验证协议 (PEAP) 认证,是一种基于安全密码的认证协议,可以实现简单而又安全的身份验证功能。虽然PEAP也可以用于有线网络环境,但是一般来说,主要用于无线局域网环境的网络接入保护(NAP)甚至Vista系统中的VPN认证。 虽然市面上还有一些验证协议可以实现与PEAP类似的功能,比如Funk Software的EAP-TTLS ,但是由于PEAP与Windows操作系统的良好协调性,以及可以通过Windows组策略进行管理的特性,使得PEAP在部署时极其简单。
为何选PEAP而不是其它商业验证协议
在非Cisco设备领域,PEAP拥有了相当规模的市场占有率。同时,由于LEAP协议的安全性较差,不少Cisco用户也选择了使用PEAP进行用户验证,尤其是在企业无线局域网市场,PEAP的应用比例更是远远高出其他竞争对手。最近有些Cisco用户开始使用新的Cisco EAP-FAST 协议 ,但是这个协议的安全性并不比LEAP强多少,而且部署相当困难。更糟的是,很多老型号的Cisco无线设备都不支持Cisco EAP-FAST协议,但是却可以支持PEAP协议。由于PEAP可以兼容几乎全部厂商的全部设备,可以为企业提供至关重要的“设备级验证”功能,同时可以在活动目录中自动部署(仅在微软的Windows XP/Vista PEAP客户端中。),因此对于企业来说,PEAP是一个最佳的验证协议。这里需要解释的是,我并没有劝大家不要使用Cisco的硬件产品,因为我本身就对Cisco的硬件可靠性非常满意。我只是建议大家使用更通行的协议,实现最佳的灵活性、兼容性、稳定性以及更方便部署。
PEAP和PKI
公开密钥基础结构(PKI)是公开密钥加密方法(PKC)中的一个组件,采用了数字证书 (x.509 format) 和证书验证方法。PEAP使用PKI来确保用户验证过程不会被黑客或恶意人员截获和破解,这与SSL采用PKI来确保网站或其它敏感网络应用在数据交换过程不被截获并破解的目的是一样的。
虽然从OSI模型的角度来看,PEAP和SSL分别属于不同的等级(第二层和第五层),但是这两种方式都是依靠服务器端的数字证书来进行密码交换,进而启动一个安全的加密线程,就算整个过程在黑客的监视下进行,也可以确保足够的安全性。这个安全线程不仅保护了密码交换,更重要的是可以保护用户的密码验证线程。
PKI模式采用一个简单的数字文档作为确定拥有者身份的数字证书,实现安全的密码交换。数字证书本身并没有什么价值,而当这个证书被一个被称作证书授权(CA)的受信机构签名后,就具有了证明身份的作用。为了让CA能够被客户(诸如采用SSL连接进行网络购物的笔记本或台式机)所信任,客户端的证书信任列表(CTL)中应该安装包含有该CA公钥的“root certificate”,即该CA的根证书。
目前所有主流操作系统中,都预装了包含可信CA根证书的CTL,这也就是为什么诸如VeriSign这样的公司有权利给全球的服务器颁发证书。采用VeriSign这样具有公信力的认证机构来建立PKI是一件非常简单的事情,因为该证书已经被几乎所有的电脑以及PDA设备所接受,但是服务器证书的费用每年可能会有数百美元。采用EAP-TLS和CA结合的办法成本更高,因为你还需要每年为每个客户支付60美元的数字证书费用。
商业的CA公司还可以为个人提供签名服务,如果你有足够的相关知识和客观条件,可以拥有自己的数字证书,并可以建立自己的CA。这就是为什么很多企业不愿意考虑建立自己的CA系统,也不愿意每年花300美元获取大型CA公司提供的证书。这也是很多企业选择LEAP并幻想着可以通过强壮的密码弥补LEAP的安全弱点,达到与PEAP相同的安全防御效果。从我的实际经验看,要说服这些企业采用PKI绝不是一个简单的任务。而为了让大家的工作更轻松,在这里我将教大家如何避免采用商业或者公众的CA公司,而是通过自签名的数字证书实现安全的无线局域网。
验证服务器请求
要应用PEAP,企业需要首先建立一个RADIUS验证服务器。实现这一任务的方法很多,比如采用Microsoft Windows Server 2003 SP1或带有IAS的Windows Server 2003 R2,第三方的RADIUS服务器可以选用Funk Odyssey,实现在非Windows环境(如Novell)下的RADIUS服务器,另外还可以选择开放源代码解决方案,比如FreeRADIUS 。Windows Server 2000也带有IAS,但是仅支持EAP-TLS验证,不支持PEAP验证。
要实现PEAP,RADIUS服务器必须有服务器端的x.509数字证书。 这个证书可以从第三方的CA机构获取,比如VeriSign,或者从企业内部的CA机构颁发。这两种方案在传统意义上都是可行的,但是对于小型企业来说并不现实,因为小型企业不愿意每年花300美元购买第三方认证机构的证书,公司里可能也不会有一个PKI CA服务器。为了解决这个问题,一个最佳的方式就是在RADIUS服务器上采用自签名证书。要安装 Microsoft IAS。
PEAP的硬件和软件需求
每个企业级的无线接入点都支持与WPA/WPA2 EAP类型兼容的RADIUS验证,包括PEAP验证。Cisco的接入点支持专用的验证协议,即Cisco LEAP 和EAP-FAST,但是其它非Cisco的接入点并不支持这些协议。因此我并不建议你采用这些协议。Cisco则将其专用的验证方法称为“Network EAP”,而将开放的验证方法称为“Open EAP”。从客户端硬件设备的需求来说,任何支持Windows Wireless Client的设备都支持PEAP验证,而大部分Wi-Fi适配器都属于此类产品。
目前的Windows Mobile和CE系统都已经支持PEAP验证了。Windows XP Wireless Client也在SP1中加入了对PEAP的支持,并且在SP2中加强了这一功能。针对Windows XP甚至还推出了WPA2升级。而Windows Vista则包含了Wireless Client的全部功能。
Windows 2000 Service的最后一个补丁也加入了对PEAP的支持,但是WPA级别的TKIP或AES并没有被加入,同时用户也不能通过Windows 2000的组策略编辑器控制Wireless Client。你可以从这里获取针对Windows 2000的免费WPA客户端,而且各种Wi-Fi适配器也都带有自己的支持WPA的Wireless Clients。但是只有Windows XP和Vista下的无线客户端才可以通过活动目录组策略进行集中化的控制。通过本系列的其它文章,你可以学习如何通过组策略手动配置Windows XP的Wireless Client,以及如何通过组策略自动配置Windows XP和Vista的Wireless Client。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。