Radius协议中如何实现EAP认证

来源:互联网 发布:小说网站常用cms 编辑:程序博客网 时间:2024/04/30 08:42

EAP (Extensible Authentication Protocol,可扩展身份验证协议)位于 PPP 身份验证协议中,并为多种不同的身份验证方法提供通用框架。EAP 用于在请求方和身份验证服务器之间传递身份验证信息。实际的身份验证会按照 EAP 类型进行定义与处理。

EAP 本身不是一个认证机制,而是一个通用架构。用来传输实际的认证协议。EAP 的好处就是当一个新的认证协议发展出来的时候,基础的EAP 机制不需要随着改变。目前有超过20 种不同的EAP 协议。

EAP的协议框架如下图:

在设备端与RADIUS服务器之间,可以使用两种方式来交换信息。一种是EAP协议报文使用EAPOR(EAP over RADIUS)封装格式承载于RADIUS协议中;另一种是设备端终结EAP协议报文,采用包含PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocal,质询握手验证协议)属性的报文与RADIUS服务器进行认证。这样在认证过程中就存在两种认证方式:EAP中继方式和EAP终结方式。

EAP中继方式是IEEE 802.1X标准规定的,将EAP(扩展认证协议)承载在其它高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,EAP中继方式需要RADIUS服务器支持EAP属性:EAP- Message和Message-Authenticator。
EAP终结方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。

在RFC2869协议中RADIUS 为支持EAP 认证增加了两个属性:EAP-Message(EAP 消息)和Message-Authenticator( 消息认证码)。

EAP-Message

图  EAP-Message属性封装

如图所示,这个属性用来封装EAP数据包,类型代码为79,String域最长253字节,如果EAP数据包长度大于253 字节,可以对其进行分片,依次封装在多个EAP-Message属性中。

Message-Authenticator



图  EAP-Authenticator属性

如图所示,这个属性用于在使用EAP、CHAP等认证方法的过程中,避免接入请求包被窃听。在含有EAP-Message 属性的数据包中, 必须同时也包含Message-Authenticator,否则该数据包会被认为无效而被丢弃。



原创粉丝点击