logo资料库

RFC2865中文版.doc

第1页 / 共74页
第2页 / 共74页
第3页 / 共74页
第4页 / 共74页
第5页 / 共74页
第6页 / 共74页
第7页 / 共74页
第8页 / 共74页
资料共74页,剩余部分请下载后查看
IESG说明
摘要
实现说明
目录
1.  简介
1.1.  描述文档的约定
1.2.  术语
2.  操作
2.1.  挑战/回应
2.2.  使用PAP和CHAP互操作
2.3.  代理
2.4.  为什么使用UDP?
2.5.  重传提示
3.  报文格式
3.1 代码
3.2 标识符
3.3 长度
3.4 认证字
3.4.1请求认证字
3.4.2 回应认证字
3.5 管理提示
4.  报文类型
4.1.  接入请求报文
4.2.  接入成功回应报文
4.3.  接入拒绝回应报文
4.4.  接入挑战报文
5.  属性
属性列表
5.1.  User-Name(用户名)
5.2.  User-Password
5.3.  CHAP-Password
5.4.  NAS-IP-Address
5.5.  NAS-Port
5.6.  Service-Type
5.7.  Framed-Protocol
5.8.  Framed-IP-Address
5.18. Reply-Message
5.19. Callback-Number
5.20. Callback-Id
5.24 State
5.26. Vendor-Specific
5.27. Session-Timeout
5.28. Idle-Timeout
5.30. Called-Station-Id
5.31. Calling-Station-Id
5.32. NAS-Identifier
5.33. Proxy-State
5.40. CHAP-Challenge
5.41. NAS-Port-Type
5.44. 属性与报文对应关系
6.  IANA事项
 7.  举例
