Advertisement

802.1x认证原理

阅读量:

1x认证系统基础

IEEE 802.1X是由IEEE标准协会制定的一项针对用户接入网络安全的技术规范,其官方名称为'基于端口的安全接入管理协议'。该标准于2001年正式发布,最初主要针对 wired 网络进行设计,随后为了适应 wireless 网络的需求进行了修订和完善,最终于2004年完成修订工作并投入实际应用

802.1x协议是基于端口实现的一种网络接入控制方案,因此具体的802.1x认证功能必须在设备端口上实施相应的配置设置,以便对连接到该端口上的用户设备实施身份验证后才能允许其访问网络资源。
该认证系统的架构遵循典型的客户端/服务器(C/S)模式设计,主要包括三个主要组成部分:客户端(Client)、设备管理模块(Device)以及认证服务器模块(Server),如图19-2所示。
这一架构与图19-1中展示的NAC模型结构之间存在一一对应关系。

客户端为支持局域网用户访问的终端设备,在具备EAPOL功能(即局域网可扩展认证协议)的前提下使用;通过运行预装于该端设备上的802.1X客户端软件进行认证。

图19-1 802.1x认证系统结构

设备端:配置了802.1x认证协议的网络设备类(如交换型网络设备),能够实现实现对所连接终端用户的身份验证功能,并提供接入局域网所需的物理或虚拟以太网接口(VLAN)口。

认证服务器:负责承担为设备端802.1x协议提供认证服务的硬件设备,在实际应用中真正负责完成这一过程,并通过相应的技术手段实现对用户的身份验证、权限管理以及费用计算等功能;特别地,在实际网络环境中这类设备通常被归类为RADIUS服务器类型。

将客户端接入网络的端口分为受控和非受控两类。其中一类为非受控端口(对应于EAP协议处理的通信角色),此类端口无需执行认证验证,在网络运行时始终保持双向通信连接。它主要用于传输必须发送或接收在认证过程前的关键数据包(如EAPOL协议帧)。另一类则是受控端口,在这些端口中通常会配置严格的访问控制策略以实现安全隔离。

受控端口类似于常规业务端口必须实施认证管理。它分为' 授权 '与' 非 授权 '两种工作状态等同于该 端口中配置了一个 控制开关 。当开关闭合时处于全连接模式可实现正常报文传输而当开关闭合时则呈现隔离模式阻止所有报文通过。设备根据认证服务器返回的结果(接受或拒绝)来决定受控 端 口的状态。

在华为S系列交换机设备中802.1x认证过程可由客户端主动发起也可由设备端主动发起其中"客户端主动触发方式"通过向设备发送EAPOL-Start报文实现认证流程而"设备端主动触发方式"则主要针对无法自主发送EAPOL-Start报文的客户端进行认证

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

DHCP配置响应:当客户端接收到来自网络资源管理器的dhcp请求包后会主动发起响应以完成对用户身份信息的验证这一过程仅限于客户端基于动态主机配置(dhcp)的方式获取ip地址的情景在此时由于dhcp请求包是以广播模式发送因此所有处于同一网络段中的设备均可接收此请求包进而完成相关配置;因此在这种情况下并不意味着所有的端点都必然充当dhcp服务器角色

当设备接收到未知源MAC地址的数据报时会主动发起对用户的802.1x认证流程。如果设备在预设的时间段内未能接收到客户端的确认回应则会重新发送该数据报。

  1. 802.1x认证机制
    无论采用何种触发机制,802.1x认证系统均依赖于基于EAP协议的机制实现客户端、设备端以及认证服务器之间的相互认证信息传递。具体而言,在客户端与设备端之间,则是以ETX域包裹EAP报文的方式进行传输;而对于设备端与RADIUS服务器之间的交互关系而言,在双方的数据传输中可采用以下两种不同的通信模式:

当客户端发送的EAP报文到达设备时,
直接将其按EAPOR格式嵌入到RADIUS报文中,
随后被发送至RADIUS服务器。
从而使得该服务器能够解析这些封装好的认证信息,
最终完成对客户端的身份验证。

