身份认证——802.1x认证和MAC认证讲解

身份认证——802.1x认证和MAC认证讲解用户通过 802 1x 客户端输入用户和密码来向接入设备发送 EAPoL Start 报文来触发认证 接入控制器收到客户端发送的 EAPoL Start 报文之后 会向客户端发送 EAP Request Iden

大家好,欢迎来到IT知识分享网。

目录

802.1x基础

EAP(Extensible Authentication Protocol)可扩展认证协议

EAPoL(EAP over LAN)局域网可扩展认证协议

802.1x体系架构

受控端口的受控方式

802.1x认证

802.1x认证触发方式

客户端退出认证

802.1x认证方式

MAC认证


802.1x基础

802.1x认证又称为EAPOE(Extensible Authentication Protocol Over Ethernet)认证

802.1x是一种基于端口的网络访问控制(NAC)协议,在接入设备的端口验证用户身份并控制其访问权限

802.1x协议使用EAP协议来完成身份验证,通过EAPoL在局域网传输EAP消息

EAP(Extensible Authentication Protocol)可扩展认证协议

EAP只是一个身份验证框架,可以承载携带多种认证协议(类似于IPSec),用于传输身份验证消息;802.1x与EAP结合,实现更好的扩展性和适应性,实现了对传统PPP认证架构的兼容

注意

  1. 802.1x是二层协议(不是纯粹的二层),不需要到达三层,所以对接入设备的整体性能要求不高
  2. EAP协议本身并不涉及身份验证方法的实现,只是提供了一个通用框架,使得各种不同的身份验证方法都可以在其上实现
  3. EAP报文可以通过配置二层透传的方式进行传输(使得接入设备不处理EAP报文)

EAP体系架构

EAP支持TLS、MD5、PEAP等认证方式,可以用于802.1x认证、VPN客户端等

每种认证方式都定义了不同的认证过程和报文格式

身份认证——802.1x认证和MAC认证讲解

身份认证——802.1x认证和MAC认证讲解

PAP/CHAP认证方式

PPP协议讲解(PPP连接状态、CHAP/PAP认证、PPP报文)-CSDN博客

PEAP认证方式  受保护的可扩展身份验证协议
1、PEAP本身不指定认证方法,仅仅只是在请求方和认证服务器之间建立TLS加密通道
2、在TLS加密通道的基础上使用EAP的其它认证方法(例如EAP-MD5、EAP-MS-CHAPv2等)
3、PEAP一般用于无线场景,采用PEAP EAP-MS-CHAPv2认证方式(CHAPv2为双向认证,CHAP为单向认证)注意事项:此方式需要认证服务器申请数字证书作为自己的身份校验凭证


请求方安装CA根证书来校验服务器身份的合法性;服务器通过基于密码的EAP-MS-CHAPv2认证方法验证请求方的身份合法性

EAP分为两个阶段

认证阶段(本文只讲解认证阶段)

客户端和服务器之间交换身份验证信息来验证客户端的身份

根据交互的EAP报文选择认证方式

密钥生成阶段

客户端和服务器使用共享密钥加密数据传输

EAP报文

身份认证——802.1x认证和MAC认证讲解

Code 表示EAP数据报文的类型

 1表示请求报文(EAP-Request)    

 2表示响应报文(EAP-Response)  

 3表示成功报文(EAP-Success)

 4表示失败报文(EAP-Failure)

Identifier 唯一标识符

 用来匹配Request和Respinse(请求所对应的响应包 ID值一致)

Length 报文长度

 表示EAP数据包的长度(包括Code、ID、Length、Data各字段)

 超出Length范围的字节视为填充字段,忽略

Data 包含EAP报文的相关信息

 Code为1或2的时候才会有Data字段(只有EAP请求和EAP响应会携带DATA信息)

 Code为3或4的时候不会有Data字段

  不同的Type表示不同的含义,包含不同的内容

身份认证——802.1x认证和MAC认证讲解

EAPoL(EAP over LANs)局域网可扩展认证协议

