ITPub博客

首页 > 应用开发 > IT综合 > 802.1x认证原理

802.1x认证原理

原创 IT综合 作者:时讯无线 时间:2019-07-12 18:11:24 0 删除 编辑

802.1x认证系统基础

IEEE 802.1X是由IEEE制定的关于用户接入网络的认证标准,全称是“基于端口的网络接入控制”。它于2001年正式颁布,最初是为有线网络设计,之后为了配合无线网络的接入进行修订改版,并于2004年完成。

802.1x协议是一种基于端口的网络接入控制协议,所以具体的802.1x认证功能必须在设备端口上进行配置,对端口上接入的用户设备通过认证来控制对网络资源的访问。802.1x认证系统采用网络应用系统典型的Client/Server(C/S)结构,包括三个部分:客户端(Client)、设备端(Device)和认证服务器(Server),如图19-2所示。它与图19-1中的NAC模型结构一一对应。

l 客户端:局域网用户终端设备,但必须是支持EAPOL(Extensible Authentication Protocol over LAN,局域网可扩展认证协议)的设备(如PC机),可通过启动客户端设备上安装的802.1x客户端软件发起802.1x认证。



l 设备端:支持802.1x协议的网络设备(如交换机),对所连接的客户端进行认证。它为客户端提供接入局域网的端口,可以是物理端口,也可以是逻辑端口(如Eth-Trunk口)。

l 认证服务器:为设备端802.1x协议提供认证服务的设备,是真正进行认证的设备,实现对用户进行认证、授权和计费,通常为RADIUS服务器。

1. 802.1x认证受控/非受控端口

在设备端为客户端提供的接入端口被划分为两个逻辑端口:受控端口和非受控端口。“非受控端口”可看成为EAP(可扩展认证协议)端口,不进行认证控制,始终处于双向连通状态,主要用来传递在通过认证前必需的EAPOL协议帧,保证客户端始终能够发出或接收认证报文。

“受控端口”可以看作为普通业务端口,是需要进行认证控制的。它有“授权”和“非授权”两种状态(相当于在该端口上有一个控制开关):在授权状态下处于双向连通状态(控制开关闭合),可进行正常的业务报文传递;在非授权状态下处于打开状态(控制开关打开),禁止任何业务报文的传递。设备端利用认证服务器对客户端进行认证的结果(Accept或Reject)来实现对受控端口的授权/非授权状态进行控制。

2. 802.1x认证的触发方式

在华为S系列交换机中,802.1x的认证过程可以由客户端主动发起,也可以由设备端主动发起。在“客户端主动触发方式”中,由客户端主动向设备端发送EAPOL-Start(EAPOL开始)报文来触发认证;而“设备端主动触发方式”中用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1x客户端。

在“设备端主动触发方式”中又有两种以下具体的触发方式:

l DHCP报文触发:设备在收到用户的DHCP请求报文后主动触发对用户的802.1x认证, 仅适用于客户端采用DHCP方式自动分配IP地址的情形 因为DHCP请求报文是以广播方式发送的,所以在同一网段中的设备都可以收到,故设备端不一定就是担当DHCP服务器的设备

l 源MAC地址未知报文触发:当设备收到源MAC地址未知的报文时主动触发对用户的802.1x认证。若设备端在设置的时长内没有收到客户端的响应,则重发该报文。

3. 802.1x的认证方式

无论是哪种触发方式,802.1x认证系统都是使用EAP协议来实现客户端、设备端和认证服务器之间认证信息的交换。在客户端与设备端之间使用的是基于以太局域网的EAPOL格式封装EAP报文,然后承载于以太网数据帧中进行交互;而设备端与RADIUS服务器之间的EAP报文可以使用以下两种方式进行交互:

l EAP中继:来自客户端的EAP报文到达设备端后,直接使用EAPOR(EAP over RADIUS)格式封装在RADIUS报文中,再发送给RADIUS服务器,则RADIUS服务器来从封装的EAP报文中获取客户端认证信息,然后再对客户端进行认证。

