【摘要】针对无线局域网有多种认证方法可以应用,IEEE 802.1x标准就是其中的一种,它是一种基于端口的访问控制协议,包括三部分:客户端、访问点和认证服务器。本文侧重于客户端,对现有的IEEE 802.1x的客户端软件进行了描述、比较和分析。
【关键词】IEEE 802.1x;客户端;认证
1. IEEE 802.1x
随着IEEE 802.11无线局域网的迅速发展,通过应用无线通讯技术,公司和个人都获益匪浅。公司们降低了布线的成本,并且为他们的员工提供了极大的便利。普通用户通过使用笔记本电脑或者个人数字助理(PDA),通过无线局域网,可以在舒适的环境中方便的享受各种网络服务。
当一个用户试图访问IEEE 802.11网络的时候,一个常见的安全特性就是在提供给用户的设备任何服务之前,需要对用户的无线设备进行认证。目前针对无线局域网有多种认证方法,本文侧重研究IEEE 802.1x标准。
什么是IEEE 802.1x? 根据802.1X-2004标准,对IEEE 802.1x的描述如下:
它是一种基于端口的网络访问控制,利用IEEE 802局域网架构的特性,为具有点对点连接特性的从属于局域网端口的设备提供一种认证和授权的方法。如果对设备的认证和授权失败,则阻止设备访问。这里的端口指的是从属于局域网架构的单个节点。" 【1】
由此可见,IEEE 802.1x为通过IEEE 802局域网和无线局域网进行互联的设备提供了一致的认证和授权机制。通常来说,IEEE 802.1x包含三个实体【1】: 客户端、认证端、认证服务器。
客户端是一个实体,通常是某个点对点网络的一端,并寻求被链路另一端的认证端认证。有许多名称经常被用来描述这个实体,例如"用户","客户端","认证点"。在本文中我们用"客户端"来描述这个实体。
认证端是一个实体,位于点对点网络的另一端,负责对连接到链路另一端的实体进行认证。因此认证端控制着客户端的网络访问。
认证服务器为认证端提供认证服务,这个服务决定,在客户端向认证服务器出示自己的身份以后,是否能够获得访问认证端所在系统提供服务的授权。因此认证服务器的职责是做授权决定,而认证端的职责是执行这个决定。
尽管我们主要关注的是应用802.1x到无线局域网领域,从802.1x的定义我们可以看出,802.1x最初的开发是应用到有线局域网和使用点对点协议的拨号连接,防止一些人将网线接到墙上就可以获得网络连接除非他们获得授权。在一个拨号的点对点协议的情况下,三个实体的关系如图1所示。
如图1所示,客户端希望通过连接网络访问服务器访问网络,我们首先假定一开始客户端没有访问网络的权限,因此网络访问服务器(NAS)一开始阻止客户端访问网络。网络访问服务器没有权利决定是否让客户端访问网络。而这个决定基于认证数据库中的数据,由认证服务器决定。因此,网络访问服务器中的认证端在将开关的状态变为闭合之前(也就是授予客户端访问网络的权限),需要和认证服务器进行沟通。只有客户端被认证服务器成功认证之后,网络访问服务器才闭合开关允许客户端访问网络。
当应用IEEE 802.1x到无线局域网领域,访问点(AP)取代了网络访问服务器,无线链路取代了物理连接,客户端和AP之间的无线通讯基于可扩展认证协议(EAP)或者更精确说基于局域网的可扩展认证协议。在无线局域网中三个实体的关系如图2所示。
在图2中,无线设备,例如一个PDA或者一个笔记本电脑,是一个想要访问网络的客户端。为了得到授权,他必须回应认证端的数据请求。注意认证端不单单是访问点,但是他可以是访问点的一个组成部分。在图2中,认证端包含在访问点之内,但是他也可以由其它的设备来实现。在有线局域网的情况下,一旦认证服务器认证了客户端,认证端将允许客户端访问网络,来自被认证客户端的所有数据包可以通过(逻辑端口)开关。
基于可扩展认证协议,IEEE 802.1x为无线局域网提供了许多认证机制。其中的一些认证机制如下【2】:
"可扩展认证协议-消息摘要5 (EAP-MD5)【3】
"基于证书的方法例如可扩展认证协议-传输层安全(EAP-TLS)【4】
"可扩展认证协议-隧道模式 传输层安全(EAP-TTLS)【5】
"轻型可扩展认证协议 (LEAP)
"基于智能卡的方法例如可扩展认证协议-用户辨别模式(EAP-SIM)
"基于密码的方法例如可扩展认证协议-一次性密码(EAP-OTP)
"受保护的可扩展认证协议(PEAP)【6】
2. 什么是客户端
术语客户端是IEEE 802.1x标准中一个基本的概念。一般说来,客户端是一个寻求被认证端认证的实体。客户端可以通过点对点协议,IEEE 802.3,或者IEEE 802.11链路连接到认证端。而在实际应用当中,客户端是由操作系统厂商或者第三方厂商开发的软件,安装在终端用户的计算机上。例如微软为Windows XP, ME, 甚至更早期的版本提供了客户端。此外,还有一些802.1x的客户端软件,其中一些是商用的,而另外的一些可以免费获得,其中有一些甚至是开源产品,源代码是公开的。一些研究网络安全技术的公司已经相互合作,建立了OpenSEA联盟来开发开源的802.1x客户端软件【7】。接下来我们将描述比较和分析现有的IEEE 802.1x客户端软件。
3. 现有的IEEE 802.1x客户端软件
"思科安全服务客户端
思科安全服务客户端(前身是Meetinghouse数据通信公司出品的AEGIS SecureConnect【8】)为访问有线和无线网络提供了802.1x的客户端认证。它支持多种操作系统,包括:Windows,Linux, 和MacOS。它也支持多种EAP认证方法包括MD5, TLS, TTLS和LEAP。除此之外,做为思科联合无线网络的一部分,安全服务客户端具备以下优点【9】:
(1)简化了有线网络和无线网络的管理
(2)改善了网络安全
(3)降低了网络运营的总成本
"Juniper Network Odyssey访问客户端
Funk软件的两个著名产品是Odyssey访问客户端和Steel-Belted Radius【10】。Odessey访问客户端是一个适用于有线网络和无线网络的802.1x 客户端。Steel-Belted Radius是一个认证服务器【11】。但是Funk软件被Juniper网络收购了, Juniper网络的Odessey访问客户端是一个企业级的802.1x 客户端,并且很好的支持无线局域网的安全协议【12】。它可以应用与Windows 98/ME/2000/XP, 并且它支持MD5和LEAP EAP认证方法。Juniper具有以下优点【13】:
(1)它是一个安全的802.1x客户端可用于企业和政府机构等。
(2)它使用WPA2协议来保护无线链路上用户的身份和网络数据。
(3)它降低了企业的成本。
"微软802.1x客户端
微软Windows 2000,Windows XP, and Windows Server 2003家族为IEEE 802.1x 客户端提供了嵌入的支持。微软的客户端支持MD5和TLS EAP认证方法。
以上介绍了最流行的商用的802.1x 客户端软件。下面介绍一些开源的和免费的客户端软件。主要有三种开源的软件:XSupplicant【13】, wpa_supplicant【14】, 和Wire1x【15】. XSupplicant和wpa_supplicant主要使用在像Unix,Linux这样的操作系统上。而Wire1x是为各种各样的Windows平台而设计的。关于这三种客户端软件的详细介绍如下:
"XSupplicant
XSupplicant是Open1X 项目的产物。Open1X 项目的目标是开发IEEE 802.1x协议的开源实现,项目侧重于客户端和认证端的开发。XSupplicant是一个802.1x的实现可以用于有线局域网和无线局域网。XSupplicant使用了模块式架构,这样新的认证方法可以很容易的被添加。而且新的安全机制可以被集成到原有的系统中。最新版本的XSupplicant支持Linux/BSD和苹果计算机的Mac OS, 并且拥有图形用户界面。
XSupplicant支持以下EAP认证方法:EAP-MD5, LEAP, EAP-MSCHAPv2,EAP-AKA,EAP-SIM,EAP-TLS,EAP-TTLS, EAP-OTP, EAP-PEAP (v0和v1)。
基于存在的XSupplicant,六个网络和安全技术公司(Extreme Networks, Identity Engines, Infoblox, Symantec Corporation, TippingPoint, and Trapeze Networks) 建立了一个名为OpenSEA联盟的组织用来从事开源802.1x客户端的开发。这个联盟的目标是开发一个开源的802.1x客户端,不仅具备XSupplicant的优点,而且拓展了它的功能支持其它平台。
"Wpa_supplicant
Wpa_supplicant是一个免费的IEEE 802.1x客户端软件,支持多种操作系统,包括:Linux,BSD, 苹果计算机的Mac OS, 以及微软的Windows操作系统。它同时支持(无线受保护访问)WPA和WPA2(IEEE 802.11i / RSN)。Wpa_supplicant被设计成在后台运行来控制无线连接。同时拥有图形用户界面和命令行界面来监听运行的客户端。通过这些用户界面,用户可以看到所有可得到的网络。Wpa_supplicant支持以下的WPA/IEEE 802.11i 特性:
"WPA 和全部的 IEEE 802.11i/RSN/WPA2
"WPA 和EAP (例如RADIUS认证服务器)
"CCMP, TKIP, WEP的密钥管理
"WPA-PSK 和WPA2-PSK (预先共享密钥)
Wpa_supplicant也支持很多EAP认证方法,包括EAP-AKA, EAP-SIM, EAP-PSK, EAP-FAST, EAP-PAX, EAP-SAKE, EAP-IKEv2,EAP-TLS, EAP-TTLS, EAP-PEAP(PEAPv0和PEAPv1),LEAP(需要特殊的驱动支持)。
"WIRE1X
WIRE1X是另一个开源实现的IEEE 802.1x客户端软件,由台湾国立清华大学无线网络研究及工程实验室开发。尽管WIRE1X的实现基于Open1x,这个客户端是设计用来在不同的微软Windows操作系统下运行。和微软自带的IEEE 802.1x 客户端软件相比,用户可以更加方便安全的访问网络。目前,WIRE1X支持Windows Vista,Windows XP, Windows 2000, Windows ME, and Windows 98,支持的EAP认证方法包括AKA, MD5, SIM, TLS, TTLS, PEAP, MSCHAPv2。
和微软的客户端软件相比,WIRE1X支持更多的EAP认证方法。此外,WIRE1X的用户界面友好,使用方便,用户可以很容易地完成安装和配置。因此,WIRE1X比微软的客户端软件更加实用,应用的更加广泛。
4. 结论
本文对IEEE 802.1x标准进行了详细的介绍,侧重于客户端部分,阐释了客户端的定义和作用,对现有的客户端软件进行了比较和分析。对于一般用户来说,开源免费的客户端软件无疑是一个不错的选择,用户可根据自己的使用习惯选择不同的客户端软件。
【参考文献】
[1] IEEE, "IEEE Standards for Local and Metropolitan Area Networks: Standard for
Port Based Network Access Control", IEEE Std 802.1x-2004, October 2004, available at: http://standards.ieee.org/getieee802/download/802.1X-2004.pdf.
[2] 王裕平, 刘义文, 陈志成. "WIRE1x的设计与实现", 台湾国立清华大学,availableat:wire.cs.nthu.edu.tw/wire1x/TANET03.pdf.
[3] W. Simpson, "PPP Challenge Handshake Authentication Protocol (CHAP)", RFC 1994, August 1996, available at:http://www.ietf.org/rfc/rfc1994.txt?number=1994.
[4] B. Aboba and D. Simon, "PPP EAP TLS Authentication Protocol", RFC 2716, October 1999, available at: http://www.ietf.org/rfc/rfc2716.txt?number=2716.
[5] Paul Funk, "EAP Tunneled TLS Authentication Protocol (EAP-TTLS)", March2002, available at: http://www.ietf.org/proceedings/02mar/slides/eap-1/.
[6] H. Andersson, S. Josefsson, G. Zorn, and B. Aboba, "Protected Extensible Authentication Protocol (PEAP)
[7] OpenSEA Alliance Formed by Leading Vendors to Develop and Distribute Open Source 802.1X Supplicant, available at: http://www.openseaalliance.org/index.php?option=com_content&task=view&id=6&Itemid=40.
[8] AEGIS (network), available at: http://en.wikipedia.org/wiki/AEGIS_(network).
[9] Cisco Systems Completes Acquisition of Meetinghouse Data Communications,availableat: http://newsroom.cisco.com/dlls/2006/corp_081606.html.
[10] Juniper Networks Odyssey Access Client, available at: http://www.juniper.net/products_and_serices/aaa_and_802_1x/odyssey/odyssey_access_client/index.html.
[11] Sean Michael Kerner, "Network Access Heats Up With 802.1x Funk", July 2006, available at: http://www.internetnews.com/security/article.php/3620336.
[12] Juniper Networks Completes Acquisition of Funk Software, available at: http://www.juniper.net/company/presscenter/pr/2005/pr-051201.html.
[13] IEEE 802.1x Open Source Implementation, available at: http://open1x.sourceforge.net/.
[14] Linux WPA/WPA2/IEEE 802.1X Supplicant, available at: http://hostap.epitest.fi/wpa_supplicant/.
[15] Wire1x, available at: http://wire.cs.nthu.edu.tw/wire1x/.
作者简介:
张恒翀(1981.10--),男,山东烟台,瑞典皇家理工大学 信息与通信技术学院,已获理学硕士(网络工程专业)在读媒体管理硕士研究生,研究方向: 信息技术