当前位置:网站首页 > Windows运维 > 正文

EAP协议

作者:jinxijing发布时间:2019-04-29分类:Windows运维浏览:309


导读:EAP协议EAP协议是使用可扩展的身份验证协议的简称,全称ExtensibleAuthenticationProtocol。是一系列验证方式的集合,设计理念是满足任...

EAP协议

EAP协议是使用可扩展的身份验证协议的简称,全称Extensible Authentication Protocol。是一系列验证方式的集合,设计理念是满足任何链路层的身份验证需求,支持多种链路层认证方式。

中文名

EAP协议

    

使用可扩展的身份验证协议

    

EAP 身份验证

    

EAP 类型

简介

EAPExtensible Authentication Protocol)为可扩展身份验证协议,是一系列验证方式的集合,设计理念是满足任何链路层的身份验证需求,支持多种链路层认证方式。EAP协议是IEEE 802.1x认证机制的核心,它将实现细节交由附属的EAP Method协议完成,如何选取EAP method由认证系统特征决定。这样实现了EAP的扩展性及灵活性,如图所示,EAP可以提供不同的方法分别支持PPP,以太网、无线局域网的链路验证。

EAP可分为四层:EAP底层,EAP层,EAP对等和认证层(EAP peer and authentication layer)和EAP方法层。

EAP底层负责转发和接收被认证端(peer)和认证端之间的EAP framesEAP层接收和转发通过底层的EAP包;EAP对等和认证层在EAP对等层和EAP认证层之间对到来的EAP包进行多路分离;EAP方法层实现认证算法接收和转发EAP信息。基于EAP衍生了许多认证协议,如EAP-TLS [RFC5216]EAP-pwd [RFC5931]等。其中EAP-SIMEAP-smartcardLEAP可以较好的适用于资源受限的设备。

EAP 身份验证方法

使用可扩展的身份验证协议 (EAP),任意身份验证机制都可以对远程访问连接进行身份验证。通过远程 VPN 客户端和验证程序(ISA 服务器或 RADIUS 服务器)协商要使用的确切身份验证方案。ISA 服务器包括默认情况下支持 Message Digest 5 Challenge (MD5-Challenge) EAP-Transport Level Security (EAP-TLS)

EAP 允许远程 VPN 客户端和验证程序之间进行开端对话。对话由对身份验证信息的验证程序请求和远程 VPN 客户端的响应组成。例如,当 EAP 与安全标记卡一起使用时,验证程序可以单独查询远程访问客户端的名称、PIN 和卡标记值。经过提问和回答一轮查询之后,远程访问客户端将通过身份验证的另一个级别。正确回答所有问题之后,将对远程访问客户端进行身份验证。

特定的 EAP 身份验证方案称为 EAP 类型。远程访问客户端和验证程序必须支持相同的 EAP 类型才能成功进行身份验证。

有关配置身份验证方法的说明,请参阅配置 VPN 身份验证方法。

结构

EAP 是一组以插件模块的形式为任何 EAP 类型提供结构支持的内部组件。为了成功进行身份验证,远程访问客户端和验证程序必须安装相同的 EAP 身份验证模块。ISA 服务器支持两种 EAP 类型:MD5-Challenge EAP-TLS

MD5-Challenge

Message Digest 5 Challenge (MD5-Challenge) 是一种必需的 EAP 类型,其使用与基于 PPP CHAP 相同的质询/握手协议,但是质询和响应是作为 EAP 消息发送的。MD5-Challenge 的典型用法是通过使用用户名和密码安全系统对远程 VPN 客户端的凭据进行身份验证。您还可以使用 MD5-Challenge 来测试 EAP 的互操作性。

EAP-TLS

EAP-Transport Level Security (EAP-TLS) 是在基于证书的安全环境中使用的 EAP 类型。如果您将智能卡用于远程访问身份验证,则必须使用 EAP-TLS 身份验证方法。EAP-TLS 的消息交换可以提供远程 VPN 客户端和验证程序之间的相互身份验证、加密方法的协商和加密密钥的确定。EAP-TLS 提供了最强大的身份验证和密钥确定方法。

EAP-RADIUS

EAP-RADIUS 并不是一种 EAP 类型,但是可以通过验证程序将任何 EAP 类型的 EAP 消息传递到 RADIUS 服务器,以便进行身份验证。例如,将 ISA 服务器配置为用于 RADIUS 身份验证时,将封装在远程 VPN 客户端和 ISA 服务器之间发送的 EAP 消息,并在远程访问服务器和 RADIUS 服务器之间将格式设置为 RADIUS 消息。

EAP-RADIUS 用在将 RADIUS 作为身份验证提供程序的环境中。使用 EAP-RADIUS 的优势在于不需要在每个远程访问服务器上安装 EAP 类型,只需要在 RADIUS 服务器上安装即可。在 Internet 验证服务 (IAS) 中,只需要在 ISA 服务器上安装 EAP 类型。

EAP协议帧结构

802.1x协议在实现整个认证的过程中,其三个关键部分(客户端、认证系统、认证服务器)之间是通过不同的通信协议进行交互的,其中认证系统和认证服务器之间是EAP报文。

EAP帧结构如下表所示:

字段

字节

Code

1

Identifier

2

Length

3-4

Data

5-N

EAP帧格式中各字段含义如下:

字段

占用字节数

描述

Code

1个字节

表示EAP帧四种类型:1Request2Response

3Success4Failure

Identifier

1个字节

用于匹配RequestResponseIdentifier的值和系统端口一起单独标识一个认证过程

Length

2个字节

表示EAP帧的总长度

Data

0或更多字节

表示EAP数据

其中Code的取值如下:

1Request

2Response

3Success

4Failure

参考:EAPoL协议

802.1x协议定义了一种报文封装格式,这种报文称为EAPoLEAP over LANs局域网上的扩展认证协议)报文,主要用于在客户端和认证系统之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。

标准EAPoL帧结构如下表所示:

字段

字节

PAE Ethernet Type

1-2

Protocol Version

3

Packet Type

4

Packet Body Length

5-6

Packet Body

7-N

EAPoL帧格式中各字段含义如下:

字段

占用字节

描述

PAE Ethernet Type

2个字节

表示协议类型,802.1x分配的协议类型为888E

Protocol Version

1个字节

表示EAPOL 帧的发送方所支持的协议版本号。本规范使用值为0000 0001

Packet Type

1个字节

表示传送的帧类型,如下几种帧类型:

a) EAP-Packet.值为 0000 0000

bEAPOL-Start.值为0000 0001

b) EAPOL-Logoff.值为0000 0010

Packet Body Length

2个字节

表示Packet Body的长度

Packet Body

0/多字节

如果Packet TypeEAP-Packet,取相应值。对于其他帧类型,该值为空。

EAPOL帧在二层传送时,必须要有目标MAC地址,当客户端和认证系统彼此之间不知道发送的目标时,其目标MAC地址使用由802.1x协议分配的组播地址01-80-c2-00-00-03