这种认证方式的优点是设备端的工作很简单,不需要对来自客户端的EAP报文进行任何处理,只需要用EAPOR对EAP报文进行封装即可,根本不管客户端的认证信息。同时在这种认证方式中,设备端与RADIUS服务器之间可支持多种EAP认证方法,例如MD5-Challenge、EAP-TLS、PEAP等,但要求服务器端也支持相应的认证方法。

l EAP终结:来自客户端的EAP报文在设备端进行终结,然后由设备端将从EAP报文中提取的客户端认证信息封装在标准的RADIUS报文( 不再是EAPOR格式 )中,与RADIUS服务器之间采用PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocal,质询握手验证协议)方式对客户端进行认证(当然在RAIUDS服务器端必须配置合法用户的用户名和密码信息)。

这种认证方式的优点是现有的RADIUS服务器基本均可支持PAP和CHAP认证,无需升级服务器,但设备端的工作比较繁重,因为在这种认证方式中,设备端不仅要从来自客户端的EAP报文中提取客户端认证信息,还要通过标准的RAIUDS协议对这些信息进行封装,且不能支持除MD5-Challenge之外的其它EAP认证方法。

4. 802.1x认证支持的Guest VLAN、Restrict VLAN与Critical VLAN

为了使那些不支持802.1x的客户端通过安装或者升级802.1x客户端软件来支持802.1x认证,也为那些在认证过程中认证失败,或认证服务器无响应时提供一些基本的访问资源,华为S系列交换机的802.1x认证功能提供了以下三种不同的特殊VLAN功能( 当然,这些都是可选配置的 )。

l Guest VLAN

Guest VLAN(来宾VLAN)功能开启后,当 用户不响应802.1x认证请求 时(如未安装客户端软件),设备端会将用户所在端口加入到Guest VLAN中,以便这些用户可以访问Guest VLAN,获取客户端软件,升级客户端或执行其他一些用户升级程序等操作。

l Restrict VLAN

Restrict VLAN(限制VLAN)功能开启后,当 用户认证失败 时(如输入了错误的用户名和密码),设备端会将用户所在端口加入到Restrict VLAN中。Restrict VLAN和Guest VLAN的功能相似,都是满足用户在通过认证前可以访问有限的网络资源。但通常在Restrict VLAN中部署的网络资源比Guest VLAN中更少,从而更严格的限制未通过认证的用户对网络资源的访问。

l Critical VLAN

Critical VLAN(严格VLAN)功能开启后,当 认证服务器无响应 时(如设备端与认证服务器之间的网络断开或者认证服务器出现故障),设备端会将用户所在端口加入到Critical VLAN中进而能够访问Critical VLAN中的资源。

5. 802.1x快速部署

在实际的应用中,如果网络规模比较大,且有大量不能很好支持802.1x功能的客户端,这时客户端的部署工作量可能很大。为此华为S系列交换机提供了802.1x认证快速部署功能。它可引导这些用户自助下载安装客户端,实现客户端的快速部署。

802.1x认证快速部署功能通过以下两个功能实现:

l 用户受限访问

802.1x认证成功之前,通过ACL限制终端用户只能访问一个特定的IP地址段(免认证IP网段),或是特定服务器,在特定服务器上提供客户端的下载升级或者动态地址分配等服务。

l 用户HTTP访问URL重定向功能

用户在未进行802.1x认证前或者认证失败后,使用浏览器访问网络时,设备会将用户访问的URL重定向到配置好的URL,供这些用户从这个网页中下载客户端软件。

6. 用户组授权功能

设备支持根据用户组对用户进行授权控制(就相当于Windows系统中的用户组一样)。在用户认证成功后,认证服务器为该用户下发到对应的用户组,使该用户具备该用户组中的访问权限。每个用户组可以关联不同的ACL规则,通过用户组和ACL规则的关联,实现对每类用户进行ACL授权信息控制,即同类用户采用同样的授权信息。

18.1.2 802.1x认证原理

前面说了,在802.1x认证过程中,设备端与RADIUS服务器之间支持EAP中继和EAP终结两种认证方式。下面均 以客户端主动发起认证 为例进行介绍这两种认证方式的工作原理。

1. EAP中继认证原理

