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