802.1x认证过程
- 格式:doc
- 大小:33.50 KB
- 文档页数:4
dot1x认证原理
dot1x(IEEE 802.1X)是一种网络认证协议,用于控制局域网(LAN)端口的访问权限。
它的原理如下:
1. 开机认证:当设备(如计算机)连接到局域网的交换机端口时,交换机会对该端口进行认证过程。
初始状态下,交换机的此端口为“未授权”状态。
2. 通信开始:设备尝试通过端口进行通信,发送一个EAPOL (EAP Over LAN)Start消息给交换机。
EAPOL Start消息用于指示设备准备就绪,请求进行认证。
3. 交换机发起认证:交换机收到EAPOL Start消息后,会发送一个EAPOL Request/Identity消息给设备,要求设备提供身份标识。
4. 设备认证:设备收到EAPOL Request/Identity消息后,会向交换机发送一个EAPOL Response/Identity消息,其中包含设备的身份标识。
5. 认证服务器验证:交换机将EAPOL Response/Identity消息转发到认证服务器,认证服务器接收到设备的身份标识后,会对其进行验证。
6. 认证结果:认证服务器验证设备的身份,并返回一个认证结果给交换机,该结果可以是“通过”或“拒绝”。
7. 端口授权:如果设备通过认证,交换机将该端口标记为“授权”状态,并允许设备进行正常通信。
否则,端口会继续保持
为“未授权”状态,拒绝设备的通信。
8. 会话维持:一旦设备通过认证,交换机会继续监听设备的网络活动,以便在会话超时或其他认证条件变化时重新进行认证。
通过以上的认证过程,dot1x能够有效地控制网络的访问权限,提供更安全的局域网环境。
华为5700本机完成802.1X用户认证配置网络需求:需要公司人员根据自己的工号完成了802.1x认证之后才能进行通信和访问外网网络实验拓扑:第一步:建立802.1x认证用户[manage-converged]aaa[manage-converged-aaa]local-user cd00470 password cipher 12345 [manage-converged-aaa]local-user cd00470 service-type 8021x 指定用户的服务类型第二步:开启全局802.1x功能[manage-converged]dot1x enable[manage-converged]dot1x authentication-method chapPAP(Password Authentication Protocol)是一种两次握手认证协议,它采用明文方式传送口令。
CHAP(Challenge Handshake Authentication Protocol)是一种三次握手认证协议,它只在网络上传输用户名,而并不传输口令。
相比之下,CHAP认证保密性较好,更为安全可靠。
EAP认证功能,意味着交换机直接把802.1x用户的认证信息以EAP报文发送给RADIUS服务器完成认证,而无须将EAP报文转换成标准的RADIUS报文后再发给RADIUS服务器来完成认证。
如果要采用PEAP、EAP-TLS、EAP-TTLS或者EAP-MD5这四种认证方法之一,只需启动EAP认证即可第三步:开启接口802.1x功能[manage-converged-GigabitEthernet0/0/26]dot1x enable[manage-converged-GigabitEthernet0/0/26]dot1x port-method ?mac Authentication based on user MAC addressport Authentication based on switch port基于端口模式:只要连接在该端口的第一个MAC设备通过认证,该端口连接的其他MAC设备不用认证都允许接入。
实验十一 802.1x本地认证配置
1.实验内容:交换机端口通过本地认证应用
2.实验目的:掌握802.1x交换基本地认证配置
3.实验环境:
1. 组网图
2. 配置步骤
用户输入用户名和密码,报文送达交换机端口,此时交换机相应端口对于此用户来说是非授权状态,报文打上相应端口的PVID,然后根据用户名所带域名送到相应域中进行认证,如果没有带域名就送到缺省域中进行认证,如果存在相应的用户名和密码,就返回认证成功消息,此时端口对此用户变为授权状态,如果用户名不存在或者密码错误等,就返回认证不成功消息,端口仍然为非授权状态。
3、相关软件:
客户端用HWSupplicantV2.01
4. 实验步骤:
[SwitchA]local-user test
设置该用户密码(明文)
[SwitchA-user-test]password simple test
设置该用户接入类型为802.1X
[SwitchA-user-test]service-type lan-access
激活该用户
[SwitchA-user-test]state active
3) 全局使能802.1x
[SwitchA]dot1x
[SwitchA]dot1x interface eth 0/1 to eth 0/10
3.这里采用缺省域system,并且缺省域引用缺省radius方案system。
4. 测试:。
目录1简介 (2)2认证机制 (3)3用户登陆形式 (3)4安装证书服务器 (4)3 Cisco Secure ACS Solution Engine 安装和配置 (7)3.1安装 (7)3.2安装证书 (10)3.3针对思科交换机和AP的配置 (22)3.4针对华为交换机的配置 (29)4 交换机和AP配置 (29)4.1思科交换机配置 (29)4.2华为交换机配置 (30)4.3AP的配置 (31)5.客户端PEAP认证设置 (33)5.1获取证书 (33)5.2客户端PEAP设置 (34)1简介IEEE 802.1x 标准定义了基于client/server 模式的访问控制和验证协议,以此来限制非授权用户通过公用的访问端口连接到LAN。
在Switch 或LAN 指定的services 可用之前,验证服务器验证每个连接到Switch 端口上的客户端。
802.1x 访问控制只允许EAPOL(Extensible Authentication Protocol over LAN )包通过客户端连接的端口,直到客户验证成功。
验证成功以后,端口就可以传输正常数据包。
网络拓扑图如下:Client-工作站请求访问LAN 、交换机服务和响应请求。
工作站必需运行8021.x 兼容的客户端软件;Authentication server -真正负责对客户端的验证。
Authentication server 确认客户的的身份并且通知交换机是否授权访问LAN 和交换服务。
因为交换机作为了一个代理,所以验证服务对客户来说是透明的;Switch (边缘交换机或无线AP)-根据客户的验证状态控制到网络的物理访问。
交换机做为客户端和验证服务器之间的一个代理,从客户端要求验证信息并送到验证服务器验证。
交换机包含一个Radius client,负责封装和解装EAP 帧并和验证服务器交互。
在李宁公司802.1x实施中,我们使用windows AD 作为后端用户数据库,使用的Radius server为Cisco ACS ,交换机使用Cisco switch和无线AP ,同时CA服务、DNS服务、DHCP服务也在AD服务器上安装,客户端则使用windows xp 。
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认证的EAP协议(总体流程)2010-07-20 23:38:49| 分类:网络技术 | 标签: |字号大中小订阅参考RFC 3748Supplicant主机服务器----------- -------------|------------------------------>| 主机向服务器(多播或广播地址)发送EAPOL-Start| 1. EAPOL-Start || ||<------------------------------| 要求验证身份的请求| 2. EAP-REQUEST-Identity || ||------------------------------>| 回应(用户名)3. EAP-RESPONSE-Identity || ||<------------------------------| 要求验证密码的MD5校验值(随机加密字Challenge)| 4. EAP-REQUEST-MD5_Challenge || ||------------------------------>| 回应(使用Challenge加密口令)| 5. EAP-RESPONSE-MD5_Challenge || ||<------------------------------| EAP-Success(判断正确性)| 6. EAP-Success || |在任何时候服务器发来EAP-Failure数据包,都表示整个认证过程终止。
在以太网中,EAP协议当然也是通过以太网帧的格式来传送,帧类型为0x888e,在基于pcap的抓包程序中,可使用"ether proto 0x888e"来抓取。
Ethernet-Header: (802.3,局域网标准)################################################# 0 5 11 13 ## +----------------+----------------+--------+ ## |DST--MAC |SRC--MAC |0x888e | ## +----------------+----------------+--------+ #################################################EAP协议不仅可用于本文关注的以太网环境中,还可在无线WLAN、令牌环网中应用,而这些链路帧是各不相同的,这就是为什么有EAPOL类型的数据帧,用以抽象EAP协议报文。
dot1x认证流程IEEE 802.1X 协议定义了认证器(Authenticator)、用户端(Supplicant)和身份验证服务器(Authentication Server)三者之间的通信流程。
认证器通常是网络交换机或接入点,用户端是网络终端设备,如笔记本电脑、智能手机等,而身份验证服务器则通常是一个独立的认证服务器或是集成在网络设备中的认证功能。
下面将介绍 IEEE 802.1X 认证的流程:1. 启动认证过程当用户设备(Supplicant)接入网络时,认证器(Authenticator)将会要求用户进行身份认证。
此时,用户设备会向认证器发送一个 EAPOL-Start 消息,表示启动认证过程。
2. 发送身份认证请求认证器收到用户设备的 EAPOL-Start 消息后,会向用户设备发送身份认证请求(EAP-Request/Identity 消息),要求用户设备提供其身份信息。
3. 提供身份信息用户设备接收到身份认证请求后,会向认证器回复身份信息(EAP-Response/Identity 消息),通常是用户的用户名。
4. 开始身份认证认证器收到用户设备提供的身份信息后,会将该信息转发到身份验证服务器,请求对用户进行身份认证。
5. 身份验证身份验证服务器收到用户身份信息后,会通过内部的身份验证机制对用户进行身份验证,例如使用用户名密码进行验证或者使用证书进行验证。
6. 认证结果返回身份验证服务器完成身份验证后,会将认证结果反馈给认证器,通知认证器用户的身份信息是否有效。
7. 通知用户设备认证器收到身份验证服务器的认证结果后,会通知用户设备认证结果,并告知用户设备是否通过认证。
8. 用户认证成功如果用户设备经过身份验证后被认证通过,认证器将允许用户设备接入网络,并开启对用户设备的网络访问控制。
用户设备可以开始使用网络资源。
9. 用户认证失败如果用户设备未能通过身份验证,认证器将禁止用户设备接入网络,并可能会向管理员发送警报信息,告知用户设备的异常情况。
一个完整的802.1X认证的交互
首先是802.11的连接,如图:
前2个交互是相互发现的一个过程。
之后,先做auth,再做association。
在WPA/RSN中,802.11的auth用的都是open的方式。
这是第一个阶段,也就是802.11的认证。
当association完成后,接下来做EAP802.1X认证,这是WPA/RSN的认证。
802.1X认证完成后,Supplicant和Authenticator得到PMK,可以做4次握手,生成PTK。
如果是PSK认证,则没有这一步,Authenticator和Supplicant可以自己生成PMK用以4次握手。
4次握手的过程如下:
上图是针对WP2,也就是RSN的,这种情况下,GTK在3/4时生成。
在WPA1中,4次握手仅仅是产生PTK。
GTK是通过4次握手后的一个2次握手完成的,如下图:
至此,完整的802.1X认证完成。
单播报文可以用PTK加密/校验,多播报文用GTK加密/校验。
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 (0×888e)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 Aut hentication (0×888e)Trailer: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5…Frame check sequence: 0xa5a5a5a5 (incorrect, should be 0×7d263869)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报文送给认证服务器进行处理。
Frame 148 (77 bytes on wire, 77 bytes captured)Arrival Time: Nov 27, 2006 16:27:36.446199000Time delta from previous packet: 2.998963000 secondsTime since reference or first frame: 8.083134000 secondsFrame Number: 148Packet Length: 77 bytesCapture Length: 77 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 (0×888e)802.1x AuthenticationVersion: 1Type: EAP Packet (0)Length: 59Extensible Authentication ProtocolCode: Response (2)Id: 1Length: 13Type: Identity [RFC3748] (1)Identity (8 bytes): 030510204.认证服务器收到交换机转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字Challenge对它进行加密处理(MD5),通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge。
Frame 154 (64 bytes on wire, 64 bytes captured)Arrival Time: Nov 27, 2006 16:27:36.567003000Time delta from previous packet: 0.120804000 secondsTime since reference or first frame: 8.203938000 secondsFrame Number: 154Packet 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 (0×888e)Trailer: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5…Frame check sequence: 0xa5a5a5a5 (incorrect, should be 0×4ec1ac73)802.1x AuthenticationVersion: 1Type: EAP Packet (0)Length: 22Extensible Authentication ProtocolCode: Request (1)Id: 2Length: 22Type: MD5-Challenge [RFC3748] (4)Value-Size: 16Value: 1CBFEE2149E38D2928DABB4772D285EB5.客户端收到EAP-Request/MD5-Challenge报文后,用该加密字对口令部分进行加密处理(MD5)给交换机发送在EAP-Response/MD5-Challenge回应,交换机将Challenge,Challenged Password 和用户名一起送到RADIUS 服务器进行认证。
Frame 199 (94 bytes on wire, 94 bytes captured)Arrival Time: Nov 27, 2006 16:27:39.446161000Time delta from previous packet: 2.879158000 secondsTime since reference or first frame: 11.083096000 secondsFrame Number: 199Packet Length: 94 bytesCapture Length: 94 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 (0×888e)802.1x AuthenticationVersion: 1Type: EAP Packet (0)Length: 76Extensible Authentication ProtocolCode: Response (2)Id: 2Length: 30Type: MD5-Challenge [RFC3748] (4)Value-Size: 16Value: CBAC378ABB609123D2BB412840AEC614Extra data (8 bytes): 30333035313032306.认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,判断用户是否合法,然后回应认证成功/失败报文到接入设备。
如果认证成功,则向交换机发出打开端口的指令,允许用户的业务流通过端口访问网络。
否则,保持交换机端口的关闭状态,只允许认证信息数据通过。
Frame 205 (243 bytes on wire, 243 bytes captured)Arrival Time: Nov 27, 2006 16:27:39.632706000Time delta from previous packet: 0.186545000 secondsTime since reference or first frame: 11.269641000 secondsFrame Number: 205Packet Length: 243 bytesCapture Length: 243 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 (0×888e)802.1x AuthenticationVersion: 1Type: EAP Packet (0)Length: 225Extensible Authentication ProtocolCode: Success (3)Id: 0Length: 4。