在EAP中继认证的过程中,设备端起一个中继代理的角色,用于通过EAPOR封装和解封装的过程转发客户端和认证服务器之间的交互报文。 整个认证过程是先进行用户名认证,然后再进行对应的密码认证 ,具体如下(对应图19-3中的序号):



(1)当用户访问网络时自动打开802.1x客户端程序,根据提示输入已经在RADIUS服务器中创建的用户名和密码,发起连接请求。因为端口最初的状态是未授权状态,所以此时端口除了IEEE 802.1x协议包外不能接收和发送任何包。此时,客户端程序将向设备端发出认证请求帧(EAPOL-Start),启动认证过程。

(2)设备端在收到客户端的认证请求帧后,将发出一个Identity(标识)类型的EAP请求帧(EAP-Request/Identity),要求用户的客户端程序发送上一步用户所输入的用户名。

(3)客户端程序在收到设备端的Identity请求帧后,将用户名信息通过Identity类型的EAP响应帧(EAP-Response/Identity)发送给设备端,响应设备端发出的请求。

(4)设备端将客户端发送的Identity响应帧中的EAP报文原封不动地使用EAPOR格式封装在RADIUS报文( RADIUS Access-Request)中,发送给认证服务器进行处理。

(5)RADIUS服务器收到设备端发来的RADIUS报文后从中提取用户名信息后,将该信息与数据库中的用户名列表中对比,找到该用户名对应的密码信息,并用随机生成的一个MD5 Challenge消息对密码进行加密处理,然后将此MD5 Challenge消息同样通过EAPOR格式封装以RADIUS Access-Challenge报文发送给设备端。

(6)设备端在收到来自RADIUS服务器的EAPOR格式的Access-Challenge报文后,通过解封装,将其中的MD5 Challenge消息转发给客户端。

(7)客户端在收到由设备端传来的MD5 Challenge消息后,用该Challenge消息对密码部分进行加密处理,然后生成EAP-Response/MD5 Challenge报文,并发送给设备端。

(8)设备端又将此EAP-Response/MD5 Challenge报文以EAPOR格式封装在RADIUS报文( RADIUS Access-Request)中发送给RADIUS服务器。

(9)RADIUS服务器将收到的已加密的密码信息后,与第(5)步在本地经过加密运算后的密码信息进行对比,如果相同则认为为合法用户,并向设备端发送认证通过报文(RADIUS Access-Accept)。

(10)设备收到RADIUS Access-Accept报文后,经过EAPOR解封装再以EAP-Success报文向客户端发送,并将端口改为授权状态,允许用户通过端口访问网络。

(11)用户在线期间设备端会通过向客户端定期发送握手报文,对用户的在线情况进行监测。

(12)客户端收到握手报文后向设备发送应答报文,表示用户仍然在线。缺省情况下,若设备端发送的两次握手请求报文都未得到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。

(13)客户端可以发送EAPOL-Logoff帧给设备端,主动要求下线。

(14)在设备端收到客户端发来的EAPOL-Logoff帧后,把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文,确认对应客户端下线。

2. EAP终结认证原理

EAP终结方式与EAP中继方式的认证流程相比,主要不同在于步骤(4)中用来对用户密码信息进行加密处理的MD5 challenge是由设备端生成(而不是由RADIUS服务器生成),之后设备端会把用户名、MD5 challenge和客户端加密后的密码信息一起送给RADIUS服务器,进行相关的认证处理。具体流程如图19-4所示。



3. MAC旁路认证

在802.1x认证过程中,设备端会首先触发用户采用802.1x认证方式,但若用户长时间内没有进行802.1x认证(如图18-5所示),则以用户的MAC地址作为用户名和密码上送认证服务器进行认证。MAC旁路认证可使802.1x认证系统中无法安装和使用802.1x客户端软件的终端,例如打印机等,以自身MAC地址作为用户名和密码进行认证。



(本文来源:时讯无线shixunet.com)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69936255/viewspace-2650406/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 什么是Portal认证
请登录后发表评论 登录
全部评论

注册时间:2019-06-27

  • 博文量
    22
  • 访问量
    16742