为了使得EAP报文可以直接承载于LAN网络等其它网络环境中,802.1x定义了一种报文封装格式EAPoL;EAPoL是802.1x使用的数据链路层协议,通过EAPoL来封装EAP报文,使EAP可以在有线、无线以及其它网络传输(802.3为以太网、802.11为无线网络)

身份认证——802.1x认证和MAC认证讲解

EAPoL有四种消息类型

 EAPoL-Packet:   用于承载认证信息(用于承载EAP报文)

 EAPoL-Start:       客户端要发起802.1x认证时发送

 EAPoL-Logoff:     客户端要断开与网络的连接时发送

 EAPoL-Key:         密钥信息报文(用于协商加密业务数据的密钥,支持对EAP报文加密)

 EAOoL-Start、Logoff、Key仅在终端和接入端存在

EAPoL报文

身份认证——802.1x认证和MAC认证讲解

身份认证——802.1x认证和MAC认证讲解

物理层头

 包含源目MAC、以太网类型

 EAPoL协议的以太网类型为0x888E

EAPoL

Protocol Version   EAPoL的协议版本号

 0x01:支持802.1x-2001

 0x02:支持802.1x-2004

 0x03:支持802.1x-2010

Protocol Type     EAPoL的数据帧类型

 0x00:EAPOL-Packet认证信息帧

 0x01:Start认证发起帧

 0x02:Logoff退出请求帧

 0x03:Key密钥信息帧

Length 数据长度

 只包含Packet Body字段的长度

 为0表示没有Packet Body字段

Packet Body 携带EAP报文信息(不定长)

 EAPoL-Packet和Key报文携带此字段

 Start和Logoff消息都没有Packet Body字段,Length都为0

802.1x体系架构

802.1x是典型的Client/Server结构,包括终端、Radius客户端、Radius服务器三个实体

精简图

身份认证——802.1x认证和MAC认证讲解

客户端

位于局域网段一端的一个实体,由接入控制设备对其进行认证

终端需要安装802.1x客户端来发起认证(即终端必须支持EAPOL协议)

接入控制器NAS(通常为Radius客户端)

对所连接的终端进行认证,为终端提供接入局域网的端口(可以物理端口,可以逻辑端口)

通常为支持802.1x协议的交换机或AC

认证服务器(通常为Radius服务器)

为接入控制设备提供认证服务的实体,通常为Radius服务器,但不是唯一的

用于对用户进行认证、授权、计费

详细图

身份认证——802.1x认证和MAC认证讲解

客户端PAE(结合802.1x认证触发方式看)

1、可以主动向接入控制端发送认证请求和下线请求

2、通过响应接入控制端的认证请求,向接入控制端提交用户的认证请求

非受控端口

非受控端口始终处于双向联通的状态,主要用来传递EAPoL协议,保证客户端始终可以发送或接受认证信息

受控端口(认证端口)

受控端口只有在用户通过认证的情况下才打开,用来传递业务信息

为适应不同的应用环境,受控端口可以配置为单向受控和双向受控两种方式

 双向受控时,禁止帧的发送和接收,只有通过认证才可以;

 单向受控时,禁止NAS从客户端接口帧,但允许NAS向客户端发送帧,用户通过认证后才可以允许NAS从客户端接收帧

接入控制端PAE(设备端PAE)

利用认证服务器对需要接入局域网的客户端进行认证

并根据认证结果将相应的受控端口配置成授权/非授权状态

受控端口的受控方式

基于接口的认证方式

只要该接口下的第一个用户通过此接口认证通过,其余用户通过此接口就不需要认证

当第一个用户下线时,其余用户就会被拒绝使用网络

基于MAC的认证方式

该物理接口下的所有接入用户都需要单独认证

受控端口的控制方式

自动识别

用户认证成功会授权,认证失败不授权

强制授权

无论是否认证成功,都授权

强制非授权

无论是否认证成功,都不授权


802.1x认证

802.1x认证触发方式

接入控制端主动触发(用于终端不可发送EAPoL-Start报文的情况,客户端PAE相应NAS的请求触发认证)

1、单播方式(知道客户端地址)

