RFC2865在用户服务中的远程身份验证拨号(RADIUS)

更新时间:2024-01-09 20:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

组织:中国互动出版网(http://www.china-pub.com/)

RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:Emook@china-pub.com

( 会员名:oscian oscian@yeah.com oscian@163.com ) 译文发布时间:2002-6-21

版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。

Network Working Group R. Droms Request for Comments: 2242 Bucknell University Category: Standards Track K. Fong Novell November 1997

远程拨入用户认证服务(RADIUS)

(Remote Authentication Dial In User Service (RADIUS))

写在翻译文档前的说明

本翻译文档中的所有“字节”都指的是八位二进制数。

本文档用到英文缩略语的中文说明

NAS UTC

网络接入服务器 通用协调时间

本备忘录的状态

本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建

议以得到改进。请参考最新版的“Internet正式协议标准” (STD1)来获得本协议的标准化程度和状态。本备忘录的发布不受任何限制。

版权声明

Copyright (C) The Internet Society (2000) 。

IESG提示

这个协议被广泛的实现和使用。试验已经证明在一个大规模的系统中使用时,它会降低

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

性能和丢失数据,部分的原因是它没有提供阻塞控制的协议,这篇文档的阅读者或许会发现跟踪Internet工程任务组AAA工程小组得工程进程师有意义的,因为他们可能开发一种能更好的应用于大范围和阻塞控制情况的后续协议。

摘要

本文档描述了一种在希望对它的连接进行认证的网络接入服务器与共享认证服务器之间传送认证、授权和配置信息的一种协议。

应用提示

这篇备忘录说明的是RADIUS协议。早期的RADIUS配置是使用UDP端口,端口号是1645,它是与数据量度(datametrics)服务冲突。RADIUS正式分配的端口号是1812。

目录

写在翻译文档前的说明 ........................................................................................................... 1

本文档用到英文缩略语的中文说明 ....................................................................................... 1 本备忘录的状态 ....................................................................................................................... 1 IESG提示 ................................................................................................................................. 1 摘要........................................................................................................................................... 2 应用提示 ................................................................................................................................... 2 目录........................................................................................................................................... 2 内容........................................................................................................................................... 4

1. 介绍 ............................................................................................................................. 4

1.1要求术语的说明 ................................................................................................ 5 1.2 术语 ................................................................................................................... 5 2. 运行 ............................................................................................................................. 5

2.1盘问/响应 ........................................................................................................ 6 2.2 用不加密验证和加密验证配合动作 ................................................................ 7 2.3 代理 ................................................................................................................... 8 2.4 为什么使用UDP .............................................................................................. 9 2.5 中继提示 ......................................................................................................... 10 2.6 保持激活状态应该考虑的损害 ..................................................................... 10 3. 包的格式 ................................................................................................................... 10

编码 ......................................................................................................................... 11 标识符 ..................................................................................................................... 11 长度 ......................................................................................................................... 12 鉴别码 ..................................................................................................................... 12 管理标记 ................................................................................................................. 12 4.数据包的类型 ............................................................................................................. 13

4.1 接入请求 ......................................................................................................... 13

2

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

4.2 接入允许 ......................................................................................................... 14 4.3 接入拒绝 ......................................................................................................... 15 4.4 接入盘问 ......................................................................................................... 16 5. 属性 ........................................................................................................................... 18

5.1 用户名 ............................................................................................................. 20 5.2 用户密码 ......................................................................................................... 21 5.3 CHAP密码 ..................................................................................................... 22 5.4 网络接口服务器IP地址 ............................................................................... 23 5.5 NAS端口 ......................................................................................................... 24 5.6 服务类型 .......................................................................................................... 25 5.7 帧协议 .............................................................................................................. 26 5.8 IP地址配置 ...................................................................................................... 27 5.9 IP网络掩码配置 .............................................................................................. 28 5.10路由方法配置 ................................................................................................. 29 5.11 筛选器编号 .................................................................................................... 29 5.12 MTU配置 ....................................................................................................... 30 5.13压缩协议配置 ................................................................................................. 31 5.14 登录IP主机 .................................................................................................. 32 5.15 登录服务 ........................................................................................................ 33 5.16 登录TCP端口 .............................................................................................. 34 5.17 未分配 ............................................................................................................ 35 5.18 回复消息 ........................................................................................................ 35 5.19 回叫号码 ........................................................................................................ 36 5.20 回叫Id ........................................................................................................... 36 5.21 未分配 ............................................................................................................ 37 5.22路由配置 ......................................................................................................... 37 5.23 IPX网络配置 ................................................................................................. 38 5.24 状态 ................................................................................................................ 39 5.25 类别 ................................................................................................................ 40 5.26 供应商特性 .................................................................................................... 41 5.27 会话超时 ........................................................................................................ 42 5.28 空闲超时 ........................................................................................................ 43 5.29 终止动作 ........................................................................................................ 43 5.30 拨出号码 ........................................................................................................ 44 5.31 呼叫站ID ...................................................................................................... 45 5.32 NAS标识符 .................................................................................................... 46 5.33 代理状态 ........................................................................................................ 47 5.34登录LAT服务 ............................................................................................... 48 5.35 登录LAT节点 .............................................................................................. 49 5.36 登录LAT组 .................................................................................................. 49 5.37 配置AppleTalk连接 ..................................................................................... 50 5.38 配置AppleTalk网络 ..................................................................................... 51 5.39 配置AppleTalk区域 ..................................................................................... 52 5.40 CHAP盘问 ..................................................................................................... 53

3

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.41 NAS端口类型 ................................................................................................ 54 5.42 端口限制 ........................................................................................................ 55 5.43 登录LAT端口 ............................................................................................. 56 5.44 属性表 ............................................................................................................ 57 6. IANA考虑 .................................................................................................................. 58

6.1 术语定义 .......................................................................................................... 58 6.2 推荐登记政策 .................................................................................................. 58 7. 例子 ............................................................................................................................ 59

7.1 用户远程登录到特定主机 .............................................................................. 59 7.2 用CHAP配置用户认证 ................................................................................. 60 7.3 拥有盘问响应插件的用户 .............................................................................. 61 8. 安全考虑 .................................................................................................................... 63 9. 更改记录 .................................................................................................................... 64 10. 参考资料 .................................................................................................................. 64 11. 致谢 .......................................................................................................................... 65 12. 主席地址 .................................................................................................................. 65 13. 作者地址 .................................................................................................................. 66 14. 版权陈述 .................................................................................................................. 67

内容 1. 介绍

这篇文档废除了RFC2138[1]。这篇文档对RFC2138的修改可以在“更改记录(Chang Log)”附录中找到。

管理用户大量分散的串行线(serial line)或调制池(modem pools)用户会产生一种明显的管理支持需求。既然调制池(modem pools)已被解释为一种到达外部世界的连接,则他们需要在安全、授权和计费方面给予认真的关注,通过管理一个用户数据库,可以把这种关注良好的体现出来,此数据库兼顾了认证(验证用户名和密码)和配置信息细节——交付给用户的服务类型(如:串行线路接口协议(SLIP),端对端协议(PPP),远程连接的标准协议(Telnet),远程登录(rLogin))。

客户/服务模式(Client/Server)

网络接入服务器(Network Access Server)是作为RADIUS的客户端运作的。这个客户端负责将用户信息传递给指定的RADIUS服务器,并负责执行返回的响应。 RADIUS 服务器负责接收用户的连接请求,鉴别用户,并为客户端返回所有为用户提供服务所必须的配置信息。

一个RADIUS服务器可以为其他的RADIUS Server或其他种类认证服务器担当代理。 网络安全 (Network Security)

客户端和RADIUS服务器之间的事务是通过使用一种从来不会在网上传输的共享机密进行鉴别的。另外,在客户端和RADIUS服务器之间的任何用户密码都是被加密后传输的,

4

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

这是为了避免某些人在不安全的网络上监听获取用户密码的可能性。 灵活的认证机制 (Flexible Authentication Mechanisms)

RADIUS服务器能支持多种认证用户的方法。当用户提供了用户名和原始密码后,RADIUS服务器可以支持点对点的PAP认证(PPP PAP)、点对点的CHAP认证(PPP CHAP)、UNIX的登录操作(UNIX Login)、和其他认证机制。

扩展协议(Extensible Protocol)

所有事务由变长的属性、长度和值,这样的三元组组成。新属性的值可以在不中断已存在协议执行的前提下进行添加。

1.1要求术语的说明

本文中的关键字“必须”,“必须不”,“要求的”,“应该”,“不应该”,“会”,“不会”,“建议”,“或许”,“可选的”在这篇文档中的解释是和BCP 14 [2]中描述的意思是一样。而且不管它们是否为大写,它们所表述的意思都是一样的。

如果一项操作对它执行的协议不能满足一个或多个必须条件或满足了不可被满足的条件,则此项操作不会被执行。一项操作对它要执行的协议满足了所有“必须”,“必须不”,“应该”,“不应该”的必要条件,它被称为“无条件服从”;一项操作对它要执行的协议满足了所有“必须”,“必须不”必要条件,但没有完全达到“会”,“不会”条件,则被称为“有条件服从”。

一个不执行给定服务的网络接入服务器(Network Access Server)一定没有具备执行那项服务的RADIUS属性。例如,一个不能提供Apple Talk 远程接入协议(ARAP)服务的NAS服务器一定没有满足执行ARAP服务RADIUS属性。一个NAS 服务器一定会把一项在接入允许数据包中的不可实现的指定服务看作是收到了接入拒绝数据包。

1.2 术语

这篇文档将会常用到以下术语: 服务

网络接入服务器对拨号接入的用户提供的一种服务。例如,点对点传输,远程登录。 会话

每一个由NAS服务器提供的给拨号用户的服务由会话组成,它的起始被定义为服务首 次被提供的那点,会话结束被定义为服务结束的那一点。在NAS服务器支持的前提下,用户可以有多个并行或串行的会话。 简单丢弃

这意味着执行操作没有做进一步处理的能力,只是将数据包简单的丢弃。该执行应该提 供记录错误的能力,如丢弃包的内容;并在统计处记录下该事件。

2. 运行

在一个客户端被设置使用RADIUS协议后,任何使用这个终端的用户都需要向这个客户端提供认证信息。此信息或许以一种定制化的提示信息出现,用户需要输入他们的用户名

5

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

和密码。或许也可以选择一种配置连接协议,比如像点对点的传输协议(Point-to-Point Protocol),通过认证包来传递这种认证信息。

一旦客户端收到此类信息,它会选择使用RADIUS协议进行认证。之后,客户端创建一个“接入请求”数据包,此包包含了诸如像用户名、用户密码、客户机ID、用户正在访问的端口编号。当密码出现时,有一种基于RSA实验室的信息分类算法(Message Digest Algorithm)MD5[3]的方法对其加密。

“接入请求”是通过网络提交给RADIUS服务器。如果在一定长度的时间里,服务器没有返回响应信息,请求会被重复传输许多次。在主服务器故障或不能连接到的情况下,客户端也可以继续向一个或多个后备服务器发出请求。后备服务器在多次尝试连接主服务器失败后,或在一轮循环方式结束后被选择连接。重试和回退算法是当前研究的课题,本文不对它做详细说明。

一旦RADIUS服务器收到请求信息,它会对传输信息的客户端进行验证。一个来自没有和RADIUS服务器具有共享机密的客户端请求,该数据包会被简单的丢弃。如果客户端是合法的,RADIUS服务器会查询用户数据库找到这个用户,把查询到的用户名同请求中的进行比较。数据库中的用户记录包含了一组对用户来说必须满足的用户接入条件,它不只是包含用户的密码验证信息,而且也可以指定允许接入的客户端和端口号。

在为了满足某个请求时,RADIUS服务器也可以作为客户端,向其他服务器传输请求。 如果任何“代理状态(Proxy-State)”属性出现在接入请求数据包中,它们都必须在不做任何更改和保持原顺序的前提下拷贝到响应数据包中。其他属性可以放到“代理状态(Proxy-State)”属性的前面、后面甚至是中间。

如果有任何条件没有得到满足,RADIUS服务器会发出一个“接入拒绝(Access-Reject)”响应,表示该用户请求是无效的。如果要求的话,RADIUS服务器可以在接入拒绝响应中包含文本消息,此文本消息可以通过客户端显示给用户。除了代理状态(Proxy-State)属性外没有任何其他属性允许存在于接入拒绝(Access-Reject)响应中。

如果所有的条件被满足而且服务器会传输一个用户必须响应的盘问,因此RADIUS服务器会传输一个“接入盘问(Access Challenge)”响应。它或许会包含一个文本信息,可以在用户端向用户显示的响应提示,并可以包含一种状态属性。

如果客户端收到接入盘问而且支持“盘问/响应(challenge/respond)”,如果有的话,它会向用户显示文本信息,并提示用户做出响应。然后,客户端再次提交一个包含新请求号的源接入请求,并用加密响应代替用户密码属性,如果有的话,还包括来自接入盘问的状态属性。状态属性应该仅有0或1两个常数出现在一个请求中。服务器可以用“接入接受(Access-Accept)”、“接入拒绝(Access-Reject)”或“接入盘问(Access-Challenge)”对这个新接入请求进行响应。

如果所有的条件都被满足,用户的配置值表被置于接入允许响应中。这些值包含了服务类型(如:串行线路接口协议(SLIP),点对点传输协议(PPP),登录用户(Login User))和交付要求服务的所有必须值。对串行线路接口协议(SLIP)和点对点传输协议(PPP)来说,这些值也许包括诸如IP地址、子网掩码、最大传输单元(MTU),要求压缩率和指定的包过滤标志。对字符模式的用户,这些值或许还包括请求的协议和主机。

2.1盘问/响应

在盘问响应认证过程中,用户被给予一个不可预知的数字,并要求对此数字加密后返回

6

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

结果。已授权用户装备有特殊的设备,如智能卡或软件,它们能不费力的计算出正确响应结果。没有授权的用户仅仅只能对响应进行猜测,因为他们缺少适当的设备或软件和必需的密钥知识来模拟此种设备或软件。

接入盘问报文典型地包含一个回复信息,此信息中包括一个可以显示给用户的盘问,例如一个不可能被重复的数值。典型的情况是来自扩展服务器,扩展服务器是知道那一类鉴别码对应这个已经被授权的用户,因此能选择一个适当基数和长度的随机的或不重复的伪随机数。

用户然后把这个盘问(不重复的数值)输入到他的设备或软件中,并计算出一个响应值,用户将此值输入到客户端,由客户端通过第二个接入请求数据包把它提交给RADIUS服务器。如果响应报文是与RADIUS服务器预期的响应报文匹配,则服务器会回送一个接入允许数据包,否则是回送接入拒绝数据包。

例如,网络接入服务器传输一个接入请求数据包给RADIUS服务器,包中包含网络接入服务器的标识,网络接入服务器的端口号,用户名,用户密码(此密码或许是一个像“challenge”似的固定字符串,或者是被忽略的)。服务器送回一个具有状态和回复消息的接入盘问数据包,其中回复消息包含有 “challenge 12345678,在提示处输入你的响应值”信息,这几行信息可由接入服务器显示给用户。网络接入服务器(NAS)为这个响应提供提示信息,传输一个新的接入请求给服务器(用新的包编号),包括NAS标识、NAS端口号、用户名、用户密码(刚才由用户输入的响应值,现在已经加密),和来自服务器端接入盘问中相同的状态属性。根据判断响应值是否与要求的值匹配,服务器送回一个接入允许或接入拒绝数据包,或者甚至会传输另一个接入盘问数据包。

2.2 用不加密验证和加密验证配合动作

对口令验证协议(PAP),NAS采取了PAP ID和密码,在一个接入请求包中将它们作为用户名和用户密码传输出去。NAS可以包含服务类型属性Attribute Service-Type= Framed-User,和Framed-Protocol=PPP作为一个提示告诉RADIUS服务器PPP服务是所希望的服务。

对质询握手身份认证协议(CHAP),NAS创建一个随机质询(最好是是16个字节),然后把它传输给用户,用户返回一个带有CHAP ID和CHAP用户名的CHAP响应。NAS随后传输一个请求接入数据包给RADIUS服务器,该请求包中,CHAP用户名称替代了用户名(User-Name)、CHAP ID和加密的响应值代替CHAP密码(CHAP-Password)(属性3 )。随机质询或者被包含在CHAP盘问(CHAP-Challenge)属性中,或者如果它是16个字节长,它可被放到接入请求数据包中的请求鉴别码(Request Authenticator)域中。NAS可以包含Attribute Service-Type=Framed-User,和Framed-Protocol=PPP作为一个提示告诉RADIUS服务器PPP服务是所希望的服务。

RADIUS服务器根据用户名检查对应的密码,加密盘问,用MD5算法对CHAP ID字节,前面找到的密码和CHAP盘问(如果在CHAP盘问属性存在则来自与此,否则来自请求认证者),把这个结果与CHAP密码进行比较。如果它们是相匹配,服务器送回一个接入允许数据包,否则送回一个接入拒绝数据包。

如果RADIUS服务器不能执行被请求的认证,它一定返回一个接入拒绝数据包。例如,CHAP要求以明文方式给服务器传输密码,以便它能加密CHAP盘问并与CHAP响应相比较。如果不是以明文传输密码,服务器一定会给客户端传输一个接入拒绝包。

7

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

2.3 代理

对RADIUS代理服务器来说,一个RADIUS服务器在收到一个来自RADIUS客户端(例如NAS服务器)的验证请求(或者记账请求)后,向一个远程的RADIUS服务器提交该请求,收到来自远程服务器的回复后,将这个回复传输给客户,这个回复可能带有反映本地管理策略的变化。使用RADIUS代理服务器通常是为了漫游。漫游功能使两个或更多的管理实体允许每一个用户为某项服务而拨入到任一个实体网络中。 NAS传输RADIUS接入请求给“转送服务器(forwarding server)”,转送服务器把这个请求转送给“远程服务器(remote server)”。远程服务器送回一个响应(接入允许、接入拒绝、接入质询)给转送服务器,转送服务器再把这个响应返回给NAS。对于RADIUS代理操作,用户名属性可以包含一个网络接口标识符[8]。哪一个服务器应该接收转送请求是根据认证域确定。认证域可以是网络接口标识符(指定的域)的一部分。或者,哪个服务器接收转送请求的选择可以基于任何一种转送服务器指定使用的标准,例如“调用站编号(Called-Station Id)”。

一个RADIUS服务器可以同时作为转送服务器和远程服务器运行。在某些域中作为一个转发服务器,在其他域中作为一个远程服务器。一个转发服务器可以作为任何数量远程服务器的转发者。一个远程服务器可以有任意数量的转发服务器向它转发,也能向任意数量域提供认证。一个转发服务器可以向另一个转发服务器转发,从而生成一个代理链,应当注意避免循环引用。

下面的过程解释了一个代理服务器在一个NAS服务器、转发服务器和远程服务器之间的通信。

1.NAS向一个转发服务器发出接入请求。

2.转发服务器把这个请求转发给一个远程服务器。

3.远程服务器给转发服务器送回接入允许、接入拒绝或接入盘问。在这个例子中,服

务器送回的是接入允许。

4.转发服务器将接入允许传输给NAS。

转发服务器必须把已经存在于数据包中的任何代理状态属性当作不可见的数据。它的操作禁止依靠被前面服务器添加到代理状态属性中的内容 如果收到来自客户端的请求中有任何代理状态属性,在给客户端的回复中,转发服务器必须在给客户端的回复中包括这些代理状态属性。当转发服务器转发这个请求时,它可以把代理状态属性包含在其中,也可以在已转发的请求中忽略代理状态属性。如果转发服务器在转发的接入请求中忽略了代理状态属性,它必须在响应返回给用户之前把这些代理状态属性添加到该响应中。

现在我们更为详细地说明每一步。

1.NAS传输它的接入请求给转发服务器。如果用户密码存在,转发服务器会用与NAS共有的密钥对用户密码进行解密。如果在数据包中有一个CHAP密码属性存在,没有CHAP盘问属性存在,转发服务器必须保证请求鉴别码完整的情况下,或者把它拷贝到CHAP盘问属性中。

转发服务器可以向数据包添加一个代理状态属性(只能添加一个)。如果它添加了代理状态,该代理状态只能出现在数据包中任何其他代理状态属性之后。转发服务器禁止修改任何其他已经存在于数据包中的代理状态属性(转发服务器可以选择不转发它们,但一定不能对它们修改)。转发服务器禁止改变包括代理状态在内的同种类型任何属性的顺序。

2.如果用户密码存在的话,转发服务器用和远程服务器共有的密钥对用户密码进行加

8

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

密。它还会根据要求设置标识,向远程服务器转发接入请求。

3.远程服务器(如果是最终目标服务器)会使用用户密码、CHAP密码或者是将来扩 展时指定的一些方法验证用户的合法性,然后返回接入允许、接入拒绝或者接入盘问给转发 服务器。对于这个例子,远程服务器传输的是一个接入允许数据包,远程服务器必须按照原 有的顺序而且不做任何修改的情况下,把所有的代理状态属性从接入请求中拷贝到响应数据 包中。

4.转发服务器使用它与远程服务器共有的密钥对响应鉴别码(Response Authenticator) 进行验证,如果验证失败,它会简单的将数据包丢弃。如果验证通过,转发服务器去掉最后 的代理状态(如果数据包内它附加过一个),使用它与NAS共有的密钥签发响应鉴别码,恢 复标识使它与NAS传输的源请求标识匹配,然后传输接入允许给NAS。

转发服务器可能修改属性以执行本地策略。关于这种策略的讨论是在这篇文档范围之 外,而且是受以下限制的。转发服务器禁止修改数据包中存在的代理状态、状态或类别属性。 转发服务器的实施者应该认真考虑什么样的值可以做为服务类型(Service-Type)接受。 对在代理请求允许中通过NAS提示的服务种类或管理的服务种类一起传输服务种类的结果 要给与认真的考虑,而且实施者希望可以提供一些机制阻止那些以上提到的这些种类,或者 是其他的服务种类,或者是其他的属性。关于这些机制的讨论不是在本文档范围之内的。

2.4 为什么使用UDP

一个经常问到的问题是为什么使用UDP而不是TCP作为传输协议。选择UDP是基于严格的技术上的原因。

这有许多必须被理解的论点。RADIUS是一个事务,基于几个具有有趣特点的协议。 1.如果向主验证服务器发出的请求失败,则必须查找备用服务器。

为了满足这个要求,考虑到向备用服务器传输请求,请求副本必须保留在传输层。 这意味着重发计时器仍然是需要的。

2.这个特别协议的计时要求与TCP所提供的有较大的不同。

在一种极端的情况下,RADIUS不做丢失数据的响应检查。用户愿意为完成验证而 等几秒钟。通常带有侵略性的TCP中继 (基于平均往返时间)是不需要的,TC确认P开销也 是不需要的。

在另一种极端情况下,用户不愿花几分钟等待验证。因此两分钟后,可靠的TCP数 据递送也是无效的。对备用服务器快速的使用能在用户放弃之前获得访问。 3. 协议的无状态特性简化了UDP的使用 服务器和客户机不停变化。系统重新启动,或单路供电。通常情况下,这不会产生问题, 但会导致出现超时和TCP连接中断检测,通过编写编码能够处理这类异常事件。无论如何 UDP完全消除了这类特殊处理以及其中的任何一部分。每一个服务器和客户端只需一次打开 他们UDP 传输,尔后可以使传输处于一种打开的状态,也许在网络上从始至终传输的是不 成功信息。

4. UDP简化了服务器的实现

在最早的RADIUS实现中,服务器是单线程的。这意味着只能有一个请求被接收、处理 和返回。随后发现在后台安全机制会占用实时时间(1秒或更多)的环境中这样做是难管理 的。服务器的请求队列会被填满,在每分钟内有成百上千的用户正在等待验证的环境中,请 求的轮换时间会长于用户所能忍受的等待时间,(尤其严重的是在数据库中的一次特殊的查 找,或者花在DNS上的时间大于30秒的情况)。显而易见的解决方法是多线程。用UDP解决

9

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

这一问题是很简单的。每一个请求得到一个单独的进程,通过一个简单的UDP数据包进行与 客户端原始通信,从而达到与客户端NAS直接响应的目的。

UDP并不是一副万能药。应当注意的是使用UDP需要一种内嵌于TCP的功能:使用UDP, 我们必须通过人工成功管理联系同一台服务器中继计时器,但我们并不需要花费同样的我们必须通过人工成功管理联系同一台服务器中继计时器,但我们并不需要花费同样的注意力给TCP提供的计时器。这是在这个协议中以很小的代价换来UDP诸多优点的惩罚.

没有TCP我们仍然可能使用着金属线连接的锡罐通信。但是对于这个特殊的协议,UDP 是一个更好的选择。

2.5 中继提示

如果RADIUS服务器和副RADIUS服务器拥有共享密钥,在向备用服务器转发数据包时用相同的ID和请求鉴别码是可行的,因为属性内容没有发生变化。用一个新的请求鉴别码向备用服务器传输也是可以的。

如果你改变了用户密码属性的内容(或者其他属性),你需要一个新的请求鉴别码,因此还需要一个新的ID。

如果NAS向一个与前一个服务器完全相同的服务器传输RADIUS请求,而且属性内容没有发生变化,你必须使用相同请求鉴别码、ID、和源端口号。若出现属性被修改,你必须使用新的请求鉴别码和ID。

NAS可以在所有的服务器中使用同一个ID,或者对每一个服务器使用单独的ID,这是根据使用者的要求决定。如果由于额外的请求,一个NAS需要多于256个ID,它可以使用额外的源端口号传输这些请求,并对每一个源端口ID进行跟踪。这样做,某一时刻对某一个服务器的额外请求,上限大约是16,000,000。

2.6 保持激活状态应该考虑的损害

一些应用者已经采取传输测试的RADIUS请求给服务器的方法,看服务器是否处于激活状态。这种方法是不可取得,因为它会增加额外的负荷,而且因为没有提供任何附加有用信息,所以损害可测量性。因为一个RADIUS请求是包含在一个单独的数据包中,在你送出ping 的这段时间里,你或许可以传输一个RADIUS请求,得到一个RADIUS响应得知RADIUS服务器处于激活状态。如果你没有要传输的RADIUS请求,就不必关心服务器是否处于激活状态,因为你没有使用到它。

如果你想监视你的RADIUS服务器,可以使用简单网络管理协议(SNMP),这是SNMP的指责所在。

3. 包的格式

一个完整的RADIUS数据包是被封装在UDP的数据域中[4],在那UDP目标端口域指定为1812 (十进制数)。

在应答数据包生成时,源端口号和目的端口号进行颠倒。

本备忘录是为RADIUS协议作评注的。RADIUS早期的配置中是使用的UDP的1645

10

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

端口号,它是与数据矩阵服务(datametrics)冲突。标准RADIUS端口号是1812。

以下是RADIUS数据格式的总结。域是从左向右传输的。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 编码 | 标识符 | 长度 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | 鉴别码 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性 ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

编码

编码域是一位字节,确定RADIUS数据包的类型。在接收到一个无效编码域的地数据包后,该数据包只是会被简单的丢弃。

RADIUS指定了如下编码:

1 接入请求(Access-Request) 2 接入允许(Access-Accept) 3 接入拒绝(Access-Reject)

4 记账请求(Accounting-Request) 5 记账回应(Accounting-Response) 11 接入询问(Access-Challenge)

12 服务器状态(Status-Server (experimental)) 13 客户机状态(Status-Client (experimental)) 255 保留(Reserved)

编码4和编码5在RADIUS记账文档[5]中描述。编码12和编码13为有可能出现的应用保留,在本文中不做过多的说明。

标识符

标识符域是一个字节,用于比较请求与回复。如果在一个很短的时间片段里,一个请求

11

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

有相同的客户源IP地址、源UDP端口号和标识符,RADIUS服务器会认为这是上一个重复的请求。

长度

长度域是两个字节。它指明了包括编码、标识符、长度、鉴别码和属性域在内的数据包的长度。在数据包长度以外的字节位必须以填充数对待,在接收时忽略它。如果包的长度比指定的短,则此包会被直接丢弃。最小的长度是20,最大的长度是4096。

鉴别码

鉴别码域是十六个字节。最重要的字节是被第一个传输的。这个值是被用于验证来自

RADIUS服务器的回复,和密码隐藏算法。 请求鉴别码

在接入请求数据包中,鉴别码值是一个十六个字节的随机二进制数,被称为请求鉴别码。在机密的整个生存周期中(如RADIUAS服务器和客户端共享的机密),这个值应该是不可预测的,并且是唯一的,因为具有相同密码的重复请求值,使黑客有机会用已截取的响应回复用户。因为同一机密可以被用在不同地理区域中的服务器的验证中,所以请求认证域应该具有全球和临时唯一性。

接入是请求数据包中的请求鉴别码值应该也是不可预测的,以免黑客蒙骗服务器,对一个可预测的将来的请求进行响应,然后以此响应为基础,对未来的接入请求伪装成那台服务器。

虽然如像RADIUS这样的协议是没有能力防卫通过实时活动监听攻击和窃取认证过的对话内容,但是唯一的不可预测的请求的存在很大范围内预防了对认证系统的攻击。

NAS和RADIUS共享机密。请求认证执行的共享机密是用单向MD5哈氏算法产生一个十六位的摘要值,此值同用户输入的密码进行异或,异或值放置在接入请求数据包中的用户密码属性域中。在属性单元中可以了解到更为详细关于用户密码的信息。 响应鉴别码

接入请求、接入拒绝和接入盘问数据包中鉴别码值叫做响应鉴别码,它包含了在一串字节流上的计算出的单向MD5散列,这些二进制数是由RADIUS数据包组成,以编码域开始,包括标识符,长度,来自接入请求数据包的请求鉴别码,和执行共享机密的响应属性。即 ResponseAuth =MD5 (Code+ID+Length+RequestAuth+Attributes+Secret) 其中 “+”表示连接。

管理标记

机密(在客户端和RADIUS服务器端共享的密码)应该至少和一个精选的密码一样宽

12

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

大和不可预测。密码长度至少应该在十六字节以上。宽大密码范围能有效提供对穷举搜寻攻击的防卫。机密禁止为空(长度为零),因为这会简化数据包的伪造。

RADIUS服务器必须使用RADIUS用户UDP数据包中的源IP地址来决定应该使用那一个共享机密,因此RADIUS请求是可以被代理的。

在使用转发代理时,当代理转发一个请求时,代理必须根据要转发的方向来更改每个数据包,代理可以添加一个代理状态属性(Proxy-State Attribute),而当代理转发一个响应时,如果它已经添加了一个代理状态属性,则必须把这个属性去除掉。代理状态属性总是在其他代理状态属性之后添加或去除,除此之外不存在任何关于属性在属性列表中位置设定。因为接入允许和接入拒绝数据包是对完整数据包的内容进行认证,所以代理状态属性的拆除会使包上的签字无效,所以代理不得不对数据包重新签发。

更多关于RADIUS代理应用的信息是在这篇文档讨论的范围之外的。

4.数据包的类型

RADIUS数据包的类型是由数据包编码域中的第一个字节中的编码域决定的。

4.1 接入请求 描述

接入请求是被用来传送给RADIUS服务器的,传送的信息被用来决定一个用户是否被允许接入一个特定的NAS和是否提供用户要求的特定服务器。一个希望对一个用户进行认证的操作必须传送一个编码域值为1的数据包。

一旦收到来自有效客户端的请求,服务器端就必须回复一个适当的数据包。

接入请求应当包含用户名属性,必须包含或者是一个NAS的IP地址属性,或者是一个NAS标识符属性(或者是两者)。

接入请求必须包含或者是用户密码,或者是CHAP密码,或者是一个状态值。接入请求禁止同时包含用户密码和CHAP密码。如果将来的扩展要求传送其他种类的验证信息,可用这些扩展的属性替代接入请求中的用户密码或CHAP密码。

接入请求应该包含一个NAS端口号属性或者是NAS端口类型属性或者是两者同时包含,除非被要求的接入类型不涉及端口,或者是NAS不在它的端口中不区分。

接入请求可以包含附加属性作为服务器的提示信息,但服务器不一定采纳提示信息。 在一个用户密码出现时,使用一种基于RSA实验室的(Message Digest Algorithm MD5 [3]的方法对它进行隐藏。

以下是对接入请求数据包格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 编码 | 标识符 | 长度 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | 请求鉴别码 |

13

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

| | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性...

+-+-+-+-+-+-+-+-+-+-+-+-+-

编码

1 用于接入请求。

标识符

无论什么时候属性域的内容发生变化,或者收到一个先前请求的有效回复,标识符域也必须随着变化。对中继来说,标识符域一定要保持不变。

请求鉴别码

请求鉴别码值必须在每次使用新标识符时随之改变。

属性值

属性域的长度是可变的,包含一个服务种类所必须的属性列表,和其他任何希望的可选属性。

4.2 接入允许 描述

接入允许数据包是由RADIUS服务器发送的,给开始交付服务的用户提供必需的详细的配置信息。如果一个收到的接入请求数据包中所有属性值都被接受,那么RADIUS操作必须发送一个编码域为2的数据包(接入允许)。

在收到一个接入允许数据包后,标识符域会被拿来与一个尚在审理中的接入请求数据包中的对应域进行比较。响应鉴别码域必须包含对审理中的接入请求的正确响应。不正确的数据包只会被直接丢弃。

以下是接入允许数据包格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 编码 | 标识符 | 长度 |

14

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | 响应鉴别码 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性 ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

编码

2 用于接入允许。

标识符

标识符域是引发此数据包的接入请求标识符域的拷贝。

响应鉴别码

响应鉴别码值是由接入请求值计算得来得,如前所述。

属性值

属性域的长度是可变的,可以包含从零到任意多的属性。

4.3 接入拒绝 描述

如果接收到的任何属性值是不可接受的,那么RADIUS服务器发送一个编码域为3的数据包(接入拒绝)。它可能包含一条和多于一条返回消息属性,此消息是文本信息,NAS可以把这些信息显示给用户。

以下是接入拒绝数据包格式的总结。域是从左到右传输的。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 编码 | 标识符 | 长度 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

15

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

| | | 响应鉴别码 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性 ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

编码

3用于接入拒绝。

标识符

标识符域是引发此数据包的接入请求标识符域的拷贝。

响应鉴别码

响应鉴别码值是由接入请求值计算得来得,如前所述。

属性

属性域的长度是可变的,可以包含从零到任意多的属性。

4.4 接入盘问 描述

如果RADIUS服务器想要传输一个盘问,来要求用户回复一个响应,那么RADIUS服务器必须通过传输一个代码域是11的数据包(接入盘问)响应用户的接入请求。

域属性可以有一个或多个返回消息属性,而可以有单个状态属性或者一个也没有。具体厂商(Vendor-Specific)、空闲超时(Idle-Timeout)、会话超时(Session-Timeout)和代理状态属性可以包含其中。这篇文档定义的其他属性是不允许出现在接入盘问中的。

在接收一个接入盘问数据包时,标识符域要与审理中的接入请求的标识符域进行对比。另外,响应鉴别码域必须包含对审理中的接入请求的正确响应。无效的数据包会被直接丢弃。

若NAS不支持盘问/响应,它必须把收到的接入盘问看作收到了接入拒绝。 若NAS支持盘问/响应,收到有效的接入盘问意味着NAS应该发送一个新的接入请求。如果有文本信息的话,NAS应该显示给用户,提示用户做出响应。它会接着发送一个原始

16

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

的接入请求,其中请求ID和请求鉴别码都是新的,用户密码属性被加密的用户响应所代替,如果有的话,还包括来自接入盘问的状态属性。出现在此接入请求的状态属性只能包含0或1两个常量值。

支持PAP的NAS可以发送回复消息给拨号端用户,并应用此客户端的PAP响应于新的接入请求数据包,好像此响应是用户此响应是用户早已输入的。如果NAS不支持,它必须把接入盘问看作为接入拒绝来对待。

以下是接入盘问数据包格式的总结。域是从左向右传输

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 编码 | 标识符 | 长度 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | 响应鉴别码 | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性 ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

编码

11 用于接入盘问

标识符

标识符域是引发此数据包的接入请求标识符域的拷贝。

响应鉴别码

响应鉴别码值是由接入请求值计算得来得,如前所述。

属性

属性域的长度是可变的,可以包含从零到多个属性。

17

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5. 属性

RADIUS属性在请求和回复中携带详细的认证、授权、信息和配置细节。 RADIUS数据包的长度域指示了属性列表的结束处。 一些属性可以被包含一次或多次。这样的结果是在特征细节和在每个特征描述中指定。在属性这一节的最后提供了一个总结性的表格。

如出现同一类型的多个属性,则这个同一类型多个属性的顺序必须在代理时保持不变。而不同类型的属性顺序是不需做到这一点。RADIUS服务器和客户端禁止在不同类型的属性间存在依赖关系。RADIUS服务器和客户端也禁止要求同一类型的属性是相邻的。 属性描述限制了属性可以存在于那几类数据包,而所有可用的数据包类仅限制在本文档已经定义的几类数据包中,即接入请求、接入允许、接入拒绝和接入盘问(编码为1、2、3和11)。其他文档定义的其他种类的数据包也可以使用这里描述的属性。要确定哪些属性允许在记账请求(Accounting-Request)和记账回应(Accounting-Response)数据包中使用,可以参考RADIUS记账文档 [5]。

就像这儿定义的数据包只允许某一些属性出现在其中,未来备忘录中定义的新的属性也应该指定新的属性可以出现在那些类型数据包中。 以下是属性格式的总结,域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 值 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

类型域是一个字节。更新的RADIUS类型域值是在最近的“已分配号码(Assigned Numbers )”RFC [6]中进行了说明。值192-223为实验用保留,值224-240为应用细节保留,值241-255保留,不应该被使用。

RADIUS服务器可以忽略不可辨识类型的属性。

RADIUS客户端可以忽略不可辨识类型的属性。 这个协定涉及以下值:

1 用户名 User-Name 2 用户密码 User-Password 3 CHAP密码 CHAP-Password 4 NAS IP地址 NAS-IP-Address 5 NAS端口 NAS-Port

6 服务类型 Service-Type 7 帧协议 Framed-Protocol

8 分帧IP地址配置 Framed-IP-Address 9 IP网络掩码配置 Framed-IP-Netmask 10 路由方法配置 Framed-Routing

18

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

11 筛选器标识 Filter-Id 12 最大传输单元配置 Framed-MTU

13 压缩协议配置 Framed-Compression 14 登录的主机IP 地址 Login-IP-Host 15 登录的服务 Login-Service 16 登录的TCP端口 Login-TCP-Port 17 未分配 (unassigned) 18 回复消息 Reply-Message 19 回叫电话号码 Callback-Number 20 回叫ID Callback-Id

21 未分配 (unassigned) 22 路由配置 Framed-Route

23 IPX网络数字配置 Framed-IPX-Network 24 状态 State 25 类别 Class

26 供应商细节 Vendor-Specific 27 会话时限 Session-Timeout 28 空闲时限 Idle-Timeout

29 终止动作 Termination-Action 30 用户拨打的电话号码 Called-Station-Id 31 用户打出的电话号码 Calling-Station-Id 32 网络接入服务器标识符 NAS-Identifier 33 代理状态 Proxy-State

34 登录的LAT服务 Login-LAT-Service 35 登录的LAT节点 Login-LAT-Node 36 登录的LAT组 Login-LAT-Group 37 AppleTalk链路配置 Framed-AppleTalk-Link

38 AppleTalk网络配置 Framed-AppleTalk-Network 39 AppleTalk区域配置 Framed-AppleTalk-Zone

40-59 为记账保留 (reserved for accounting) 60 CHAP盘问 CHAP-Challenge 61 网络接入服务器端口类型 NAS-Port-Type 62 端口数限制 Port-Limit

63 登录的LAT端口 Login-LAT-Port

长度

长度域是一个字节,它指定了包括类型、长度和值域在内的属性长度。如果在接收到的接入请求中属性的长度是无效的,应该发送一个接入拒绝数据包。如果在接收到的接入允许、接入拒绝和接入盘问中属性的长度是无效的,该数据包必须处理为接入拒绝,或者直接丢弃。

19

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

值域可以为零或者多个字节,包括属性的详细信息。 值域的格式和长度由域的类型和长度决定。

应当注意的是,在RADIUS协议中没有任何数据类型是以NUL(十六进制数的00)结尾。特别是RADIUS中文本类型和字符串类型不是以NUL结尾的。属性有表明长度的长度域,所以不需要使用终止符。文本包含UTF-8编码的ISO10646 [7]字符,字符和字符串包含二进制数值。服务器间和服务器与客户机间必须能处理已嵌入的NUL。在用C语言处理字符串时,RADIUS应用者应当注意不可使用strcpy( )函数。

值域的格式是五个数据类型中的一个。注意文本类型是字符串类型的一个子集。 文本 包含UTF-8编码的ISO 10646 [7]字符的1到253个字节。零长度文本禁止发

送,而是忽略整个属性。

字符串 包含二进制数值(值得范围是从十进制数的0到十进制数的255)的1到253

个字节。零长度字符串禁止发送,而是忽略整个属性。

地址 32位二进制数值,最重要的字节排第一字节。

整数 32位无符号的二进制数值,最重要的字节排第一字节。

时间 32位无符号的二进制数值,最重要的字节排第一字节。UTC 1970年1月1

日零时零分起。标准属性不使用这个数据类型,这个数据类型在这儿出现是因为在将来属性中有可能的使用到它。

5.1 用户名 描述

这个属性显示用户用来验证的姓名。如果存在的话,用户名必须通过接入请求数据包发送出去。

用户名也可以在接入允许数据包中发送,在这种情况下,客户端应该在会话中所有记账请求数据包中使用接入允许数据包中的用户名。如果接入允许包含服务类型(为Rlogin)和用户名属性,当执行Rlogin功能时,NAS可以使用已返回的用户名。 以下是用户名属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

1用于用户名

20

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

长度

大于或者等于3

字符串

字符串域是一个或多个字节。NAS可以限制用户名的最大长度,但是推荐处理能力至少因该是63个字节。

用户名形式可以是以下几种中的一个:

文本 仅包含UTF-8编码ISO 10646[7]字符。 网络接口标识符 网络接口标识符是在RFC2486中说明。

专用名称 一个用于公共关键认证系统的ASM.1形式的名字。

5.2 用户密码 描述

这个属性显示的是需要被验证的用户密码,或者是在接入盘问提示下的用户输入。它只能用在接入请求数据包中。

在传输时,密码是被隐藏起来的。首先在密码的末尾用nulls代替填补形成多个十六个字节的二进制数。单向MD5散列是通过一串字节流计算出的,该字节流由共享机密和跟随其后的请求鉴别码组成。这个值同密码的第一个16个字节段相异或,然后将异或结果放在用户密码属性字符串域中的第一组16个字节中。 如果密码长于16个字节,则第二次单向MD5散列对一串字节流进行计算,该字节流由共享机密和跟随其后的第一次异或结果组成。这个散列结果与密码的第二组16个字节段相异或,然后将异或结果放在用户密码属性字符串域中的第二组16个字节段中。 如果需要,这个计算过程可以重复。每一个异或结果被用于和共享机密一道生成下一个散列,再与下一个密码段相异或,但最大不超过128个字节。

这个计算方法是来自《网络安全》的109页到110页,作者是Kaufman,Perlman 和Speciner[9]。以下是这种方法更为精确的解释:

调用共享机密S和伪随机128位请求认证鉴别码RA。把密码按16个字节为一组划分为P1、P2等等,在最后一组的结尾处用用null填充以形成一个完整的16字节组。调用以加密的数据组c(1)、c(2)等,b1、b2等是我们将用到的中间值。

b1 = MD5(S + RA) c(1) = p1 异或 b1

b2 = MD5(S + c(1)) c(2) = p2 异或b2 . . . . . .

bi = MD5(S + c(i-1)) c(i) = pi 异或 bi

现在密码字符串包含c(1)+c(2)+...+c(i),其中“+”表示串联。

21

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

在接收时,这个过程被反过来,从而生成原始的密码。 以下是密码属性格式的总结。域的传输是从左向右。

0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

2用于用户密码。

长度

长度值在18到130之间。

字符串

字符串域的长度在16到128个字节之间。

5.3 CHAP密码 描述

这个属性表示PPP(点对点传输协议)的CHAP(盘问握手认证协议)用户在响应盘问时的响应值。此值只能用在接入请求数据包中。

如果出现在数据包中的CHAP盘问值是出现在CHAP盘问属性(60)中,其他情况可以在请求鉴别码域中找到。

以下是CHAP密码属性格式的总结。域的传输是从左向右。

0 1 2

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | CHAP标识 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

22

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

类型

3用来表示CHAP密码。

长度

19

CHAP标识

这个域是一个字节,包括来自用户CHAP响应的CHAP的标识符。

字符串

字符串域是十六个字节,包括来自用户的CHAP响应。

5.4 网络接口服务器IP地址 描述

这个属性指出了用户正在请求认证的NAS的IP地址,这个属性值对NAS来说在一台指定的RADIUS服务器的范围内应该是唯一的。NAS-IP地址属性只能在接入请求数据包中使用。或者是NAS-IP或者是NAS标识符必须有一个出现在接入请求数据包中。

注意,NAS-IP地址一定不能用来选择认证请求的共享机密。接入请求数据包中的源IP地址必须用来选择共享机密。

以下是网络接口服务器IP地址属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 地址 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 地址 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

4用于NAS-IP地址。

23

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

长度 6 地址

地址域是4个字节。

5.5 NAS端口 描述

这个属性指出了正在认证用户的NAS物理端口号。NAS-IP端口号属性只能在接入请求数据包中使用。需要注意的是,这里使用的“端口”应当理解为与NAS的物理连接,不能理解为TCP或者UDP的端口号。如果NAS对它的端口进行区分,那么或者NAS-Port或者NAS-Port-Type或者是两者同时应该出现在接入请求数据包中。

以下是NAS端口属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

5用于NAS-Port地址。

长度 6 值

这个值域是4个字节。

24

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.6 服务类型 描述

这个属性指出了用户请求的服务种类,或者是已提供给用户的服务类型。此属性可以在接入请求数据包和接入允许数据包中使用。作为NAS,它不必执行所有的服务类型,所以对于未知的和不支持的Service-Types,就像收到了接入拒绝那样处理。

以下是服务种类属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

6用于Service-Type。

长度

6

值域是4个字节。

1 登录 2 配置 3 回叫登录 4 回叫配置 5 出网 6 管理

7 NAS提示 8 只认证

9 NAS回叫提示 10 拨叫检查 11 回叫管理

以下是使用在接入允许中的服务类型的定义。若服务类型用在接入请求中,则认为是给

25

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

RASIUS服务器的提示,此提示告诉RADIUS,NAS有理由相信这种服务类型是用户更喜欢的,但RADIUS不一定要接受这个提示。

登录 用户应该连接到的主机。

配置 开始时用户应该为配置的协议,如PPP或SLIP。 回叫登录 用户应该先断开,并回叫,然后连接到一个主机。 回叫配置 用户应该先断开并回叫,然后 应该为用户启动一个Framed Protocol,

如PPP或SLIP。

出站 用户应该被允许访问外部设备。 管理 用户应该被允许有权使用NAS的管理界面,因为该界面能执行特

权命令。

NAS提示 用户在NAS的命令提示符下输入指令,来自此命令提示符的指令

是不能得到执行的。

认证专用 只有认证被请求,没有任何授权信息需要在请求接收数据包中返回

(典型情况是被代理服务器使用,而不是NAS自己)。

NAS回叫提示 用户应该先断开与服务器的连接,然后回叫和在NAS提供的指令

提示下执行非特权指令。

拨叫检查 NAS使用在接入请求数据包中表明正在接收一个拨叫请求,

RADIUS服务器应该送回一个Access-Accept数据包接受这个拨叫,或者是一个接入拒绝数据包拒绝这个拨叫,典型情况是基于Called-Station-Id和Calling-Station-Id属性。推荐在接入请求数据包中使用Calling-Station-Id的值代替User—Name的值

回叫管理 用户首先应该断开连接,然后回叫,这时允许有权访问NAS的管

理界面,因为该界面能执行特权命令。

5.7 帧协议 描述

这个属性表明了被用于配置接入的框架。它可以用在接入请求数据包和接入允许数据包中。

以下是配置协议属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

26

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

类型

7用于配置协议。

长度

6

值域是4个字节。 1 PPP 2 SLIP

3 AppleTalk Remote Access Protocol (ARAP)

4 Gandalf proprietary SingleLink/MultiLink protocol 5 Xylogics proprietary IPX/SLIP 6 X.75 Synchronous

5.8 IP地址配置 描述

这个属性表明了为用户配置的地址。它可以使用在接入允许数据包中,或者由NAS使用在接入请求数据包,作为一个给服务器的提示,告诉服务器它推荐该地址,但服务器不一定要接受这个提示。

以下是配置IP地址属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 地址

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 地址 (内容) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

8用于配置IP地址。

27

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

长度

6

地址

这个地址域是4个字节。值oxFFFFFFFF表明NAS应该允许选择一个地址(例如,已协商好的)。值oxFFFFFFFE表明NAS应该为用户选择一个地址(例如,NAS分配一个由它管理的地址池中的地址)。其他有效值表明NAS用这个值作为用户的IP地址。

5.9 IP网络掩码配置 描述

当用户是网络的路由器时,这个属性表明对这台路由器的IP网络掩码配置。这个属性可以出现在接入允许数据包。也可以作为一个NAS给服务器的提示用在接入请求数据包,提示推荐的网络掩码,但是服务器不一定要接受这个提示。

以下是配置IP网络掩码属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 地址

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 地址(内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

9用于配置IP网络掩码。

长度

6

地址

地址域是4个字节,指定用户的IP网络掩码。

28

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.10路由方法配置 描述

当用户是网络的路由器时,这个属性表明了用户的路由方法。它只能用在接入请求数据包中。

以下是配置路由方法属性格式总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

10用于网络配置方法。

长度

6

值域是4个字节。 0 空 none

1 发送路由数据包 Sending routing packets 2 监听路由数据包 Listening for routing packets 3 发送和监听 Send and Listen

5.11 筛选器编号 描述

这个属性表明了筛选器列表中该用户的筛选器的名字。筛选器编号可以在接入请求数据

29

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

包中发送,此包中可以拥有零个或多个筛选器编号。

通过名称鉴别一个筛选器列表允许在不同的NAS上使用筛选器,而不考虑筛选器列表的实现细节。

以下是筛选器Id属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 文本 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

11用于筛选器编号。

长度

大于或者等于3。

文本

这个文本域是一个或多个字节,它的内容是依赖具体实现的。它的存在是为了提高协议的可读性,而且一定不会影响协议的运作。推荐该消息使用UTF-8编码的10646字符[7]。

5.12 MTU配置 描述

当这个属性没有与其他的方式(如PPP)进行协商是时,这个属性表明了为用户配置的最大传输单元。这个属性可以用在接入允许数据包中,也可以用在接入请求数据包中,作为一个NAS给服务器的提示,向服务器推荐一个值,但服务器不一定会接受这个提示。 以下是配置MTU属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

30

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

类型

12用于配置MTU。

长度

6

这个值域是4个字节。不管域的大小,值得范围是从64到65535。

5.13压缩协议配置 描述

这个属性指出了该连接使用的的压缩协议。这个属性可以用在接入允许数据包中,也可以作为NAS给服务器的提示用在接入请求数据包中,提示服务器这是推荐的压缩率协议,但服务器不一定会接受这个提示。

可以发送多于一种的压缩率协议。在适当的的链路通信中使用合适的压缩协议是NAS的责任。

以下是配置压缩率属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

13用于配置压缩率。

长度

6

31

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

这个值域是4个字节。 0 空 1 VJ TCP/IP header compression [10] 2 IPX header compression 3 Stac-LZS compression

5.14 登录IP主机 描述

当登录服务属性已经被包括时,此属性指出了一个连接用户的系统。也可以作为NAS给服务器的提示用在接入请求数据包中,提示服务器这是推荐使用的主机,但服务器不一定会接受这个提示。

以下是登录IP主机属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 地址

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 地址 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

14用于登录IP主机。

长度

6

地址

这个地址域是4个字节。值oxFFFFFFFF表明NAS应该允许用户选择地址。值0表明NAS应该选择一个与用户连接主机。其他值表明NAS应该连接给用户的地址。

32

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.15 登录服务 描述

这个属性表明连接到登录主机的用户使用的服务。它只能用于接入允许数据包。 以下是登录服务属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

15用于登录服务。

长度

6

值域是4个字节。 0 Telnet 1 Rlogin 2 TCP Clear 3 PortMaster (proprietary) 4 LAT

5 X25-PAD 6 X25-T3POS

8 TCP Clear Quiet (suppresses any NAS-generated connect string )

33

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.16 登录TCP端口 描述

当登录服务属性也出现时,这个属性表明用于连接用户的TCP端口。它只能用于接入允许数据包。

以下是登录TCP端口属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

16用于登录TCP端口

长度

6

这个值域是4个字节。不论域的大小,值得范围是从0到65535。

34

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.17 未分配 描述

属性类型17还没有被分配。

5.18 回复消息 描述

这个属性指定了可以显示给用户的文本信息。

使用在接入允许数据包中,此消息是一种成功信息

使用在接入拒绝数据包中,是一个失败信息。该信息可以表示为一种对话信息,在用户尝试另一个接入请求之前,它可以以一个对话框消息的形式来提示用户。

使用在接入盘问数据包中,该信息可以以对话框的形式提示用户做出响应。 多个回复信息可以包含在一个数据包中,如果其中的一些需要显示,则它们的显示顺序必须是它们在数据包内的顺序。

以下是回复信息属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 文本 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

18用于回复信息。

长度

大于等于3。

文本

文本域可以是一个或多个字节,它的内容是依赖于执行的。它的存在是为了提高协议的可读性,而且一定不会影响协议的运作。推荐在消息使用UTF-8编码的ISO10646字符[7]。

35

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.19 回叫号码 描述

这个属性表明了一个用于用户回叫的拨号字符串。它可以使用在接入允许数据包中,当它使用在接入请求数据包中,是作为一个给服务器的提示出现的,告诉服务器有一个回叫服务希望执行,但是服务器不一定要接受这个提示。

以下是回传数属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

19用于回传数。

长度

大于或者等于3。

字符串

字符串域是一个或多个字节。信息的实际格式是站点或应用的细节,而且一个强壮的应用应该支持这个域作为不区分的字节序列。

这个域的允许的使用范围的规划超出了本文档讨论的范围。

5.20 回叫Id

这个属性表明了被调用位置的名称,它由NAS解释。它可以使用在接入允许数据包中。 以下是回传编号属性格式的总结。域的传输是从左向右。

0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

36

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

类型

20用于回传编号。

长度

大于或等于3。

字符串

字符串域是一个或多个字节。信息的实际格式是站点或应用的细节,而且一个强壮的应用应该支持这个域作为不区分的字节序列。

这个域的允许的使用范围的规划超出了本文档讨论的范围。

5.21 未分配 描述

属性类型21没有被分配。

5.22路由配置 描述

这个属性提供了在NAS上为用户提供配置的路由的信息。它可以用在允许接入数据包中,而且能出现多次。

以下是配置路由属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 文本 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

22用于配置路由。

37

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

长度

大于或等于3。

文本

文本域是一个或多个字节,文本内容是与实现相关的。它是在不影响协议的运行情况下提高协议的可读性。推荐在消息中包含UTF-8编码的ISO10646[7]字符。

对于IP路由来说,文本应该包含一个以点分四组形式的目标地址前缀,其后可以跟随一个斜杠和十进制长度说明符,长度说明符说明前缀使用了多少个高位字节。在这之后,紧接着一个空格、一个点分四组形式的网关地址、一个空格和一个或多个被空格分割的规格。例如,“192.168.1.0/24 192.168.1.1 1 2 -1 3 400”。长度说明符可以被忽略,在忽略的情况下,默认8位为A类地址前缀,16位为B类地址前缀,24位为C类地址前缀。例如,“192.168.1.0 192.168.1.1 1”。

无论什么时候,网关地址被指定为“0.0.0.0”,用户的IP地址应该被指定为网关地址。

5.23 IPX网络配置 描述

这个属性表明了分配给用户的IPX网络号码。它可以用在接入允许数据包中。 以下是配置IPX网络属性格式总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

23用于配置IPX网络。

长度

6

38

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

值域是4个字节。值0xFFFFFFFE表明NAS应该为用户挑选IPX网络(例如,从NAS管

理的一个或多个IPX网络池中分配)。其他值应该被用于与用户连接的IPX网络。

5.24 状态 描述

这个属性可以在由服务器发送给客户端的接入盘问数据包中出现,然后,如果有对盘问响应的新接入请求,则此属性应该在接入请求包中不作任何修改地从客户端发送到服务器端。

这个属性也可以在接入允许数据包中由服务器发送给客户端,这个数据包中还包含了有RADIUS请求(RADIUS-Request)值的终止行为属性(Termination-Request Attribute)。如果NAS通过发送一个新的关于终止当前会话的接入请求来执行终止行为(Termination-Action),则在这个接入请求中必须包含没有改变的状态属性。 在状态属性的任何使用中,客户端禁止本地解释属性。一个数据包只能有一个状态属性或一个都没有。状态属性的使用是依赖于实现相关的。 以下是状态属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

24用于状态。

长度

大于或等于3。

字符串

字符串域是一个或多个字节。信息的实际格式是站点或应用的细节,而且一个强壮的应用应该支持这个域作为不区分的字节序列。

39

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

这个域的允许的使用范围的规划超出了本文档讨论的范围。

5.25 类别 描述

这个属性可在接入允许数据包中由服务器发送给客户端,如果支持记账服务,该属性应该作为记账请求数据包的一部分在不作任何修改的前提下,由客户端发送到记账服务器。客户端一定不能在本地解释属性。

以下是状态属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

25用于级别属性。

长度

大于或等于3。

字符串

字符串域是一个或多个字节。信息的实际格式是站点或应用的细节,而且一个强壮的应用应该支持这个域作为不区分的字节序列。

这个域的允许的使用范围的规划超出了本文档讨论的范围。

40

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.26 供应商特性 描述

这个属性应用于允许供应商支持不适于常规使用的属性扩展。此属性禁止对RADIUS协议中的操作有影响。

服务器不具备去解释由客户端发送过来的供应商特性信息时,则服务器必须忽略它(虽然这样过程可以被记录下来)。没有收到预期的供应商特性信息得情况下,客户端应该尝试在没有它的情况下运作,尽管他们这样做(并报告它们正在这样做)是在降级模式中。 以下是具体厂商属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 供应商Id

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 供应商Id (内容) | 字符串... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

26用于供应商特征。

长度

大于或等于7。

供应商ID

在网络字节顺序中,高位的字节是0,低3位字节是供应商的(SMI)网络个人管理器编码(Network Management Private Enterprise Code),正如在“已分配号(Assigned Number)”RFC[6]中的定义。

字符串

字符串域是一个或多个字节。信息的实际格式是站点或应用的细节,而且一个强壮的应用应该支持这个域作为不区分的字节序列。

这个域的允许的使用范围的规划超出了本文档讨论的范围。 字符串域应该按照供应商类型/供应商长度/值域的顺序编码,如下面所示。属性特性

41

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

域依赖于该属性的供应商的定义。以下是一个使用这种方法对供应商特性属性编码的例子。 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 卖主Id

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 卖主Id (内容) | 买主类型 | 卖主长度 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性特征...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

多个子属性可以被编码在一个具体厂商属性中,虽然不必不得不这样做。

5.27 会话超时 描述

这个属性设置在会话终止或提示出现前,提供给用户服务的最大秒数。这个属性可以在接入允许数据包和接入盘问数据包中,由服务器发送给客户端。 以下是会话超时属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

27用于会话超时。

长度

6

这个域是4个字节,包含一个32位的无符号整数,此数表示了用户被允许通过NAS保持连接的最大秒数。

42

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.28 空闲超时 描述

这个属性设置在会话终止或提示出现前,允许用户空闲连接的连续时间的最大秒数。这个属性可以用在接入允许数据包和接入盘问数据包中,由服务器发送给客户端。 以下是空闲超时属性格式的总结。域的传输是从左向右。

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

28用于空闲超时。

长度

6

这个域是4个字节,包含一个32位无符号的整数,该整数说明在由NAS断开连接前,用户被允许的最大连续空闲秒数。

5.29 终止动作 描述

这个属性说明在指定的服务完成后,NAS应该采用什么样的动作。此属性只能用在接入允许数据包中。

以下是终止动作属性格式的总结。域的传输是从左向右。

0 1 2 3

43

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 类型 | 长度 | 值

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 值 (内容) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

类型

29用于终止动作属性。

长度

6

这个值域是4个字节。

0 默认(Default) 1 RADIUS请求(RADIUS-Request)

如果这个值被设置为RADIUS请求,依据指定服务的终止,NAS可以发送一个新的接入请求给RADIUS服务器,如果存在的话,还包括状态属性。

5.30 拨出号码 描述

使用被叫号码识别(Dialed Number Identification,DNIS)或者是类似技术,这个属性允许NAS在接入请求数据包中发送被用户拨叫的电话号码。注意,这个电话号码是与打入的电话号码不同。而且,这个属性只能用在接入请求数据包中。 以下是被叫站ID属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

44

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

类型

30用于拨出号码属性。

长度

大于或者等于3

字符串

字符串域是一个或多个字节,包含用户拨入的电话号码。

信息的实际形式是站点或应用程序细节。推荐使用UTF-8编码的10646 [7]字符,但作为一个强壮的应用应该支持这个域作为一个未区分的字节来。 这个域能被使用的范围的规定是在这篇文档说明的范围之外的。

5.31 拨入号码 描述

在使用自动号码标识(Automatic Number Identification,ANI)或者其他相似的技术,这个属性允许NAS在接入请求数据包中发送拨入的电话号码。此属性只能用在接入请求数据包。

以下是呼叫站ID属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

31用于呼叫站ID属性。

长度

大于或者等于3。

45

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

字符串

字符串域是一个或多个字节,包含用户拨入的电话号码。

信息的实际形式是站点或应用的细节。推荐使用UTF-8的10646字符编码,但作为一个强壮的应用应该把这个域作为不可区分的字节串来支持。

这个域可被使用的范围的划分是在这篇文档说明的范围之外。

5.32 NAS标识符 描述

这个属性包含一个字符串,此字符串鉴别接入请求数据包是由那个NAS服务器生成的。此属性只能用在接入请求数据包中。在接入请求数据包中必须包含NAS的IP地址或者是NAS标识符。

注意NAS标识符禁止选择用于认证请求数据包的共享机密。接入请求数据包的源IP地址必须用于选择共享机密。

以下是NAS标识符属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

32用于NAS标识符属性。

长度

大于或者等于3。

字符串

字符串域是一个或多个字节,而且在RADIUS服务器的有效范围内,这个字符串对于NAS来说应该是唯一的。例如,一个完全合格的域名是适合做NAS标识符的。

信息的实际形式是站点或应用的细节,而且一个强壮的应用应该把这个域作为不可区分的字节串来支持。

这个域可被使用的范围的划分是在这篇文档说明的范围之外。

46

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.33 代理状态 描述

当转发一个接入请求数据包时,这个属性可以由一个代理服务器发送到另一个服务器,而且在接入允许数据包、接入拒绝数据包和接入盘问数据包中返回的该属性不能做任何修改。在一个代理服务器收到一个对应它的请求的响应时,它必须在转发这个响应给NAS之前,去除它自己的代理状态属性(这个包中最后一个代理状态属性)。 如果在转发数据包时需要添加代理状态属性,则这个属性必须添加在任何一个已存在的属性之后。

除了当前服务器添加的代理状态属性外,其他任何属性内容对当前服务器来说都是不透明的,而且是禁止对协议的运作有任何影响的。 代理状态属性的使用时依赖于应用的。关于此属性的功能描述是在本文档的讨论范围之外的。

以下是代理状态属性格式的总结。域的传输是从左向右。

0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

33用于代理状态属性。

长度

大于或者等于3。

字符串

字符串域是一个或多个字节。信息的实际形式是站点或者应用的细节,而且一个强壮

的应用应该把这个域作为不可区分的字节串来支持。

这个域可被使用的范围的划分是在这篇文档说明的范围之外。

47

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.34登录LAT服务 描述

这个属性描述了用户通过局域网传输协议(LAT)连接的系统。此属性可以用在接入请求数据包中,但仅仅是当LAT被指定为登录服务时。它也可以用在接入请求数据包中,作为一个给服务器的提示,但是服务器不一定接受这个提示。

当管理员在处理分簇系统时,如,VAX分簇系统或Alpha分簇系统,可以使用这个服务属性。在这样的环境中,几个不同的分时共享主机可以共享相同的资源(磁盘、打印机,等等),管理员给每一个共享主机提供一个共享资源的接口(服务)。在这种情况下,在簇中每一个主机通过LAT广播广告它们的服务。

老练的用户通常知道那一个服务提供者(或那些机器)是更快的,所以更愿意在初始化LAT连接时使用节点名。有的情况下,作为载入平衡的源形式,一些管理员让一些特定的用户使用某部分机器(虽然LAT它自己知道如何做可以载入动态平衡)。

以下是登录局域网传输协议服务属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

34用于登录LAT服务属性。

长度

大于或者等于3。

字符串

字符串域是一个或者多个字节。它包含以使用为目的的LAT服务的身份。LAT的结构允许此字符串包含$(美元符)、-(连词符)、.(原点)、_(下划线)、数字、大写字母、小写字母和ISO Latin-1 字符集扩展[11]。所有LAT字符串比较是不区别大小写。 。

48

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

5.35 登录LAT节点 描述

这个属性指明了通过LAT用户将被自动连接的节点。仅仅当LAT被指定为登录服务时,它可以在接入允许数据包中使用。它也可以作为一个给服务器的提示使用在接入请求数据包中,但是服务器不一定接受这个提示。

以下是登录LAT节点属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

35用于登录LAT节点。

长度

大于或者等于3。

字符串

字符串域是一个或多个字节,包含与用户连接的LAT节点的身份。LAT的结构允许此字符串包含$(美元符)、-(连词符)、.(原点)、_(下划线)、数字、大写字母、小写字母和ISO Latin-1 字符集扩展[11]。所有LAT字符串比较是不区别大小写。

5.36 登录LAT组 描述

这个属性包含一个字符串,此字符串指定了一个用户被授权使用的LAT组编码。仅仅当LAT被指定为登录服务时,它可以在接入允许数据包中使用。它也可以作为一个给服务

49

RFC2865 NetWare/IP Domain Name and Information 远程拨入用户认证服务

器的提示使用在接入请求数据包中,但是服务器不一定接受这个提示。

LAT支持256个不同的组编码,LAT把它们当作接入权利表格使用。LAT把组编码按一个256位的位图加密。

管理员可以在LAT服务提供者处分配一个或者多个组编码位,而且LAT服务提供者将只接受那些组编码已经设置在位图中地连接。管理员给每一个用户分配一个有授权组编码的位图,LAT可以从操作系统中得到这些授权的编码组,并在发送给服务提供者的请求数据包中使用它们。

以下是登录LAT组属性格式的总结。域的传输是从左向右。

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | 类型 | 长度 | 字符串 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

类型

36用于登录LAT组属性。

长度

34

字符串

这个字符串域是32个字节位图,第一个字节最重要。一个强壮的应用应该把这个域作为不可区分的字节串来支持。

这个域可被使用的范围的划分是在这篇文档说明的范围之外。

5.37 配置AppleTalk连接 描述

这个属性指明了被用于用户串行连接的AppleTalk网络数目,其中的用户是另一个AppleTalk路由器。它只能用在接入允许数据包中。当用户为另外的路由器时,此属性不被使用。

以下是配置AppleTalk连接属性格式的总结。域的传输是从左向右。

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

50

本文来源:https://www.bwwdw.com/article/d89o.html

Top