网络接入控制802.1X协议原理及认证流程

802.1X 是一种基于端口的网络接入控制协议,主要用于对连接到局域网或无线局域网的用户或设备进行认证和控制。它是在 IEEE802 标准中定义的,特别用于解决无线局域网的安全问题,后来也广泛应用于有线局域网。
基于 802.1X 协议的用户认证方式叫做 802.1X 认证。
一、802.1X 协议产生的原因
早期的 IEEE 802 LAN 协议中,只要用户可以接入局域网的交换机,就可以访问局域网中的设备或资源,这无疑是存在安全隐患的。为解决无线局域网的安全问题,IEEE 802 委员会提出了 802.1X 协议。802.1X 协议可以控制用户的网络访问权限,防止身份不明或未经授权的用户传输和接收数据。由于 802.1X 协议的普适性,因此后来也广泛应用于有线局域网。
与其他接入控制机制不同,802.1X 协议是通过控制接入端口,实现用户级的接入控制。在 802.1X 协议中,物理接入端口被划分为受控端口和非受控端口这两个逻辑端口,用于实现业务与认证的分离。非受控端口主要用于传递 EAPOL 协议帧,始终处于双向连通状态,保证客户端始终能够发出或接收认证报文;而受控端口用于传递业务报文,因此在授权状态下处于双向连通状态,在非授权状态下不从客户端接收任何报文。
换言之,基于 802.1X 协议的认证,其最终目的就是确定用户的接入端口是否可用。如果认证成功,那么就打开端口,允许客户端的所有报文通过;如果认证不成功,就保持端口的关闭状态,只允许 EAPOL 协议帧通过。
二、802.1X 认证适用的场景
那么,什么时候需要使用 802.1X?
通常在用户集中或者信息安全要求严格的场景中使用 802.1X 认证。
802.1X 认证具有以下优点:
- 对接入设备的性能要求不高。802.1X 协议为二层协议,不需要到达三层,可以有效降低建网成本。
- 在未授权状态下,不允许与客户端交互业务报文,因此保证了业务安全。
以企业网络为例,员工终端一般需要接入办公网络,安全要求较高,此时推荐使用 802.1X 认证。
三、802.1X 认证的缺点
802.1X 认证虽然有许多优点,如安全性高、支持组播业务等,但也存在一些明显的缺点,具体如下:
- 安全隐患:802.1X 协议在建立连接时进行身份验证,一旦请求者通过了身份验证且交换机端口处于打开状态,请求者与交换机之间的进一步通信将不再进行验证。这可能导致用户通过私接交换机、更改 IP、更改 MAC 等手段,实现蹭网、盗用他人流量等情况,给网络安全带来隐患。
- 计费问题:802.1X 交换机只能基于端口进行统计,而非用户,因此计费解决方案相对简单,通常只能实现包月方式。这种方式对于网络流量的滥用无法进行有效控制,存在很大的隐患。
- 兼容性和开放性不足:由于 802.1X 协议的局限性,某些厂商在标准的基础上扩展了私有属性,且并不开放其协议,导致各厂商没有统一的标准,这在一定程度上影响了其兼容性和开放性。
- 需要特定客户端软件:为了进行 802.1X 认证,用户设备通常需要安装特定的客户端软件,这增加了部署的复杂性,也可能影响用户体验。
- 现有网络设备的升级问题:由于 802.1X 是比较新的二层协议,要求楼道交换机支持认证报文透传或完成认证过程,因此在全面采用该协议的过程中,需要对已经在网上的用户交换机进行升级处理,这增加了实施的成本和复杂性。
注:在机场、商业中心等公共场所,用户流动性大,终端类型复杂,且安全要求不高,可以使用 Portal 认证。对于打印机、传真机等哑终端,可以使用 MAC 认证,以应对哑终端不支持安装 802.1X 客户端软件,或者不支持输入用户名和密码的情况。
四、802.1X 认证工作原理
802.1X 认证系统为典型的 Client/Server 结构,包括三个组件:客户端、接入设备和认证服务器。

