可扩展认证协议(EAP)2. 可扩展认证协议

2. 可扩展认证协议(EAP

EAP认证交换过程如下:

[1]认证端向对等端发一个认证请求。请求信息里有一个类型项表示请求什么。像标识、MD5-挑战等都有请求类型。MD5-挑战的类型响应与CHAP认证协议相似。一般,认证端会发送一个初始化的标识请求;实际上,并不需要初始化的请求,可能会被忽略。例如,对等端已连接的端口可能不需要标识请求或者要求标识包含在另一种形式里。

[2]对等端发一个应答包来响应一个有效请求。就像请求包一样,应答包也包含一个类型项,该项对应请求包的类型项。

[3]认证端发一个额外的请求包,对等端用应答包响应。请求和应答的序列只要需要就可以继续。EAP是一个锁步协议,因此,除了初始化的请求外,一个新的请求包在没接收到一个有效应答前是不发送的。认证端可对重发请求作出应答,在4.1节里有写到。在多次重发后,认证端应该终止EAP会话。重发失败或者从对等端获取应答失败时,认证端绝不能发一个成功或失败包。

[4]会话会一直进行,直到认证端不能认证对等端(当一个或多个请求接收到无效应答时),这时认证端必须发送一个EAP失败(代码4)。换句话说,认证会话可以进行直至认证端确认成功认证已完成,这时认证端必须传输一个EAP成功(代码3)



优势:

    • EAP协议可以支持多种认证机制,而无需预先特别谈判

    • 网络访问服务器设备不必理解每种认证方法,可以作为后台认证服务器的直通代理。支持直通是可选的。一个认证服务器可以认证本地对等端,同时对非本地对端和本地不执行的认证方法直通。

    • 认证从后台认证服务器分离可以简化证书管理和策略决定。



劣势:

    • PPP的使用,EAP需要向PPPLCP增加一个新的认证类型,这样PPP实现方式将需要进行修改以使用该协议。这也就偏离原先的PPP认证模型,即在LCP间协商一个特定的认证机制。简单说,切换和访问端点的实现方式需要支持[IEEE-802.1X]以便使用EAP

    • 当认证端从后台认证服务器分离出来时,会使安全分析和密钥分布复杂化。

2.1. 支持排序

一个EAP会话可能使用了一系列方法。一个普通的例子,一个标识请求后面跟着一个单一的认证方法比如MD5-挑战。然而,在一个EAP会话中对等端和认证端必须只能使用一个认证方法,之后必须发送一个成功或失败包。



一旦对等端已发送一个跟初始化的请求同类型的应答,一个认证端在没完成所提供方法的最后一个回合前绝不要发送一个不同类型的请求,在完成初始化的认证方法后也绝不要发送任何类型的其他方法的请求。一个收到这些请求的对等端必须认为它们是无效的,并悄悄丢弃掉。最后,标识查询是不支持的。



一个初始化non-Nak应答发送后,一个对等端绝不要发送一个Nak去应答一个请求。由于攻击者可以发送一个哄骗的EAP请求包,认证端收到意外的Nak后应该忽略掉并记录事件。



EAP会话是不支持多认证方法的,因为它们易受man-in-the-middle攻击并且不兼容现行的实现方式。



当使用一个单EAP认证方法,同时也有其他类弄方法在跑,这时想禁止多认证方法是做不到的。像tunneled”方法对EAP来说就是一个单认证方法。可以做到向后兼容,因为不支持tunneled”方法的对等端可以应答带Nak初始化EAP请求。定位安全弱点,tunneled”方法必须支持保护免受man-in-the-middle攻击。

2.2. EAP多路复用模型

理论上,EAP实现方式由下面几部分组成:

[a]底层。底层是指在对等端和认证端间发送和接收EAP帧。EAP已运行在各种底层,包括PPP,有线IEEE802局域网,IEEE802.11无线局域网,UDPIKEv2TCP等。底层的运作将在第三节讨论。

[b]EAP层。EAP层通过底层接收和发送EAP数据包,实现复本侦测和重发,投递EAP信息给对等端和认证端层和从对等端和认证端层接收EAP信息。



[c]EAP对等端和认证端层。基于编码项,EAP层将输入的EAP包进行解复用,再送往EAP对等端和认证端层。特别是,所供主机上的EAP实现方式支持对等端或认证端功能,但也有可能主机会同时扮演EAP对等端和认证端。像这种实现方式对等端层和认证端层都会用到.



[d]EAP方法层。EAP方法实现认证算法,通过EAP对等端和认证端层接收和发送EAP信息。由于EAP本身不支持包分裂,包分裂就得由EAP方法去实现了,将在第5节进行讨论



EAP多路复用模型在下面图1有解释。注意,没有要求一个实现方法一定要按这个模型来,只要实现方式一致就行。


图1:EAP多路复用模型



EAP中,编码项的功能很像IP的协议号。一般,EAP层是根据编码项来将输入的EAP包解复用的。收到的EAP包,带有编码=1(请求)3(成功)4(失败),会被EAP层投送到EAP对等端层。带有编码=2(应答)EAP包会被投送到EAP认证层。



EAP中,类型项的功能很像UDPTCP的端口号。一般,EAP对等端和认证端层会根据输入EAP包的类型进行解复用,并将它们投送到对应类型的EAP方法。主机的EAP方法实现方式可能会注册从对等端或认证端层接收数据包。



由于EAP认证方法可能希望访问标识,因而实现方式应该使标识请求和应答可访问认证方法,即增加一个标识方法。标识类型将在5.1节讨论。



通知应答仅用于确认对等端已收到通知请求,而不表示已经处理过或者已将信息显示给用户了。一般,通知请求或应答的内容对另一个方法是不可用的。通知类型将在5.2节讨论。



Nak(类型3)或者展开的Nak(类型254)用于方法协商。对等端对一个不接受的初始化EAP请求会应答Nak或展开的Nak。一般,Nak应答内容对其他方法是不可用的。Nak类型将在5.3节讨论。



带成功或失败编码的EAP包不会包含类型项,不会投给EAP方法。成功和失败将在4.2节讨论。



上面提到的,成功,失败,Nak应答和通知请求或应答信息等,绝不能作为目标数据投送给其他EAP方法。

2.3. 直通行为

当作为直通认证端运作时,认证端会检测编码,标识和长度等项,将在4.1节讨论。它让来自对等端、送往认证端的EAP包转送到后台认证服务器;让来自后台认证服务器、送往对等端的包转送给自己。



主机收到EAP包后可能只做其中一件事:处理,丢弃或者转发。是否转发,一般是根据编码,标识和长度项来决定的。一个直通认证端的实现方式必须是能够转发来自对等端、带编码=2EAP包给后台认证服务器。必须也能够接收来自后台认证服务器的EAP包,并转发编码=1(请求)、编码=3(成功)、编码=4(失败)的EAP包给对等端。



除非认证端实现本地一个或多个认证方法以支持其认证端角色,否则EAP方法层数据头项不会作为转发的决定因素来处理。当认证端支持本地认证方法,就可能会检测类型项来决定是否自己处理或转发数据包。和顺的直通认证端实现方法必须默认转发任何类型的EAP数据包。



带编码=1(请求)、编码=3(成功)、编码=4(失败)的EAP包被EAP层解复用后投送给对等层。因此,除非主机实现一个EAP对等层,否则这些包会被悄悄丢弃。同样,带编码=2(应答)的EAP包会被EAP层解复用后投送给认证端。因此,除非主机实现一个EAP认证端层,否则这些包也会被悄悄丢弃。直通对等端的行为在规范里没定义,不被AAA协议(比如RADIUSDiameter)支持。



图2解释转发模型


2 直通认证端

在认证端扮演直通的会话中,它必须仅靠后台认证服务器发来的接受/拒绝指示来决定认证的输出;输出绝不能由与接受/拒绝指示一起发送的EAP包(或者没这样一个压缩包)的内容来决定。

2.4. 对等端到对等端操作

由于EAP是对等端到对等端的协议,认证端可以在不同方向上独立地和同时地进行(主要看底层的能力)。两个链路端点可能同时扮演认证端和对等端。这时需要两个端点实现认证端和对等端层。另外,两个对等端的实现方式支持认证端和对等端两个功能。



虽然EAP支持对等端到对等端操作,但有些EAP实现方式、方法、AAA协议和链路层可能不支持该功能。有些EAP方法可能支持不对称认证,要求对等端带一个证书类型,认证端带另一个类型。支持对等端到对等端操作的主机如果也带这种方法,则需要提供两种不同类型的证书。



例如,EAP-TLS一个客户端-服务器协议,该协议客户端和服务器使用不同的证书。也就是说,支持对等端到对等端操作和EAP-TLS方法的主机需要实现EAP对等端和认证端两层,支持用EAP-TLS方法实现对等端和认证端两种角色,提供适合两种角色的证书。



AAA协议,比如RADIUS/EAPDiameterEAP仅支持直通认证端操作。在RFC35792.6.2中提到,RADIUS会对EAP-请求、成功或失败等访问请求包作出拒绝应答。因此不支持直通对等端操作。



甚至在使用支持相互认证和结果指示的方法,基于某些因素考,可能要求有两个EAP认证,包括:

[1]支持底层的双向会话密钥推导。像IEEE802.11底层只支持单向推导和临时会话密钥传输。例如,IEEE-802.11i定义的组密钥握手,由于在IEEE802.11框架模式下,只有访问点(AP)发送多播/广播传输量。在IEEE802.11 adhoc模式下,对等端也可能发送多播/广播传输量,这时需交换两个单向组密钥。由于设计缺陷,每个方向都需要交换单播密钥推导和EAP方法。

[2]支持底层解结。底层,像IEEE802.11 adhoc,不支持解结,这时两个各自初始认证的主机靠单认证联系。也就是说,即使802.11支持双向组密钥握手,也可能发生两个不同方向的认证。

[3]对等端策略补偿。EAP方法可能支持结果指示,可以让对等端定位已成功认证的EAP服务器,同样可以让服务器定位已认证的对等端。然而一个直通认证端并不知道哪个对等端已接受了认证端提供的证书,除非这信息是由认证端通过AAA协议提供的。认证端应该理解收到的密钥属性,其中带有一个表示对等端已成功认证服务器的接受包作为指示。

a

然而,在交换初始化EAPEAP的访问策略可能并不满意,尽管发生了相互认证。例如,EAP认证端可能没足够的认证去同时扮演对等端和认证端角色。最后,对等端可能要求在反方向有一个额外的认证,即使对等端已提供指示说EAP服务器已成功对它认证了。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值