pesonal模式和Enterprise模式,eap模块状态机和eapol模块状态机------内外联系区别

一、pesonal模式和Enterprise模式




从上边两幅图中,可以分析出:

pesonal模式:是与具体的EPA Method无关的,只是与EOPOL和EOP相关。 

Enterprise模式:是需要调用具体的EPA Method,并且与EOPOL和EOP也相关。



二、eap模块状态机和eapol模块状态机

1、EAP协议与EAPOL协议

EAPOL协议:
802.1x 协议定义了一种报文封装格式,这种报文称为EAPoL(EAP over LANs局域网上的扩展认证协议)报文,主要用于在客户端和认证系统之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。
标准EAPoL帧结构如下表所示:
字段
字节

PAE Ethernet Type

1-2

Protocol Version

3

Packet Type

4

Packet Body Length

5-6

Packet Body

7-N
EAPoL 帧格式中各字段含义如下:
字段
占用字节
描述

PAE Ethernet Type

2 个字节
表示协议类型,802.1x分配的协议类型为888E

Protocol Version

1 个字节
表示EAPOL 帧的发送方所支持的协议版本号。本规范使用值为0000 0001

Packet Type

1 个字节
表示传送的帧类型,如下几种帧类型:

a) EAP-Packet. 值为 0000 0000

b )EAPOL-Start.值为0000 0001

b) EAPOL-Logoff. 值为0000 0010

Packet Body Length

2 个字节
表示Packet Body的长度

Packet Body

0/ 多字节
如果Packet Type为EAP-Packet,取相应值。对于其他帧类型,该值为空。
EAPOL 帧在二层传送时,必须要有目标MAC地址,当客户端和认证系统彼此之间不知道发送的目标时,其目标MAC地址使用由802.1x协议分配的组播地址01-80-c2-00-00-03。


EAP协议
802.1x 协议在实现整个认证的过程中,其三个关键部分(客户端、认证系统、认证服务器)之间是通过不同的通信协议进行交互的,其中认证系统和认证服务器之间是EAP报文。
EAP 帧结构如下表所示:
字段
字节
Code
1
Identifier
2
Length
3-4
Data
5-N
EAP 帧格式中各字段含义如下:
        
字段
占用字节数
描述
Code
1 个字节
表示EAP帧四种类型:1.Request;2.Response
3 .Success;4.Failure
Identifier
1 个字节
用于匹配Request和Response。Identifier的值和系统端口一起单独标识一个认证过程
Length
2 个字节
表示EAP帧的总长度
Data
0 或更多字节
表示EAP数据

其中Code的取值如下:
1 :         Request
2        Response
3        Success
4        Failure