接入设备在接收到用户终端发送的DHCP/ARP等报文后,向用户终端发送EAP-Request/Identity报文(通过EAPoL封装)要求用户发送身份标识

2、组播方式(不知道客户端地址)

接入控制设备每隔30s主动向客户端发送EAP-Request/Identity组播报文(通过EAPoL封装),要求用户发送身份标识

客户端主动触发(客户端PAE主动触发)

用户通过802.1x客户端输入用户和密码来向接入设备发送EAPoL-Start报文来触发认证,接入控制器收到客户端发送的EAPoL-Start报文之后,会向客户端发送EAP-Request/Identity报文,要求用户发送身份标识

组播发送:向目的MAC地址0180-C200-0003发送EAPOL-Start报文

广播发送:广播发送EAPoL-Start

客户端退出认证

  1. 客户端与NAS之间连接失败,认证超时
  2. 客户端没有响应NAS发起的认证请求
  3. 客户端发送EAPoL-Logoff报文,主动下线

802.1x认证方式

EAP中继

对用户口令信息进行加密处理的随机加密字也由Radius服务器生成,接入控制器只是负责将EAPoL报文透传给Radius服务器,要求Radius服务器支持EAP属性

EAPoR(EAP over Radius报文)

Radius为了支持EAP属性,增加了两个TLV属性,将此扩展的Radius报文称为称为EAPoR

TLV79:EAP-Message(携带EAP消息)

TLV80:Message-Authenticator(消息认证码)

身份认证——802.1x认证和MAC认证讲解

认证过程

  1. PC将发出请求认证(EAPOL-Start报文)的报文给交换机,开始启动一次认证过程
  2. 交换机收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的PC发送输入的用户名
  3. PC响应交换机发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)发送给交换机。交换机将PC发送的数据帧经过封包处理后(RADIUS Access-Request报文)送给Radius服务器进行处理
  4. Radius服务器收到设备端转发的用户名信息后,将该信息与本地中的用户名表对比,找到该用户名对应的密码信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文发送给交换机,由交换机转发给客户端程序
  5. PC收到由交换机传来的加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对密码部分进行加密处理(此种加密算法通常是不可逆的),生成EAP-Response/MD5 Challenge报文,并通过交换机传给Radius服务器
  6. Radius服务器将收到的已加密的密码信息(RADIUS Access-Request报文)和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文)
  7. 设备收到认证通过消息后将端口改为授权状态,允许用户通过端口访问网络并通知PC认证成功

EAP终结

对用户口令信息进行加密处理的随机加密字由接入控制器生成,然后通过标准的Radius报文把用户名、随机加密字、客户端加密后的口令信息一起传输给Radius服务器

将EAPoL报文在接入控制器终结,接入控制设备提取出EAPoL报文中的EAP信息,并将提取出的信息重新封装在Radius报文中发送给认证服务器

即:客户端与接入控制器通过EAPoL报文交互,接入控制器与服务器通过Radius报文交互

身份认证——802.1x认证和MAC认证讲解

EAP终结方式中,对用户密码信息进行加密处理的MD5 Challenge信息由设备接入端生成,之后设备接入端会把用户名、MD5 Challenge和客户端加密后的密码信息一起送给Radius服务器,由Radius服务器进行相关的认证处理

EAP中继方式中,对用户密码进行加密处理的挑战字由认证服务器生成,设备接入端只是负责将EAP报文封装在RADIUS报文中透传认证服务器,整个认证处理都由认证服务器来完成

注意事项

802.1x是二层协议,不需要IP报文封装

Radius是三层协议,需要IP报文封装

无线802.1x认证流程

Wlan——STA接入无线网络的流程以及STA如何通过802.1x接入网络_静下心来敲木鱼的博客-CSDN博客


MAC认证

其实就是接入控制端主动触发进行802.1x认证,不过不通过用户密码认证了,而是通过MAC进行认证

身份认证——802.1x认证和MAC认证讲解

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127470.html

(0)
上一篇 2025-09-07 15:26
下一篇 2025-09-07 15:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信