认证协议的交互流程
认证触发方式:
接入控制方式:
EAP 中继方式(以 EAP-MD5 认证为例)
EAP 中继方式的认证流程:
1)当用户需要访问外部网络时打开 802.1X 客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求。此时,客户端程序将向设备端发出认证请求报文(EAPoL-Start),开始启动一次认证过程;
2)设备端收到认证请求报文后,将发出一个 Identity 类型的请求报文(EAP-Request/Identity)要求用户的客户端程序发送输入的用户名;
3)客户端程序响应设备端发出的请求,将用户名信息通过 Identity 类型的响应报文(EAP-Response/Identity)发送给设备端;
4)设备端将客户端发送的响应报文中的 EAP 报文封装在 RADIUS 报文(RADIUS Access-Request)中发送给认证服务器进行处理;
5)RADIUS Server 收到设备端转发的用户名信息后,将该信息与数据库中的用户名列表对比,找到该用户名对应的密码信息,用随机生成的一个 MD5 Challenge 对密码进行加密处理,同时将此 MD5 Challenge 通过 RADIUS Access-Challenge 报文发送给设备端;
6)设备端将 RADIUS Server 发送的 MD5 Challenge 转发给客户端;
7)客户端收到由设备端传来的 MD5 Challenge 后,用该 Challenge 对密码部分进行加密处理,生成 EAP-Response/MD5 Challenge 报文,并发送给设备端;
8)设备端将此 EAP-Response/MD5 Challenge 报文封装在 RADIUS 报文(RADIUS Access-Request)中发送给 RADIUS Server;
9)RADIUS Server 将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,并向设备端发送认证通过报文(RADIUS Access-Accept);
10)设备收到认证通过报文后,向客户端发送认证成功报文(EAP-Success),并将端口改为授权状态,允许用户通过该端口访问网络;
EAP 终结方式
EAP 终结方式与 EAP 中继方式的认证流程相比,不同之处在于:用来对用户密码信息进行加密处理的 MD5 Challenge 由设备端生成,之后设备端会把用户名、MD5 Challenge 和客户端加密后的密码信息一起送给 RADIUS Server,进行相关的认证处理。而在 EAP 中继方式中,用来对用户密码进行加密处理的 MD5 Challenge 由认证服务器生成,设备端只是负责将 EAP 报文封装在 RADIUS 报文中透传认证服务器,整个认证处理都由认证服务器来完成;