IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1X协议。后来,802.1X协议作为局域网接口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。
802.1X协议是一种基于接口的网络接入控制协议。“基于接口的网络接入控制”是指,在局域网接入设备的接口这一级,接入设备通过认证来控制用户对网络资源的访问。
如图1所示,802.1X系统为典型的Client/Server结构,包括三个实体:客户端、接入设备和认证服务器。
- 客户端是位于局域网段一端的一个实体,由该链路另一端的接入设备对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LAN)。
- 接入设备是位于局域网段一端的另一个实体,对所连接的客户端进行认证。接入设备通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的接口。
- 认证服务器是为接入设备提供认证服务的实体。认证服务器用于对用户进行认证、授权和计费,通常为RADIUS服务器。
认证触发方式
802.1X的认证过程可以由客户端主动发起,也可以由接入设备发起。设备支持的认证触发方式包括以下两种。
- 客户端主动触发方式:用户主动开启客户端输用户名和密码向接入设备发送EAP报文来触发认证。
- 接入设备主动触发方式:接入设备在接收到用户终端发送的DHCP/ARP报文后,主动触发用户终端自动弹出客户端界面,用户输入用户名和密码即可启动认证。
认证方式
802.1X认证系统使用可扩展认证协议EAP(Extensible Authentication Protocol)来实现客户端、接入设备和认证服务器之间认证信息的交换,各实体之间EAP协议报文的交互形式如下。
- 在客户端与接入设备之间,EAP协议报文使用EAPOL封装格式,并直接承载于LAN环境中。
- 在接入设备与认证服务器(以RADIUS服务器为例)之间,EAP协议报文可以使用以下两种方式进行交互。
- EAP中继:EAP协议报文由接入设备进行中继,设备将EAP报文使用EAPOR(EAP over RADIUS)封装格式承载于RADIUS协议中,发送给RADIUS服务器进行认证。该认证方式的优点是:设备处理简单,可支持多种类型的EAP认证方法,例如MD5-Challenge、EAP-TLS、PEAP等,但要求RADIUS服务器端支持相应的认证方法。
- EAP终结:EAP协议报文由接入设备进行终结,设备将客户端认证信息封装在标准RADIUS报文中,与服务器之间采用密码验证协议PAP(Password Authentication Protocol)或质询握手验证协议CHAP(Challenge Handshake Authentication Protocol)方式进行认证。该认证方式的优点是:现有的RADIUS服务器基本均可支持PAP和CHAP认证,无需升级服务器,但设备处理较为复杂,且不能支持除MD5-Challenge之外的其它EAP认证方法。
认证流程
对于EAP中继方式,802.1X认证流程如图2所示。
-
当用户需要访问外部网络时打开802.1X客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求。此时,客户端程序将向接入设备发出认证请求报文,开始启动一次认证过程。
-
接入设备收到认证请求报文后,向用户发出用户名请求报文,要求用户的客户端程序发送输入的用户名。
-
客户端程序响应接入设备发出的请求,将用户名信息发送给接入设备。
-
接入设备将客户端发送的用户名信息发送给认证服务器进行处理。
-
认证服务器收到接入设备转发的用户名信息后,按照如下方式对其密码进行验证。
- 认证服务器将用户名信息与数据库中的用户名列表进行对比,找到该用户名对应的密码信息。
- 认证服务器用随机生成的一个MD5 Challenge对密码进行加密处理,并将此MD5 Challenge通过接入设备发送给客户端。
- 客户端收到由接入设备转发的MD5 Challenge后,用该Challenge对密码部分进行加密处理,之后将加密后的密码通过接入设备发送到认证服务器。
- 认证服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比。如果相同,则认为该用户为合法用户;如果不同,则认为该用户为非法用户。
-
密码验证成功后,认证服务器向接入设备发送认证成功报文。
-
设备收到认证成功报文后向客户端发送认证成功报文,并将接口改为授权状态,允许用户通过接口访问网络。
-
客户端可以发送下线报文给接入设备,主动要求下线。
-
接入设备把接口状态从授权状态改变成未授权状态,并向客户端发送认证失败报文同时删除用户上线信息。
EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤4和5。对于EAP终结方式,当接入设备将客户端发送的用户名信息发送给认证服务器时,会随机生成一个MD5 Challenge并发送给客户端(MD5 Challenge由接入设备生成而非认证服务器生成)。之后接入设备会把用户名、MD5 Challenge和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理。