收藏 分享(赏)

扩展认证协议.docx

上传人:jinchen 文档编号:6210825 上传时间:2019-04-02 格式:DOCX 页数:29 大小:182.40KB
下载 相关 举报
扩展认证协议.docx_第1页
第1页 / 共29页
扩展认证协议.docx_第2页
第2页 / 共29页
扩展认证协议.docx_第3页
第3页 / 共29页
扩展认证协议.docx_第4页
第4页 / 共29页
扩展认证协议.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、扩展认证协议RFC3748这个备忘录的状态本文档明确描述了互联网社区的一个互联网标准跟踪协议,需要进一步进行讨论和改善的建议,请参考最新的“互联网官方协议标准”国家标准化。这个备忘录的发布是不受限制的。版权通知摘要本文档定义了 EAP 扩展认证协议,一个支持多种认证方法的认证框架。EAP 通常直接运行在数据链路层,利于 ppp 协议或者 IEEE802,不需要 IP 地址。EAP 提供了它自己支持的重复性淘汰和转发,但是在较低层排序保证自力更生。EAP 本身不支持碎片,然而单独的 EAP 方法可能支持这个。本文档替代了 RFC2284.本文档和 RFC2284 更改的总结在附录 A 中体现。目

2、录概要1. 引言本文档定义了扩展认证协议,一个支持多路认证方法的认证框架。EAP 通常直接运行在数据链路层,例如点对点协议或者是 IEEE802,不需要 IP 地址。EAP 提供了它自己支持的重复性淘汰和转发,但是在较低层排序保证自力更生。EAP 本身不支持碎片,然而单独的 EAP 方法可能支持这个。EAP 可用于专用的链接,以及开关电路和有线和无线链路。到目前为止,EAP 已经通过连接交换电路或拨号链路使用 PPP 协议,实施在主机和路由器上。同时也通过使用 IEEE802 协议,应用在交换机和接入点。在 IEEE802 有线媒体封装的 EAP 在 IEEE802.1X 中得以描述,并且在

3、IEEE 无线局域网中封装,由 IEEE802.11i 描述。EAP 架构的优势之一就是它的灵活性。EAP 是用来选择一个专门的认证机制,通常是在验证请求需要更多的信息来确认专门的认证方法被使用,而不是需要验证者需要更新来支持每个新的验证方法,EAP 允许使用后台认证服务器,他可以实现一些或所有认证方法,当认证者为部分或所有的方法和对等体作为一个传递。在这个文件中,不论是否认证者作为一个传递,认证要求都要申请。凡要求是为了适用于认证或者后台认证服务器,这取决于 EAP 认证在哪里被终止,EAP 服务器将被使用。1.1 要求说明书1.2 术语本文档经常使用下列词语:认证器:启动 EAP 认证链路

4、的终端。认证器这个属于被使用在 IEEE802.1X,在本文档中拥有相同的含义。对等体:回应认证器的链路终端。在 IEEE802.1X 中,这个终端被认为是请求者。请求者:在 IEEE802.1X 中,链路终端回应认证器。在本文档中,这个链路终端被称为对等体。后台认证服务器:一个后台认证服务器是一个提供认证服务给认证器的实体。当被使用时,这个服务器通常为认证器执行 EAP 方法。这个术语也被使用在IEEE802.1X。AAA:认证,授权和计费。带有 EAP 的 AAA 协议支持包括 RADIUS 和 Diameter。在这个文档中,AAA 服务器和后台认证服务器这两个术语可交换使用。可显示的信

5、息:这被翻译成人类可读的字符串。这个信息便把必须跟从 UTF-8 转换格式。EAP 服务器:终止带有对等体的 EAP 认证方法的实体。在没有后台认证服务器可以被使用这种情况下,EAP 服务器是认证器的一部分。在认证器工作在传递模式的情况下,EAP 服务器位于后台认证服务器。丢弃:这意味着落实丢弃包不需要进一步的处理。执行中还应该提供记录事件的能力,包括默默的丢弃数据包的内容,和应该在一个统计记录其中记录这个事件。成功认证:在本文档中,成功认证是一个 EAP 消息的交换,作为认证器决定允许对等体访问和对等体决定访问的结果。认证器的决定通常包括认证和授权两个方面;对等体可能成功的向认证器认证,但是

