扩展认证协议

维基百科,自由的百科全书
跳转至: 导航搜索

扩展认证协议英语Extensible Authentication Protocol,縮寫為 EAP),是一个在无线网络點對點連線中普遍使用的认证框架。它被定义在RFC 3748中,并且使RFC 2284过时,后又被RFC 5247更新。EAP不仅可以用于无线局域网,還可以用于有线局域网,但它在无线局域网中使用的更频繁。最近,WPA和WPA2标准已经正式采纳了5类EAP作为正式的认证机制。

EAP是一个认证框架,不是一个特殊的认证机制。EAP提供一些公共的功能,并且允许协商所希望的认证机制。这些机制被叫做EAP方法,现在大约有40种不同的方法。IETF的RFC中定义的方法包括:EAP-MD5, EAP-OTP, EAP-GTC, EAP-TLS, EAP-SIM,和EAP-AKA, 还包括一些厂商提供的方法和新的建议。无线网络中常用的方法包括EAP-TLS, EAP-SIM, EAP-AKA, PEAP, LEAP,和EAP-TTLS。

当EAP被基于IEEE 802.1X的网络接入设备(诸如802.11a/b/g ,无线接入点)调用时,现代的EAP方法可以提供一个安全认证机制,并且在用户和网络接入服务器之间协商一个安全的PMK。该PMK可以用于使用TKIPAES加密的无线会话。

轻量级的扩展认证协议(LEAP)[编辑]

轻量级的扩展认证协议,或LEAP是一个由CISCO私人拥有的EAP。Cisco通过允许其他厂家生产基于EAP的项目来保护该协议。在任何的windows操作系统中不支持LEAP,但LEAP被第三方的用户软件支持。该协议由于其容易受到字典攻击脆弱性,就象EAP-MD5,而在一开始便广为人知。但直到2003年Joshua Wright发表了ASLEAP以后,人们才开始讨论LEAP存在严重的安全问题。Cisco仍然认为如果使用十分复杂的密码,LEAP是安全的。但是在现实世界中人们几乎不使用十分复杂的密码,因为这对普通人来将是一件非常困难的事情。新的协议,诸如EAP-TTLS和PEAP,则没有这些问题,因为他们给MSCHAPv2用户认证会话建立了一个安全的传输层安全(TLS)通道,而且可以运行在使用Cisco和不使用Cisco的接入点上。

EAP-TLS[编辑]

EAP-TLS是IETF的一个开放标准,并且在无线厂商之间得到很好的支持。它能够提供很好的安全保证。因为TLS被认为是SSL的继承者。它使用PKI来保护Radius认证服务器的通信,这是很难完成的任务。所以即使EAP-TLS良好的安全,用户端在认证时的负载成为它的致命伤。 EAP-TLS是无线局域网扩展认证协议的原始版本,虽然它因为配置困难而很少被使用,但它仍被认为是最安全的EAP标准之一,而且广泛地被无线局域网硬件和软件制造厂商,包括微软所支持。要求用户方给出证书,虽然不是很流行,则是EAP-TLS在认证方面的长处,而且既方便又安全。一个脆弱的密码不会导致入侵基于EAP-TLS的系统,因为攻击者仍然需要客户端的证书。当客户端的证书是储存在智能卡中时,EAP-TLS提供了最安全的认证解决方案,因为如果不窃取智能卡是无法得到客户端证书的。如果将智能卡偷窃的话则会立刻引起注意并且更换新卡。到2005年四月,EAP-TLS是唯一厂商需要保证的WPA和WPA2的EAP类型。在微软,Cisco,Apple和Linux中都有实现客户端和服务器端的源代码。EAP-TLS在MAC OS 10.3(包括10.3以上), Windows 2000 SP4, Windows XP, Windows Mobile 2003(包括2003以上),和Windows CE 4.2中被支持。

EAP-MD5[编辑]

EAP-MD5是另一个IETF开放标准,但提供最少的安全。MD5Hash函数容易受到字典攻击,它被使用在不支持动态WEP的EAP中。

EAP-FAST[编辑]

EAP-FAST (基于安全隧道的灵活认证,Flexible Authentication via Secure Tunneling) 是一个由思科提出的协议方案,用于替代LEAP。设计该协议是为了解决LEAP实现“轻量级”时的缺点。在EAP-FAST中使用服务器证书是可选的。EAP-FAST使用一个保护访问凭证(Protected Access Credential,PAC)来建立TLS隧道,并通过该隧道对客户端证书进行验证。EAP-FAST拥有三个阶段。 阶段0是一个可选的阶段,在该阶段PAC可以是手工或者动态设置,但超出了RFC4851中定义的EAP-FAST的范围。

尽管PAC设置存在着许多实现,但是官方的实现依然在进行状态。PAC典型地只需要为RADIUS服务器和客户端设置一次。 在阶段1中,客户端和AAA服务器使用PAC来建立TLS隧道。 在阶段2中,客户端证书在该加密的隧道中进行传输。当自动PAC设置开启之后,EAP-FAST拥有一个小漏洞。攻击者可以拦截该PAC并随后使用它来获得用户证书。 该漏洞可以通过手动配置PAC或者在PAC配置阶段使用服务器证书来解决。

还有一个漏洞:黑客的AP可以使用同一个SSID,拒绝用户PAC并提供新的PAC。大多数恳求将会被设置来使得用户接收它。如果用户不这样做,那么用户将使用内部方法发送他的证书给黑客。而黑客将会获得明文的密码(EAP-FAST w/GTC)或者易受字典攻击的MSCHARPv2散列。值得一提的是,PAC文件的发放时基于每个用户的。这是RFC 4851 第7.4.4节中的要求,因此如果一个新的用户从设备进入网络,他首先需要一个新的已配置的PAC文件。这是为什么很难不以非安全匿名设置模式运行EAP-FAST的原因。另一种方式是使用设备密码来替代,但这就不是在网络中对用户进行认证了。

EAP-FAST可以不使用PAC文件,则为普通的TLS。

== EAP-TTLS ==========taotao EAP-TTLS是由Funk Software和Certicom合作开发的。它目前是IETF的开放标准草案。它可跨平台支持,提供非常优秀的安全,并且在认证服务器上使用PKI证书。

PEAP[编辑]

PEAP由CISCO微软RSA Security联合提出的开放标准的建议。它早已被运用在产品中,而且提供很好的安全。它在设计上和EAP-TTLS相似,只需要一份服务器端的PKI证书来建立一个安全的传输层安全通道(TLS)以保护用户认证。 到2005年5月,已有两个PEAP的子类型被WPA和WPA2标准批准。它们是:

  • PEAPv0/EAP-MSCHAPv2
  • PEAPv1/EAP-GTC

TTLS与TLS最大的区别是TTLS不需要客户端认证的协议。

EAP-AKA[编辑]

EAP-AKA(EAP for UMTS Authentication and Key Agreement) 是用来在使用 USIM 接入 UMTS 移动通信网络时进行用户认证和密钥协商的方案。EAP-AKA 定义于 RFC 4187 中。