802.1X认证过程抓包级解析
- 格式:docx
- 大小:164.85 KB
- 文档页数:3
2009年2月第15卷第1期安庆师范学院学报(自然科学版)Journal of Anqing Teachers College (Natural Science Edition )Feb.2009Vol.15No.1802.1x 认证技术分析罗汉云1,宋 勇2(安庆师范学院1.现代教育技术中心,2.外国语学院,安徽安庆246133) 摘 要:IEEE 802.1x 协议是目前业界最新的认证协议,802.1x 认证基于逻辑端口把认证流和业务流进行分离。
认证系统的端口分成两个逻辑端口:可控端口和非可控端口。
可控端口传送业务报文,非可控端口只能传送认证协议报文。
它通过认证前后打开/关闭可控端口来实现对用户接入的控制,从而实现对用户的物理端口的认证和控制。
关键词:802.1x 协议;可控端口;非可控端口;认证系统中图分类号:TP391 文献标识码:A 文章编号:1007-4260(2009)01-0052-03图1 0 引言IEEE 802.1x 又称“基于端口的访问控制协议”(Port -based network access co nt rol p rotocol )。
802.1x 起源于802.11协议,它的提出最初是为了解决无线局域网用户的接入认证问题,它提供了一种以太网环境下点对点的识别用户的方式。
后来,该协议被引入到有线局域网环境,并得到了广泛应用。
1 体系结构802.1x 是基于Client/Server 的访问控制和认证协议,它的体系结构包括三个重要的部分:Supplicant System 客户端、Aut henticator System 认证系统即设备端、A ut henticatio n ServerSystem 认证服务器。
如图1所示。
其中PA E (Port Access En 2tit y )是认证系统中负责处理算法和协议的实体,是一个逻辑组件,部署在客户端和设备端。
———Supplicant System 客户端一般为一个用户终端系统。
802.1x 认证流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!802.1x 认证是一种基于端口的网络访问控制技术,用于对连接到网络的设备进行身份验证和授权。
802.1X认证过程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算法后的Challenge d-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备;(8)接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证:(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。
如果成功,携带协商参数,以及用户的相关业务属性给用户授权。
如果认证失败,则流程到此结束;(10)如果认证通过,用户通过标准的DHCP协议(可以是DHCP Relay),通过接入设备获取规划的IP地址;(11)如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;(12)RADIUS用户认证服务器回应计费开始请求报文。
用户上线完毕。
通过抓包,可以看到在终端能见的认证过程启动认证程序,开始认证认证端返回的信息,请求用户名终端发送用户名(013854是认证的用户名)接入设备发送EAP-Request/MD5-Challenge,要求客户端进行认证终端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-wo rd,在EAP-Response/MD5-Challenge回应给接入设备认证成功Keep alive信息退出时,终端发送Logoff信息。
客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文目的地址为IEEE 802.1x协议分配的一个组播MAC地址:01-80-C2-00-00-03。
设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名.设备端用的源地址是参与生成树的那个MAC地址,客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity 报文)发送给设备端设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。
(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)设备收到认证通过消息后将端口改为授权状态,允许用户通过端口访问网络。
在此期间,设备端会通过向客户端定期发送握手报文,对用户的在线情况进行监测。
缺省情况下,两次握手请求报文都得不到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
802.1x抓包详解1.当用户有上网需求时打开802.1X客户端程序,输入用户名和口令,发起连接请求。
此时客户端程序将发出请求认证的报文给交换机,启动一次认证过程。
如下:Frame 90 (64 bytes on wire, 64 bytes captured)Arrival Time: Nov 27, 2006 16:27:33.446030000Time delta from previous packet: 3.105345000 secondsTime since reference or first frame: 5.082965000 secondsFrame Number: 90Packet Length: 64 bytesCapture Length: 64 bytesEthernet II, Src: 00:e0:4c:d7:65:cd, Dst: 01:80:c2:00:00:03Destination: 01:80:c2:00:00:03 (Spanning-tree-(for-bridges)_03)Source: 00:e0:4c:d7:65:cd (RealtekS_d7:65:cd)Type: 802.1X Authentication (0x888e)Trailer: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5...Frame check sequence: 0xa5a5a5a5 (incorrect, should be 0xcc6d5b40)802.1x AuthenticationVersion: 1Type: Start (1)Length: 02.交换机在收到请求认证的数据帧后,将发出一个EAP-Request/Identitybaowe请求帧要求客户端程序发送用户输入的用户名。
Frame 91 (64 bytes on wire, 64 bytes captured)Arrival Time: Nov 27, 2006 16:27:33.447236000Time delta from previous packet: 0.001206000 secondsTime since reference or first frame: 5.084171000 secondsFrame Number: 91Packet Length: 64 bytesCapture Length: 64 bytesEthernet II, Src: 00:03:0f:01:3a:5a, Dst: 00:e0:4c:d7:65:cdDestination: 00:e0:4c:d7:65:cd (RealtekS_d7:65:cd)Source: 00:03:0f:01:3a:5a (DigitalC_01:3a:5a)Type: 802.1X Authentication (0x888e)Trailer: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5...Frame check sequence: 0xa5a5a5a5 (incorrect, should be 0x7d263869)802.1x AuthenticationVersion: 1Type: EAP Packet (0)Length: 5Extensible Authentication ProtocolCode: Request (1)Id: 1Length: 5Type: Identity [RFC3748] (1)3.客户端程序响应交换机的请求,将包含用户名信息的一个EAP-Response/Identity送给交换机,交换机将客户端送来的数据帧经过封包处理后生成RADIUS Access-Request报文送给认证服务器进行处理。
-802.1X+CA证书认证过程关于PEAP认证的过程说明关于PEAP认证的过程说明1 证书获取证书主要用来进行终端和网络的相互认证。
Radius服务器首先向CA 证书颁发机构申请服务器证书,用来代表Radius服务器的合法性。
客户端向CA证书颁发机构下载CA 根证书,用来验证Radius服务器下发的证书是否合法(一般情况下,如果终端不需要对网络进行认证的情况下,根证书可以不用下载和安装)。
2 无线接入客户端通过开放系统接入的方法(OPEN SYSTEM)和AP之间建立好物理连接。
3 认证初始化1) Client向AP设备发送一个EAPoL-Start报文,开始802.1x接入的开始。
2) AP向客户端发送EAP-Request/Identity报文,要求客户端将用户信息送上来。
3) Client回应一个EAP-Response/Identity给AP的请求,其中包括用户的网络标识。
用户ID,对于EAP-mschchap v2认证方式的用户ID是由用户在客户端手动输入或者配置的。
用户ID通常的格式是username@domain,其中username是运营商提供给用户的身份ID,domain是运营商的域名(如“”)。
4)AP以EAP Over RADIUS的报文格式将EAP-Response/Identity发送给认证服务器Radius,并且带上相关的RADIUS的属性。
5)Radius收到客户端发来的EAP-Response/Identity,根据配置确定使用EAP-PEAP认证,并向AP发送RADIUS-Access-Challenge报文,里面含有Radius发送给客户端的EAP-Request/Peap/Start的报文,表示希望开始进行EAP-PEAP的认证。
6) AP设备将EAP-Request/PEAP/Start发送给认证客户端。
4 建立TLS通道7) Client收到EAP-Request/Peap/Start报文后,产生一个随机数、客户端支持的加密算法列表、TLS协议版本、会话ID、以及压缩方法(目前均为NULL),封装在EAP-Response/Client Hello报文中发送给AP设备。
无线802.1x认证标准无线802.1x协议交互逻辑无线PEAP认证分为几个阶段,802.11无线关联阶段、PEAP认证阶段、无线Key 配置阶段、客户端IP地址获取阶段、正常网络访问阶段以及最后的下线阶段,接下来我们就依照下图对认证过程中的各个阶段进行详细描述。
一、802.11无线关联阶段STA(WorkStation,通常指个人PC)上的认证客户端(Supplicant)通过无线开放模式和无线设备之间建立连接。
1)第一对交互过程用于客户端请求希望关联的SSID,无线设备进行请求应答。
2)接下来的一对交互过程使用开放模式进行认证,真正的身份校验放到了PEAP阶段完成。
3)最后一对交互过程是在进行无线关联,通过该对话可以协商出双方所支持的通讯速率、无线数据传输时的密钥传递、管理和加密方式。
客户端和无线设备完成上述交互过程后,无线关联过程也就完成了。
二、PEAP认证阶段A、802.1X认证起始阶段1)客户端向无线设备发送一个EAPoL-Start报文,开始802.1X认证;2)无线设备向客户端发送EAP-Request/ID报文,要求客户端将用户信息送上来;3)客户端回应EAP-Response/ID给无线设备,该报文中包含用户标识,通常为认证用户ID(由于PEAP的TLS安全通道内依然使用EAP协议进行认证,而EAP 认证过程中会再请求一次用户ID,那么方案设计者可以通过本次的Response/ID 来隐藏真实的用户ID,而在TLS安全通道内的EAP交互中携带真实的用户ID,这样可以增强用户认证凭证的保密性);4)无线设备以EAP Over Radius的形式将EAP-Response/ID传送给Radius服务器。
B、协商PEAP认证并建立TLS安全通道5)Radius服务器收到EAP-Response/ID后根据配置确定使用PEAP认证,并向无线设备发送Radius Access-Challenge报文,报文中包含Radius服务器发送给客户端的PEAP-Start报文,表示希望使用PEAP方法进行接下来的认证;6)无线设备将EAP-Request/PEAP-Start发送给认证客户端;7)客户端收到EAP-Request/PEAP-Start报文后,生成客户端随机数、客户端支持的加密算法列表、TLS协议版本、会话ID等信息,并将这些信息封装到PEAP-Client Hello报文中发送给无线设备;8)无线设备以EAP Over Radius的形式将PEAP-Client Hello发送给Radius服务器;9)Radius服务器收到客户端发来的PEAP-Client Hello报文后,会从PEAP-Client Hello报文的加密算法列表中选择自己支持的一组加密算法并同Radius服务器产生的随机数、Radius服务器证书、证书请求信息、Server_Hello_Done属性形成一个Server Hello报文封装在Access-Challenge报文中,发送给客户端;10)无线设备提取Radius报文中的EAP属性,将其封装成EAP-Request报文并最终发送给客户端;11) 客户端收到来自服务器的EAP-Request报文后,验证Radius服务器的证书是否合法。
客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文目的地址为IEEE 802.1x协议分配的一个组播MAC地址:01-80-C2-00-00-03。
设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名.设备端用的源地址是参与生成树的那个MAC地址,
客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity 报文)发送给设备端
设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。
(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报文。