6、访问可能由于政策原因被认证器拒绝。消息完整性检查:主要的哈希函数用于认证和数据完整性保护。这常常被称为消息验证码,但是 IEEE802 规范使用 MIC 简称来防止和媒体访问控制这个词语相混淆。加密分离:两个密码(x 和 y)是独立的加密,如果对手知道了在协议交换中所有的信息,也不能进行破密,即从 X 中计算出 Y,或者从 Y 中计算出 X。特别是,这个定义允许对手以明文的形式发送随机数,作为该协议中使用的所有可预见的计数器的值。换句话说,如果密钥是单独加密的,就没有捷径来从 Y 中分离出 X 或从 X中分离出 Y,但是对手必须执行此计算,相当于执行一个详尽搜索秘密状态值。主会话密钥(MSK)

7、:密钥材料是从 EAP 对等体和服务器间获取,通过 EAP 方法输出。MSK 至少是 64 字节长度。在现有的实现中,一个 AAA 服务器作为一个 EAP 服务器来传送 MSK 到认证器。扩展的主会话密钥:附加的密钥材料从 EAP 客户端和服务器间获取,通过 EAP 方法输出。EMSK 至少 64 字节的长度。EMSK 不与认证器或其他第三方共享。EMSK 是为将来使用的,现在还没有定义。结果标志:一个提供结果标志的方法,如果方法的最后信息被发送或者接受:1) 对等体知道他是否认证了服务器,还有是否服务器认证了它。2) 服务器知道是否它认证了对等体,还有事都对等体认证了他。在这种情况下,成功的

8、认证足够获得访问批准,于是对等体和认证器将会知道另外一方是否提供或者接受访问。也可能不经常是这种情况。一个认证的对等体可能被拒绝访问,由于缺少授权或者其他的原因。既然 EAP 交换是在对等体和服务器间运行的,其他节点也可能影响到授权的决定。这在 7.16 中被详细的讨论。1.3 适用性EAP 被设计用来使用在网络访问认证上,IP 层连通性到达不了的地方。将 EAP 用于其他用途,例如块数据传输是不被建议的。由于 EAP 不需要 IP 连通性,它仅仅为认证协议的可靠传输提供了足够的支持,其余的什么也没有。EAP 是锁步协议,它仅仅支持传输中一个独立的数据包。因此,EAP 不能够有效的传输块数据,

9、不像传输层协议例如 TCP 或 STCP。虽然 EAP 为转发提供了支持,它假定排序保证较低层提供,所以发生故障的接收是不被支持的。由于 EAP 不支持分裂和重组,EAP 认证方法产生的有效载荷大于 EAP MTU 需要提供分裂支持的最小值。由于认证方法例如 EAP-TLS 为分裂和重组提供支持,在本文档中 EAP 方法不支持。因此,如果 EAP 数据包的大小超出了 EAP 链路的 MTU,这些方法将会遇到困难。EAP 认证是由服务器发起的,而很多认证协议是由客户端发起的,因此,为了运行 EAP,认证算法增加一两个额外的信息是必要的。凡基于证书的认证都是支持的,由于证书链的支离破碎,大量的额外

10、往返可能更大。一般来说,一个分裂的 EAP 数据包由于有碎片,将需要很多的往返包来发送。例如,一个认证链的大小是 14960 个字节,将需要 10 个往返来发送一个 1496 自己大小的 EAP MTU。EAP 运行在较低层的地方很多数量的包发生丢失,或者在认证器和认证服务器之间的连接处大量的包丢失也发生,EAP 方法需要很多往返可能有些困难。在这种情况下,使用较少往返的 EAP 方法是可取的。2 扩展认证协议EAP 认证交换过程如下:1 认证器发送了一个请求来认证对等端。这个请求有一个类型字段来指出什么正在被请求。请求的例子包括身份、MD5 的挑战等。MD5 挑战的类型与 CHAP 认证协议

11、对应密切。通常情况下,认证器将发送一个最初的身份认证请求,然而,一个最初的身份请求是不需要的,可能被掠过。例如,在对等端已经确定连接到端口时,或身份被另外的方式获得时,身份就不需要了。2 对等端发送一个回应包来回复合法的请求。和请求包一样,回应包包含了一个类型字段,与请求的类型字段相对应。3 认证器返送一个附加的请求包,对等体回复一个数据包。请求和回复的序列继续和需要的一样长。EAP 是一个锁步协议,因此除了初始请求外,一个新的请求不能够在收到有效相应之前被提前发送。认证器像 4.1 节描述的那样,对重传请求包有责任。经过适当数量的转发后,认证器应该结束 EAP 谈话,认证器不能够发送成功或者