该方案的优势在于设备端操作简便,并非复杂运算或其他繁琐流程;无需处理客户端发送来的任何'EAP'报文也不必考虑'EAPOR'的具体应用细节;所有相关'EAP'报文均需通过特定协议(如'EAPOR')打包处理;完全不考虑客户端所使用的具体'EAP'验证算法;此外,在这种方案下可实现多种不同的基于密钥交换的安全通信协议(如'MD5-Challenge'、'EAP-TLS'、'PEAP'等);但需要注意的是,在这种通信机制下,默认情况下'RADIUS'服务器也需要具备相应的安全验证能力

在完成EAP终止过程后,在标准RADIUS报文中包含了从EAP报文中提取出的客户端认证信息。随后,在标准RADIUS报文中包含了从EAP报文中提取出的客户端认证信息,并将其封装成一种非EAPOR格式的标准RADIUS数据包。这些经过处理后的数据包将在设备端与RADUIS服务器之间通过PAM或其他类似的认证协议与RADUIS服务器建立连接并完成身份验证。整个过程要求RADUIS服务器端必须预先配置好合法用户的用户名和密码信息以供后续操作使用。

这种认证方式的优势在于现有RADIUS服务器基本上都可以支持PAP和CHAP认证功能,并且无需升级服务器硬件配置。然而,在这种认证模式下运行会导致设备端的工作量较大。具体而言,在这种情况下运行时不仅需要从客户端发送的EAP报文中提取客户端的身份验证信息,并且还需要利用RAIUDS协议将这些数据进行规范打包处理;此外还存在一个局限性即该方案仅限于基于MD5-Challenge的EAP认证方案而无法兼容其他类型的EAP验证机制

为了帮助那些不支持802.1x协议的客户端设备能够通过安装或升级相应的软件包来实现认证功能,并在认证过程出现故障或服务器无法响应时提供基本访问权限,华为S系列交换机内置了三种特殊的VLAN配置选项:Guest VLAN、Restrict VLAN和Critical VLAN(这些配置均为可选设置)。

l Guest VLAN

启用之后, 当用户的认证应答失败(例如未安装必要的客户端应用程序)时, 设备端自动将该用户的接入端口分配给已启用的 Guest VLAN, 从而允许这些用户通过 Guest VLAN 进行客户端更新、升级或其他必要的维护操作。

l Restrict VLAN

启用Restrict VLAN功能后,在用户的认证失败(例如输入错误的用户名和密码)情况下,设备端将该用户的接入端口分配至Restrict VLAN中。其功能与Guest VLAN具有相似性,并允许用户在通过认证前访问有限范围内的网络资源。然而,在限制模式下配置的网络资源数量通常少于 guest模式下的配置数量。

l Critical VLAN

当开启严格的VLAN配置后,如果遇到认证服务器无法应答的情况——例如,在设备端与认证服务器之间出现网络中断或在认证服务器发生故障的情况下——系统会自动将该终端所在的接口分配至该严格的VLAN中,并允许其访问该VLAN内的资源。

在实际应用中, 当网络规模较大且存在大量无法很好地支持802.1×功能的终端设备时, 客户端部署的工作量可能较大。为此, 华为S系列交换机配备了802.1×认证快速部署功能, 允许这些用户自行下载并安装相应的终端设备, 从而实现终端设备的快速部署。

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

l 用户受限访问

ACL配置确保终端用户仅限于指定的IP地址范围(免认证IP网段),并且由特定服务器提供相应的下载升级或动态IP地址分配服务。

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

在未完成802.1x身份验证过程或身份验证失败的情况下,在未完成802.1x身份验证过程或身份验证不成功时,在没有完成802.1x认证或者认证失败的时候,在没有完成802.1x认证或者导致认证不成功的状态下,在无法正常进行802.1x认证或者出现认证故障的时候,在无法正常执行802.1x身份验证或者出现身份验证异常的时候,在无法完成802.1x身份验证或者发生身份验证失效的时候

设备能够依据用户组对用户提供权限授权管理机制(类似于Windows操作系统中的用户组机制)。在认证成功后,认证服务器将该用户的权限信息下发至相应的用户组中,并赋予该对应用户提供对应用户的访问权限。每个独立的用户提供者群体都可以与特定的ACL(访问控制列表)规则相关联;基于用户的group与ACL规则之间的关联关系(即group-based access control),从而实现同类用户的统一授权管理策略

