📄 rfc2869.txt
字号:
Length >= 3 Text 文本域包含UTF-8格式编码的10646字符。报文中第一个Connect-Info属性的开始应该包括连接速度。如果传输和接收连接速度不同,那么它们必须全部包含在第一个属性内,首先写传输速度(即NAS modem的传输速度),后面跟一个反斜杠(/),再跟接受速度,然后是其它任选信息。如 "28800 V42BIS/LAPM" 或 "52000/31200 V90"。在Accounting-Request报文中可以包含一个或多个Connect-Info 属性,以便让modems用一种标准的格式报告更多的连接信息,信息的长度可能超过252字节。 Configuration-Token 描述 这个属性应用在基于代理的大型分布式认证网络中。此属性由RADIUS代理服务器放在Access-Accept报文中发送给RADIUS代理客户端,用来指明使用的用户概况(表)。此属性不应该发送给NAS。 Configuration-Token属性格式如下所述,从左至右传输各域。 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 78 for Configuration-Token. Length >= 3 String String域占一个或多个字节。实际的信息格式与使用的场所和应用有关,一个健壮的实现应该将此域当作未加区分的字节来支持。 应用此域的条件范围已经超出了本规范的讨论范围。 EAP-Message 描述 本属性用于封装扩展认证协议(EAP)报文,以便让NAS即使不理解EAP协议,也能利用EAP对拨号接入用户进行认证。 NAS把从用户接收到的EAP报文放在一个或多个EAP属性中,作为Access-Request的一部分,转发给RADIUS服务器,RADIUS服务器可以在Access-Challenge, Access-Accept 或 Access-Reject中返回EAP属性。 RADIUS服务器如果对收到的EAP报文不理解,就返回一个Access-Reject报文。 NAS把从认证对等端接收到的EAP报文放在一个或多个EAP-Message属性中,放在Access-Request 报文中,转发给RADIUS服务器。如果Access-Request或Access-Challenge报文中包含多个EAP-Messages属性,那么它们必须按连续顺序排好放在Access-Request或Access-Challenge报文中。 Access-Accept和Access-Reject报文中应该只有一个EAP-Message属性,此属性中包含EAP-Success或EAP-Failure。 希望用EAP实现多种认证方法,包括强壮的加密技术。为了预防攻击者通过攻击RADIUS/EAP破坏EAP(例如,通过 修改EAP-Success或EAP-Failure报文),RADIUS/EAP有必要提供身份保护,至少象EAP方法本身那样强壮。 因此,必须 用Message-Authenticator属性保护所有携带EAP-Message属性的Access-Request, Access-Challenge, Access-Accept, 和Access-Reject 报文。 对于带有EAP-Message属性的Access-Request报文,如果报文中没有Message-Authenticator属性,RADIUS服务器就应该丢弃此报文。支持EAP-Message的RADIUS服务器必须计算Message-Authenticator的正确值,如果正确值与发送的值不匹配,RADIUS服务器就丢弃报文。如果RADIUS服务器不支持EAP-Message,当它收到一个含有EAP-Message属性的Access-Request报文时,必须返回一个Access-Reject报文。如果RADIUS服务器收到一个它不能理解的EAP-Message属性,也必须返回一个Access-Reject。 对于携带有EAP-Message属性的Access-Challenge, Access-Accept 或 Access-Reject 报文,若报文中不含有Message-Authenticator属性,NAS应该丢弃此报文。如果NAS支持EAP-Message属性,它必须计算正确的Message-Authenticator属性值,如果计算的值与接收到的值不匹配,NAS就丢弃此报文。 EAP-Message属性格式如下所述,从左至右传输各域。 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 79 for EAP-Message. Length >= 3 String String域包含EAP报文,EAP报文在RFC 2284定义。如果报文中含有多个EAP-Message属性,这几个属性应该连成一串,因此允许长度大于253个字节的EAP报文放在RADIUS中传输。 Message-Authenticator 描述 本属性可用来对Access-Requests报文签名,防止利用CHAP, ARAP 或 EAP认证方法欺骗ccess-Requests。此属性可以用在任何Access-Request报文中,必须用在任何带有EAP-Message属性的Access-Request, Access-Accept, Access-Reject 或 Access-Challenge报文中。 如果RADIUS服务器中接收到的Access-Request报文中含有Message-Authenticator属性,那么服务器必须计算正确的Message-Authenticator值,如果计算的结果与发送过来的值不同,就丢弃此报文。 如果RADIUS客户端接收到的Access-Accept, Access-Reject或Access-Challenge报文中含有Message-Authenticator属性,那么客户端必须计算正确的Message-Authenticator值,如果计算的结果与发送过来的值不同,就丢弃此报文。 此备忘录的早期草案将此属性称为"Signature",但是Message-Authenticator更准确。具体操作没有改变,只是名字改变而已。Message-Authenticator属性格式如下所述,从左至右传输各域。 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 80 for Message-Authenticator Length 18 String 如果出现在Access-Request报文中,Message-Authenticator是整个Access-Request报文的HMAC-MD5校验和,包括Type, ID, Length 和 authenticator,计算校验和时利用共享密钥作为密钥,过程如下: Message-Authenticator = HMAC-MD5 (Type, Identifier, Length, Request Authenticator, Attributes) 计算校验和时,签名字符串应该被看作16个为0的字节。 对于Access-Challenge, Access-Accept 和 Access-Reject报文,利用Request-Authenticator计算essage-Authenticator如下: Message-Authenticator = HMAC-MD5 (Type, Identifier, Length, Request Authenticator, Attributes) 计算校验和时,签名字符串应该被看作16个为0的字节,共享密钥作为HMAC-MD5 hash的密钥。在计算Response Authenticator正确计算并且插入到报文中。 当报文中有User-Password属性时,此属性就不需要了,但在其它认证类型中,可以防止攻击。此属性是为了阻止攻击者启动“欺骗”NAS,实施针对RADIUS服务器的在线字典攻击。此属性不能提供对离线攻击的预防,如攻击者截获包括CHAP 挑战和响应的报文,然后实施针对离线报文的字典攻击。 IP Security 属性最终会使此属性没有必要,因此此属性只能看作是一个临时的方法。 ARAP-Challenge-Response 描述 本属性与ARAP的Framed- Protocol属性一起出现在Access-Accept报文中,包含对拨号接入用户挑战的响应。 ARAP-Challenge-Response属性格式如下所述,从左至右传输各域。 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 | Value... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 84 for ARAP-Challenge-Response. Length 10Value Value 域占8个字节,包含对拨号接入用户挑战的响应。RADIUS服务器从ARAP-Password属性的高8字节中取出拨号接入用户的挑战,用挑战用户的密码作为密钥,对取出的高8字节进行DES加密。如果用户密码长度小于8个字节,在作为密钥以前,在用户密码后补NULL,直到长度达到8个字节。 Acct-Interim-Interval 描述 本属性描述了对于某个确定的会话,中间更新流量信息的时间间隔(以秒为单位)。本属性只能出现在Access-Accept报文中。 Acct-Interim-Interval属性格式如下所述,从左至右传输各域。 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 | Value +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value (cont) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 85 for Acct-Interim-Interval. Length 6 Value Value域包含NAS发送中间更新信息的时间间隔(以秒为单位),其值必须不能小于60,建议此属性值不要小于600,在实际中应认真考虑此间隔对网络流量的影响。 NAS-Port-Id 描述 本属性包含一个识别正在认证用户的NAS的端口的文本串。此属性只能用在Access-Request 和 Accounting-Request 报文中。需要注意的是此处的端口是NAS物理连接意义上的端口,而不是TCP或UDP的端口号。 如果NAS在它的端口范围内区分,那么在Access-Request报文中应该携带NAS-Port或 NAS-Port-Id 。NAS-Port-Id目的是给不能方便地给端口编号的NAS使用。 NAS-Port-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 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Text... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 87 for NAS-Port-Id. Length >= 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -