Advertisement

802.1x认证原理

阅读量:

1x认证系统基础

IEEE 802.1X是由IEEE组织制定了关于用户接入网络认证的技术规范。该标准其官方名称定为'基于端口的网络接入控制协议'。它于2001年正式发布,在最初阶段主要针对有线网络环境开发,在随后为了适应无线网络安全需求进行了多次修订与完善工作,并于2004年最终完成修订

该协议是一种基于接口的网络接入控制机制,因此具体的802.1x认证功能必须由设备端口进行配置,以实现接入设备的身份验证并控制其对网络资源的访问权限.该认证系统遵循典型的 Client/Server (C/S) 结构模式,包含三个组成部分:客户端 (Client)、设备端 (Device) 和认证服务器 (Server),如图 19-2所示.这种架构与图 19-1中 NAC 模型结构实现了精准对应.

客户端即为能够接入局域网的终端设备,但仅限于支持EAPOL协议(Extensible Authentication Protocol over LAN)的设备(如个人电脑),通过运行安装于该终端设备上的802.1X认证软件即可实现相应的认证流程。

网络设备的一端具备支持802.1x协议的能力,并对连接到该设备的客户端实施身份验证。它通过赋予客户端接入局域网的接口来实现这一功能。这些接口可以是物理接口或者虚拟化的逻辑接口(例如以太网 trunk 接口)。

认证设备:网络设备端802.1x协议的认证提供者是真正的认证执行者,在此平台上完成对用户的认证、授权以及费用计算任务,并担任RADIUS服务器角色。

在设备管理中为客户端提供的接入端口中设置了两种逻辑分类:受控与非受控两类端口。其中,“非受控类”的接口也可视为采用EAP协议进行通信的专用通道。这类通道未实施认证控制机制,并始终保持双向往连接状态以便于传输在通过认证流程前必要的EAPOL数据帧信息从而确保客户端能够正常发送或接收相应的认证数据包。

受控端口可被视为普通业务端口,在需进行认证控制的情况下运用广泛。它处于授权状态或非授权状态(相当于该端口上配置了一个控制开关)。当处于授权状态时实现双向通信(控制开关闭合),允许正常报文传输;而当处于非授权状态时则如同开关打开般不通畅通信(控制开关打开),阻止所有报文传输。设备层借助认证服务器对客户端的身份验证结果(接受或拒绝)来调控受控端口的状态。

在华为S系列交换机中,默认情况下支持两种802.1x认证触发模式:一种是基于客户端发起认证过程(EAPOL-Init),另一种是基于设备端发起认证流程(EAPOL-Init)。当采用基于客户端发起认证时,默认情况下支持无法自行发送EAPOL-Init报文的Windows XP自带型802.1x终端;而当采用基于设备端发起认证时,则无需任何终端配置即可完成认证流程。

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

DHCP请求报文引发:当设备接收到用户的 DHCP请求报文时会自动响应并发起802.1x认证流程。
仅限于客户端通过 DHCP机制自动生成IP地址的情况。
由于 DHCP请求报文采用广播传输的方式所有在同一网络范围内的设备都能接收到这些信息。
因此并非所有的接收端设备都必然具备成为 DHCP服务器的职责。

当接收方遇到无源MAC地址的报文时会自动发起对用户的802.1x认证流程。如果设备端未能在预设时间内收到客户端的响应系统将重新发送该报文以确保认证流程的有效执行。

  1. 802.1x认证机制
    无论何种触发途径,802.1x认证系统均采用EAP协议完成客户端、设备端及认证服务器间的认证信息传递。具体而言,在客户端与设备端之间,则通过以太局域网中的EAPOL格式对EAP报文进行封装,并将其承载于以太网数据帧中实现交互;至于设备端与RADIUS服务器之间的EAP报文,则可采用以下两种方式进行交互

通过EAP中继机制:当客户端发送的EAP报文到达设备端时,系统会立即对其进行处理并将其经过EAPOR(即EAP over RADIUS)封装处理后传输至RADIUS服务器。随后,在接收到封装好的RADIUS报文后,RADIUS服务器会解封装以提取其中包含的客户端认证信息,并在此基础上完成对客户端的身份验证过程。

