802.1x认证过程
 

典型的认证会话流程
(5) 认证服务器收到RADIUS Access-Request报文后,将用户ID提取出来在数据库中进行查找。如果找不到该用户ID,则直接丢弃该报文;如果该用户ID存在,认证服务器会提取出用户的密码等信息,用一个随机生成的加密字进行MD5加密,生成密文。同时,将这个随机加密字封装在一个EAP-Challenge Request报文中,再将该EAP报文封装在RADIUS Access-Challenge报文的EAP-Message属性中发给Authenticator
(6)  Authenticator收到RADIUS Access-Challenge报文后,将封装在该报文中的EAP-Challenge Request报文发送给Supplicant
(7)  Supplicant用认证服务器发来的随机加密字对用户名密码等信息进行相同的MD5加密运算生成密文,将密文封装在一个EAP-Challenge Response报文中发给Authenticator
(8)  Authenticator收到EAP-Challenge Response报文后,将其封装在一个RADIUS Access-Request报文的EAP-Message属性中发给认证服务器。
(9) 认证服务器拆开封装,将Supplicant发回的密文与自己在第(5)步中生成的密文进行对比。如果不一致,则认证失败,服务器将返回一条RADIUS Access-Reject信息,同时保持端口关闭状态;如果一致,则认证通过,服务器将一条EAP-Success消息封装在RADIUS Access-Accept报文的属性中发送给Authenticator
(10)  Authenticator在接到认证服务器发来的RADIUS Access-Accept之后,将端口状态更改为已授权,同时将RADIUS Access-Accept中的EAP-Success报文拆出来发送给Supplicant
(11)  Authenticator向认证服务器发送一个RADIUS Accounting-RequestStart)报文,申请开始计账。
(12) 认证服务器开始记账,向Authenticator返回RADIUS Accounting-Response报文。
(13) 用户下线时,SupplicantAuthenticator发送EAPOL-Logoff报文。
(14)  Authenticator向认证服务器发送RADIUS Accounting-RequestStop)请求。
(15) 认证服务器收到Authenticator送来的停止记账请求后停止记账,同时发送一条RADIUS Accounting-Response响应。
(16) Authenticator发送一条EAPoL Failure消息给Supplicant,同时将端口状态置为未授权