12、失败数据包,当重传或它没有从对等端收到回应。4 通信继续知道认证器不能认证对等端,在这种情况下,必须发送一个 EAP 失败。或者,认证谈话继续直到认证成功认证,在这种情况下,认证器必须发送一个 EAP 成功。优点: EAP 协议能够支持多种认证方法,不需要预谈判一个特殊的。 网络访问服务器设备不需要理解每个认证方法,也不需要为后台认证服务器作中继代理。支持中继是可选的。一个认证器可能认证本地对等端,同时为非本地对等端作为中继,认证方法可能不会当地完成。 认证器和后台认证服务器相离简化了证件管理和政策的制定。缺点: 在 PPP 中使用 EAP,需要增加一个新的认证类型到 PPP LCP,因此 P

13、PP 需要更改以使用它。它也脱离了从前的成功通过一个专门的认证方法的 PPP 认证模型。同样,交换机或无线接入点的实现 EAP 协议需要支持 IEEE802.1X。 认证器和后台认证服务器分开,它使安全性分析复杂化,如果需要的话,密钥分配也复杂化了。2.1 支持序列EAP 会话可能利用各种方法。一个典型的例子就是在一个独立的 EAP 认证方法例如 MD5 挑战后跟着身份请求。然而,在一个 EAP 会话中,对等端和认证器必须使用一种认证方法,之后认证器必须发送。一旦对等端发送和初始请求包一样类型的回应包,认证器在一个给定的方法必须完成最后一轮前必须不能发送请求一个不同类型的请求包,也不能在初始认

14、证方法完成之前,为额外的任意类型的方法发送请求包;一个对等体收到这样的请求包必须把它们作为非法的,默默的丢弃他们。因此,身份请求是不支持的。对等体必须不能为回复请求包发送一个 NaK,在初始 non-NaK 回应被发送之后。由于伪造的 EAP 请求包可能被攻击者发送出去了,认证器收到意外的 NaK 时应该抛弃它并且记录这件事情。在 EAP 会话中多路认证方法不支持,因为他们容易受到中间人的攻击,并与现有的实现不兼容。单独的 EAP 认证方法被使用,但是其他的方法在它之中运行(一个隧道方法) ,禁止多路认证方法不提供。这种隧道方法显示为一种单独的认证方法的 EAP。可提供后向兼容,因为一个对等体

15、不能支持用 NaK 回复初始 EAP 请求的隧道方法。2.2 EAP 多路传输模型从概念上讲,EAP 的实施包括以下部分:a) 较低层。较低层负责在对等体和认证器之间转发和接受 EAP 帧。EAP 已经在各类的较低层上运行,例如 PPP,有限 IEEE802 有限网络,IEEE802.11 无线局域网,UDP 和 IKEv2,TCP。较低层的表现在第 3 节中讨论。b) EAP 层。EAP 层通过较低层收到和转发 EAP 数据包,完成重复检测和转发,同时从 EAP 对等体和认证层传递和接受 EAP 信息。c) EAP 对等体和认证层。在代码字段的基础上,EAP 层多路分离输入 EAP 数据包到

16、EAP 对等体和认证层。通常情况下,一个 EAP 在给定的主机上实施,将会支持不论是对等体或者认证功能。但是对于一个主机来说,扮演一个 EAP 对等体和认证器来说是有可能的。在这样下,EAP 对等体和认证层都将会出现。d) EAP 方法层。EAP 方法通过 EAP 对等体和认证层完成认证算法和接收转发 EAP 信息。由于 EAP 本身不支持破裂,现在这是 EAP 方法的责任,这将在第 5 节中被讨论。EAP 多路传输模型在下图一种说明。注意这里没有请求必须遵守这个模型,只要上了线的行为与它保持一致就行。E A P 方法类型 = XE A P 方法类型 = YE A PE A P较低对等层层层E

17、 A P 方法类型 = XE A P 方法类型 = YE A PE A P较低认证层层层对等认证图表 1:EAP 多路传输模型在 EAP 中,代码字段功能很像在 IP 中的协议数字。假定 EAP 层根据代码字段多路分离传入的 EAP 数据包。接收到的 EAP 数据包(代码 =1,3 成功和 4 失败)被EAP 层传到 EAP 的对等层。带有代码=2(回应)的 EAP 数据包被传送到 EAP 认证层。在 EAP 中,类型字段功能更像在 UDP 或 TCP 中的端口号码。假定 EAP 对等层和认证层根据他们的类型多路分离输入的 EAP 数据包,同时根据类型将他们传递给EAP 方法。在一台主机上用