该认证方案具有显著优势在于设备端的操作简便性

l EAP终止过程:设备端接收并终止了客户端发出的EAP报文。随后,在标准RADIUS报文中打包了来自该过程中的客户端认证信息,并通过PAM或其他类似协议实现双方的身份验证。确保该服务端能够识别和验证这些合法用户的账户信息。

这种认证方案的优势在于现有RADIUS服务器基本上都能实现PAP与CHAP认证功能,并不需要升级服务器设备。然而,在该方案下设备端的工作量较大。具体而言,在这种认证机制中,设备端不仅需要从客户端发送来的EAP报文中提取客户端的身份验证信息,并且还需要按照标准的RAIUDS协议对这些信息进行封装处理。此外,在支持的EAP验证机制方面也较为有限

为了帮助那些尚未安装或升级802.1x客户端软件以实现802.1x认证功能的终端设备,并在认证失败或服务器响应中断时提供基本访问权限, 华为S系列交换机内置了三种可选配置的特殊VLAN功能用于实现802.1x认证流程

l Guest VLAN

当 guest vlan功能被启用后,在用户未能正确响应802.1x认证请求的情况下(例如未安装客户端软件),设备会自动将该用户的接入端口纳入 guest vlan网络中。这有助于使这些用户能够通过 guest vlan网络访问必要的服务,下载并安装客户端软件,并完成对客户端软件的升级以及相关的更新程序操作等操作。

l Restrict VLAN

当启用Restrict VLAN功能时,在用户的凭证无效(例如输入错误用户名或密码)的情况下,“设备会将该端口分配给该用户的(Transformed)连接并将其添加到对应的.VLAN区域中”。其中,在Typical情况下, Restrict-VLAN配置下的可访问网络资源数量少于Guest-VLAN设置,从而为未完成验证过程的用户提供更加严格的访问控制策略。

l Critical VLAN

当Critical VLAN功能被启用后(具体来说是严格VLAN),若认证服务器无法正常响应(例如设备端与认证服务器之间出现网络中断或认证服务器发生故障),则设备端会将用户所在的端口加入至该Critical VLAN中。从而使得用户能够访问该Critical VLAN中的资源。

在实际应用中, 当网络规模较大时, 面对无法良好支持802.1x功能的终端设备数量较多的情况下, 客户端部署的工作量会显著增加。为此, 华为S系列交换机提供了一种高效的解决方案: 802.1x认证快速部署功能。该设备能够协助用户自行下载并安装相应的客户端工具, 实现高效的部署过程。

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

l 用户受限访问

在完成802.1x认证之前,ACL将终端用户的访问范围限定为一个特定的IP地址块(免认证IP网段),或者指定服务器,在指定服务器上提供客户端下载升级服务以及动态地址分配等支持性服务。

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

在浏览器访问网络之前或认证失败时, 设备会将用户的访问 URL 重定向至配置好的 URL, 供这些用户提供相应的客户端软件下载入口。

  1. 用户组授权功能
    设备能够基于用户的属下权限进行管理(类似于Windows中的属下策略)。当用户的认证过程完成并获得成功后,在线服务将向该用户提供对应的属下策略以赋予相应的访问权限。每个属下策略可以绑定不同的访问控制列表(ACL)规则,并通过这些策略与ACL规则之间的关联关系,在同一属下的所有用户提供相同的ACL权限设置。

第18.1.2节 802.1x认证原理:在此之前,在802.1x的认证过程中,设备端与RADIUS服务器之间支持EAP中继以及EAP终结两种不同的认证方式。具体以客户端主动发起认证为例介绍这两种认证方式的工作原理。

  1. EAP中继认证原理

在EAP体系下实施中继认证时,在线设备会承担一个中继代理角色,在此过程中通过EAPOR机制执行报文封装与解封装操作来实现客户端与认证服务器之间信息的传递与互换。整个流程主要包括两个阶段:首先是基于用户名的验证环节,在此之后则按照相应的规则执行密码核实步骤(如图19-3所示)。