7.1.  用户telnet到特定主机
7.2.  用户使用CHAP认证
7.3.  使用挑战回应卡认证
8.  安全事项
9.  更改记录
10. 参考文献
远程认证拨号用户服务(RADIUS) Remote Authentication Dial In User Service,远程用户拨号认证系统 [ri'məut]adj.远程的 Authentication:身份验证 备忘录状态 本文档描述了一种 Internet 社区的 Internet 标准跟踪协议,它需要进一步进行讨 论和建议以得到改进。请参考最新版的“Internet 正式协议标准” (STD1)来获得本协议的 标准化程度和状态。本备忘录可以不受限制地传播。 版权说明 Copyright (C) The Internet Society (2000). All Rights Reserved. IESG 说明 本协议已经被广泛实现和使用,经验表明当本协议在一个大范围的系统中使用会降 低性能和丢失数据。部分原因是协议中没有提供拥塞控制的机制。读者可以发现阅读本文对 跟踪 IETF 组织的 AAA 工作组的工作进程有很大的帮助,AAA 工作组可能会开发一个能够 更好的解决扩展性和拥塞控制问题的成功的协议。 摘要 本文描述了一个传输认证、授权和配置信息的协议。这些信息在想要认证链路 的网络接入服务器(Network Access Server)和共享的认证服务器务器之间传递。 实现说明 本备忘录记录了 RADIUS 协议,RADIUS 协议的早期版本使用的 UDP 端口是 16 45,由于和"datametrics"服务冲突,官方为 RADIUS 协议分配了一个新的端口号 1812。
目录 1. 简介 .................................................. 3 1.1 1.2 描述文档的约定 .................................. 术语 ............................................ 2. 操作 .................................................. 5 5 4 2.1 2.2 2.3 2.4 2.5 2.6 7 挑战/回应 ....................................... 使用 PAP 和 CHAP 互操作 ............................. 代理 ............................................ 为什么使用 UDP ................................... 11 重发提醒 ........................................ 12 被证明是有害的心跳 .............................. 13 8 8 3. 报文格式 .............................................. 13 4. 报文类型 .............................................. 17 4.1 4.2 4.3 4.4 接入请求报文 .................................... 17 接入成功回应报文 ................................ 18 接入拒绝回应报文 ................................ 20 接入挑战报文 .................................... 21 5. 属性 .................................................. 22 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 User-Name ....................................... 26 User-Password ................................... 27 CHAP-Password ................................... 28 NAS-IP-Address .................................. 29 NAS-Port ........................................ 30 Service-Type .................................... 31 Framed-Protocol ................................. 33 Framed-IP-Address ............................... 34 Framed-IP-Netmask ............................... 34 Framed-Routing .................................. 35 Filter-Id ....................................... 36 Framed-MTU ...................................... 37 Framed-Compression .............................. 37 Login-IP-Host ................................... 38 Login-Service ................................... 39 Login-TCP-Port .................................. 40 (unassigned) .................................... 41 Reply-Message ................................... 41 Callback-Number ................................. 42 Callback-Id ..................................... 42 (unassigned) .................................... 43 Framed-Route .................................... 43
5.23 5.24 5.25 5.26 5.27 5.28 5.29 5.30 5.31 5.32 5.33 5.34 5.35 5.36 5.37 5.38 5.39 5.40 5.41 5.42 5.43 5.44 Framed-IPX-Network .............................. 44 State ........................................... 45 Class ........................................... 46 Vendor-Specific ................................. 47 Session-Timeout ................................. 48 Idle-Timeout .................................... 49 Termination-Action .............................. 49 Called-Station-Id ............................... 50 Calling-Station-Id .............................. 51 NAS-Identifier .................................. 52 Proxy-State ..................................... 53 Login-LAT-Service ............................... 54 Login-LAT-Node .................................. 55 Login-LAT-Group ................................. 56 Framed-AppleTalk-Link ........................... 57 Framed-AppleTalk-Network ........................ 58 Framed-AppleTalk-Zone ........................... 58 CHAP-Challenge .................................. 59 NAS-Port-Type ................................... 60 Port-Limit ...................................... 61 Login-LAT-Port .................................. 62 Table of Attributes ............................. 63 6. IANA 注意事项 .......................................... 64 6.1 6.2 术语定义 ........................................ 64 推荐的注册策略 .................................. 65 7. 举例 .................................................. 66 7.1 7.2 7.3 用户 Telnet 到指定主机上 .......................... 66 用户使用 CHAP 认证方式认证 ........................ 67 用户使用挑战-回应卡 ............................. 68 8. 安全事项 .............................................. 71 9. 更新记录 .............................................. 71 10. 参考文献 .............................................. 73 11. 致谢 .................................................. 74 12. 13. 作者地址 .............................................. 75 14. 版权声明 .............................................. 76 AAA 工作组主席地址 ..................................... 74
1. 简介 本文档废弃了 RFC 2138 [1]。它与 RFC 2138 之间的差别可以在附录“更新记 录”中找到。 要经营为众多的用户提供的串口线路和 modem 池,这会带来巨大的管理支持方面的需 求。由于 modem 池是通向外部的链路,因此它对安全、认证、计费都提出了很高的要求。 可以通过维护一个用户数据库来实现该需求,该数据库包含了认证(验证用户的名字和密码) 以及为用户提供的服务类型的详细的配置信息(如 SLIP、PPP、telnet 和 rlogin 等)。 RADIUS 协议的主要特性如下: 客户/服务器模式 网络接入服务器(NAS)是 RADIUS 的客户端。客户端负责将用户信息传递给指定的 R ADIUS 服务器,然后处理 RADIUS 服务器的回应。 RADIUS 服务器负责接收用户的连接请求,认证该用户,然后给客户端返回能够给用 户提供服务的所有必要的配置信息。 RADIUS 服务器可以作为其它 RADIUS 服务器或者其他类型的认证服务器的代理客 户端。 网络安全 客户端与 RADIUS 服务器之间的交互是通过共享密钥来进行相互认证的,共享密钥不 会通过网络传送。另外,为了减少在不安全的网络中侦听到用户密码的可能性,在客户端和 RADIUS 服务器之间传送的密码都是加密的。 弹性的认证机制 RADIUS 服务器能够支持多种认证用户的方式,如果用户提供了用户名和用户 密码 的明文,RADIUS 协议能够支持 PPP PAP 或者 CHAP、UNIX login 以及其它的认证 方式。 协议扩充性 所有的交互报文由多个不同长度的 Attribute-Length-Value 三元组组成,新属性值 的加入不会破坏到协议的原有实现。
1.1. 描述文档的约定 本文中的关键词"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 以及"OPTION NOT", AL"的参见 BCP 14 [2]中的描述。这些关键词意义与其是否大写无关。 如果一种实现没有满足本协议中的一个或者多个 MUST 或者 MUST NOT 要求,那么该 实现和本协议是不兼容的;如果一个实现满足了本协议中所有的 MUST、MUST NOT、S HOULD 和 SHOULD NOT 要求,那么该实现和本协议是无条件兼容;如果该实现满足本 协议所有的 MUST 和 MUST NOT 要求,但没有满足所有的 SHOULD 和 SHOULD NOT 要求,那么该实现和本协议是有条件兼容。 不支持某个特定服务的 NAS 一定不要(MUST NOT)支持该服务的 RADIUS 属性, 例如:不能提供 ARAP 服务的 NAS 一定不要(MUST NOT)支持 ARAP 服务的 RADIUS 属性,对于授权不支持的服务的接入成功回应报文,NAS 必须将之做为接入拒绝回应报文 一样处理。 1.2. 术语 本文使用了以下的术语: 服务 NAS 为拨入用户提供的某种服务,如:PPP 或者 Telnet。 会话 NAS 为拨入用户提供的每一个服务都会建立一个会话。第一次开始提供 服务做为会话的开始,服务终止做为会话的结束。如果 NAS 支持的话,一个用户可以有多 个并行或者串行的会话。 静默丢弃 应用程序不对包进行任何处理就直接丢弃。应用程序应该(SHOULD)有提供 记录错误的能力,其中包括被静默丢弃的包的内容,而且应用程序应该(SHOULD)在一 个统计计数器中记录下该事件。
2. 操作 当一个客户端被配置成采用 RADIUS 协议时,客户端的任何用户提交认证信息给客 户端。当用户想输入他们的用户名和密码时,客户端可以给出定制化的登陆提示信息。或者, 用户可以使用一种如 PPP 协议的链路协议,这些协议有能够携带这些信息的认证报文。 一旦客户端获得这些信息,可能会选择使用 RADIUS 协议进行认证,为了这样做,客 户端生成一个包含用户名,用户密码,客户端的 ID 号,以及用户接入的端口号 ID 属性的 接入请求报文。当提供用户密码时,用户密码都被用 MD5 算法隐藏起来。 通过网络将接入请求报文提交给 RADIUS 服务器,如果在一定长的时间内没有回应,请 求报文将被重复发送几次。如果主服务器一旦宕机(即:死机)或者不可达,客户端也可将请 求报文转发给备用的一个或者多个服务器。在多次重试都发现主服务器失败,备用服务器可 以被启用,当然也可以使用循环(round-robin)的方式。 重试和放弃算法是目前正在研究的一个课题,在本文中就不再赘述了。 一旦 RADIUS 服务器接收到请求报文,服务器将验证发送请求报文的客户端的有效性, 一个在 RADIUS 服务器中没有共享密钥的客户端请求必须(MUST)被静默丢弃。如果客 户端是有效的,RADIUS 从用户数据库中查找是否有和请求匹配的用户。数据库中的用户 记录中包含了一系列必须满足的允许接入用户的要求。这些要求始终包含密码,但也可能包 含用户允许被接入的特定客户端和端口号。 RADIUS 服务器为了满足请求也可以(MAY)向其他服务器发起请求。在这种情况 下,它是做为客户端的。 如果有任何 Proxy-State 属性在接入请求报文中出现,这些属性必须(MUST)原 封不动地按顺序拷贝到回应报文中。其它属性可以被置于 Proxy-State 属性的前面,后面, 甚至中间。 如果任何条件没有被满足,RADIUS 服务器将发送接入拒绝回应报文以表明用户的请求 是无效的。如果需要的话,服务器可以(MAY)在接入拒绝回应报文中包含一个文本信息, 这个信息可以(MAY)被客户端显示给用户。除了 Proxy-State 属性外,其它属性不能出 现在接入拒绝回应报文中。 如果所有的条件都被满足,而 RADIUS 服务器想要发送一个用户必须(must)回应的 挑战,RADIUS 服务器将发送一个接入挑战报文,该报文可以(MAY)包含一条客户端显 示给用户的文本信息,这个信息提示用户对挑战做出回应。该报文也可以(MAY)包含一 个 State 属性。
如果客户端接收到一个接入挑战报文,并且支持挑战/回应认证方式,如果有的话,客户 端可以给用户提示文本信息,提示用户回应。然后客户端使用新的请求 ID 重新提交最初的 接入请求报文,并且携带上被回应替换的 User-Password 属性(被加密的),并且包含从 接入挑战报文中获得的 State 属性,如果有的话,State 属性在请求报文中只应该(SHO ULD)出现零次或者 1 次。对于新的接入请求报文,服务器可能回应接入成功回应报文, 接入拒绝回应报文或者接入挑战报文。 如果所有的条件都满足,一系列的用户配置信息将被放入到接入成功回应报文中,这些 值包含了服务类型(如:SLIP,PPP 或者 Login User)和提供服务所有必需的值。对于 S LIP 和 PPP 服务来说,可能包含 IP 地址,子网掩码,MTU,想要的压缩算法,想要的报文 过滤标识符。对于字符模式的用户,可能包含想要的协议和主机。 2.1. 挑战/回应 在挑战/回应认证方式下,给用户下发一个不可预测的数字,挑战用户加密该数字, 然后传回结果,能够被认证的用户往往配备了特别的设备,如能够很容易计算出正确回应的 智能卡或软件。不能被认证的用户,往往缺乏合适的设备或者软件,并且也缺少必要的密钥 而不能仿造出设备或者软件,而只能靠猜测来回应。 接入挑战报文通常携带有一个需要显示给用户的挑战字符串,该挑战字符串包含在 Reply-Message 属性中,如一个永远不可能重复的数字。通常,该数字是从外部服务器获 得,这个服务器知道认证用户的认证类型,因此可以根据合适的基数和长度选择一个随机或 者不可重复伪随机数。 然后用户将这个挑战字输入到能够计算出回应的设备(或者软件)中,然后将计算出的 回应传到客户端中,客户端将之通过第二个接入请求报文转发给 RADIUS 服务器,如果该 回应和服务器想要的回应相匹配,RADIUS 服务器就返回一个接入成功回应报文,否则, 就返回一个接入拒绝回应报文。 例如:NAS 给 RADIUS 服务器发送了一个携带 NAS-Identifier,NAS-Port,User-N ame 和 User-Password(可能只是一个固定字符串"challenge"或者不携)属性的接入请 求报文,服务器回应一个携带 State 和 Reply-Message 属性的接入挑战报文,Reply-Me ssage 属性包含字符串"Challenge 12345678, enter your response at the prom pt",这个字符串由 NAS 上显示,NAS 接收到回应,向服务器发送一个新的携带 NAS-Id entifier,NAS-Port,User-Name,User-Password(正是用户输入的用户密码,已经 被加密)以及被接入挑战报文带来的 State 属性的接入请求报文,服务器判断回应是否和 想要的回应相匹配,然后返回接入成功回应报文或者接入拒绝回应报文。或者甚至再发送一 个接入挑战报文。
2.2. 使用 PAP 和 CHAP 互操作 对于 PAP 认证方式,NAS 获得 PAP ID 和密码,然后将它们做为接入请求报文中 的 User-Name 和 User-Password 属性发送出去。NAS 可以(MAY)包含值为 Framed -User 的 Service-Type 属性和值为 PPP 的 Framed-Protocol 属性,以提示 RADIUS 服 务器用户需要 PPP 服务。 对于 CHAP 认证方式,NAS 生成一个随机挑战字(16 个字节比较合适)并发送给 用户,用户回应一个携带 CHAP ID 和 CHAP 用户名的 CHAP 回应。NAS 然后向 RADIU S 服务器发送一个接入请求报文,该请求报文将 CHAP 用户名做为 User-Name 属性,C HAP ID 和 CHAP 回应做为 CHAP-Password 属性。随机挑战字可以包含在 CHAP- Challenge 属性中,或者如果是 16 个字节长度的话,它可以放在接入请求报文的 Req uest Authenticator 域中。NAS 可以(MAY)包含值为 Framed-User 的 Service-T ype 属性和值为 PPP 的 Framed-Protocol 属性,以提示 RADIUS 服务器用户需要 PPP 服 务。 RADIUS 根据 User-Name 属性查找到用户密码,对 CHAP ID 字节,密码和 CHA P 挑战字(如果 CHAP-Challenge 属性存在,从该属性取值,否则从 Request Authenti cator 域取值)进行 MD5 加密获得挑战字,然后将加密结果和 CHAP-Password 属性比较, 如果匹配,服务器发送回接入成功回应报文,否则发送回接入拒绝回应报文。 如果 RADIUS 服务器不能完成请求的认证过程,必须(MUST)返回接入拒绝回应 报文,例如:CHAP 认证方式需要用户的密码在服务端是可以明文存放的,因为它需要加密 CHAP 挑战字然后同 CHAP 回应比较,如果在服务端不能获取明文的用户密码,服务器必 须(MUST)给客户端发送接入拒绝回应报文。 2.3. 代理 在代理 RADIUS 下,一个 RADIUS 服务器从 RADIUS 客户端(如 NAS)接到一 个认证(或计费)请求时,将该请求转发给远程 RADIUS 服务器,接收到远程服务器的回 应以后,然后将该回应发送回客户端。代理机制反映了本地管理策略的变化。代理 RADIU S 的常用的用途是漫游,漫游允许两个或者更多的管理实体允许彼此的用户在另一个实体网 络中拨号登陆。 NAS 向“转发服务器”发送 RADIUS 接入请求报文,该服务器将报文转发到“远程 服务器”,远程服务器发送回应报文(接入成功回应报文,接入拒绝回应报文或者接入挑战 报文)给转发服务器,转发服务再将报文发送回 NAS。为方便 RADIUS 代理操作,User- Name 属性可以(MAY)包含一个网络接入标识[8]。哪个远程服务器将接收到转发的报文 应该(SHOULD)取决于认证“域”的选择,认证域可以(MAY)是网络接入标识(一个命
分享到:
收藏