802.1X认证原理

IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1X协议。后来,802.1X协议作为局域网接口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。

802.1X协议是一种基于接口的网络接入控制协议。“基于接口的网络接入控制”是指,在局域网接入设备的接口这一级,接入设备通过认证来控制用户对网络资源的访问。

如图1所示,802.1X系统为典型的Client/Server结构,包括三个实体:客户端、接入设备和认证服务器。

图1 802.1X认证系统示意图

  • 客户端是位于局域网段一端的一个实体,由该链路另一端的接入设备对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LAN)。
  • 接入设备是位于局域网段一端的另一个实体,对所连接的客户端进行认证。接入设备通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的接口。
  • 认证服务器是为接入设备提供认证服务的实体。认证服务器用于对用户进行认证、授权和计费,通常为RADIUS服务器。
认证触发方式

802.1X的认证过程可以由客户端主动发起,也可以由接入设备发起。设备支持的认证触发方式包括以下两种。

  1. 客户端主动触发方式:用户主动开启客户端输用户名和密码向接入设备发送EAP报文来触发认证。
  2. 接入设备主动触发方式:接入设备在接收到用户终端发送的DHCP/ARP报文后,主动触发用户终端自动弹出客户端界面,用户输入用户名和密码即可启动认证。
认证方式

802.1X认证系统使用可扩展认证协议EAP(Extensible Authentication Protocol)来实现客户端、接入设备和认证服务器之间认证信息的交换,各实体之间EAP协议报文的交互形式如下。

  1. 在客户端与接入设备之间,EAP协议报文使用EAPOL封装格式,并直接承载于LAN环境中。
  2. 在接入设备与认证服务器(以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所示。

图2 EAP中继方式业务流程

  1. 当用户需要访问外部网络时打开802.1X客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求。此时,客户端程序将向接入设备发出认证请求报文,开始启动一次认证过程。

  2. 接入设备收到认证请求报文后,向用户发出用户名请求报文,要求用户的客户端程序发送输入的用户名。

  3. 客户端程序响应接入设备发出的请求,将用户名信息发送给接入设备。

  4. 接入设备将客户端发送的用户名信息发送给认证服务器进行处理。

  5. 认证服务器收到接入设备转发的用户名信息后,按照如下方式对其密码进行验证。

    1. 认证服务器将用户名信息与数据库中的用户名列表进行对比,找到该用户名对应的密码信息。
    2. 认证服务器用随机生成的一个MD5 Challenge对密码进行加密处理,并将此MD5 Challenge通过接入设备发送给客户端。
    3. 客户端收到由接入设备转发的MD5 Challenge后,用该Challenge对密码部分进行加密处理,之后将加密后的密码通过接入设备发送到认证服务器。
    4. 认证服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比。如果相同,则认为该用户为合法用户;如果不同,则认为该用户为非法用户。
  6. 密码验证成功后,认证服务器向接入设备发送认证成功报文。

  7. 设备收到认证成功报文后向客户端发送认证成功报文,并将接口改为授权状态,允许用户通过接口访问网络。

  8. 客户端可以发送下线报文给接入设备,主动要求下线。

  9. 接入设备把接口状态从授权状态改变成未授权状态,并向客户端发送认证失败报文同时删除用户上线信息。

EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤4和5。对于EAP终结方式,当接入设备将客户端发送的用户名信息发送给认证服务器时,会随机生成一个MD5 Challenge并发送给客户端(MD5 Challenge由接入设备生成而非认证服务器生成)。之后接入设备会把用户名、MD5 Challenge和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620284.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

喜讯|我司再次获得国家发明专利,硬核科技研发成果呈加速度增长

热烈祝贺 璞华软件成功获得国家发明专利 我司自主研发成果《一种工伤案件裁决书的生成方法及装置》(专利号:ZL 2019 1 1170975.8)成功获得国家发明专利,2024年4月成功获得专利证书。 发明人:高志凯;杨德…

小程序面试题之项目业务流程9道

1.视频、音频等内容的播放状态存储操作流程一般如何 在进行音、视频播放的时候会涉及到播放不同的音、视频内容 一般会要求应用能够记录每一个音、视频播放的历史记录点,以便于下次播放可以从指定位置开始 我们可以将音、视频播放的记录存储于本地缓存当中&#xff…

OSCP靶场--RPC1

OSCP靶场–RPC1 考点 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC 192.168.227.236 -p- -Pn --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-14 22:21 EDT Nmap scan report for 192.168.227.236 Host is up (0.14s latency). …

移动开发避坑指南——内存泄漏

在日常编写代码时难免会遇到各种各样的问题和坑,这些问题可能会影响我们的开发效率和代码质量,因此我们需要不断总结和学习,以避免这些问题的出现。接下来我们将围绕移动开发中常见问题做出总结,以提高大家的开发质量。本系列文章…

【产品经理修炼之道】- 厂商银业务之保兑仓

保兑仓 保兑仓是指供应商、购货商、银行签订三方协议,以银行信用为载体,以银行承兑汇票为结算工具,由银行控制货权,供应商受托保管货物并对银行承兑汇票保证金以外部分以货物回购为担保措施,购货商随缴保证金随提货而设…

不再写满屏import导入

密密麻麻的import语句不仅仅是一种视觉上的冲击,更是对代码组织结构的一种考验。 我们是如何做到让import“占领满屏“的了,又该如何优雅地管理这些import语句呢? 本文将从产生大量import语句的原因、可能带来的问题以及如何优化和管理impo…

Windows上的类似clock_gettime(CLOCK_MONOTONIC)的高精度测量时间函数

2024年4月11更新 感谢评论提醒,我之前写《如何在C/C中测量一个函数或者功能的运行时间(串行和并行,以及三种方法的实际情况对比)》的时候只实验了 Linux 和 Mac 这种类 Unix 系统,没考虑到 Windows。 本文只考虑第一方…

总结java中的synchronized锁

目录 synchronized的特性 synchronized的锁机制 synchronized的使用 synchronized的特性 synchronized主要有三大特性: 面试时经常拿synchronized关键字和volatile关键字的特性进行对比,synchronized关键字可以保证并发编程的三大特性:原子…

yolo系列(之一)

深度学习经典检测算法 two-stage (两阶段) : Faster-rcnn Mask-Rcnn系列 (输入图像---》CNN特征---》预选框---》输出结果) one-stage (单阶段): YOLO系列 (输入图像---》CNN特征---》输出结果) one-stage的特点:&…

python计算

优先级:小括号()>幂运算(指数)>正负号>算术运算(先乘除后加减)>比较运算>逻辑运算

网络基础(二)——传输层

1、再谈端口号 端口号(Port)标识了一个主机上进行通信的不同的应用程序; 在TCP/IP协议中, 用 "源IP", "源端口号", "目的IP", "目的端口号", "协议号" 这样一个五元组来标识一个通信(可以通过 netstat -n查看); 1.1、端口号…

【详细讲解下Photoshop】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…