18、EAP 方法实施注册,根据他所支持的角色,决定从对等层或者认证层,或者两个都是收取数据包。既然 EAP 认证方法可能获取身份,要实现应该是除了身份方法外,身份请求和回应被认证方法可接受。标识类型将会在 5.1 节讨论。一个通知的回复仅仅被作为确定对等层接收到通知请求,不是它已经处理,或者向使用者显示信息。它不能假定通知请求或回复的内容对另外一种方法也合法。通知类型将在 5.2 节讨论。NaK 或者扩展的 NaK 都是用于谈判的目的。对等层为一个带有 NaK 响应或者扩展NaK 响应的不可接受类型响应初始的 EAP 请求. 它不能假定 NaK 响应的内容是另一种方法可用的。NaK 类型将在 5.

19、3 节被讨论。带有成功或失败代码的 EAP 数据包不包括类型字段,也不被传送到一个 EAP 方法。成功和失败将在第 4.2 节中讨论。鉴于上述考虑,成功,失败,NaK 响应和通知请求 /回应信息必须不能用在承载注定要发送到其他 EAP 方法的数据。2.3 传递行为当作为一个传递认证器时,认证器检查代码,身份,字段长度,在 4.1 节描述的那样。它把从对等端收到的 EAP 数据包,派定到认证层发送到后台认证服务器;从后台认证服务器接收到的数据包发送到对等体。一个主机收到 EAP 后仅仅可能做下列三件事情中的一件:执行它,丢弃它,继续传送。继续传送的决定通常是根据检查后的代码,身份和字段长度。一个

20、传递性认证器必须能够把从带有代码=2 的对等体收到的 EAP 数据包发送给后台认证服务器。它也必须能够从后台认证服务器收到 EAP 数据包,并且将代码 =1,代码=3,代码=4的 EAP 数据包传递给对等层。除非认证器完成一个或多个支持认证作用的本地认证方法,EAP 方法层包头字段作为转发决策的一部分不被检查。当认证器支持本地认证方法,它可能检查类型字段来决定是否执行这个数据包或者转发这个数据包。符合传递性认证的操作,必须默认转发任何类型的 EAP 数据包。带有代码=1(请求) ,代码=3(成功) ,以及代码=4(失败)的 EAP 数据包被 EAP层多路分离,并且被传送到对等层。因此,除非一个

21、主机实现 EAP 对等层,这些数据包将会被默默的丢弃掉。同样的。接收到代码=2 的 EAP 数据包也会被 EAP 层多路分离,并且被传送到认证层。因此,除非主机实现 EAP 认证层的功能,这些数据包将会被丢弃。传递性对等层的行为在这个说明中没有被定义,并且像 RADIUS 和Diameter 这些 AAA 协议不支持。转发模型在图 2 中被说明:+-+-+-+-+-+-+ +-+-+-+-+-+-+| | | |EAP method | |EAP method | V | | |+-+-+-!-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-!-+-+-+|

22、 ! | |EAP | EAP | | | ! | ! | |Peer | Auth.| EAP Auth. | | ! |EAP ! peer| | | +-+ | |EAP !Auth.| ! | | | ! | ! | | ! |+-+-+-!-+-+-+ +-+-+-+-!-+-+-+-+-+-!-+-+-+-+ +-+-+-!-+-+-+| ! | | ! | ! | | ! |EAP !layer| | EAP !layer| EAP !layer | |EAP !layer| ! | | ! | ! | | ! |+-+-+-!-+-+-+ +-+-+-+-!-+-+-+-+-+

23、-!-+-+-+-+ +-+-+-!-+-+-+| ! | | ! | ! | | ! |Lower!layer| | Lower!layer| AAA ! /IP | | AAA ! /IP | ! | | ! | ! | | ! |+-+-+-!-+-+-+ +-+-+-+-!-+-+-+-+-+-!-+-+-+-+ +-+-+-!-+-+-+! ! ! ! ! ! !+-+ +-+图表 2:传递性认证器在本章节中,认证器作为一个传递性,它必须确定唯一的认证结果,基于后台认证服务器发送的接收/拒绝指示;输出必须不能被接收/ 拒绝一起发送的 EAP 数据包的内容确定,或者缺失的这样压缩 EA