在802.1x认证流程中,设备端与RADIUS服务器之间实现了对EAP中继和EAP终结两种认证机制的支持。下面将分别以客户端主动发起认证为例介绍这两种认证方式的工作流程。

  1. EAP中继认证原理

在EAP中的继发认证过程中, 设备承担一个继发代理角色, 通过采用EAPOR协议来进行封装与解封装的操作, 进而实现客户端与认证服务器之间交互报文的转发功能。整个认证流程首先是用户名验证阶段, 接着是相应的密码验证环节, 具体步骤如下(参见图19-3):

图19-3 EAP中继认证流程

系统在用户接入网络时自动启动802.1x客户端程序,并根据预先配置好的用户名和密码信息发送认证请求。由于该端口初始处于未授权状态,在此阶段无法接收或发送任何数据包。此时,客户端程序将向设备发送认证请求帧(EAPOL-Start),并开始认证流程。

设备端接收到客户端的认证请求报文后,并随后进行一个标识类型的EAP请求报文(EAP-Request/Identity)的操作,请客户端程序按照上一步的操作内容提供相应的用户名信息。

客户端程序接收到设备端的Identity请求帧后,负责将用户名信息通过Identity类型的EAP响应帧(EAP-Response/Identity)传输给设备端,并响应其发出的请求。

设备端采用Identity响应帧中的EAP报文,并严格按照指定格式将其封装为RADIUS报文( RADIUS Access-Request),经由认证服务器处理。

当RADIUS服务器接收到设备端发送的RADIUS报文时,系统会从中提取出相应的用户名信息。接着,该信息会被与数据库中的用户列表进行比对。一旦确定该用户名存在对应记录,则会生成一个随机的MD5挑战消息用于对密码进行加密处理。随后将此MD5挑战消息包装成EAPOR格式并作为RADIUS Access-Challenge报文发送给设备端。

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

当客户端接收到来自设备端发送的MD5挑战报文时,在其上执行加密操作以保护密码信息之后

当客户端接收到来自设备端发送的MD5挑战报文时,在其上执行加密操作以保护密码信息之后

设备端将其打包为EAPOR格式,并将其封装于RADIUS报文(即RADIUS Access-Request)中发送至服务器。

当接收方发送经加密的密码信息后,RADIUS服务器将此信息与本地完成加密运算后的对应信息进行比对。若匹配,则确认为合法用户,并发送认证成功报文至客户端(采用RADIUS Access-Accept协议)。

设备接收到RADIUS Access-Accept报文后,在完成对EAPOR协议的解码与解析之后,并通过EAP-Success报文的形式将成功反馈信息传递给客户端设备,并将相关端口状态更新至授权模式下以实现网络接入权限的授予

终端用户在登录期间通过定期向客户端发送握手报文进行实时监控。

(12)当客户端接收到握手报文时会向设备发送相应应答报文以表明用户继续保持在线状态。默认情况下若设备端发送的两次握手请求报文均未收到相应的应答则该设备将指示用户下线以防因异常情况导致用户下线而设备未能察觉到这一现象。

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

当设备接收到来自客户端的EAPOL-Logoff帧时,在此基础上将该端口的状态设置为未授权状态,并生成相应的EAP-Failure报文发送给客户端以确认其脱机状态。

  1. EAP终结认证原理

与传统的EAP中继方式相比,在认证流程上两者的显著差异体现在步骤(4)中。其中,在步骤(4)中用于加密用户密码信息的MD5挑战是由设备端生成(而非由RADIUS服务器生成)。随后,在将上述信息发送给RADIUS服务器之前,设备端会提供用户名、MD5挑战以及客户端加密后的密码信息。具体流程如图19-4所示。

图19-4 EAP终结认证流程

  1. MAC旁路认证

在执行802.1x认证时,在线端通常会主动发起用户采用该协议的标准流程。然而,在长时间未发起相关请求(如图所示)的情况下,则由用户的MAC地址作为身份信息发送至确认服务器完成验证步骤。通过MAC旁路机制,在无需安装客户端软件的情况下(例如打印机这类终端),将实现身份验证过程。

图19-5 MAC旁路认证流程

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

全部评论 (0)

还没有任何评论哟~