802.1x
一直想找些有用的东西,可是一直找不到,网上资源都是很多,都是大家熟悉的,没有多大技术含量,想找某一方面比较专业一点的东西,真是难找,表面上的东西大家都知道,可是找到自己想要的东西,太难了,今天总结了一下802.1x 的知识,希望对大家有用:
一.概述
IEEE802.1X称为基于端口的访问控制协议(Port based network access control protocol).基于端口的访问控制(Port based network access control)能够在利用IEEE802LAN的优势基础上提供一种对连接到局域网(LAN)设备或用户进行认证和授权的手段。通过这种方式的认证,能够在LAN这种多点访问环境中提供一种点到点的识别用户的方式。这里端口是指连接到LAN的一个单点结构,可以是被认证系统的MAC地址,也可以是服务器或网络设备连接LAN的物理端口,或者是在IEEE802.11无线LAN环境中定义的工作站和访问点之间的关系。
二.几个术语
Authenticator
认证系统:指在LAN连接的一端用于认证另一端设备的实体。
Authentication Server
认证服务器,指为认证系统提供认证服务的实体。这里认证服务器所提供的服务是指通过检验客户端发送来的身份标识,来判断该请求者是否有权使用认证系统所提供的网络服务。
认证服务器与认证系统配合工作,可以集成在一起,也可以分开放在认证系统通过网络可以远程访问的地方
Network Access Port
网络访问端口,指用户系统连接到LAN的访问端口。访问端口可以是物理端口,例如连接到用户的网络设备端口;也可以是逻辑端口,例如用户设备的MAC地址。
Port Access Entity(PAE)
端口访问实体,指一个端口的相关协议实体。一个给定的PAE 能够支持与Authenticator、Supplicant 的协议功能或者两者功能同时具备.
Supplicant PAE
在客户端中,PAE主要负责响应来自认证系统建立信任关系的请求,称为客户端PAE。
Authentication PAE
在认证系统中,PAE负责与客户端的通信,把从客户端收到的信息传送给认证服务器以便完成认证。该PAE称为认证系统PAE。
认证系统PAE根据认证服务器提供的关于用户合法性的信息来控制受控端口的状态是认证状态或未认证状态。
7. Supplicant
客户端,指LAN所连接的一端的实体(entity),它被连接的另一端的一个Authenticator所认证
EAP
Extensible Authentication Protocol,扩展认证协议
RADIUS
Remote Authentication Dial In User Service
为了完成一个认证交换,Supplicant、Authenticator、Authenticator Server这三种角色都是必需的。一个特定的系统能够充当一个或多个角色。比如一个端口能够在一个认证交换中充当Supplicant角色,也能成为Authenticator
三.基本原理:
受控和非受控的访问
认证系统的一个端口有两种逻辑状态,因此有两种逻辑端口:受控端口和非受控端口。
非受控端口只能传送认证协议相关的协议报文,而不管此时受控端口的状态是已认证状态(Authorized)还是未认证状态(Unauthorized)。
受控端口传送业务报文,如果用户通过认证,则受控端口的状态为已认证状态,可以传送业务报文。如果用户未通过认证,则受控端口的状态为未认证状态,不能传送业务报文。
受控端口有两种状态:即已认证状态与未认证状态。
当用户未通过认证时,受控端口处于开路,端口状态为未认证状态,此时交换机的交换功能是关闭的,也就是说交换机无法像传统的通过查找目标MAC地址来进行交换,如果用户有业务报文是无法通过的。
当用户通过认证后,受控端口闭合,端口状态为通过认证状态,此时交换机的交换功能打开,就和传统的交换方式一致了,用户的业务报文就可以顺利通过。
端口的状态受相关的协议参数控制,如AuthControlledPortStatus参数控制交换功能的打开和关闭等。
端口控制方式
对于端口的控制,可以有多种方式。端口可以是物理的端口,也可以是用户设备的MAC地址,如果设备支持全程的VLAM,也可以把VLAN ID看成是端口。
基于物理端口的控制方式,每个物理端口包含两个逻辑端口:受控端口和不受控端口。不受控端口传递认证的协议报文,受控端口传递业务报文。采用这种端口控制方式,则必须在与最终用户直接相连的交换机实现802.1x认证,在相应的端口进行控制。这样会导致低端交换机的成本上升,势必增加整个网络的建网成本。
另一种端口控制方式就是基于用户设备的MAC地址进行控制。把用户设备的MAC地址看成端口,每个MAC地址有两个逻辑端口:受控和不受控端口。
如果用户要访问LAN的资源,则首先其MAC地址必须处于激活状态,然后才能有协议报文通过不受控的端口传递,开始整个认证过程。如果其MAC地址未激活或者被管理性的禁止,则无法进行认证。
交换机的实现
Flex5010实现了基于端口和基于用户两种认证方式。
基于端口的认证实现原理是:未认证通过时,端口的学习功能是disable的,此端口只要有用户通过认证了,则打开此端口的学习功能。
基于用户的认证实现原理是:端口的学习功能一直是disable的,此端口只要有用户通过认证了,则为此用户创建一条静态MAC地址表。
四. 802.1X的协议体系结构
802.1X的协议体系结构包括三个重要的部分:Supplicant System客户端,Authenticator System认证系统,Authenticator Server System认证服务器。
下图描述了三者之间的关系以及相互之间的通信。
图1.1 IEEE 802.1x认证体系结构
客户端系统一般为一个用户终端系统,该终端系统通常要安装一个客户端软件,用户通过启动这个客户端软件发起802.1x协议的认证过程。为支持基于端口的接入控制,客户端系统 需支持EAPOL(Extensible Authentication Protocol Over LAN)协议。
认证系统通常为支持802.1x协议的网络设备。该设备对应于不同用户的端口(可以是物理端口,也可以是用户设备的MAC地址)有两个逻辑端口:受控(controlled Port)端口和不受控端口(uncontrolled Port)。不受控端口始终处于双向连通状态,主要用来传递 EAPOL 协议帧,可保证客户端 始终可以发出或接受认证。受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。受控端口可配置为双向受控、仅输入受控两种方式,以适应不同的应用环境。如果用户未通过认证,则受控端口处于未认证状态,则用户无法访问认证系统提供的服务。
PAE是端口访问实体(Port Access Entity),分为客户端PAE和认证系统PAE:
客户端PAE:位于客户端,主要负责响应来自认证系统建立信任关系的请求。
认证系统PAE:位于认证系统,负责与客户端的通信,把从客户端收到的信息传送给认证服务器以完成认证。
认证系统的PAE通过不受控端口与Supplicant PAE进行通信,二者之间运行EAPOL协议。认证系统的PAE与认证服务器之间运行RADIUS(Remote Authentication Dial In User Service)协议。
认证系统和认证服务器之间的通信可以通过网络进行,也可以使用其他的通信通道,例如如果认证系统和认证服务器集成在一起,二个实体之间的通信就可以不采用EAP协议。
认证服务器通常为RADIUS服务器,该服务器可以存储有关用户的信息,比如用户所属的VLAN、CAR参数、优先级、用户的访问控制列表等等。当用户通过认证后,认证服务器会把用户的相关信息传递给认证系统,由认证系统构建动态的访问控制列表,用户的后续流量就将接受上述参数的监管。
图1.1描述了终端用户的认证机制,对于网络设备之间的认证也是一样。例如:当一个网络设备A要求访问网络设备B所提供的服务时,系统A的PAE就成为客户端(Suppliant),系统B的PAE为认证系统(Authenticator);如果B要求访问A所提供的服务时,B的PAE就成为客户端,A的PAE就成为认证系统。