802.1x协议起源于802.11协议,后者是IEEE的无线局域网协议, 制订802.1x协议的初衷是为了解决无线局域网用户的接入认证问题。IEEE802LAN协议定义的局域网并不提供接入认证,只要用户能接入局域网控制 设备 (如LANS witch) ,就可以访问局域网中的设备或资源。这在早期企业网有线LAN应用环境下并不存在明显的安全隐患。但是随着移动办公及驻地网运营等应用的大规模发展,服务提供者需要对用户的接入进行控制和配置。尤其是WLAN的应用和LAN接入在电信网上大规模开展,有必 要对端口加以控制以实现用户级的接入控制,802.lx就是IEEE为了解决基于端口的接入控制 (Port-Based Network Access Contro1) 而定义的一个标准。
IEEE 802.1x是根据用户ID或设备,对网络客户端(或端口)进行鉴权的标准。该流程被称为“端口级别的鉴权”。它采用RADIUS(远程认证拨号用户服务)方法,并将其划分为三个不同小组:请求方、认证方和授权服务器。
820.1x 标准应用于试图连接到端口或其它设备(如Cisco Catalyst交换机或Cisco Aironet系列接入点)(认证方)的终端设备和用户(请求方)。认证和授权都通过鉴权服务器(如Cisco Secure ACS)后端通信实现。IEEE 802.1x提供自动用户身份识别,集中进行鉴权、密钥管理和LAN连接配置。
如上所属,整个802.1x 的实现设计三个部分,请求者系统、认证系统和认证服务器系统。一下分别介绍三者的具体内容:
请求者系统
请求者是位于局域网链路一端的实体,由连接到该链路另一端的认证系统对其进行认证。请求者通常是支持802.1x认证的用户终端设备,用户通过启动客户端软件发起802.lx认证,后文的认证请求者和客户端二者表达相同含义。
认证系统
认证系统对连接到链路对端的认证请求者进行认证。认证系统通常为支持802. Lx协议的网络设备,它为请求者提供服务端口,该端口可以是物理端口也可以 是逻辑端口,一般在用户接入设备 (如LAN Switch和AP) 上实现802.1x认证。倎文的认证系统、认证点和接入设备三者表达相同含义。
认证服务器系统
认证服务器是为认证系统提供认证服务的实体,建议使用RADIUS服务器来实现认证服务器的认证和授权功能。
请求者和认证系统之间运行802.1x定义的EAPO (Extensible Authentication Protocolover LAN)协议。当认证系统工作于中继方式时,认证系统与认证服务器之间也运行EAP协议,EAP帧中封装认证数据,将该协议承载在其它高层次协议中(如 RADIUS),以便穿越复杂的网络到达认证服务器;当认证系统工作于终结方式时,认证系统终结EAPoL消息,并转换为其它认证协议(如 RADIUS),传递用户认证信息给认证服务器系统。
认证
系统每个物理端口内部包含有受控端口和非受控端口。非受控端口始终处于双向连通状态,主要用来传递EAPoL协议帧,可随时保证接收认证请求者发出的EAPoL认证报文;受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。
整个802.1x的认证过程可以描述如下:
(1) 客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;
(2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;
(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;
(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;
(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;
(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证
(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备
(8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证
(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;
(10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;
(11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;
(12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。
802.1x协议是基于Client/Server的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口访问LAN/WLAN。在获得交换机或LAN提供的各种业务之前,802.1x对连接到交换机端口上的用户/设备进行认证。在认证通过之前,802.1x只允许EAPoL(基于局域网的扩展认证协议)数据通过设备连接的交换机端口;认证通过以后,正常的数据可以顺利地通过以太网端口。
网络访问技术的核心部分是PAE(端口访问实体)。在访问控制流程中,端口访问实体包含3部分:认证者--对接入的用户/设备进行认证的端口;请求者--被认证的用户/设备;认证服务器--根据认证者的信息,对请求访问网络资源的用户/设备进行实际认证功能的设备。
以太网的每个物理端口被分为受控和不受控的两个逻辑端口,物理端口收到的每个帧都被送到受控和不受控端口。对受控端口的访问,受限于受控端口的授权状态。认证者的PAE根据认
证服务器认证过程的结果,控制"受控端口"的授权/未授权状态。处在未授权状态的控制端口将拒绝用户/设备的访问。
1.802.1x认证特点
基于以太网端口认证的802.1x协议有如下特点:IEEE802.1x协议为二层协议,不需要到达三层,对设备的整体性能要求不高,可以有效降低建网成本;借用了在RAS系统中常用的EAP(扩展认证协议),可以提供良好的扩展性和适应性,实现对传统PPP认证架构的兼容;802.1x的认证体系结构中采用了"可控端口"和"不可控端口"的逻辑功能,从而可以实现业务与认证的分离,由RADIUS和交换机利用不可控的逻辑端口共同完成对用户的认证与控制,业务报文直接承载在正常的二层报文上通过可控端口进行交换,通过认证之后的数据包是无需封装的纯数据包;可以使用现有的后台认证系统降低部署的成本,并有丰富的业务支持;可以映射不同的用户认证等级到不同的VLAN;可以使交换端口和无线LAN具有安全的认证接入功能。
2.802.1x工作过程
(1.当用户有上网需求时打开802.1X客户端程序,输入已经申请、登记过的用户名和口令,发起连接请求。此时,客户端程序将发出请求认证的报文给交换机,开始启动一次认证过程。
(2.交换机收到请求认证的数据帧后,将发出一个请求帧要求用户的客户端程序将输入的用户名送上来。
(3.客户端程序响应交换机发出的请求,将用户名信息通过数据帧送给交换机。交换机将客户端送上来的数据帧经过封包处理后送给认证服务器进行处理。
(4.认证服务器收到交换机转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字传送给交换机,由交换机传给客户端程序。
(5.客户端程序收到由交换机传来的加密字后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的),并通过交换机传给认证服务器。
(6.认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息,并向交换机发出打开端口的指令,允许用户的业务流通过端口访问网络。否则,反馈认证失败的消息,并保持交换机端口的关闭状态,只允许认证信息数据通过而不允许业务数据通过。
3.802.1x应用环境特点
(1)交换式以太网络环境
对于交换式以太网络中,用户和网络之间采用点到点的物理连接,用户彼此之间通过VLAN隔离,此网络环境下,网络管理控制的关键是用户接
入控制,802.1x不需要提供过多的安全机制。
(2)共享式网络环境
当802.1x应用于共享式的网络环境时,为了防止在共享式的网络环境中出现类似“搭载”的问题,有必要将PAE实体由物理端口进一步扩展为多个互相独立的逻辑端口。逻辑端口和用户/设备形成一一对应关系,并且各逻辑端口之间的认证过程和结果相互独立。在共享式网络中,用户之间共享接入物理媒介,接入网络的管理控制必须兼顾用户接入控制和用户数据安全,可以采用的安全措施是对EAPoL(EAP OVER LAN基于局域网的扩展认证协议)和用户的其它数据进行加密封装。在实际网络环境中,可以通过加速WEP(Wired Equivalent Privacy有线等效保密协议)密钥重分配周期,弥补WEP静态分配秘钥导致的安全性的缺陷。
4.802.1x认证的安全性分析
802.1x协议中,有关安全性的问题一直是802.1x反对者攻击的焦点。实际上,这个问题的确困扰了802.1x技术很长一段时间,甚至限制了802.1x技术的应用。但技术的发展为这个问题给出了答案:802.1x结合EAP,可以提供灵活、多样的认证解决方案。
5.802.1x认证的优势
综合IEEE802.1x的技术特点,其具有的优势可以总结为以下几点。
简洁高效:纯以太网技术内核,保持了IP网络无连接特性,不需要进行协议间的多层封装,去除了不必要的开销和冗余;消除网络认证计费瓶颈和单点故障,易于支持多业务和新兴流媒体业务。
容易实现:可在普通L3、L2、IPDSLAM上实现,网络综合造价成本低,保留了传统AAA认证的网络架构,可以利用现有的RADIUS设备。
安全可靠:在二层网络上实现用户认证,结合MAC、端口、账户、VLAN和密码等;绑定技术具有很高的安全性,在无线局域网网络环境中802.1x结合EAP-TLS,EAP-TTLS,可以实现对WEP证书密钥的动态分配,克服无线局域网接入中的安全漏洞。
行业标准:IEEE标准,和以太网标准同源,可以实现和以太网技术的无缝融合,几乎所有的主流数据设备厂商在其设备,包括路由器、交换机和无线AP上都提供对该协议的支持。在客户端方面微软WindowsXP操作系统内置支持,Linux也提供了对该协议的支持。
应用灵活:可以灵活控制认证的颗粒度,用于对单个用户连接、用户ID或者是对接入设备进行认证,认证的层次可以进行灵活的组合,满足特定的接入技术或者是业务的需要。
易于运营:控制流和业务流完全分离,易于实现跨平台多业务运营,少量改造传统包月制等单一收费制网络即可升级成运营级网络,而且网络的运营成本也有望降低。