H3C S7500E系列以太网交换机 操作手册 802.1x-MAC地址认证
表1-1 EAPOL数据类型
类型 EAP-Packet(值为0x00):认证信息帧,用于承载认证信息 EAPOL-Start(值为0x01):认证发起帧 说明 第1章 802.1x配置
该帧在设备端和认证服务器之间存在,重新封装并承载于RADIUS协议上,便于穿越复杂的网络到达认证服务器 这两种类型的帧仅在客户端和设备端之间存在 EAPOL-Logoff(值为0x02):退出请求帧
Length:表示数据长度,也就是“Packet Body”字段的长度,单位为字节。如果为0,则表示没有后面的数据域。
Packet Body:表示数据内容,根据不同的Type有不同的格式。 2. EAP数据包的格式
当EAPOL数据包格式Type域为EAP-Packet时,Packet Body为EAP数据包结构,如图1-4所示。
0CodeLengthDataN7Identifier1524
图1-4 EAP数据包格式
Code:指明EAP包的类型,共有4种:Request、Response、Success、Failure。
? ?
Success和Failure类型的包没有Data域,相应的Length域的值为4。 Request和Response类型数据包的Data域的格式如图1-5所示。Type为EAP的认证类型,Type data的内容由类型决定。例如,Type值为1时代表Identity,用来查询对方的身份;Type值为4时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息。
0Type7Type dataN
图1-5 Request和Response类型数据包的Data域的格式
Identifier:辅助进行Request和Response消息的匹配。
Length:EAP包的长度,包含Code、Identifier、Length和Data域,单位为字节。 Data:EAP包的内容,由Code类型决定。
1-4
H3C S7500E系列以太网交换机 操作手册 802.1x-MAC地址认证
第1章 802.1x配置
1.1.4 EAP属性的封装
RADIUS为支持EAP认证增加了两个属性:EAP-Message(EAP消息)和Message-Authenticator(消息认证码)。RADIUS协议的报文格式请参见 “AAA-RADIUS-HWTACACS操作”的RADIUS协议简介部分。 1. EAP-Message
如图1-6所示,这个属性用来封装EAP数据包,类型代码为79,String域最长253字节,如果EAP数据包长度大于253字节,可以对其进行分片,依次封装在多个EAP-Message属性中。
0Type7Length15StringNEAP packets
图1-6 EAP-Message属性封装
2. Message-Authenticator
如图1-7所示,这个属性用于在使用EAP、CHAP等认证方法的过程中,避免接入请求包被窃听。在含有EAP-Message属性的数据包中,必须同时也包含Message-Authenticator,否则该数据包会被认为无效而被丢弃。
0Type1Length2String18 bytes
图1-7 Message-Authenticator属性
1.1.5 802.1x的认证过程
认证过程可以由客户端主动发起,也可以由设备端发起。一方面设备会主动向客户端发送EAP-Request/Identity报文,发起认证;另一方面客户端可以通过客户端软件向设备端发送EAPOL-Start报文,发起认证。
802.1x系统支持EAP中继方式和EAP终结方式与远端RADIUS服务器交互完成认证。以下关于两种认证方式的过程描述,都以客户端主动发起认证为例。 1. EAP中继方式
这种方式是IEEE 802.1x标准规定的,将EAP(扩展认证协议)承载在其它高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,EAP中继方式需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator。
1-5
H3C S7500E系列以太网交换机 操作手册 802.1x-MAC地址认证
第1章 802.1x配置
目前设备所支持的EAP中继方法有四种:EAP-MD5、EAP-TLS(Transport Layer Security,传输层安全)、EAP-TTLS(Tunneled Transport Layer Security,隧道传输层安全)和PEAP(Protected Extensible Authentication Protocol,受保护的扩展认证协议)。
?
EAP-MD5:验证客户端的身份,RADIUS服务器发送MD5加密字(EAP-Request/MD5 Challenge报文)给客户端,客户端用该加密字对口令部分进行加密处理。
?
EAP-TLS:客户端和RADIUS服务器端通过EAP-TLS认证方法检查彼此的安全证书,验证对方身份,保证通信目的端的正确性,防止网络数据被窃听。
?
EAP-TTLS:是对EAP-TLS的一种扩展。在EAP-TLS中,实现对客户端和认证服务器的双向认证。EAP-TTLS扩展了这种实现,它使用TLS建立起来的安全隧道传递信息。
?
PEAP:首先创建和使用TLS安全通道来进行完整性保护,然后进行新的EAP协商,从而完成对客户端的身份验证。
下面以EAP-MD5方式为例介绍基本业务流程,如图1-8所示。
1-6
H3C S7500E系列以太网交换机 操作手册 802.1x-MAC地址认证
Supplicant systemPAEEAPOLAuthenticator systemPAEEAPOR第1章 802.1x配置
RADUIS serverEAPOL-StartEAP-Request / IdentityEAP-Response / IdentityRADIUS Access-Request(EAP-Response / Identity)EAP-Request / MD5 challengeRADIUS Access-Challenge(EAP-Request / MD5 challenge)RADIUS Access-Request(EAP-Response / MD5 challenge)RADIUS Access-Accept(EAP-Success)EAP-Response / MD5 challengeEAP-Success端口被授权握手定时器握手请求报文[ EAP-Request / Identity ]握手应答报文[ EAP-Response / Identity ]......EAPOL-Logoff端口非授权EAP-Failure 图1-8 IEEE 802.1x认证系统的EAP中继方式业务流程
认证过程如下:
(1) 当用户有访问网络需求时打开802.1x客户端程序,输入已经申请、登记过的
用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给设备端,开始启动一次认证过程。
(2) 设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity
报文)要求用户的客户端程序发送输入的用户名。
(3) 客户端程序响应设备端发出的请求,将用户名信息通过数据帧
(EAP-Response/Identity报文)发送给设备端。设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。
1-7
H3C S7500E系列以太网交换机 操作手册 802.1x-MAC地址认证
第1章 802.1x配置
(4) RADIUS服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户
名表对比,找到该用户名对应的密码信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文发送给设备端,由设备端转发给客户端程序。
(5) 客户端程序收到由设备端传来的加密字(EAP-Request/MD5 Challenge报文)
后,用该加密字对密码部分进行加密处理(此种加密算法通常是不可逆的,生成EAP-Response/MD5 Challenge报文),并通过设备端传给认证服务器。 (6) RADIUS服务器将收到的已加密的密码信息(RADIUS Access-Request报文)
和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文)。
(7) 设备收到认证通过消息后将端口改为授权状态,允许用户通过端口访问网络。
在此期间,设备端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。缺省情况下,两次握手请求报文都得不到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
(8) 客户端也可以发送EAPOL-Logoff报文给设备端,主动要求下线,设备端把端
口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。 ? 说明:
EAP中继方式下,如果要采用PEAP、EAP-TLS、EAP-TTLS或者EAP-MD5这四种认证方法之一,需要保证在客户端和RADIUS服务器上选择一致的认证方法,而在设备上,只需要通过dot1x authentication-method eap命令启动EAP中继方式即可。
2. EAP终结方式
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。以下以CHAP认证方法为例介绍基本业务流程,如图1-9所示。
1-8