24、P 数据包。2.4 点对点对等操作由于 EAP 是点对点对等协议,独立和同步认证可能发生在相反的方向上。两个链路的终端可能同时作为认证器和对等端。这种情况下,两个终端都必须实施 EAP 认证器和对等层。另外,在两个节点的 EAP 方法的实现必须同时支持验证和对等的功能。虽然 EAP 支持点对点的对等行动,一些 EAP 的实现,方法,AAA 协议和链路层可能不支持这个。一些 EAP 方法可能支持不对称的认证,对等体请求的证书类型和认证器的另一种类型。使用这样一个方法的支持点对点对等操作的主机将需要预备两种证书类型。例如,EAP-TLS 是一种客户-服务器协议,其中不同的证书配置文件通常是用于客户

25、端和服务器。这意味了主机用 EAP-TLS,支持点对点对等认证需要实现 EAP 对等体和认证层,同时支持对等层和在 EAP-TLS 实施过程中的认证作用,还要为每个功能预备合适的证书。AAA 协议像 RADIUS/EAP 和 Diameter EAP 仅仅支持传递性认证操作。像在 2.6.2 中说明的那样,一个 RADIUS 服务器对访问请求回应一个压缩了 EAP 请求,成功或失败的访问拒绝包。因此这里不支持传递式对等操作。即使是一种相互支持认证和结果标志的方法被使用,一些因素可能会要求,两种EAP 认证(每个方向上)被请求。主要有:1 在较低层支持双向会话密钥派生。较低层像 IEEE802.

26、11 可能只支持单向派生和传输临时会话密钥。例如,组密钥握手定义在 IEEE802.11i 是单向的,因为在 IEEE802.11 结构模型中,只有访问点发送多播/ 广播信息。在 IEEE802.11ad hoc 模型中,对等体可能发送多播/广播流量,请求两个单向组密钥交换。由于设计的限制,这同样意味了单向密钥派生的需要和 EAP 方法交换发生在每个方向。2 在较低层中支持打破僵局。较低层像 IEEE802.11adhoc 不支持打破僵局,当两个主机相互初始认证时,将仅仅转送一个单独的认证。这意味着,虽然802.11 支持双向组密钥握手,然后两个认证,每个方向一个,仍可能会发生。3 对等体政策

27、补偿。EAP 方法可能支持结果标志,使对等体能够用这种方法说明 EAP 服务器,它将成功的认证 EAP 服务器,同时服务器将表明它也认证了对等体。然而,传递性认证将不会得知对等体已经接受了 EAP 服务器提供的证件,除非这个信息通过 AAA 协议提供给了认证器。认证器应该解释接收数据包中的密钥属性,作为对等体成功认证服务器的信息显示。然而,即使相互认证发生了,EAP 对等体的访问策略在初始 EAP 交换时不被满足,。例如,EAP 认证器可能不会证明授权同时担任对等端和认证器的作用。因此,对等体可能需要在相反方向上加额外的认证,即使对等体提供指示,EAP 服务器成功的认证。3 较低层行为3.1

28、较低层请求EAP 对较低层有如下的假设:1 不可靠的传输。在 EAP 中,认证器转发请求还没有接收到回应,因此 EAP 不能假定较低层是可靠的。由于 EAP 定义了他自己的转发行为,当 EAP 运行在可靠的较低层时,转发是有可能发生在当前层和 EAP 层。注意,EAP 成功和失败数据包不被转发。没有可靠的较低层和不可忽略的错误比例,这些数据包可能丢失,导致时延。因此提高丢失 EAP 成功或失败数据包的弹性是有利的,就像 4.2 节中说的那样。2 较低层错误检测。当 EAP 不能假定较低层是可靠的,它将依赖于较低层错误检测。EAP 方法可能不包括一个 MIC,或者他们可能不计算 EAP 数据包的

29、所有字段,像代码,身份,长度或类型字段。因此,没有较低层错误检测,不可预料的错误将会进入 EAP 层或者是 EAP 方法层的包头字段,导致认证失败。例如,EAP TLS,它仅仅通过类型数据字段计算出它的 MIC,把 MIC 确认失败当作致命性的错误。没有较低层错误检测这个方法和其他类似的方法,较低层将不会可靠。3 较低层安全。EAP 不会请求较低层去提供安全服务,像是每个数据包保密性,认证,整型和重放保护。然而,当这些安全服务合法时,EAP 方法支持密钥派生,能够用于提供动态密钥生成的材料。这将把 EAP 认证绑定到随后的数据上,同时保护数据不被修改,欺骗和重放。详细请见 7.1 节。4 最小

30、 MTU。EAP 可以在较低层运行,提供一个 1020 字节甚至更大的 EAP MTU。EAP 不支持 MTU 路径发现和分裂,也不支持重组。同样在本说明书中定义的其他方法也不支持。身份,消息,NaK 回应,MD5 挑战,临时密码,种类令牌卡,扩展的 NaK 响应类型。通常,EAP 对等体包含关于从较低层来的 EAP MTU 信息,并设定 EAP 帧大小为合适的值。当认证器实施在传递性模式时,认证服务器没有直接的方法来确认 EAP MTU,因此依赖于认证器提供这项信息,像是通过 MTU 帧属性,在 2.4 节描述的那样。当像 EAP-TLS 方法支持分裂和重组时,EAP 方法本来是设计为使用在

31、 PPP中一个 1500 字节的 MTU 保证为控制帧,可能没有分裂和重组特征。EAP 方法能够假定一个最小的 1020 字节的 EAP MTU 没有其他的信息。EAP 方法应该包括支持分裂和重组,如果他们的有效载荷比这个最小的 EAP MTU 大。EAP 是一个锁步协议,当处理分裂和重组时,它意味了一个不可避免无效性。因此,如果较低层支持分裂和重组,那么分裂和重组发生在较低层比在EAP 中会更好。通过提供一个认为的大 EAP MTU 给 EAP,导致分裂和重组在较低层中实现。5 可能的重复。当较低层可靠时,它将提供 EAP 层一个不重复的数据流。然而,当较低层提供无重复时,而不是请求时,这是

32、有利的。身份字段向对等体和认证器都提供检查重复的能力。6 排序保证。EAP 不需要身份单调的增加,这在较低层正确操作的排序保证是可保证的。EAP 本来是定义运行在 PPP 上,同时第一节有排序请求:“点对点对等协议是为两个对等体之间的简单链路传送数据包设计。这些链路提供了全双工的同步的双向操作,被假定按顺序传递数据包。”较低层为 EAP 传递必须维持源地址和目的地之间的秩序。重新排序,如果这个发生的话,通常会导致 EAP 认证失败,导致 EAP 认证重新开始。在重新排序这种环境下,EAP 认证失败将会十分平常。EAP 仅仅运行在较低层提供排序保证;在原始的 IP 或 UDP 传送中运行 EAP

33、 是不被推荐的。在 RADIUS 中封装 EAP 满足了排序的需要,由于 RADIUS 是锁步协议,因此需要按顺序发送数据包。3.2 EAP 在 PPP 中使用为了通过点对点的链路建立通信,在链路建立阶段每个 PPP 链路的终端首先发送 LCP 数据包来配置数据链路。链路建立完毕后,在运行到网络层前,PPP 提供一个可选的认证。默认情况下,认证不是命令。如果每个链路的认证是要求的,在链路建立阶段,必须要明确指定认证协议构造选项。如果对等体的身份在认证项中显示了,服务器能够为接下来的网络层谈判使用可选选项的身份。当在 PPP 中实施时,EAP 不能在 PPP 链路控制阶段选择一个具体的认证方法,

34、宁可推迟这个操作指导认证阶段。它允许认证器在确定专门的认证策略前请求更多的信息。当 PPP 认证器仅仅通过认证交换时,允许使用实际上能使用各种方法的后台服务器。PPP 链路建立和认证阶段,和认证协议构造选项,被定义在 PPP 协议中。3.2.1 PPP 构造选项格式PPP 认证协议构造选项格式后跟着 EAP 谈判。字段从左端传送到右端。准确的说,一个 EAP 数据包被压缩到一个 PPP 数据链路层帧的信息字段,协议字段显示了类型。0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+

35、-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Length | Authentication Protocol |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Type3Length4Authentication ProtocolC277(Hex)forEAP3.3 在 IEEE802 中使用 EAP通过 IEEE802 压缩 EAP 被定义在 IEEE802.1X。在 IEEE802 封装的 EAP 不包含PPP,IEEE802.1X

36、 不包含对链路的支持,或网络层的协商。因此,在 IEEE802.1X 中,不可能通过非 EAP 的认证方法,例如 PAP 或 CHAP。3.4 较低层标志较低层标志的可靠性和安全性依赖于更低的层。由于 EAP 是媒体独立的,较低层安全性的出现或缺席不会被考虑到 EAP 信息处理中。为了提高可靠性,如果一个对等体收到较低层的成功标志消息,其被定义在 7.2节,它可能包括一个成功数据包已经丢失,和表现为已经收到一个成功数据包。这包含在某些情况下选择忽略成功数据包,像是在 4.2 节描述的那样。关于在 PPP 较低层可靠性和安全性问题的讨论, IEEE802 有线网络和 IEEE802.11无线局域

37、网能够在安全性思考中找到,7.12 节。在 EAP 认证结束后,对等体通常会通过认证器转发和接受数据。确保实体转发的数据是相同的一个后,才算是成功的完成了 EAP 认证。为了达到这个目的,较低层必须提供每个包的完整性,认证和重放保护,还有在 EAP 认证阶段绑定这些数据包的服务到派生的密钥上。除此之外,随后的数据流也有可能被修改,欺骗和重演。较低层加密套接字的密钥材料本身由 EAP 提供的,加密套接字和密钥激活是由较低层控制的。在 PPP 中,加密套接字在 ECP 中顺利通过,因此不可能使用从 EAP 认证中派生的密钥,直到完成 ECP。因此,一个初始的 EAP 交换不能由 PPP 加密套接字

38、保护,尽管 EAP 再次认证可能被保护。在 IEEE802 媒体中,初始的密钥激活通常发生在 EAP 认证之后。因此一个初始的EAP 交换通常不被较低层的加密套接字保护,尽管 EAP 的重新认证或预认证交换可能被保护。4 EAP 数据包格式EAP 数据包格式由下图所示。这些字段从左到右传送。0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Code | Identifier

39、 | Length |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Data .+-+-+-+-+代码代码字段是一个字节,鉴定 EAP 数据包的类型。EAP 代码被下列指派:1 请求2 回应3 成功4 失败由于 EAP 仅仅定义了代码 1-4,EAP 数据包其他的代码被认证器和对等端默默的丢弃。标识符标识符字段是一个字节,用于匹配请求的回应。长度长度字段是两个字节,显示了长度,字节数,EAP 数据包包含代码,标识符,长度和数据字段。字节外的长度字段范围应该被当作数据链路层填料,一旦接受必须被忽略。带有长度字

40、段的消息的字节数大于接收到的字节数是,必须被默默的丢弃。数据数据字段是 0 字节或者更多的字节。数据字段的格式被数据字段确定。4.1 请求和回应描述请求数据包被认证器发送到对等端。每个请求都有一个类型字段,其中显示了被请求的状态。额外的请求数据包必须被发送,直到合法的回应数据包被接收到,一个可选的重试计数器到期,或者较低层失败显示被接受到了。转播请求在发送时必须带有相同的标识符,目的是为了与新请求包相互区分。数据字段的内容在请求类型中是独立的。对等端必须返送一个回应包,用来回应合法的请求数据包。回应包必须被发送,当作回应合法的请求,同时不会在计时器没到时转发。如果一个对等体接收到合法的重复请求

41、包时,他已经发送了一个回应包,它必须重新发送自己的初始回应,不需要再次处理请求包。请求包在他们被接收到的时候必须被处理,同时在检查下次请求时必须被处理。请求包和回应包的格式如下所示,这些字段从左到右发送。0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Code | Identifier | Length |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

42、-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Type-Data .+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-代码1 请求2 回应标识符标识符字段是一个字节。如果当等待回应时,请求数据包由于超时被转播,标识符字段必须相同。任何新的请求必须修改标识符字段。回应包的标识符字段必须和当前未解决的请求包符合。认证器接收到一个回应包时,标识符不能符合当前未解决的请求包,必须丢弃。为了防止在新请求和转发之间混淆,每个新请求的标识符值应该和之前请求标识符值不同,但是不需要在整个会话过程中是独一无二的。一个可以达到此目的的方法就是开始时为标识符

43、赋予初值,随后每个新的请求包的标识符值依次递增。最好是开始的标识符值是随机的,而不是从零开始,因为它会导致序列攻击什么的,变得很麻烦。由于标识符空间对每个字段来说是独一无二的,认证器没有被仅仅 256 个同步认证会话所限制。同样的,当重新认证时,EAP 会话可能持续一段很长的时间,他与不会被仅仅限制在 256 个往返包中。注意事项:认证器负责转发请求信息。如果请求信息从其他地方获得,那么认证器将需要存储请求包的拷贝,为了达到这个目的。在用任何方法处理它们之前,对等端负责探测和处理重复请求信息,包括把它们传送到外面。在执行它们之前, ,认证器同样负责丢弃标识符值不符合的回应信息,包括为了查证传送