在用户接入网络时自动启动802.1X客户端程序,并根据系统提示输入已注册于RADIUS服务器的用户名和密码后执行认证请求。由于端口初始状态为未授权配置,在此状态下端口无法接收或发送除IEEE 802.1X协议包之外的任何数据包。在此情况下,客户端将向设备发送认证请求帧(EAPOL-Start),开始认证流程。

当设备端接收到客户端的一个认证请求数据包时,随后会释放一个标识类型的身份认证查询数据包,EAP-Request/Identity,并指示相关的客户端程序模块去传输上一阶段用户的登录信息内容.

客户端程序接收到设备端发送来的Identity请求帧之后,在经由该类型(即Identity)的EAP响应帧中包含用户名信息并发送给设备端之后的位置上回应了相应的问题或指示。

设备端将客户端发送的Identity响应帧中的EAP报文完整地按照EAPOR规范进行封装成RADIUS报文(RADIUS Access-Request),经由认证服务器处理。

当RADIUS服务器接收到来自设备端的RADIUS报告时,在其内部解析出相应的用户名信息,并将其与数据库中的用户名列表进行匹配。随后系统会查找数据库中与此用户名相对应的密码存储记录,并利用一个随机生成的MD5挑战密钥对该密码进行加密处理。最后会将此MD5挑战密钥按照EAPOR编码规范包装成一个新的RADIUS Access-Challenge挑战报文,并发送给设备端执行验证流程。

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

当客户端接收到来自设备端发送来的MD5挑战消息时,在其接收该挑战信息后会对密码字段进行加密处理,并随后生成一个带有EAP响应字段的报文随后将其发送回至设备端

设备端将其EAP-Response/MD5 Challenge报文按照EAPOR格式封装至RADIUS报文(即RADIUS Access-Request)中,并发送给RADIUS服务器进行处理。

RADIUS服务器接收到经加密处理的客户端传输的信息,并将其与本地端执行加密运算所得的结果进行比对。若双方结果一致,则判定该客户端为合法用户,并将认证结果反馈至设备端,并采用RADIUS Access-Accept作为响应报文。

设备接收到RADIUS Access-Accept报文后,在完成EAPOR解包步骤后,
生成并发送带有EAP-Success标识符的响应数据包,
将目标网络接入端口的状态更改为授权配置,
从而允许客户端通过指定的访问通道进行有效的网络接入。

在用户的在线时段中,服务器端将定时向客户端传输握手报文,并负责对用户的在线状态进行监控。

当客户端接收到握手报文时,则会向设备发送相应应答报文以表明用户仍保持在线状态。按照默认流程,在设备端连续发出两次握手请求时

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

当设备接收到客户端发送的EAPOL-Logoff帧时,在处理过程中将该端口的状态更新至未授权模式,并通过相应的机制向客户端发送EAP-Failure报文以确认相关客户端已断开连接

  1. EAP终结认证原理

EAP终结方案与传统EAP中继方案在认证流程上存在显著差异,在第4步的具体实施环节上出现了关键区别。具体来说,在完成用户密码信息的安全性增强措施时,在第4步的具体实施环节上出现了关键区别。在此过程中,在完成用户密码信息的安全性增强措施时,在第4步的主要操作是通过使用MD5算法来计算用户的口令哈希值,并将这些哈希值作为附加的安全性验证参数提交给目标终端。随后将包含用户名、MD5挑战和客户端加密后的口令数据的一组完整数据发送给目标终端所在位置的RADIUS服务器参与相应的认证过程。具体详细的操作流程可参考附图19-4

  1. MAC旁路认证

在完成802.1x认证流程时,设备端将首先触发用户按照802.1x标准进行身份验证。然而,在用户长时间未完成该流程(如图18-5所示)的情况下,则会采用用户的MAC地址作为用户名与密码向上级认证服务器提交身份验证请求。值得注意的是,MAC旁路认证特别适用于那些无法安装或运行802.1x客户端软件的终端设备(例如打印机),它们可以通过直接使用自身的MAC地址作为用户名和密码的方式完成身份验证过程。

全部评论 (0)

还没有任何评论哟~