📄 中文rfc2284.txt
字号:
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:piex(piex jintao@bigfoot.com)
译文发布时间:2002-01-18
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。
Network Working Group L. Blunk
Request for Comments: 2284 J. Vollbrecht
Category: Standards Track Merit Network, Inc.
March 1998
PPP扩展认证协议(EAP)
(RFC2284-PPP Extensible Authentication Protocol (EAP))
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
摘要
点到点协议(PPP)提供一种在点到点链路上传输多协议报文的标准方法。在PPP中定义了一个可扩展的链路控制协议(LCP),LCP协议允许协商认证协议,从而可以在网络层报文在链路上传输之前对对端进行认证。本文档定义了PPP扩展认证协议(EAP)。
目 录
1介绍
3
1.1要求规范
3
1.2术语
3
2PPP扩展认证协议(EAP)
3
2.1配置选项(Config Option)格式
4
2.2报文格式
4
请求和应答
5
成功和失败
6
3EAP请求/应答类型
7
3.1标识 Identification
7
3.2通知 Notification
8
3.3否定 Nak
8
3.4MD5挑战字
8
3.5一次密码(OTP)
9
3.6通用令牌卡
9
4安全考虑
9
5参考文献
10
6鸣谢
10
1.介绍
为了在点到点的链路上进行通信,PPP链路的每一端在链路建立阶段必须首先发送LCP报文配置数据链路。链路建立之后,PPP提供可选的认证阶段,可以在进入NCP阶段之前对对端进行认证。
缺省情况下,认证过程不是必须的。如果需要链路认证,PPP实现必须在链路建立阶段指定“认证协议”配置选项。
这些认证协议主要是用在主机或者路由器,这些主机和路由器通过交换电路线或者拨号线连在PPP网络服务器上,但是也适用于专线。PPP网络服务器可以用主机或路由器的认证身份来作为网络层协商的选项 。
本文定义了PPP的扩展认证协议(EAP)。链路建立和认证阶段以及其中的认证协议配置选项在PPP协议中定义[1]。
1.1 要求规范
在本文中用以下几个词表示规范描述要求,这几个词用大些(黑体)表示。
1. MUST “必须”,也就是形容词“必需的”,意思是该项是本规范的绝对要求。
2. MUST NOT “不得”,意思是该项是本规范所绝对禁止的。
3. SHOULD “应该”,也就是形容词“推荐的”,意思是在某些场合可能由于某种原因忽略该项,但是协议的完全实现必须能够理解该项,在决定其他方式之前要经过仔细考虑。
4. MAY “可以”,也就是形容词“可选的”,意思是该项可以作为可选集使用,不包含该选项的协议实现必须能够和包含了该选项的实现交互协作。
1.2 术语
本文频繁使用下面的术语:
黖 Autherticator 认证者
链路要求认证的一端。认证者在链路建立阶段的配置请求项中指定要使用的认证协议。
黖 Peer 对端
点到点链路的另一端,由认证者认证的另一端。
黖 Sliently discard 静静丢弃
指直接丢弃数据包,不作进一步处理。实现中应该提供记录错误的能力——包括所丢弃报文的内容,还应该在统计计数器中记录这个事件。
2 PPP扩展认证协议(EAP)
PPP扩展认证协议(EAP)是一个用于PPP认证的通用协议,可以支持多种认证方法。EAP并不在链路建立阶段指定认证方法,而是把这个过程推迟到认证阶段。这样认证方就可以在得到更多的信息以后再决定使用什么认证方法。这种机制还允许PPP认证方简单地把收到的认证报文透传给后方的认证服务器,由后方的认证服务器来真正实现各种认证方法。
1. 在链路阶段完成以后,认证方向对端发送一个或多个请求报文。在请求报文中有一个类型字段用来指明认证方所请求的信息类型,例如是对端的ID、MD5的挑战字、一次密码(OTP)以及通用令牌卡等。MD5的挑战字对应于CHAP认证协议的挑战字。典型情况下,认证方首先发送一个ID请求报文随后再发送其他的请求报文。当然,并不是必须要首先发送这个ID请求报文,在对端身份是已知的情况下(如租用线、拨号专线等)可以跳过这个步骤。
2. 对端对每一个请求报文回应一个应答报文。和请求报文一样,应答报文中也包含一个类型字段,对应于所回应的请求报文中的类型字段。
3. 认证方通过发送一个成功或者失败的报文来结束认证过程。
优点:
EAP可以支持多种认证机制,而无需在LCP阶段预协商过程中指定。
某些设备(如:网络接入服务器)不需要关心每一个请求报文的真正含义,而是作为一个代理把认证报文直接透传给后端的认证服务器。设备只需关心认证结果是成功还是失败,然后结束认证阶段。
缺点:
EAP需要在LCP中增加一个新的认证协议,这样现有的PPP实现要想使用EAP就必须进行修改。同时,使用EAP也和现有的在LCP协商阶段指定认证方法的模型不一致。
2.1 配置选项(Config Option)格式
用于指定EAP认证协议的认证协议配置选项格式如下所示,字段的传输顺序是从左向右。
0 1 2 3
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Authentication-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型 Type
3
长度 Length
4
认证协议 Authentication-Protocol
C227 (16进制) 对应于PPP的扩展认证协议EAP
1.1 报文格式
当PPP帧的协议字段是16机制的C227的时候,表示PPP帧的信息字段里封装了一个完整的EAP报文。EAP报文的格式如下所示,字段的传输顺序是从左向右。
0 1 2 3
0 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+
代码 Code
代码字段占一个字节,表明了EAP报文的报文类型。分配如下:
1 请求
2 应答
3 成功
4 失败
标识 Identifier
标识字段占一个字节,用于应答报文和请求报文之间进行匹配。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -