如今项目中需要涉及到RADIUS及IPv6的使用,而网络中的资料相对较少,现对frc-3162进行中文翻译,分享出来。
由于英语水平有限,翻译不恰当的地方,还请提出,便于在下及时修改。
原文链接
这份文档的状态
本文件规定了因特网社区的因特网标准跟踪协议,并要求讨论和改进建议。
请参考当前版本的“因特网官方协议标准”(STD 1),以了解该协议的标准化状态和状态。这份备忘录的分发是无限的。
版权声明
版权(c)互联网协会(2001)。版权所有。
摘要
此文档指定IPv6运行时RADIUS(远程身份验证拨号用户服务)的操作,以及用于支持IPv6网络访问的RADIUS属性。
此文档指定了RADIUS 4 [ 8 ]在IPv6 13上的操作,以及用于支持IPv6网络访问的RADIUS属性。
注意一个NAS发送RADIUS访问请求可能不知道先验主机是否将使用IPv4,IPv6,或两者。例如,在PPP,ipv6cp [ 11 ]发生后LCP,所以地址分配不会发生直到radius的认证和授权已完成。
因此,假设该文档中描述的IPv6属性可以与同一RADIUS消息中与IPv4相关的属性一起发送,NAS将决定使用哪些属性。
NAS应该只分配客户端可以实际使用的地址和前缀。
例如,没有必要保留使用一个只支持IPv6主机的IPv4地址的NAS;同样,主机仅使用IPv4或IPv6 [ 12 ]不需要IPv6前缀分配。
NAS可以提供IPv6接入本身,或者通过其他方法,如在IPv4隧道[ 15 ]和[ 14 ] IPv6 6over4。
提供IPv6访问的方法的选择本身对半径的使用没有影响,但如果希望IPv4隧道中的IPv6被打开到特定位置,则应该使用隧道属性,如[ 6 ],[ 7 ]所述。
1.1.要求语言
在本文件中,“必须”、“必须”、“必须”、“可选”、“建议”、“应该”和“不应该”等词语,应按[ 1 ]中所述加以解释。
描述:
此属性表示NAS的标识IPv6地址。
请求用户身份验证的,应该是在RADIUS服务器范围内唯一的NAS。
NAS—IPv6-address只用于 Access-Request packet。
nas-ipv6-address和/或 NAS-IP-Address可以访问请求数据包的呈现;然而,如果没有属性存在,那么NAS-Identifier必须在场。
nas-ipv6-address属性的格式总结如下。
字段从左向右传输。
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 | Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type [95 for NAS-IPv6-Address] Length [18] Address [The Address field is 16 octets.]
描述
此属性指示为用户配置的IPv6接口标识符。
它可以用于访问接收包。
如果Interface-Identifier ipv6cp选项[ 11 ]已成功协商,这个属性必须包含在Access-Request packet 作为NAS向服务器提示它愿意使用该值的提示。
这是推荐的,但不是必需的,
服务器尊重提示。
框架接口id属性格式的摘要如下所示。
字段从左向右传输。
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 | Interface-Id +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Interface-Id +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Interface-Id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type [96 for Framed-Interface-Id] Length [10] Interface-Id [Interface-Id field is 8 字节.]
描述
此属性指示为用户配置的IPv6前缀(以及相应的路由)。
它可以用于访问接受包,并且可以多次出现。
它可以在访问请求包中使用,作为NAS向服务器提示它希望使用这些前缀(ES),但服务器不需要遵守提示。
因为它是假定NAS将垂直对应的前缀路径,它不需要服务器发送一个相同前缀的framed-ipv6-route属性。
framed-ipv6-prefix属性的格式总结如下。
字段从左向右传输。
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 | Reserved | Prefix-Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Prefix +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Prefix +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Prefix +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Prefix | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type [ 97 for Framed-IPv6-Prefix ] Length [ Length:[4,20) ] Reserved [ 这个字段是保留的,必须存在,总是设置为零 ] Prefix-Length [ 前缀的长度,以位表示。至少0,不大于128 ] Prefix [前缀字段多达16个字节的长度。前缀长度以外的比特,如果包含,必须为零。]
描述
此属性指示包含 Login-Service 属性时连接用户的系统。
它可以用于Access-Accept packets 。
它可以在Access-Request packet 中用作对服务器的提示,NAS希望使用该主机,但服务器不需要遵守提示。
login-ipv6-host属性的格式总结如下。
字段从左向右传输。
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 | Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type [98 for Login-IPv6-Host] Length [18] Address [地址字段的长度是16个字节。 值0xffffffffffffffffffffffffffffffff表示NAS应该允许用户选择一个地址或名称来连接。 值0表示NAS应选择一个主机将用户连接到。 其他值指示NAS应该将用户连接到的地址。]
描述
此属性提供为NAS上的用户配置的路由信息。
它用于Access-Accept packet ,可以多次出现。
framed-ipv6-route属性的格式总结如下。
字段从左向右传输。
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Type | Length | Text ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Type [99 for Framed-IPv6-Route] Length [>=3] Text [text字段是一个或多个字节,其内容是依赖于实现的。 该字段不是nul(进制00)终止。 它的目的是使人可读,并且不影响协议的操作。 IPv6路由,它应该包含目的地址前缀后跟一个斜线和小数长度说明符说明许多高阶位的前缀的使用。 其次是空格、网关地址、空格和一个或多个由空格分隔的度量(以十进制编码)。 前缀和地址的格式如[ 16 ]所述。 例如,“2000:0:0:106::/ 64 2000::106:::a00:20ff fe99 a998 1”。 每当网关地址是IPv6未指定地址时,用户的IP地址应用作网关地址。 未指定的地址可以用[ 16 ]中描述的任何可接受格式表示。 例如,“2000:0:0:106::64::1”。]
描述
此属性包含用于为用户分配IPv6前缀的指定池的名称。
如果NAS不支持多个前缀池,则NAS必须忽略此属性。
framed-ipv6-pool属性的格式总结如下。
字段从左向右传输。
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | String... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type [100 for Framed-IPv6-Pool] Length [>= 3] String [字符串字段包含在NAS上配置的分配的IPv6前缀池的名称。字段不以nul(进制00)终止。]
下表提供了在哪些包中可以找到哪些属性以及数量的指南
Request Accept Reject Challenge Accounting Request # Attribute 0-1 0 0 0 0-1 95 NAS-IPv6-Address 0-1 0-1 0 0 0-1 96 Framed-Interface-Id 0+ 0+ 0 0 0+ 97 Framed-IPv6-Prefix 0+ 0+ 0 0 0+ 98 Login-IPv6-Host 0 0+ 0 0 0+ 99 Framed-IPv6-Route 0 0-1 0 0 0-1 100 Framed-IPv6-Pool[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March, 1997.
[2] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
10646", RFC 2044, October 1996.
[3] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
Implementation in Roaming", RFC 2607, June 1999.
[4] Rigney, C., Rubens, A., Simpson, W. and S. Willens, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2865, June
2000.
[5] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.
[6] Zorn, G., Mitton, D. and B. Aboba, "RADIUS Accounting
Modifications for Tunnel Protocol Support", RFC 2867, June
2000.
[7] Zorn, G., Leifer, D., Rubens, A., Shriver, J., Holdrege, M.
and I. Goyret, "RADIUS Attributes for Tunnel Protocol Support",
RFC 2868, June 2000.
[8] Rigney, C., Willats, W. and P. Calhoun, "RADIUS Extensions",
RFC 2869, June 2000.
[9] Kent S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
[10] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October
1998.
[11] Haskin, D. and E. Allen, "IP Version 6 over PPP", RFC 2472,
December 1998.
[12] Carpenter, B. and K. Moore, "Connection of IPv6 Domains via
IPv4 Clouds", RFC 3056, February 2001.
[13] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
Specification", RFC 2460, December 1998.
[14] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
Domains without Explicit Tunnels", RFC 2529, March 1999.
[15] Gilligan, R. and E. Nordmark, "Transition Mechanisms for IPv6
Hosts and Routers", RFC 2893, August 2000.
[16] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
本文档描述了在IPv6支持的网络中使用RADIUS进行身份验证、授权和计费的目的。
在这种网络中,RADIUS协议可以在IPv4或IPv6上运行。
RADIUS协议已知的安全漏洞如[ 3 ]、[ 4 ]和[ 8 ]所述。
由于IPSec(9)是为IPv6实现的,所以预期支持IPv6的运行半径实现通常会通过IPSec运行。
如果在IPSec上运行半径,并且在那里使用证书进行身份验证,则可能希望避免对RADIUS共享机密的管理,从而利用公钥基础设施的改进的可伸缩性。
在 RADIUS 范围内,共享机密用于隐藏诸如用户密码[ 4 ]和隧道密码[ 7 ]之类的属性。
此外,共享密钥用于响应认证[ 4 ]计算,以及 Message-Authenticator attribute [ 8 ]。
因此,在RADIUS中,共享机密用于提供机密性以及完整性保护和身份验证。
因此,只使用具有非空转换的IPSec ESP可以提供足够的安全服务来替代RADIUS应用程序层安全性。
因此,在使用IPSec AH或ESP null时,配置RADIUS共享密钥通常仍然是必需的。
但是,如果在非专用转换下运行的RADIUS ESP,RADIUS与RADIUS服务器之间共享的秘密可能不被配置。
在这种情况下,必须假定零长度的共享密钥。
此文档需要为下列属性分配六个新的RADIUS属性号:
NAS-IPv6-Address
Framed-Interface-Id
Framed-IPv6-Prefix
Login-IPv6-Host
Framed-IPv6-Route
Framed-IPv6-Pool