802.1X认证过程(翻译)
1、初始化
当交换机检测到有新的请求者时,端口被启用,切状态是未授权。这种状态下,只允许802.1X的流量,其他流量(如TCP/UDP)将被丢弃。
2、启动
为了启动认证,交换机将周期性的发送EAP-Request Identity
帧到本地LAN中的特殊mac地址01:80:C2:00:00:03
。
请求者将侦听这个地址,并且在收到EAP-Request Identity
时,使用包含请求者标识符(如用户ID)的EAP-Response Identity
帧进行响应。
交换机作为认证者,将此身份响应封装到Radius Access-Request
数据包中,并转发到认证服务器。
另外,请求者也可以通过向认证者发送EAPOL-Start
帧来启动或重新启动认证,认证者使用EAP-Request Identity
进行回复。
3、EAP协商
身份认证服务器给交换机发送一个RADIUS Access-Challenge
的回复报文,报文中包含了一个EAP Request
,指定了EAP方法(认证服务器希望请求者使用的基于EAP的认证类型)。
认证者将这个EAP Request封装到EAPOL帧中,转发给请求者。
此时,请求者可以开始使用这个请求的EAP方法,或者执行NAK否认消息并响应一个自己希望执行的EAP方法。
4、认证
如果请求和认证服务器同意之前的EAP方法,那么他们将会发送EAP Request和Responses给对方,通过认证者转发,直到认证服务器响应一个封装在RADIUS Access-Accept
报文中的EAP-Success,或者封装在RADIUS Access-Reject
报文中的EAP-Failure。
如果认证成功,那么交换机端口将变为”授权”状态,允许所有正常流量。
如果认证失败,交换机端口保持”未授权”状态。
当申请者注销的时候,它会发送一个EAPOL-logoff
信息给认证者,认证者改变端口状态到”未授权”,并阻止非EAP流量通过
封装过程:
802.1x请求者 -- 交换机 -- 认证服务器
之间跑EAP协议请求者 -- 交换机
之间EAPOL,底层采用802.1x封装(二层封装)交换机 -- 认证服务器
之间EAPOR,采用radius封装(radius是udp)
EAP的加密有很多种,常用的两种:
EAP-TLS:需要自建CA
EAP-PEAP:类似HTTPS
原文作者: Mansur
原文链接: http://nbma.info/8021X-auth-progression/
许可协议: 除特别声明外,本站文章均采用CC BY-NC 4.0许可协议,转载请注明出处。