802.1X及EAP包分析
802.1X及EAP包分析
802.1X协议是一种基于端口的网络接入控制协议,主要用于控制用户的网络访问权限,防止未经授权的用户访问网络资源。本文将详细介绍802.1X协议的背景、定义、应用场景、端口控制机制、EAP协议的格式和工作原理,以及中继与终结两种认证模式的差异。
引言
早期的IEEE 802 LAN协议中,只要用户可以接入局域网的控制设备(例如接入交换机),就可以访问局域网中的设备或资源,这无疑是存在安全隐患的。为解决无线局域网的安全问题,IEEE 802委员会提出了802.1X协议。802.1X协议可以控制用户的网络访问权限,防止身份不明或未经授权的用户传输和接收数据。由于802.1X协议的普适性,因此后来也广泛应用于有线局域网。
基于802.1X协议的认证,其最终目的就是确定用户的接入端口是否可用。如果认证成功,那么就打开端口,允许客户端的所有报文通过;如果认证不成功,就保持端口的关闭状态,只允许EAPOL协议帧通过。
1.什么是802.1X(dot1x)?
802.1X是一种基于端口的网络接入控制协议。基于802.1X协议的用户认证方式叫做802.1X认证
2.何时用到?
通常在新建网络、用户集中或者信息安全要求严格的场景中使用802.1X认证。
特点:
对接入设备的性能要求不高。802.1X协议为二层协议,不需要到达三层,可以有效降低建网成本。
在未授权状态下,不允许与客户端交互业务报文,因此保证了业务安全。
3.端口控制
(1)非受控端口
不受授权的控制,全程双向传输EAPoL报文
(2)受控端口
受授权的控制。未授权时,只能单向传输EAPoL报文,不接收客户端的报文;当授权后,可以传输业务报文,双向传输。
由图可看,非受控端口是直线,可双向传输
而受控端口类似电路中的开关,但还是有差别。未授权时服务器可向客户端发送EAPoL,只有授权后“开关”才会闭合,实现业务的双向通信
4.EAP
(1)概述
EAP(Extensible Authentication Protocol),可扩展认证协议,是一种普遍使用的支持多种认证方法的认证框架协议,主要用于网络接入认证。该协议一般运行在数据链路层上,即可以直接运行于PPP或者IEEE 802之上,不必依赖于IP。EAP可应用于无线、有线网络中。
在客户端与设备端之间,EAP报文使用EAPOL(ExtensibleAuthenticationProtocoloverLAN,局域网上的可扩展认证协议)封装格式承载于数据顿中传递。EAPOL是802.1X协议定义的一种承载EAP报文的封装技术,主要用于在局域网中传送客户端和设备端之间的EAP协议报文。
(2)EAPOL报文格式
PAE Ethernet Type:表示协议类型。EAPOL的协议类型为 0x888E。
ProtocolVersion:表示EAPOL数据顿的发送方所支持的EAPOL协议版本号。
Type:表示EAPOL数据顿类型。
Length:表示数据域的长度,也就是Packet Body字段的长度,单位为字节。当EAPOL数据帧的类型为 EAPOL-Start 或 EAPOL-Logoff 时,该字段值为0,表示后面没有 Packet Body字段。
Packet Body:数据域的内容----EAP报文
(3)EAP报文格式
Code:EAP 报文的类型,包括Request(1)、Response(2)、Success(3)和Failure(4)。
Identifier:Request/Response 消息的标识符。
Length:EAP 报文的长度,包含Code、Identifier、Length 和Data 4个字段的总长度,单位为字节。
Data:EAP 报文的内容,该字段仅在EAP报文的类型为Request和Response 时存在,认证消息存在于其中。
5.报文交互(工作原理)
简化版报文交互(详细的后续有中继与终结模式)
6.中继与终结
(1)中继
1)概述
这种方式是IEEE 802.1×标准规定的,设备端对收到的 EAP 报文进行中继,使用EAPOR(EAP overRADIUS)封装格式将其承载于RADIUS报文中发送给RADIUS服务器,以便EAP报文穿越复杂的网络到达认证务器。
该处理机制下,EAP 认证过程在客户端和RADIUS服务器之间进行。RADIUS服务器作为EAP 服务器来处理客户端的EAP 认证请求,设备相当于一个中继,仅对EAP 报文做中转。因此,设备处理简单,并能够支持EAP的各种认证方法,但要求RADIUS服务器支持相应的EAP认证方法。
2)工作原理
接入设备不做EAP处理,EAP消息封装在EAPOL报文中传递给AAA服务器,由AAA服务器来处理EAP消息
3)报文交互
(2)终结
1)概述
这种方式设备对EAP认证过程进行终结,将收到的EAP报文中的客户端认证信息封装在标准的RADIUS报文中,与服务器之间采用 PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)方法进行认证。
2)工作原理
接入设备做EAP消息处理,仅仅将用户名和密码封装在EAPOL消息中发送给AAA服务器,AAA服务器来做身份验证不做EAP消息处理。
(因为接入设备或许没有客户端的身份信息,都存储在AAA服务器中)
3)报文交互
7.触发条件
(1)客户端主动触发
(2)服务器主动触发
本文原文来自CSDN