1、ICS 3304040 L 78 y目中华人民共和国通信行业标准YD厅1615-2007公众IP网络安全要求基于远端接入用户验证服务协议( RADIUS )的访问控制Security Requirements for Public IP Based Network 一-RADIUS Protocol for Access Control 2007一04一16发布2007-10一01实施中华人民共和国信息产业部发布YD厅16152007目次前言. . . . . . . . . . . . . .咀1 范围2 规范性引用文件3 定义和缩略语. . . . . . . . . . . . . .
2、. . . . . . . . . . t. .1 3.1 定义3.2 缩略语. . . . . . . .2 4 RADIUS服务器结构作用及在网络中的位置. . . . . . . .3 4.1 RADIUS服务器的结构. . . . . . . .3 4.2 RADIUS服务器的作用44.3 RAD町S服务器在网络中的位置.55 消息的格式与属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3、 . . . . . . .6 5.1 认证消息的格式与属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 5.2计费消息的格式与属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6 RAD町S认证、计费过程. . . . . . . . . . . . . . . . . . . . . . . . . .
4、 . . . . . . . . . . . . . . . . . . . . . . . I . . . . . . . . .42 6.1 用户的认证. . . . . .铅6.2计费过程. . . . . . . .Q 6.3 接人服务器与RADIUS服务器间的信息流程. . . . . . . .44 7 RAD町S的安全机制. . . . . .-47 7.1 对等端间密钥的管理m7.2 IPSec的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5、. . . . . . . . . .47 YDrr 1615卢2007前本标准是公众E网络安全系列标准之一。该系列标准预计的结构及名称如下:1.公众E网络安全要求一安全框架;2.公众E网络安全要求一-基于数字证书的访问控制;3.公众E网络安全要求一一茬子远端接人用户验证服务协议(RAD町的的访问控制;4.公众E网络安全要求一基于Diameter的访问控制。本标准在制定过程中参考了IETFRFC 2865、RFC2866、RFC2689、RFC3162等。本标准由中国标准化协会提出并归口。本标准起草单位:信息产业部电信研究院中国电信集团公司本标准主要起草人:刘述唐永丽彭俊魏亮毕立波武静陈道张雄
6、日YD厅1615-2007公众IP网络安全要求一一基于远端接入用户验证服务协议(RADIUS)的访问控制1 范围本标准规定了基于RADIUS协议的访问控制要求,包括RAD而S服务器的结构、作用及在网络中的位置,RAD町S认证与计费消息的格式与属性,以及RAD町S认证计费过程、RAD町S的安全机制。本标准适用于公众E网络的接人系统。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注目期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准。然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标
7、准。YD!T 1466-2006 YD!T 1614-2007 3 定义和缩瞄语3.1 定义下列定义适用于本标准。,计费E安全协议(IPSec)技术要求公众E网络安全要求一一基于数字证书的访问控制收集资源使用信息的动作,以用于能力规划、审核、营业额或成本分配。,计费记录一条计费记录表述了一个用户在整个会话过程中资源消费的总结。计费服务器可以通过处理中间汁费事件或从若干为同一用户服务的设备上收集的计费事件来完成计费记录的创建。,认证核实某个实体(客体)身份的动作。,授权决定一个提出请求的实体(客体)是否被允许访问资源(主体)的动作。代理除了转发请求和响应,代理还制定与资源使用和配置相关的策略决定
8、。该工作通常通过跟踪接人服务器设备的状态来完成。代理在收到服务器响应之前一般不会响应客户请求。当策略被违反时,它可以生成拒绝(R司ect)消息。因此,代理必须理解通过它们的消息的语义,而且不一定支持所有的应用。, 中间计费中间计费消息提供一个用户会话过程中资源使用的快照。如果因设备重启动或者其他网络故障,使得会话总结消息或会话记录无法被接收的情况下,它通常用于用户会话的分段记账。多会话(Multi-session ) YD厅1615-2007一个多会话表现为若干会话的一个逻辑链接。多会话通过使用Acct-Multi-Session-Id来辨识。多会话的一个举例可以是一个多链路ppp束。该ppp
9、束的每一个分支都是一个会话,而整个ppp束则是一个多会话。,网络接人标识符网络接人标识符或NAI,在Diameter协议中用来摘录某个用户的身份和域(realm)的信息。身份用来在认证和/或授权过程中标识该用户,而域(realm)则用于消息的路由。域NAI中紧眼在字符后面的字符串。NAI域名必须是惟一的,并且遵从DNS命名空间的管理。在RADIUS中,域名不必遵从DNS命名方式,可以独立。会话状态通过跟踪所有经过授权的活动会话,状态代理保留会话状态信息。每个经过授权的会话都与某特殊的业务绑定,其状态为活动,一直到被通知改变为其他状态或到期。子会话子会话表示一个提供给已有会话的独特的业务(例如Q
10、os或数据特性)。这些业务可以同时(例如在同一会话过程中同时传送语音和数据)或连续发生。会话中的这些改变通过Accounting-Sub-Session-Id 来表征。 RAD町S服务器RADIUS服务器指支持阳DIUS协议,对用户进行计费与认证的服务器,通常由运营商提供与维护。 RADIUS客户端RADIUS客户端指支持队DIUS协议,对于用户进行接人,并把用户的认证信息转发至队DIUS服务器,对用户身份进行认证的设备。3.2 缩暗语下列缩略i吾适用于本标准。AAA Authentication , Authorization and Accounting ADSL Asymmetrical
11、 Digtal Subscriber Loop A VP Attribute VaIue Pairs CHAP Challenge Handshack Authentication ProtocoI CMS Cryptographic Message S严ltaxEAP Extensible Authentication Protocol EAPOL EAP over L剧,HDLC High-Level Data Link Control H1TP Hyper Text Transmission Protocol IP Intemet Protocol LAN Local Area N et
12、work LAT Local Area Transport LCP Link Control Protocol 2 认证授权和计费非对称式数据用户线属性值对握手认证协议密码消息语法可扩展认证协议局域网上传送EAP协议高层数据链路控制超文本传输协议互联网协议局域网局域传送协议链路控制协议YD/T 1615一2007MTU Max面mffiTransIhission Unit 最大传输单元NAI Network Access Id巳ntifier网络接人标识NAS Network Access Server 网络接人服务器OTP One Time Password 一次性密码PAP Passwor
13、d Authentication Protocol 密码认证协议PPP Point to Point Protocol 点对点协议RADIUS Remoe Authentication Dia1-In User Service 远端拨人用户验证服务RAS Registration , AdIhissin阻dStatus 注册允许和状态协议SCTP Stre缸nControl Transmission Protocol 流控制传输协议SLIP Seria1 Line IP 串行ESI.但Structure of Management Information 管理信息结构SNMP Simple N
14、etwork Management Protocol 简单网管协议TACACS Teffina1 Access Controller Access Control System 终端接人控制者接人控制系统协议TCP TransIhission Control Protocol 传输控制协议LS Transport Layer Security 传输层安全UDP User Datagram Protocol 用户数据报协议4 RADIUS服务器结构作用及在网络中的位置4.1 RADIUS服务器的结构RAD町S服务器应可以对用户进而人证、处理与用户及应用相关的授权并收集计费信息。队D而S服务器应与
15、一特定的应用模块有接口,这个应用模块用于管理授权过程所需的资源。RADIUS系统的组成部分可能会分布在不同的管理域中。4.1.1 RADIUS服务器体系中的组成部分授权规则的评估:授权过程的第一个步骤是为用户或代表用户利益的实体产生一个请求并发向RADIUS服务器。RADIUS服务器有一套规则来检验这些请求,并做出相应的授权决定。RADIUS服务器应有一套基于规则的引擎,它可以理解请求中的一般信息,不过它不会知道任何具体的应用信息,除非这些信息是可以用布尔值或数值来表述的。应用专用模块:RADIUS服务器最终会与应用专用模块进行交互。对于业务提供者,业务专用模块用于管理资滑、并配置服务设备来提
16、供授权服务。它可能也参与授权的决策,因为它具有针对业务的信息。业务专用模块是RADIUS服务器一个分离的体系组成部分,它必须是可被寻址的,因此应在全球命名空间中。授权事件记录:为了审计,RAD阳S服务器必烦具有某种形式的数据库,用来存储有时间戳的事件。这个数据库可以说明曾颁发的授权。策略库:这是个包含可用的服务与资源数据库,授权的决策就对根据这些进行的,另外进行决策所需的各种策略也应在此数据库中。在此,对于服务与资源的命名空间也非常重要,它们必须是从别的RADIUS服务器上可以寻址的。请求前转:RADIUS可分布多个管理域的本质,使RADIUS服务器问必须有一种机制,使消息可以3 YD厅161
17、5-2007进行前转。两RADIUS服务器间的通信协议应为端到端的o4. .2 RADIUS服务器的模型RADIUS服务器应可以处理AAA请求,对其中的内容进行检查,判断应授予什么样的权限,从库中检索策略规则,运行各种本地的功能,并从下列可选项中择其一进行进一步地处理AAA请求的每个成份:(1)让连接的应用专用模块对某一成分进行评估;(2 )在授权事件记录或策略库中查找回应的结果;(3)把成份前转到其他AAA服务器上进行评估。用户策略与事件库RADIUS服务器基于规则的引擎应用专用板块固1RADIUS服务器与其相关部分的关系其他RAD阳S服务器图l显示了连接各个体系组成部分的RADIUS服务器
18、,在这个模型里,用户与其他AAA服务与RAD町S服务器发送请求以获得授权,请求消息采用RADWS协议。RADIUS服务器与应用专用模块及策略库、事件记录库相连接,它们之间的协议不在本标准的范围内。4.2 RADIUS服务器的作用基于RAD町S的AAA服务器,目前广泛用于通常用于AAA服务器应能够对网络接人客户进行认证、处理与用户及应用相关的授权并收集计费信息。一个AAA服务器通常会为一个或多个网络接人设备提供AAA服务。 认证(Authentication ) 认证过程是执行AAA任务的第一步,用来判别正在接人的用户的身份;基于RAD町S协议的AAA服务器能够支持多种认证机制,例如PAP和CH
19、AP。 授权(Authorization) 授权过程用来授予已经通过认证的用户可以拥有的网结及业务使用权限(例如,分配一个E地址给用户)。 t十费(Accounting) 计费过程对于商用IP网络是非常重要的,它可以实现对允许接人业务的用户记录各种与业务使用费用相关的信息,包括业务使用起止时间、数据流量、该用户使用的网络资惊等。除了以上三个基本功能外,基于RADIUS的AAA服务器还应具有以下功能:一一支持采用加密等技术手段保证客户端与服务器之间的通信安全,基于RAD町S协议的情况下,仅需要保证逐跳(hop句r-hop)安全。一一支持简单网管协议(SNMP),可选。4 YD厅1615-2007
20、4.3 RADIUS服务器在网络中的位置RADIUS服务器从所处的网络位置以及承担的功能从逻辑上可以分为代理服务器和普通服务器。AAA系统的组成部分可能会分布在不同的管理域中。通常情况下,基于RADIUS的AAA客户端一般会安装在用户接人设备上,通过网络与基于RADIUS的AAA服务器通信。同时,基于RAD町S的AAA服务器还可以作为另一个基于RAD町S的AAA服务器或其他认证服务器的代理客户端,这时该AAA服务器被称作代理AAA服务器。4.3.1 本地域用户完成AAA过程的网络配置图2给出了使用基于RADIUS协议的AAA服务器进行用户接人认证和授权的一个典型配置。此时申请接人服务的用户属于
21、本地域,因此可以直接通过本地所属的AAA服务器完成AAA过程。广(飞IP网络图2本地域用户完成AAA过程的网络配置终端用户接人一个支持RADIUS客户端服务的接人设备。接人设备从终端用户得到所需的接人认证用户信息(用户名/密码、主叫号码等)。接人设备随后使用UDPIIP转发加密过的接人请求给基于RADIUS的AAA服务器。消息中可能还包含类似接人设备端口号E以及E地址一类的属性。基于RAD町S的AAA服务器随后检查用户认证信息的属性是否与自己数据库中存储的信息匹配。如果不匹配,服务器则返回拒绝接人的消息给接人设备,该消息中可以可选携带指明失败原因的文本信息。接人设备则会通知终端用户认证失败。如
22、果匹配,服务器则返回允许接人的消息给接人设备,该消息中将附带完成连接所需要的任何附加配置信息,例如一个分配给终端用户的E地址或者一个限制特定协议类型的过滤器,如Telnet或H?。4.3.2 漫游到外地的用户完成AAA过程的网络配置在F商用网络中,RAD町S系统通常会根据网络本身的结构以及运营商的运营策略进行配置,可能存在多种不同的情况,例如,全网采用统一的RADIUS服务器进行用户访问控制;或者网内各域拥有自己的RAD阳S服务器负责本域内的用户认证计费。如果E商用网络采用了RAD町S服务器分布式设置的方式,并且执行用户归属地认证的运营策略,则需要服务器支持代理的功能。图3给出了漫游用户通过R
23、AD町S系统进行归属地认证的网络配置。这时,漫游地的RAD町S服务器承担代理服务器的角色。漫游用户接人当地支持客户端服务的接人设备。接人设备从终端用户得到所需的接人认lE用户信息(用户名/密码、主叫号码等),随后使用UDPIIP转发加密过的接人请求给漫游地队D町S服务器。消息中可能还包含类似接人设备端口号D以及E地址一类的属性。5 YD厅1615-2007A域用户数据库接入地RADIUS服务器(PRO盯)AAA消息圄3漫游用户完成AAA过程的网络配置B域用户数据库P网络B域漫游地的RAD町S服务器根据用户的接人信息应能够判断该用户是否为漫游用户,如果是,则本地RADIUS服务器向该用户归属地的
24、RAD町S服务器发送接人请求。归属地RADIUS服务器接收到该请求后,检查用户认证信息的属性是否与自己数据库中存储的信息匹配。如果不匹配,服务器则返回拒绝接人的消息给攫游地RADIUS服务器,该消息中可以携带可选的指明失败原因的文本信息。如果匹配,服务器则返回允许接人的消息给接人设备,该消息中将附带完成连接所需要的任何附加配置信息,例如一个分配给终端用户的E地址或者一个限制特定协议类型的过滤器,如Telnet或HITPo归属地RADIUS服务器接收到认证请求的响应(成功/失败),均会向接人设备发送相应的应答,接人设备应根据应答,通知终端用户是否可以接人。5 消息的格式与属性5.1 认证消息的格
25、式与属性5.1.1 认证消息的格式将RADIUS数据包封装到UDP数据字段,此时UDP目的端口字段应该是1812(十进制)。生成应答消息的时候,调换源和目的端口。RADIUS数据格式如下图所示。这些字段按照从左到右的顺序传输。1 2 3 o 1 2 3 4 5 6 7 890 1 2 3 4 5 6 7 890 123 4 5 6 7 890 1 +-+-+-+-+-+-+-+-+-+唰+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+编码标识长度+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+喃+-+-+帽+-+-+-+-+-+-+-+-
26、+-+-+-+-+-+校验码+-今-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+i属性. . +-+-+-+-争-+-+-+-+-+-+-+-+-编码(c叫e)字段:编码字段是一个字节,说明了RADIUS数据包的类型。如果接收到的数据包的编码字段无效,就直接丢弃。RADIUS编码(十进制)的分配如下所示:6 yorr 1615-2007 1 Access-R巳quest2 Access-Accept 3 Access-Reject 4 Accounting-Request 5 Accounting-Response
27、11 Acc巳ss-Challenge(接人口令)12 Status-Server (试验性)13 Status-Client (试验性)255 保留的编码12和13留作未来可能的使用情况,在本标准没有过多讨论。标识符(Identifier )字段:标识符宇段是一个字节,用于匹配申请和应答。RAD阳S服务器可以检测到较短时间内具有相同的客户源E地址、源UDP端口以及标识特的重复申请。长度字段:长度宇段是2个字节。它说明了包括编码、标识符、长度、校验码以及属性宇段在内的数据包长度。接收端必须把超出了长度宇段范围的字节看作是填充字节并忽略它们。如果数据包比长度宇段声明的长度短,则丢弃该数据包。数据
28、包的最短长度是20字节,最长是4096字节。校验码(Authenticator )宇段校验码字段:校验码字段是16字节。首先发送最高有效位。这个值用来验证来自RADIUS服务器的应答,它用在口令的隐藏算法中。请求消息的校验字段:在接人请求消息中,校验宇段值是请求校验的16字节的随机数字。在口令(在客户和RADIUS服务器之间共享的口令)存在的时间内这个值应该不可预知而且惟一的,因为一个重复的申请值和同样的口令会让人侵者用在前面截取的应答消息来应答。因为希望通过相同的口令来验证在不同地域的服务器,因此请消息校验字段应该具有全局以及暂时惟一值。Access-Reques肖息钮的请求消息校验值应该是
29、不可预测的,以免攻击者欺骗服务器来应答一个预知的未来的请求,然后用这个应答伪装成未来接人请求的服务器。虽然RAD町S等协议不能通过实时的方式来保护经过认证的会话不受窃昕的攻击,但是生成一个惟一的不可预测的请求可以防止大量的攻击通过认证。接人服务器和RAD四S服务器共享一个密钥。这个密钥后跟着请求消息校验字段,经过一个单向的MD5计算中形成一个数字摘要,然后这个值和用户输入的口令进行异或操作,异或的结果放置JAess-Request消息包的用户口令属性宇段中。详细的描述请参见属性一节中有关用户口令的部分。应答消息的校验宇段:将接人请求、接人拒绝和Access-Challenge数据包中的Auth
30、enticator宇段值称作应答Authen咀cator,该值包括一个通过一组字节计算出来单向MD5杂散,这些字节包括RADIUS数据包,这个数据包以编码字节开始,包括标识符、长度,以及来自接人请求的请求校验宇段,然后就是应答属性,以及共享的口令。也就是说,ResponseAuth=MD5( Code+ID+Length +RequestAuth+At仕ibutes+Secret) , 此处+号标识连接在一起。如果采用转发代理,在数据包通过的时候,代理必须能够改变数据包一一当代理转发请求的时候,代理可以在请求上加入一个代理状态属性,如果它在请求上加入了代理状态属性,在它转发应答的时候,它必须去
31、掉这个属性。代理状态通常加入/去掉在其他任何代理状态的后面,但是并没有规定它们在属性7 YD厅1615-2007列表中的位置。因为是在整个数据包内容的基础上对接人接受以及接人拒绝进行验证,去掉代理状态属性会导致数据包中的签名元效,因此代理必须重新签署该属性。5.1.2 认证消息类型RADIUS数据包类型由数据包的第一个字节中的编码字段来决定。5.1.2. i Accept-Request Access-Requ臼t消息包发送给RADIUS服务器,它用来携带决定一个用户是否可以接人一个特定的接人服务器的信息以及来自用户的任何特别的业务请求。在从一个有效的客户接收到接人请求的时候,必须发送一个适当
32、的应答消息。接人请求应该包含用户名字属性。它必烦包含接人服务器E地址属性或者接人服务器标识符属性(或者两者都包括)。接人请求必须包含用户口令或者CHAP口令或者状态(STATB)。接人请求不能同时包含用户口令和CHAP口令。如果将来的扩展版本允许传送其他形式的认证信息,在接人请求中可以包含用于这些认证信息的属性而无需包含用户口令或者CHAP口令。接人请求应该包含接人服务器端口或者接人服务器端口类型属性或者两者都包括,除非请求的接人类型不包括端口或者接人服务器不区分端口信息。接人请求还可以包含附加的属性,作为给服务器的一个指示,但是不要求服务器接受这个指示。当出现用户口令的时候,口令采用一种基于
33、RSA消息摘要算法MD5的算法来隐藏它。接人请求格式的如下图所示。这些字段按照从左到右的方向传输。l 2 3 。1234567890 123 4 5 6 7 890 123 4 5 6 7 890 1 +-+-+-+-+-+-+-t-t-t-+-t-+-t-+-,护-t-t-t-t-t.喃+-令喃+-+-+-+-+-令-+-+帽+-+编码际识符长度t-+-+-t-+-+-t-t-t皿+-+-+-+-+-+-+-+-+田-+-+-+阳牛-+蛐+-+-唰护-+-+-+-+-+-t-t请求校验码+-+-+-,护-+-+-+-+-+-+-t-+-+-+-+-+-+-+甸+匍+-+-t-t-+-+-+-
34、+-+-+-+-+-+-t1 属性. . +-+-+-+-+-+-+-+-+-+例+-+-+-编码:接人请求的编码值为1。标识符:当属性字段的内容发生变化而且接收到了一个对前一个请求的有效应答的时候,必须改变标识特字段。为了重传的需要,标识符必须保持不变。请求校验码:当采用新的标识符的时候,必须改变请求校验值。属性:属性字段长度是可变的,包含了业务类型需要的属性列表,以及任何需要的可选的属性。5.1.2.2 Access-Accept RADIUS服务器发送Access-Accept消息,这些数据包提供了为用户传送业务所需要的特定的配置信息。如果接人请求中所有的属性值都是可接受的,那么RADI
35、US必须传送编码值为2的数据包(接人接受)。B YD厅1615-2007一旦接收到了access-accept,标识符字段与待处理的接人请求匹配。应答校验值宇段必须包含对待处理的接人请求的正确应答。丢弃无效的数据包。Access-Accept消息格式如下图所示。这些字段按照从左到右的顺序传送。2 3 o 1 2 3 4 5 6 7 8 9 0 1 2 345 6 7 890 1 234 5 6 7 8 9 0 1 十-+-t-t-t-t-t-t-t-中-t-t-t-t-t-t-+-t-t-t-t-t-+-t-t-t-t-t-+-t-t-t-t编码标识符长度t-t-t-t-t伊+-+-+-+-+
36、-+-+-+白面+-t-t-+-t-t-+阳+-t-t-t-t-t-t-t悔+-+-+-+-+应答校验码+-t-t-t-+-t-t-t-t-t-t-t-t-t-t-t-t-+-t-t-+-+-t-t-t-t-t甸t-t-t-t-t-t| 属性. +-+-卡-t-t-t-t-t-t-t-t-t-t-编码:Access-Accept的编码值是20标识符:标识符宇段复制了引起Access-Accept的接人请求的标识符字段。应答校验码:应答校验值是从前面描述过的接人请求值计算出来的。属性:属性字段的长度是可变的,而且包含了。个或者多个属性的一个列表。5.1.2.3 Access-Reject 如果任
37、何接收到的属性值都不可接受,那么RAD而S服务器必须发送一个编码字段为3的数据包( access-reject )。它可能包括一个或者多个应答消息属性,在该属性中有一个接人服务器可能显示给用户的文本消息。Acce卧Reject数据包的格式如下图所示。这些字段按照从左到右的JI民序发送。1 2 3 o 1 2 345 6 7 890 1 2 3 4 5 6 7 8 9 0 1 234 5 6 7 890 1 t-t-t-t-t-t-t-t-t-t-t-t-t-t-t-t旬-+句t-t-t-十-+-+-+-+-+-+喃+-+-+-+-+-+编码标识符长度+-+-+-+-+-+-+-+-+-+-+-
38、+-+-+-+-+-+-+-+-+-+-+-+-+-+町+喃+-+-+响+-+-+-+响应校验码+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 属性. +-+-+-+-+-+-+-+-+-+-+-+-+-编码:Access-Reject的编码值是30标识符:标识符宇段复制了引起Access-reject的接人请求的标识符字段。应答校验符:应答校验符值和前面描述的一样,通过对接人请求值的计算而得到。属性:该属性字段的长度可变,它包含了0个或者多个属性的一个列表。9 YD汀1615-20075.1.2.4 Ac
39、cess-Challenge 如果RADIUS服务器希望发送给用户一个需要应答的质询消息,RADIUS服务器必须通过发送一个编码字段为11(Access-Challenge)的数据包来应答接人请求。该属性字段可以具有一个或者多个应答消息属性和一个状态属性(state) ,或者什么都没有。也可以包括厂商特有的空闲超时、会话超时以及代理状态属性。在Access-ChalIenge中不能再包含任何其他的在本文档中定义的属性。在收到一个Access-Challenge后,将标识符字段和未决的接人请求进行匹配。除此以外,应答Authenticator字段必须包含对未决的接人请求的正确的应答。丢弃无效的数
40、据包。如果接人服务器不支持质询/响应,它必须把Access-Challenge看作是接收到了一个access-reject数据包。如果接人服务器支持质询/响应,那么接收到一个有效的access-challenge就意味着应该发送一个新的接人请求。如果可能的话,接人服务器可以向用户显示文本消息,并且提示用户给出应答。然后它发送它最韧的接人请求,该申请具有一个新的申请田和申请校验码,用户的应答(加密)代替了用户的口令属性,同时还包括来自Access-ChalIenge的任何一个状态(STATE)属性。在接人请求中最多只能包括一个状态属性的实例。支持PAP的接人服务器可以将应答消息转发给拨号客户并且
41、接受一个PAP应答,它可以把这个应答看作是用户输入的应答。如果接人服务器不支持上述做法,它必须把接受到的Access-Challenge看作是接收到一个access-reject数据包。Access-Challenge数据包的格式如下图所示o这些字段按照从左到右的顺序发送。2 3 o 123 4 5 6 7 890 1 2 3 4 5 6 7 890 1 2 3 4 567 890 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-十-t-t-t-t-t-t-+-+-t-t-+编码l 标识符l 长皮t-t-t-t-十-+-+-t-t-t-t-+-t-+阙+-+
42、-+蜘+-t-t-t-+-+-+-f-+-f-t-t-+-t-t-+响应校验码+-t-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-斗-+组+-+-+-+-+-+四+-+-+-+-+-+| 属性. +-t-+叩+-+-+-+-+-+-+-+-+-编码:Access-Challenge的编码值为110标识符:标识符字段复制了引起Access-challenge接人请求的标识符字段。应答校验宇段:应答校验宇段值和前面描述的一样,通过对接人请求值的讨算而得到。属性:该属性字段的长度可变,它包含0个或者多个属性的一个列表。5.1.3 属性10 RADIUS庸性携带特定的验证、授权
43、信息以及用于申请和应答的配置信息。RADIUS数据包的最度来指示属性列表的结束。有些属性可能会包含多次,这样做的结果是一些属性所特有的,在对每个属性的描述有对此有规定。YD厅1615-2007如果出现了具有同样类型的多个属性,任何一个代理都要保持同样类型属性的顺序。不要求保持不同类型的属性的顺序。一个RAD旧S服务器或者客户不能对不同类型的属性的顺序有任何依赖性。对一个属性的描述限制了可以包含该属性的数据包类别,这个规定只是用于在本文档中定义的数据包类型,它们分别是Access-Request、Access-Accept、Access-Rejec和Access-Challenge(编码分别为1
44、、2、3和11)。其他文档定义的其他的数据包类型也许也可以使用此处定义的属性。和此处定义的数据包类型需要声明只有特定的属性可以在这些数据包中使用一样,将来定义的新属性也应该指示这些属性可以用在哪些数据包类型中。属性格式如下图所示。这些字段按照从左到右的顺序发送。2 o 1 2 3 4 5 6 7 890 1 234 567 890 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-t-t-t-t-+-类型长度|值.,. +t-+-+-+-t-+-t-t-t-+伊+-t-t-t-t-t-t-t-t-t-t-类型(Typ巳):类型宇段是一个字节。192-223留作实验用,22
45、4-240用作特殊的执行情况,241阳255保留,不应该使用这些值。一个RADIUS服务器可以忽略未知类型的属性。一个RADIUS客户可以忽略未知类型的属性。本标准涉及到了下面的属性值:1 User-Name 2 User-Password 3 CHAP-Password 4 NAS-IP-Address 5 NAS-Port 6 Service-Type 7 Framed-Protocol 8 Framed-IP-Address 9 Framed-IP-Netnaask 10 Framed-Routing 11 Filter-Id 12 Framed啕MTU13 Framed-Compres
46、sion 14 Login-IP-Host 15 Login-Se凹ice16 Login-TCP-Port 17 . (未分配)18 Reply-Message 19 Cal1back-Number 20 Callback-Id 11 YD厅1615甲200721 (未分配)22 Framed-Route 23 Framed-IPX-Network 24 State 25 Class 26 Vendor-Specific 27 Session-Timeout 28 Idle-Timeout 29 Termination-Action 30 Calledtation-Id 31 Calling
47、-Station-Id 32 NAS-Identifier 33 Proxy-State 34 Login-LA T -Service 35 1gin-LAT-Node 36 Login-LAT -Group 4059 (为计费保留)60 CHAP-Challenge 61 NAS-Port-Type 62 Port-Limit 63 Login-LAT -Port 79 EAP-Message 80 Message-Authenticator 85 Acct-Interim-Interval 长度:长度字段是一个字节,它表示了包括类型、长度以及属性值字段的这个属性的长度。如果ACCESS帽阻QUEST中收