首先EAPOl是Extensible Authentication Protocolover LAN的缩写。
下面再说EAPOl的由来是基于802.1x网络访问认证技术:

  802.1x协议起源于802.11协议,后者是IEEE的无线局域网协议, 制订802.1x协议的初衷是为了解决无线局域网用户的接入认证问题。IEEE802LAN协议定义的局域网并不提供接入认证,只要用户能接入局域网控制 设备 (如LANS witch) ,就可以访问局域网中的设备或资源。这在早期企业网有线LAN应用环境下并不存在明显的安全隐患。但是随着移动办公及驻地网运营等应用的大规模发展,服务提供者需要对用户的接入进行控制和配置。尤其是WLAN的应用和LAN接入在电信网上大规模开展,有必 要对端口加以控制以实现用户级的接入控制,802.lx就是IEEE为了解决基于端口的接入控制 (Port-Based Network Access Contro1) 而定义的一个标准。

  IEEE 802.1X是根据用户ID或设备,对网络客户端(或端口)进行鉴权的标准。该流程被称为“端口级别的鉴权”。它采用RADIUS(远程认证拨号用户服务)方法,并将其划分为三个不同小组:请求方、认证方和授权服务器。

  820.1X 标准应用于试图连接到端口或其它设备(如Cisco Catalyst交换机或Cisco Aironet系列接入点)(认证方)的终端设备和用户(请求方)。认证和授权都通过鉴权服务器(如Cisco Secure ACS)后端通信实现。IEEE 802.1X提供自动用户身份识别,集中进行鉴权、密钥管理和LAN连接配置。

  



  如上所属,整个802.1x 的实现设计三个部分,请求者系统、认证系统和认证服务器系统。一下分别介绍三者的具体内容:

  请求者系统

  请求者是位于局域网链路一端的实体,由连接到该链路另一端的认证系统对其进行认证。请求者通常是支持802.1x认证的用户终端设备,用户通过启动客户端软件发起802.lx认证,后文的认证请求者和客户端二者表达相同含义。

  认证系统

  认证系统对连接到链路对端的认证请求者进行认证。认证系统通常为支持802. Lx协议的网络设备,它为请求者提供服务端口,该端口可以是物理端口也可以 是逻辑端口,一般在用户接入设备 (如LAN Switch和AP) 上实现802.1x认证。倎文的认证系统、认证点和接入设备三者表达相同含义。

  认证服务器系统

  认证服务器是为认证系统提供认证服务的实体,建议使用RADIUS服务器来实现认证服务器的认证和授权功能。

  请求者和认证系统之间运行802.1x定义的EAPO (Extensible Authentication Protocolover LAN)协议。当认证系统工作于中继方式时,认证系统与认证服务器之间也运行EAP协议,EAP帧中封装认证数据,将该协议承载在其它高层次协议中(如 RADIUS),以便穿越复杂的网络到达认证服务器;当认证系统工作于终结方式时,认证系统终结EAPoL消息,并转换为其它认证协议(如 RADIUS),传递用户认证信息给认证服务器系统。

  认证系统每个物理端口内部包含有受控端口和非受控端口。非受控端口始终处于双向连通状态,主要用来传递EAPoL协议帧,可随时保证接收认证请求者发出的EAPoL认证报文;受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。

  整个802.1x的认证过程可以描述如下

  (1) 客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;

  (2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;

  (3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;

  (4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;

  (5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;

  (6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证

  (7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备

  (8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证

  (9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

  (10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;

  (11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

  (12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕

2、EAP模块与EAPOL模块

RFC4137将和SUPP SM相关的模块分为三层:

最上层:EAP Method(EM)层,实现了具体的EAP方法;

中间层:SUPP SM层,实现了Supplican状态机;

最底层:Lower Layer(LL),用于接受和发送EAP包。


(1)SUPP SM层 与 EAP Method(EM)层 、Lower Layer(LL)的交互

LL层接收到数据包后,将该数据包交给SUPP SM层处理。

SUPP SM层 ,如果该数据包需要EM层处理(例如具体的验证算法需要EM完成),则SUPP SM层交给EM层。

EM处理完的结果将由SUPP SM转交给LL去发送。


(2)SUPP SM层与LL层交互变量

1)LL层收到EAP数据包后,将其保存在eapReqData变量中,然后设置eapReq变量为TRUE。这个变量的改变对SUPP SM层来说是一个

触发信号(signal)。SUPP SM可能会发生状态改变。

2)SUPP SM层从eapReqData中取出数据后进行处理。如果有需要回复的数据,则设置eapResp值为TRUE,否则,设置eapNoResp值

为TRUE。回复数据存储爱eapRespData中。LL层将发送此回复包。

3)如果SUPP SM完成身份验证后,它将设置eapSuccess或eapFailure变量以告知LL层其验证结果。eapSuccess为TRUE,表明验证成功。

eapFailure为TRUE,则验证失败。


(3)SUPP SM有13个状态(P196)


(4)最底层:Lower Layer(LL)。其实,也就是EAPOL层,也就是802.1X模块。

SUPP PACP状态机:四个(根据代码)。

Port Timers SM(PT SM)

The Key Receiver SM(TKR SM)

PAE SM(P206)

Backend SM(BE SM)(P208)


。。。。。。

到这里,就先说到这里!







  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值