《《扩展认证协议》word版》由会员分享,可在线阅读,更多相关《《扩展认证协议》word版(29页珍藏版)》请在金锄头文库上搜索。
1、扩展认证协议RFC3748这个备忘录的状态本文档明确描述了互联网社区的一个互联网标准跟踪协议,需要进一步进行讨论和改善的建议,请参考最新的“互联网官方协议标准”国家标准化。这个备忘录的发布是不受限制的。版权通知摘要本文档定义了EAP扩展认证协议,一个支持多种认证方法的认证框架。EAP通常直接运行在数据链路层,利于ppp协议或者IEEE802,不需要IP地址。EAP提供了它自己支持的重复性淘汰和转发,但是在较低层排序保证自力更生。EAP本身不支持碎片,然而单独的EAP方法可能支持这个。本文档替代了RFC2284.本文档和RFC2284更改的总结在附录A中体现。目录概要1. 引言本文档定义了扩展认
2、证协议,一个支持多路认证方法的认证框架。EAP通常直接运行在数据链路层,例如点对点协议或者是IEEE802,不需要IP地址。EAP提供了它自己支持的重复性淘汰和转发,但是在较低层排序保证自力更生。EAP本身不支持碎片,然而单独的EAP方法可能支持这个。EAP可用于专用的链接,以及开关电路和有线和无线链路。到目前为止,EAP已经通过连接交换电路或拨号链路使用PPP协议,实施在主机和路由器上。同时也通过使用IEEE802协议,应用在交换机和接入点。在IEEE802有线媒体封装的EAP在IEEE802.1X中得以描述,并且在IEEE无线局域网中封装,由IEEE802.11i描述。EAP架构的优势之一
3、就是它的灵活性。EAP是用来选择一个专门的认证机制,通常是在验证请求需要更多的信息来确认专门的认证方法被使用,而不是需要验证者需要更新来支持每个新的验证方法,EAP允许使用后台认证服务器,他可以实现一些或所有认证方法,当认证者为部分或所有的方法和对等体作为一个传递。在这个文件中,不论是否认证者作为一个传递,认证要求都要申请。凡要求是为了适用于认证或者后台认证服务器,这取决于EAP认证在哪里被终止,EAP服务器将被使用。1.1 要求说明书1.2 术语本文档经常使用下列词语:认证器:启动EAP认证链路的终端。认证器这个属于被使用在IEEE802.1X,在本文档中拥有相同的含义。对等体:回应认证器的
4、链路终端。在IEEE802.1X中,这个终端被认为是请求者。请求者:在IEEE802.1X中,链路终端回应认证器。在本文档中,这个链路终端被称为对等体。后台认证服务器:一个后台认证服务器是一个提供认证服务给认证器的实体。当被使用时,这个服务器通常为认证器执行EAP方法。这个术语也被使用在IEEE802.1X。AAA:认证,授权和计费。带有EAP的AAA协议支持包括RADIUS和Diameter。在这个文档中,AAA服务器和后台认证服务器这两个术语可交换使用。可显示的信息:这被翻译成人类可读的字符串。这个信息便把必须跟从UTF-8转换格式。EAP服务器:终止带有对等体的EAP认证方法的实体。在没
5、有后台认证服务器可以被使用这种情况下,EAP服务器是认证器的一部分。在认证器工作在传递模式的情况下,EAP服务器位于后台认证服务器。丢弃:这意味着落实丢弃包不需要进一步的处理。执行中还应该提供记录事件的能力,包括默默的丢弃数据包的内容,和应该在一个统计记录其中记录这个事件。成功认证:在本文档中,成功认证是一个EAP消息的交换,作为认证器决定允许对等体访问和对等体决定访问的结果。认证器的决定通常包括认证和授权两个方面;对等体可能成功的向认证器认证,但是访问可能由于政策原因被认证器拒绝。消息完整性检查:主要的哈希函数用于认证和数据完整性保护。这常常被称为消息验证码,但是IEEE802规范使用MIC
6、简称来防止和媒体访问控制这个词语相混淆。加密分离:两个密码(x和y)是独立的加密,如果对手知道了在协议交换中所有的信息,也不能进行破密,即从X中计算出Y,或者从Y中计算出X。特别是,这个定义允许对手以明文的形式发送随机数,作为该协议中使用的所有可预见的计数器的值。换句话说,如果密钥是单独加密的,就没有捷径来从Y中分离出X或从X中分离出Y,但是对手必须执行此计算,相当于执行一个详尽搜索秘密状态值。主会话密钥(MSK):密钥材料是从EAP对等体和服务器间获取,通过EAP方法输出。MSK至少是64字节长度。在现有的实现中,一个AAA服务器作为一个EAP服务器来传送MSK到认证器。扩展的主会话密钥:附
7、加的密钥材料从EAP客户端和服务器间获取,通过EAP方法输出。EMSK至少64字节的长度。EMSK不与认证器或其他第三方共享。EMSK是为将来使用的,现在还没有定义。结果标志:一个提供结果标志的方法,如果方法的最后信息被发送或者接受:1) 对等体知道他是否认证了服务器,还有是否服务器认证了它。2) 服务器知道是否它认证了对等体,还有事都对等体认证了他。在这种情况下,成功的认证足够获得访问批准,于是对等体和认证器将会知道另外一方是否提供或者接受访问。也可能不经常是这种情况。一个认证的对等体可能被拒绝访问,由于缺少授权或者其他的原因。既然EAP交换是在对等体和服务器间运行的,其他节点也可能影响到授
8、权的决定。这在7.16中被详细的讨论。1.3 适用性EAP被设计用来使用在网络访问认证上,IP层连通性到达不了的地方。将EAP用于其他用途,例如块数据传输是不被建议的。由于EAP不需要IP连通性,它仅仅为认证协议的可靠传输提供了足够的支持,其余的什么也没有。EAP是锁步协议,它仅仅支持传输中一个独立的数据包。因此,EAP不能够有效的传输块数据,不像传输层协议例如TCP或STCP。虽然EAP为转发提供了支持,它假定排序保证较低层提供,所以发生故障的接收是不被支持的。由于EAP不支持分裂和重组,EAP认证方法产生的有效载荷大于EAP MTU需要提供分裂支持的最小值。由于认证方法例如EAP-TLS为
9、分裂和重组提供支持,在本文档中EAP方法不支持。因此,如果EAP数据包的大小超出了EAP 链路的MTU,这些方法将会遇到困难。EAP认证是由服务器发起的,而很多认证协议是由客户端发起的,因此,为了运行EAP,认证算法增加一两个额外的信息是必要的。凡基于证书的认证都是支持的,由于证书链的支离破碎,大量的额外往返可能更大。一般来说,一个分裂的EAP数据包由于有碎片,将需要很多的往返包来发送。例如,一个认证链的大小是14960个字节,将需要10个往返来发送一个1496自己大小的EAP MTU。EAP运行在较低层的地方很多数量的包发生丢失,或者在认证器和认证服务器之间的连接处大量的包丢失也发生,EAP
10、方法需要很多往返可能有些困难。在这种情况下,使用较少往返的EAP方法是可取的。2 扩展认证协议EAP认证交换过程如下:1 认证器发送了一个请求来认证对等端。这个请求有一个类型字段来指出什么正在被请求。请求的例子包括身份、MD5的挑战等。MD5挑战的类型与CHAP认证协议对应密切。通常情况下,认证器将发送一个最初的身份认证请求,然而,一个最初的身份请求是不需要的,可能被掠过。例如,在对等端已经确定连接到端口时,或身份被另外的方式获得时,身份就不需要了。2 对等端发送一个回应包来回复合法的请求。和请求包一样,回应包包含了一个类型字段,与请求的类型字段相对应。3 认证器返送一个附加的请求包,对等体回
11、复一个数据包。请求和回复的序列继续和需要的一样长。EAP是一个锁步协议,因此除了初始请求外,一个新的请求不能够在收到有效相应之前被提前发送。认证器像4.1节描述的那样,对重传请求包有责任。经过适当数量的转发后,认证器应该结束EAP谈话,认证器不能够发送成功或者失败数据包,当重传或它没有从对等端收到回应。4 通信继续知道认证器不能认证对等端,在这种情况下,必须发送一个EAP失败。或者,认证谈话继续直到认证成功认证,在这种情况下,认证器必须发送一个EAP成功。优点:l EAP协议能够支持多种认证方法,不需要预谈判一个特殊的。l 网络访问服务器设备不需要理解每个认证方法,也不需要为后台认证服务器作中
12、继代理。支持中继是可选的。一个认证器可能认证本地对等端,同时为非本地对等端作为中继,认证方法可能不会当地完成。l 认证器和后台认证服务器相离简化了证件管理和政策的制定。缺点:l 在PPP中使用EAP,需要增加一个新的认证类型到PPP LCP,因此PPP需要更改以使用它。它也脱离了从前的成功通过一个专门的认证方法的PPP认证模型。同样,交换机或无线接入点的实现EAP协议需要支持IEEE802.1X。l 认证器和后台认证服务器分开,它使安全性分析复杂化,如果需要的话,密钥分配也复杂化了。2.1 支持序列EAP会话可能利用各种方法。一个典型的例子就是在一个独立的EAP认证方法例如MD5挑战后跟着身份
13、请求。然而,在一个EAP会话中,对等端和认证器必须使用一种认证方法,之后认证器必须发送。一旦对等端发送和初始请求包一样类型的回应包,认证器在一个给定的方法必须完成最后一轮前必须不能发送请求一个不同类型的请求包,也不能在初始认证方法完成之前,为额外的任意类型的方法发送请求包;一个对等体收到这样的请求包必须把它们作为非法的,默默的丢弃他们。因此,身份请求是不支持的。对等体必须不能为回复请求包发送一个NaK,在初始non-NaK回应被发送之后。由于伪造的EAP请求包可能被攻击者发送出去了,认证器收到意外的NaK时应该抛弃它并且记录这件事情。在EAP会话中多路认证方法不支持,因为他们容易受到中间人的攻
14、击,并与现有的实现不兼容。单独的EAP认证方法被使用,但是其他的方法在它之中运行(一个隧道方法),禁止多路认证方法不提供。这种隧道方法显示为一种单独的认证方法的EAP。可提供后向兼容,因为一个对等体不能支持用NaK回复初始EAP请求的隧道方法。2.2 EAP多路传输模型从概念上讲,EAP的实施包括以下部分:a) 较低层。较低层负责在对等体和认证器之间转发和接受EAP帧。EAP已经在各类的较低层上运行,例如PPP,有限IEEE802有限网络,IEEE802.11无线局域网,UDP和IKEv2,TCP。较低层的表现在第3节中讨论。b) EAP层。EAP层通过较低层收到和转发EAP数据包,完成重复检
15、测和转发,同时从EAP对等体和认证层传递和接受EAP信息。c) EAP对等体和认证层。在代码字段的基础上,EAP层多路分离输入EAP数据包到EAP对等体和认证层。通常情况下,一个EAP在给定的主机上实施,将会支持不论是对等体或者认证功能。但是对于一个主机来说,扮演一个EAP对等体和认证器来说是有可能的。在这样下,EAP对等体和认证层都将会出现。d) EAP方法层。EAP方法通过EAP对等体和认证层完成认证算法和接收转发EAP信息。由于EAP本身不支持破裂,现在这是EAP方法的责任,这将在第5节中被讨论。EAP多路传输模型在下图一种说明。注意这里没有请求必须遵守这个模型,只要上了线的行为与它保持
16、一致就行。 图表 1:EAP多路传输模型在EAP中,代码字段功能很像在IP中的协议数字。假定EAP层根据代码字段多路分离传入的EAP数据包。接收到的EAP数据包(代码=1,3成功和4失败)被EAP层传到EAP的对等层。带有代码=2(回应)的EAP数据包被传送到EAP认证层。在EAP中,类型字段功能更像在UDP或TCP中的端口号码。假定EAP对等层和认证层根据他们的类型多路分离输入的EAP数据包,同时根据类型将他们传递给EAP方法。在一台主机上用EAP方法实施注册,根据他所支持的角色,决定从对等层或者认证层,或者两个都是收取数据包。既然EAP认证方法可能获取身份,要实现应该是除了身份方法外,身份请求和回应被认证方法可接受。标识类型将会在5.