关于认证有很多种协议,这里主要介绍一下具有广泛应用的可扩展认证协议(EAP)。
EAP是PPP认证中的一个通用协议,可以支撑多种认证机制,它的特点是EAP在链路控制LCP阶段并没有选定一种认证机制,而是把这一个认证机制推迟到认证阶段。
EAP的认证过程如下:
1.在链路建立阶段按完成之后,认证者发送一个或多个请求数据包来对对方机械认证,该数据包中有一个类型域表明请求的类型
2.对方发送一个响应数据包对每一个请求做出应答
3.认证者发送一个成功或者失败的数据包结束认证阶段
EAP请求/应答中的类型如下:
通过使用EAP,可以支持智能卡、Kerberos、公钥、OTP等多种认证机制。
- Identity用来查询对方身份
- Notification由认证者用来向对方传递一条可显示的消息
- Nak(Response only)不接受请求认证类型时的响应
- Md5-challenge类似于PPP CHAP协议,其中包含质询消息
- One-Time Password请求包中含有对一个OTP质询消息
- Generic Token Card用于要求用户输入各种类型的令牌卡
- EAP-TLS
EAP的应用:
- EAP/PPP
- EAPOL
- EAP/RADIUS协议
EAP/PPP
点对点协议(PPP)为点对点链路上传输多协议数据包提供了一种标准方法。主要包含一下三个成分:
- 压缩多协议自寻址数据包的方法
- 用于建立、设定和测试数据链路的链路控制协议(LCP)
- 一族用于建立、设定不同网络层协议的网络控制协议(NCP)
PPP有三种类型:
- 口令认证协议(PAP)
- 质询握手认证协议(CHAP)
- 可扩展认证协议(EAP)
EAP是PPP认证中的一个通用机制,带来的优点是支持多种认证机制,而不必在LCP阶段预先协商好某种特定的认证机制,但是同时也需要修改PPP来实现EAP,与在LCP阶段就协商好特定认证机制的传统PPP认证模式相背离。
EAPOL
EAPOL定义了局域网中申请者和认证者的端口接入实体之间传送EAP数据包的一种封装技术。目前EAPOL主要用于以太网和令牌环网/FDDI的MAC层。
EAP/RADIUS协议
远程用户认证服务(RADIUS)以客户机/服务器模式工作,实现了对访问网络用户的身份认证、授权和计费等增强的服务功能。其客户端为多网络访问服务器(NAS),主要用来将用户信息传递给RADIUS服务器:RADIUS服务器对用户进行认证,并返回用户的网络访问配置信息。
RADIUS中的扩展认证协议是将EAP消息从访问服务器传送到RADIUS服务器的一种认证机制。通过使用EAP,RADIUS可以支持多种认证协议。