Stay Hungry.Stay Foolish.
802.1X中EAP中继和终结的区别

EAP中继方式

EAP中继方式是IEEE 802.1X标准规定的,其将EAP承载在其它高层协议中,如EAPOR(EAP over Radius),以便EAP报文穿越复杂的网络到达认证服务器。一般来说,EAP中继方式需要Radius服务器支持EAP属性:EAP-Message(值为79)和Message-Authenticator(值为80),以上两个属性分别用来封装EAP报文及对携带EAP-Message的Radius报文进行保护。

在具有802.1X认证功能的以太网络系统中,当一个用户需要对网络资源进行访问之前必须先要完成以下的认证过程。下面就以EAP-MD5方式为例,介绍802.1X基本认证流程,如图1所示。其中EAP-MD5是一种单向认证机制,可以完成网络对用户的认证,但认证过程不支持加*的生成。 xxx 图1 IEEE 802.1X认证系统的EAP中继方式交互流程

  1. 当用户有网络连接需求时打开802.1X客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给接入设备(认证系统),开始启动一次认证过程。

  2. 接入设备(认证系统)收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名。

  3. 客户端程序响应接入设备(认证系统)发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)发送给接入设备(认证系统)。

  4. 而后,接入设备(认证系统)则将客户端送上来的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。

  5. 认证服务器收到接入设备(认证系统)转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的密码信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文传送给接入设备(认证系统),由接入设备(认证系统)传给客户端程序。

  6. 客户端程序收到由接入设备(认证系统)传来的加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的),生成EAP-Response/MD5 Challenge报文,并通过接入设备(认证系统)封装为RADIUS Access-Request报文传给认证服务器。

  7. 认证服务器将收到的已加密的密码信息(RADIUS Access-Request报文)和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文),并向接入设备(认证系统)发出打开端口的指令,允许用户的业务流通过端口访问网络。否则,反馈认证失败的消息(EAP-Failure报文),并保持接入设备(认证系统)端口的关闭状态,只允许认证信息数据通过而不允许业务数据通过。

  8. 客户端也可以发送EAPOL-Logoff报文给接入设备(认证系统),主动要求下线。设备端把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。

这里要提出的一个值得注意的地方:在客户端与认证服务器交换口令信息的时候,没有将口令以明文直接送到网络上进行传输,而是对口令信息进行了不可逆的加密算法处理,使在网络上传输的敏感信息有了更高的安全保障,杜绝了由于下级接入设备所具有的广播特性而导致敏感信息泄漏的问题。

EAP终结方式

EAP终结方式将EAP报文在设备端终结并映射到Radius报文中,通过标准的Radius协议完成认证、授权和计费。设备端与Radius服务器之间可以采用PAP(Password Authentication Protocol,密码验证协议)或者CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证方法。二者主要区别是CHAP密码通过密文方式在客户端和NAS之间传输,而PAP密码通过明文的方式传输。以下以CHAP认证方式为例介绍认证流程,如图2所示。 yyy 图2 IEEE 802.1X认证系统的EAP终结方式交互流程

  1. 用户有上网需求时打开802.1x客户端,输入已经登记过的用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给接入设备(认证系统),开始启动一次认证过程。

  2. 接入设备(认证系统)收到请求认证的数据帧(EAPOL-Start)后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名。

  3. 客户端程序将用户名信息通过数据帧(EAP-Response/Identity报文)送给接入设备(认证系统)。直到这里,认证过程中的前三步和EAP中继方式完全相同。

  4. 接下来,接入设备(认证系统)收到客户端送上来的数据帧(EAP-Response/Identity报文)后,没有上传至认证服务器,而是本地随机生成一个加密字,并将将此加密字的通过数据帧(EAP-Request/MD5 Challenge报文)交给客户端程序。

  5. 客户端程序收到加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对密码部分进行加密处理,生成EAP-Response/MD5 Challenge报文发送给接入设备(认证系统)。

  6. 接入设备(认证系统)收到加密密码(EAP-Response/MD5 Challenge)后,用CHAP协议对用户名、加密密码、加密字等认证信息重新封装成标准的Radius报文(RADIUS Access-Requeset报文) ,送给认证服务器进行处理。

  7. 认证服务器收到的认证信息(RADIUS Access-Requeset报文)后,根据收到的用户名信息在数据库中查找对应的密码信息,用收到的加密字对密码信息进行加密处理得到自己的加密密码。然后和收到的加密密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文)给接入设备(认证系统)。

  8. 接入设备(认证系统)向客户端程序反馈认证通过消息( EAP-Success报文),将端口状态改为授权状态,允许用户通过该端口访问网络。

  9. 客户端可以发送EAPOL-Logoff报文给接入设备(认证系统),主动终止已认证状态,交换机将端口状态从授权状态改变成未授权状态。

两种方式对比

EAP中继方式与EAP终结方式的认证流程十分类似,不同之处主要在于加密字的生成处理及传递方式。在EAP中继方式中,用来对用户口令信息进行加密处理的随机加密字由认证服务器生成,交换机只是负责将EAP报文透传认证服务器,整个认证处理都由认证服务器来完成。而在EAP终结方式中,用来对用户密码信息进行加密处理的随机加密字由NAS生成,NAS会把用户名、随机加密字和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理;

从上面可以看出,由于认证流程中对于加密字的生成处理及传递方式不同,因此EAP中继与EAP终结两种认证方式其优缺点也很明显:

EAP中继方式优点是接入设备(认证系统)处理更简单,支持更多的认证方式,缺点则是认证服务器必须支持EAP;而EAP终结方式的优点是认证服务器无需升级,现有的Radius服务器可以继续使用,缺点是接入设备(认证系统)处理更复杂。

两种方式各有优缺点,企业可根据实际情况自行选择。若为了兼容Radius服务器,节省用户投资,建议接入设备(认证系统)选择EAP终结方式。目前大部分的交换机产品均支持这两种认证方式,在默认情况下,选择EAP终结方式。

自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
评论

暂无评论~~