802.1x认证原理

802.1X认证简介

  • 定义:802.1x协议是一种基于端口的网络接入控制协议。基于端口的网络接入控制,是指在局域网接入设备的端口这一级验证用户身份,并且控制其访问权限。
  • 优点:802.1X是二层协议,不需要到达三层,对接入设备的整体性能要求不高,可以有效降低建网成本,认证报文和数据报文通过逻辑接口分离,提高了安全性。
  • 802.1X认证系统:典型的802.1X系统为典型的C/S架构,包括三个实体,包括客户端,接入设备和认证服务器。

请添加图片描述

  • 客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAP哦L。
  • 接入设备通常是支持802.1X协议的网络设备,他为客户端提供接入到局域网的接口,这个端口可以是物理接口,也可以是逻辑接口。
  • 认证服务器用于实现对用户进行认证,授权和计费,通常为RADIUS服务器。

802.1X认证协议

802.1X认证系统使用可扩展认证协议EAP来实现客户端,设备端,和认证服务器之间的信息交互。EAP协议可以运行在各种底层,包括数据链路层和上层协议(如UDP和TCP等),但是不需要IP地址。因此使用EAP协议的802.1X认证具有良好的灵活性。

  • 在客户端和设备端之间,EAP协议报文使用EAPoL(EAP over LANS)封装格式,直接承载于LAN环境中。
  • 在设备端与认证服务器之间,用户可以根据客户端支持情况和网络安全要求来决定采用的认证方式。
  • EAP终结方式中,EAP报文在设备端终结并重新封装到RADIUS报文中,利用标准的RADIUS协议完成
    认证,授权和计费。
  • EAP中继方式中,EAP报文被直接封装到RADIUS报文中(EAP over RADIUS,简称EAPoR),以便穿越复杂的网络到达认证服务器。

802.1X认证流程

EAP中继和EAP终结的认证流程:
802.1X系统支持EAP中继方式和EAP终结方式与远端RADIUS服务器交互完成认证。以客户端主动发起认证为例,EAP中继方式和EAP终结方式的802.1X认证流程。

  • EAP中继认证流程

请添加图片描述1.

  1. 当用户需要访问外部网络时打开802.1X客户端程序,输入已经申请,登记过的用户名和密码。发起连接请求,发起连接请求。此时,客户端程序向设备发出认证请求报文(EAPoL-Start),开始启动一次认证过程。
  2. 设备端收到认证请求报文之后,将发出一个Identity类型的请求报文(EAP-Response/Identity)要求用户的客户端程序发送输入的用户名。
  3. 客户端程序相应设备端发出的请求,将用户名信息通过Identity类型的响应报文发送给设备端。
  4. 设备端将用户发送的响应报文中的EAP报文封装在RADIUS报文中发送给认证服务器进行处理。
  5. RADIUS服务器收到设备端发送的用户名信息之后,将信息与数据库中的用户名列表中对比,找到该用户名对应的密码信息,用随机生成的一个MD5 Challenge对密码进行加密处理,同时将此MD5 Challenge通过RADIUS Access-Challenge报文发送给设备端。
  6. 设备端将RADIUS服务器发送的MD5 Challenge转发给客户端。
  7. 客户端收到设备端传来的MD5 Challenge后,用该Challenge对密码部分进行加密处理,生成EAP-Response/MD5 Challenge报文,并发送给设备端。
  8. 设备端将EAP-Response/MD5 Challenge报文封装在RADIUS报文中发送给RADIUS服务器。
  9. RADIUS服务器将已经收到的已经加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,并向设备端发送认证通过报文。
  10. 设备收到认证通过报文后向客户端发送认证成功报文,并将端口改为授权状态,允许用户通过该端口访问网络。
  11. 用户在线期间,设备端会通过向客户定期发送挥手报文的方法,对用户的在线情况进行监测。
  12. 客户端收到握手报文之后,向设备发送应答报文,标识用户仍然在线。缺省情况下,如哦设备端发送的两次握手请求报文都没有得到客户端的应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
  13. 客户端可以发送EAPoL-Logoff报文给设备端,主动要求下线。
  14. 设备端可以把端口状态从授权状态改为未授权状态,并向客户端发送EAP-Failure报文。

  • EAP终结认证流程

请添加图片描述

EAP终结方式与EAP中继方式的认证流程相比,不同之处就在于用来对用户密码信息进行加密处理的MD5 Challenge由设备端生成,之后设备端会把用户名、MD5 Challenge和客户端加密后的密码信息一起送到RADIUS服务器,进行相关的认证处理。而再EAP中继方式中,用来对用户密码进行加密处理的挑战字由服务器生成,设备端只是负责将EAP报文封装在RADIUS报文中透传认证服务器,整个认证处理都是由认证服务器来完成的。

猜你喜欢

转载自blog.csdn.net/ssslq/article/details/129714310