44、他们到后台认证服务器。由于认证器能在对等端接收到回应包之前转发数据包,认证器能够接收到多路的回应包,每个都有一个合适的标识符值。直到一个新的请求信息被认证器接受到,标识符的值不会被更新,因此认证器在同一时间将回应包传送给后台认证服务器。长度长度字段是两个字节,显示了包含代码,标识符,类型和类型数据字段的EAP 数据包的长度。长度字段范围之外的字节应该被当作数据链路层的沉淀,同时一旦收到必须被忽略。带有长度字段的消息,如果长度值大于接收到的字节数,那么必须被默默的丢弃。类型类型字段是一个字节。这个字段显示了请求包或回应包的类型。一个单独的类型必须为每个请求包或回应包所具体描述。初始的类型说明书在

45、本文档的第 5小节中讨论。回应包的类型字段要么与请求包的类型相符合,要么与扩展的 Nak 相符合,他显示了请求类型是不被对等端所接受的。对等端必须不能发送 NaK 作为请求包的回应包,在初始 non-NaK 回应被发送后。EAP 服务器没有满足这些请求而接收到回应包时,必须丢弃到。类型数据类型数据字段随着请求包、回应包的类型而有不同的值。4.2 成功和失败在 EAP 认证方法显示对等端已经成功向认证器认证后,成功数据包被认证器发送给对等端, 。认证器必须传播代码字段为 3 的 EAP 数据包。如果认证器不能认证对等端,那么在 EAP 方法不成功认证之后,必须传播一个代码字段为 4 的EAP 数

46、据包。在发送失败回应之前,为了允许人为错误,认证器可能希望发出多路请求包。成功和失败数据包不能包含其他的信息。如果给定方法的说明中没有明确允许这个方法在那个端点完成,成功和失败数据包不能够被一个 EAP 认证器发送, 。对等端 EAP 接收到成功或者失败数据包后,若数据包不是明确允许必须丢弃。默认情况下,EAP 对等端必须默默的丢弃一个包装的成功数据包,这就保证了一个离散的认证器将不会绕开通过发送成功数据包的彼此认证,居先于 EAP 方法会话结论。注意事项:因为成功和失败数据包不被承认,它们没有被认证器转发,也可能丢失了。一个对等体必须考虑到这个通知中的情形。查看 3.4 节作为参看,处理较低

47、层成功和失败的标志。像是在 2.1 节描述的那样,一个单独的 EAP 认证方法在 EAP 会话中被允许。EAP 方法可能实现结果标志。在认证器发送了一个失败结果信息给对等端后,忽略从对等端传来的回应消息,它必须随后发送一个失败数据包,在认证器发送一个成功结果信息给对等端,并且从对等端接收到成功结果信息后,他必须接着发送一个成功数据包。在对等端,一旦方法实现的不成功(例如认证器发送了失败结果消息,或者对等端决定她不想要继续这个会话了),对等端必须终止这个会话并且对较低层显示失败信息。对等端必须默默的丢弃成功数据包,并且可能丢弃失败数据包。因此,丢弃失败数据包不会导致超时。在对等端,在成功结果标志

48、被双方交换后,一个失败数据包必须被丢弃。对等端可能,在这个事件中 EAP 成功数据包没有被接受,包括 EAP 成功数据包的丢失和认证成功。如果认证器还没有发送一个结果标志信息,对等端将会继续这个会话,一旦这个方法完成,对等端会等待一个成功或失败数据包,同时不能够丢弃其中的任何一个数据包。如果成功或失败数据包一个也没有接收到,那么对等端应该终止这个会话,以防止在数据包是 EAP 失败包的时候超时。如果对等端想要对认证器认证,并且这样做失败了,那么认证器必须发送一个失败数据包,并且不能通过发送一个成功数据包而获得访问。然而,认证器可能忽略对等端在限制的访问已经获得的情况下得到了认证,在这种情况下,认证器必须发送一个成功数据包。对等端成功向认证器认证,但是认证器没有发送结果标志信息,认证器可能通过发送一个失败数据包拒绝访问,此时对等端不能够立马获得网络访问的资格。成功和失败数据包的格式如下所示。字段从左到有传输。0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 商业合同

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报