EAP : Extensible authentication protocol
PPP:Point to point protocol
PAP:Password authentication protocol
CHAP:Challenge hand shake authentication protocol
1. PPP协议流程
PPP 用于两个对等实体的直连链路,这种链路使用拨号或专线连接方式,提供全双工的数据传输服务,数据按顺序传输。“点到点”是与“广播”相对应的传输方式,在广播网络中,一个数据帧可以被多个接收者看到,而在点到点的网络中,一个数据帧的接收者就是固定的对等端。
在传统的拨号上网或租用电话专用线路时,这些上网方式只是提供了点到点之间的一条物理链路,要在物理链路上进行通信必须借助某种通信协议来对链路进行控制。早期的PPP有效的解决了“拨号上网”问题,使得用户不必申请新线路即可使用家庭有线电话线路接入Internet,尽管上网的带宽最大只有64K。
PPP不属于安全协议,但是在链路已经建立起来后,在进入网络协议进行实际的数据通信之前,PPP提供了一个可选的安全认证阶段。起初PPP上支持的认证方式主要是PAP和CHAP,然而它们都不能扩展。对此,PPP协议增加了一种新的可扩展的认证协议EAP,它是PPP认证的一个通用认证协议,在它上面可以支持多种认证机制,也就是说它提供了PPP上进行多种认证的底层框架,其他各种具体的认证机制都是建立在它之上的。
建立PPP链路之前,发起方和回应方必须首先建立一条物理连接。之后,双发首先用LCP建立PPP链路,之后用PAP、CHAP或EAP验证身份,最后用IPCP配置IP层参数。通信完成后,双方首先利用LCP断开PPP链路,之后断开物理连接。一个成功的PPP建立过程如图1所示,
图1. PPP协议流程
2. PAP认证流程
图2. PAP认证流程
认证方接到认证请求,再根据被认证方发送来的用户名去到自己的数据库认证用户名密码是否正确,如果密码正确,PAP认证通过,如果用户名密码错误,PAP认证未通过。
PAP认证过程包含身份和口令信息,且以明文的形式传输,所以无法防止窃听、重放和穷举攻击。此外,在PPP身份认证过程中,PPP仅在建立链路的阶段使用,在数据传输过程中不能使用。
3. CHAP认证流程
CHAP认证是基于挑战的认证,其流程如图3所示,
图3. CHAP 认证流程
与PAP认证流程相比,CHAP具有了安全协议的特征。CHAP通过三次握手验证被认证方的身份(密文),在初始链路建立时完成,为了提高安全性,在链路建立之后周期性进行验证,目前在企业网的远程接入环境中用的比较常见。
4. EAP认证流程
EAP(Extensible Authentication Protocol),可扩展认证协议,是一种普遍使用的支持多种认证方法的认证框架协议,主要用于网络接入认证。可应用于无线、有线网络中。
该协议一般运行在数据链路层上,即可以直接运行于PPP或者IEEE802之上,不必依赖于IP。
EAP的架构非常灵活,在认证方和被认证方交互足够多的信息之后,才会决定选择一种具体的认证方法,即允许协商所希望的认证方法。认证方不用支持所有的认证方法,因为EAP架构允许使用一个后端的认证服务器(也就是AAA服务器),此时认证方将在客户端和认证服务器之间透传消息。如图4所示,
图4. EAP认证组网结构
图5.展示了一次性密码(OTP)实现EAP认证过程
图5. OTP实现的EAP流程
为了更加直观的理解,我们以EAP-SIM流程为例来说明认证流程,如图6,
图6. EAP-SIM流程
整个EAP-SIM的认证流程如下所示:
客户端发送 EAPOL_Start 帧,请求认证接入;
WLAN AP发出请求帧,请求客户端发送身份信息;
客户端响应请求,将身份信息发送至 AP;
AP将客户端身份信息重新封装成 RADIUS Access-Request帧转发至服务器端;
服务器验证客户端身份,验证合法之后向用户发送EAP-Request/SIM/Start帧,封装在RADIUS Access-Challenge帧中;
AP提取RADIUS Access-Challenge帧中的EAP-Request/SIM/Start 帧,转发至客户端;
客户端响应请求,将 EAP-Response/SIM/Start帧发送至AP;
AP将EAP-Response/SIM/Start帧重新封装成 RADIUS Access-Request帧,转发至服务器端;
服务器根据客户端响应结果,回送 EAP-Request/SIM/Challenge 帧至AP,此帧封装在RADIUS Access-Challenge帧中;
AP提取RADIUS Access-Challenge帧中的EAP-Request/SIM/Challenge 帧,转发至客户端;
客户端响应请求,将EAP-Response/SIM/Challenge帧发送至AP;
AP将EAP-Response/SIM/Challenge帧重新封装成RADIUS Access-Request帧,转发至服务器端;
服务器端认证成功,将EAP-Success帧封装在RADIUS Access-Accept 帧中,发送至AP;
AP提取RADIUS Access-Accept帧中的EAP-Success帧,转发至客户端.EAP-SIM 双向认证结束,认证成功。
如上文所说,EAP是一类认证协议的统称,除了EAP-SIM,还包括MD5、TLS、TTLS、PEAP、LEAP、PSK等待。在此,我们不再赘述。
版权声明:本文著作权归新newPPP平台所有,NewPPP小编欢迎分享本文,您的收藏是对我们的信任,newppp谢谢大家支持!