- 客户端:通常是用户终端设备。客户端必须支持局域网上的可扩展认证协议(Extensible Protocol over LANs,EAPoL),并且安装 802.1X 客户端软件,从而使用户能够通过启动客户端软件发起 802.1X 认证。
- 接入设备:通常是支持 802.1X 协议的网络设备,例如交换机。它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
- 认证服务器:用于实现对用户进行认证、授权和计费,通常为 RADIUS 服务器。
在用户终端安装 802.1X 客户端软件后,用户可向接入设备发起认证申请。接入设备和用户终端交互信息后,把用户信息发送到认证服务器进行认证。若认证成功,则接入设备打开与该用户相连的接口,允许其访问网络;若认证失败,则接入设备将不允许其访问网络。
802.1X 认证系统使用可扩展认证协议(Extensible Authentication Protocol,EAP)来实现客户端、设备端和认证服务器之间的信息交互。EAP 协议可以运行在各种底层,包括数据链路层和上层协议(如 UDP、TCP 等),而不需要 IP 地址。因此使用 EAP 协议的 802.1X 认证具有良好的灵活性。
- 在客户端与接入设备之间,EAP 协议报文使用 EAPoL(EAP over LANs)封装格式,直接承载于 LAN 环境中。
- 在接入设备与认证服务器之间,可以采用 EAP 终结方式或者 EAP 中继方式交互认证信息。
- EAP 终结方式:接入设备直接解析 EAP 报文,把报文中的用户认证信息封装到 RADIUS 报文中,并将 RADIUS 报文发送给 RADIUS 服务器进行认证。EAP 终结方式的优点是大多数 RADIUS 服务器都支持 PAP 和 CHAP 认证,无需升级服务器;但对接入设备的要求较高,接入设备要从 EAP 报文中提取客户端认证信息,通过标准的 RADIUS 协议对这些信息进行封装,且不能支持大多数 EAP 认证方法(MD5-Challenge 除外)。
- EAP 中继方式:接入设备对接收到的 EAP 报文不作任何处理,直接将 EAP 报文封装到 RADIUS 报文中,并将 RADIUS 报文发送给 RADIUS 服务器进行认证。EAP 中继方式也被称为 EAPOR(EAP over Radius)。EAP 中继方式的优点是设备端处理更简单,支持更多的认证方法;缺点则是认证服务器必须支持 EAP,且处理能力要足够强。
以客户端发送 EAPoL-Start 报文触发认证为例,EAP 中继方式的 802.1X 认证流程如下图所示:

过程如下:
- 客户端发送 EAPoL-Start 报文触发 802.1X 认证。
- 接入设备发送 EAP 请求报文,请求客户端的身份信息。
- 客户端程序响应接入设备发出的请求,将身份信息通过 EAP 响应报文发送给接入设备。
- 接入设备将 EAP 报文封装在 RADIUS 报文中,发送给认证服务器进行处理。
- RADIUS 服务器收到接入设备转发的身份信息后,启动和客户端 EAP 认证方法的协商。RADIUS 服务器选择一个 EAP 认证方法,将认证方法封装在 RADIUS 报文中,发送给接入设备。
- 接入设备收到 RADIUS 报文,将其中的 EAP 信息转发给客户端。
- 客户端收到 EAP 信息,解析其中的 EAP 认证方法。如果支持该认证方法,客户端发送 EAP 响应报文给接入设备;否则,客户端在 EAP 响应报文中封装一个支持的 EAP 认证方法,并发送给接入设备。
- 接入设备将报文中的 EAP 信息封装到 RADIUS 报文中,并发送 RADIUS 报文到 RADIUS 服务器。
- RADIUS 服务器收到后,如果客户端与服务器选择的认证方法一致,EAP 认证方法协商成功,开始认证。以 EAP-PEAP 认证方法为例,服务器将自己的证书封装到 RADIUS 报文中,通过接入设备发送给客户端。客户端与 RADIUS 服务器协商 TLS 参数,建立 TLS 隧道。TLS 隧道建立完成后,用户信息将通过 TLS 加密在客户端、接入设备和 RADIUS 服务器之间传输。
- RADIUS 服务器完成对客户端身份验证之后,通知接入设备认证成功。
- 接入设备向客户端发送认证成功报文,并将端口改为授权状态,允许用户通过该端口访问网络。
以上关于网络接入控制802.1X协议原理及认证流程的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 网络接入控制802.1X协议原理及认证流程
微信
支付宝