收藏 分销(赏)

radius协议.doc

上传人:天**** 文档编号:3359506 上传时间:2024-07-03 格式:DOC 页数:20 大小:156.54KB 下载积分:10 金币
下载 相关 举报
radius协议.doc_第1页
第1页 / 共20页
radius协议.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
一、 概述: RADIUS协议涉及RADIUS AUTHENTICATION PROTOCOL 和 RADIUS ACCOUNTING PROTOCOL 两部分。RADIUS AUTHENTICATION PROTOCOL 完毕拨号用户的认证工作,而RADIUS ACCOUNTING PROTOCOL 则完毕用户服务的计费任务。 事实上,为了更好地向分散的众多接入用户提供互联网服务,必须对接入服务提供有效的管理支持。它需要对安全,配置,计费等提供支持,这可以通过对一个用户数据库的管理来达成, 这个数据库涉及认证信息,及细化的服务配置信息和计费信息。通常这个数据库的维护管理,对用户信息的核算及配置有一个单独的实体完毕,这个实体就是RADIUS server。由于这些管理信息的众多与繁杂,通常RADIUS server放在一个独立的计算机上,而为了向RADIUS server取得服务,必须一方面构建一个RADIUS client,通常RADIUS client 位于Network Access Server(NAS,网络接入设备)上。 下图示例了这些实体之间的关系: 用户A RADIUS SERVER (AAA) 用户N 用户B RADIUS CLIENT (NAS) INTERNET 二、 RADIUS认证协议格式: 1、RADIUS AUTHENTICATION PROTOCOL 包格式 下面是协议报文格式: LENGTH IDENTIFIER CODE AUTHENTICATOR ATTRIBUTES CODE域可以涉及如下一些值; 1 Access-Request 2 Access-Accept 3 Access-Reject 4 Accounting-Request 5 Accounting-Response 11 Access-Challenge 12 Status-Server 13 Status-Client 255 Reserved 其中,CODE 1,2,3,11值为RADIUS AUTHENTICATION PROTOCOL使用,而CODE 4,5值为RADIUS ACCOUNTING PROTOCOL使用。其余未用或保存。CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +AUTHENTICATOR+ATTRIBUTES的所有长度。 AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认证答复和加密口令字。 ATTRIBUTES是若干属性状态的集合,其长度是不拟定的,不同的CODE值可以跟随不同的属性值。下表是一个总结: Request Accept Reject Challenge # Attribute 1 0 0 0 1 User-Name 0-1 0 0 0 2 User-Password 0-1 0 0 0 3 CHAP-Password 0-1 0 0 0 4 NAS-IP-Address 0-1 0 0 0 5 NAS-Port 0-1 0-1 0 0 6 Service-Type 0-1 0-1 0 0 7 Framed-Protocol 0-1 0-1 0 0 8 Framed-IP-Address 0-1 0-1 0 0 9 Framed-IP-Net mask 0 0-1 0 0 10 Framed-Routing 0 0+ 0 0 11 Filter-Id 0 0-1 0 0 12 Framed-MTU 0+ 0+ 0 0 13 Framed-Compression 0+ 0+ 0 0 14 Login-IP-Host 0 0-1 0 0 15 Login-Service 0 0-1 0 0 16 Login-TCP-Port 0 0+ 0+ 0+ 18 Reply-Message 0-1 0-1 0 0 19 Callback-Number 0 0-1 0 0 20 Callback-Id 0 0+ 0 0 22 Framed-Route 0 0-1 0 0 23 Framed-IPX-Network 0-1 0-1 0 0-1 24 State 0 0+ 0 0 25 Class 0+ 0+ 0 0+ 26 Vendor-Specific 0 0-1 0 0-1 27 Session-Timeout 0 0-1 0 0-1 28 Idle-Timeout 0 0-1 0 0 29 Termination-Action 0-1 0 0 0 30 Called-Station-Id 0-1 0 0 0 31 Calling-Station-Id 0-1 0 0 0 32 NAS-Identifier 0+ 0+ 0+ 0+ 33 Proxy-State 0-1 0-1 0 0 34 Login-LAT-Service 0-1 0-1 0 0 35 Login-LAT-Node 0-1 0-1 0 0 36 Login-LAT-Group 0 0-1 0 0 37 Framed-AppleTalk-Link 0 0+ 0 0 38 Framed-AppleTalk-Network 0 0-1 0 0 39 Framed-AppleTalk-Zone 0-1 0- 0 0 60 CHAP-Challenge 0-1 0 0 0 61 NAS-Port-Type 0-1 0-1 0 0 62 Port-Limit 0-1 0-1 0 0 63 Login-LAT-Port 表中, 0表达在此类型包中,不可以跟随此属性状态; 1表达在此类型包中,只有一个此属性状态可跟随; 0+表达在此类型包中,0个或多个此属性状态可跟随; 0-1表达在此类型包中,0个或1个此属性状态可跟随; 2、RADIUS AUTHENTICATION PROTOCOL ACCESS-REQUEST 下面是ACCESS-REQUEST包格式: LENGTH IDENTIFIER CODE REQUEST-AUTHENTICATOR ATTRIBUTES 其中,CODE=1;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +REQUEST-AUTHENTICATOR+ATTRIBUTES的所有长度。 REQUEST-AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认证答复和加密口令字。 ATTRIBUTES是若干属性状态的集合。参考上表。 3、RADIUS AUTHENTICATION PROTOCOL ACCESS-ACCEPT 下面是ACCESS-ACCEPT包格式: LENGTH IDENTIFIER CODE RESPONSE-AUTHENTICATOR ATTRIBUTES 其中,CODE=2;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。 RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。 ATTRIBUTES是若干属性状态的集合。参考上表。 4、RADIUS AUTHENTICATION PROTOCOL ACCESS-REJECT 下面是ACCESS-REJECT包格式: LENGTH IDENTIFIER CODE RESPONSE-AUTHENTICATOR ATTRIBUTES 其中,CODE=3;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。 RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。 ATTRIBUTES是若干属性状态的集合。参考上表。 5、RADIUS AUTHENTICATION PROTOCOL ACCESS-CHALLENGE 下面是ACCESS-CHALLENGE包格式: LENGTH IDENTIFIER CODE RESPONSE-AUTHENTICATOR ATTRIBUTES 其中,CODE=11;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。 RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。 ATTRIBUTES是若干属性状态的集合。参考上表。 6、RADIUS AUTHENTICATION PROTOCOL ATTRIBUTES 下面是属性状态的包格式: TYPE LENGTH VALUE TYPE占一个字节,表达属性状态的类型,、; LENGTH占一个字节,表达属性长度,涉及TYPE+LENGTH+VALUE; VALUE长度不定,由类型拟定。 下面是所有TYPE的集合描述: 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-Netmask 10 Framed-Routing 11 Filter-Id 12 Framed-MTU 13 Framed-Compression 14 Login-IP-Host 15 Login-Service 16 Login-TCP-Port 17 (unassigned) 18 Reply-Message 19 Callback-Number 20 Callback-Id 21 (unassigned) 22 Framed-Route 23 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 Login-LAT-Service 35 Login-LAT-Node 36 Login-LAT-Group 37 Framed-AppleTalk-Link 38 Framed-AppleTalk-Network 39 Framed-AppleTalk-Zone 40-59 (reserved for accounting) 60 CHAP-Challenge 61 NAS-Port-Type 62 Port-Limit 63 Login-LAT-Port 7、单个 ATTRIBUTES介绍 由于ATTRIBUTES多达40多个,不也许一一介绍。这里选择几个重要且常用的作简朴介绍,其余可参照RFC文档。 USER-NAME属性状态: 格式: TYPE LENGTH STRING TYPE=1,表达USER-NAME属性状态; LENGTH,表达整个属性状态长度,大于3; STRING,是名字字符串,可认为如下几种形式: 简朴数字字符串,用于本地管理NAS; 简朴可打印字符串; SMTP地址格式,如: ANS.1名字:以ANS.标准出现的名字。 USER-PASSWORD属性状态: 格式: TYPE LENGTH STRING TYPE=2,表达USER-PASSWORD属性状态; LENGTH,表达整个属性状态长度,大于18小于30; STRING,是加密后的MD5摘要字符串。计算方法如下; 假设S表达共享密码,RA表达REQUEST-AUTHENTICATOR,而口令被分为16位BITS的快,p1,P2,等等。则: b1 = MD5(S + RA) c(1) = p1 xor b1 b2 = MD5(S + c(1)) c(2) = p2 xor b2 . . . . . . bi = MD5(S + c(i-1)) c(i) = pi xor bi STRING = c(1)+c(2)+……+ c(i) NAS-IP-ADDRESS属性状态: 格式: TYPE LENGTH ADDRESS ADDRESS TYPE=4,表达NAS-IP-ADDRESS属性状态; LENGTH,表达整个属性状态长度,6个字节; ADDRESS,表达IP地址,4字节。 NAS-PORT属性状态: 格式: TYPE LENGTH PORT PORT TYPE=5,表达NAS-PORT属性状态; LENGTH,表达整个属性状态长度,6个字节; PORT,表达PORT号码,4字节,0-65535。 SEVICE-TYPE属性状态: 格式: TYPE LENGTH VALUE VALUE TYPE=6,表达SEVICE-TYPE属性状态; LENGTH,表达整个属性状态长度,6个字节; VALUE,表达服务属性,4字节,有如下一些取值: 1 Login 2 Framed 3 Callback Login 4 Callback Framed 5 Outbound 6 Administrative 7 NAS Prompt 8 Authenticate Only 9 Callback NAS Prompt FRAMED-PROTOCOL属性状态: 格式: TYPE LENGTH VALUE VALUE TYPE=7,表达FRAMED-PROTOCOL属性状态; LENGTH,表达整个属性状态长度,6个字节; VALUE,表达协议属性,4字节,有如下一些取值: 1 PPP 2 SLIP 3 AppleTalk Remote Access Protocol (ARAP) 4 Gandalf proprietary SingleLink/MultiLink protocol 5 Xylogics proprietary IPX/SLIP 三、 RADIUS计费协议格式: 1、RADIUS ACCOUNTING PROTOCOL 包格式 下面是协议报文格式: LENGTH IDENTIFIER CODE AUTHENTICATOR ATTRIBUTES CODE域可以涉及如下一些值; 4 Accounting-Request 5 Accounting-Response IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +AUTHENTICATOR+ATTRIBUTES的所有长度。 AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认证答复和加密口令字。 ATTRIBUTES是若干属性状态的集合,其长度是不拟定的。不同的CODE值可以跟随不同的属性值。下表是一个总结: Request Response # Attribute 0-1 0 1 User-Name 0 0 2 User-Password 0 0 3 CHAP-Password 0-1 0 4 NAS-IP-Address 0-1 0 5 NAS-Port 0-1 0 6 Service-Type 0-1 0 7 Framed-Protocol 0-1 0 8 Framed-IP-Address 0-1 0 9 Framed-IP-Net mask 0-1 0 10 Framed-Routing 0+ 0 11 Filter-Id 0-1 0 12 Framed-MTU 0+ 0 13 Framed-Compression 0+ 0 14 Login-IP-Host 0-1 0 15 Login-Service 0-1 0 16 Login-TCP-Port 0 0 18 Reply-Message 0-1 0 19 Callback-Number 0-1 0 20 Callback-Id 0+ 0 22 Framed-Route 0-1 0 23 Framed-IPX-Network 0 0 24 State 0+ 0 25 Class 0+ 0+ 26 Vendor-Specific 0-1 0 27 Session-Timeout 0-1 0 28 Idle-Timeout 0-1 0 29 Termination-Action 0-1 0 30 Called-Station-Id 0-1 0 31 Calling-Station-Id 0-1 0 32 NAS-Identifier 0+ 0+ 33 Proxy-State 0-1 0 34 Login-LAT-Service 0-1 0 35 Login-LAT-Node 0-1 0 36 Login-LAT-Group 0-1 0 37 Framed-AppleTalk-Link 0-1 0 38 Framed-AppleTalk-Network 0-1 0 39 Framed-AppleTalk-Zone 1 0 40 Acct-Status-Type 0-1 0 41 Acct-Delay-Time 0-1 0 42 Acct-Input-Octets 0-1 0 43 Acct-Output-Octets 1 0 44 Acct-Session-Id 0-1 0 45 Acct-Authentic 0-1 0 46 Acct-Session-Time 0-1 0 47 Acct-Input-Packets 0-1 0 48 Acct-Output-Packets 0-1 0 49 Acct-Terminate-Cause 0+ 0 50 Acct-Multi-Session-Id 0+ 0 51 Acct-Link-Count 0 0 60 CHAP-Challenge 0-1 0 61 NAS-Port-Type 0-1 0 62 Port-Limit 0-1 0 63 Login-LAT-Port 表中, 0表达在此类型包中,不可以跟随此属性状态; 1表达在此类型包中,只有一个此属性状态可跟随; 0+表达在此类型包中,0个或多个此属性状态可跟随; 0-1表达在此类型包中,0个或1个此属性状态可跟随; 2、RADIUS ACCOUNTING PROTOCOL ACCOUNTING-REQUEST 下面是ACCOUNTINGREQUEST包格式: LENGTH IDENTIFIER CODE REQUEST-AUTHENTICATOR ATTRIBUTES 其中,CODE=4;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +REQUEST-AUTHENTICATOR+ATTRIBUTES的所有长度。 REQUEST-AUTHENTICATOR 是16字节的MD5 HASH结果值,高位在先。 ATTRIBUTES是若干属性状态的集合。参考上表。 3、RADIUS ACCOUNTING PROTOCOL ACCOUNTING-RESPONSE 下面是ACCOUNTINGRESPONSE包格式: LENGTH IDENTIFIER CODE RESPONSE-AUTHENTICATOR ATTRIBUTES 其中,CODE=5;CODE占一个字节 IDENTIFIER占一个字节,用于匹配请求和应答。 LENGTH 占二个字节,是整个数据报的长度,涉及CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。 REQUEST-AUTHENTICATOR 是16字节的MD5 HASH结果值,高位在先。 ATTRIBUTES是若干属性状态的集合。参考上表。 4、RADIUS ACCOUNTING PROTOCOL ATTRIBUTES 下面是属性状态的包格式: TYPE LENGTH VALUE TYPE占一个字节,表达属性状态的类型,、; LENGTH占一个字节,表达属性长度,涉及TYPE+LENGTH+VALUE; VALUE长度不定,由类型拟定。 下面是所有TYPE的集合描述: 40 Acct-Status-Type 41 Acct-Delay-Time 42 Acct-Input-Octets 43 Acct-Output-Octets 44 Acct-Session-Id 45 Acct-Authentic 46 Acct-Session-Time 47 Acct-Input-Packets 48 Acct-Output-Packets 49 Acct-Terminate-Cause 50 Acct-Multi-Session-Id 51 Acct-Link-Count 5、单个 ATTRIBUTES介绍 由于ATTRIBUTES较多,不也许一一介绍。这里选择几个重要且常用的作简朴介绍,其余可参照RFC文档。 ACCT-STATUS-TYPE属性状态: 格式: TYPE LENGTH VALUE VALUE TYPE=40,表达ACCT-STATUS-TYPE属性状态; LENGTH,表达整个属性状态长度,6个字节; VALUE,表达服务属性,4字节,有如下一些取值: 1 Start 2 Stop 7 Accounting-On 8 Accounting-Off ACCTSESSION-ID属性状态: 格式: TYPE LENGTH STRING TYPE=44,表达ACCTSESSION-ID属性状态; LENGTH,表达整个属性状态长度,大于3; STRING,是可见ASCII字符; 四、 RADIUS MSC图: 1、基本实体说明 在以下的讨论中,我们使用如下三个实体: 用户实体:USER NAS RADIUS 客户实体:CLIENT RADIUS SERVER 实体:SERVER 2、普通认证过程MSC图 USER SERVER CLIENT Access-request &set timeout Username,password Access-response &unset timeout Timeout, send request again &set timeout Authentication end Authentication end 3、和CHAP交互认证过程(成功)MSC图 CLIENT USER SERVER Access-request &set timeout Username,password Timeout, send request again &set timeout Access-challenge &unset timeout Prompt for response New Access-request &set timeout User response Access-response &unset timeout 4、和CHAP交互认证过程(失败)MSC图 SERVER CLIENT USER Access-request &set timeout Username,password Timeout, send request again &set timeout Access-challenge &unset timeout Prompt for response New Access-request &set timeout User response Access-reject & unset timeout Authentication fail 5、计费过程(正常)MSC图 CLIENT USER SERVER Access-request &set timeout Username,password Timeout, send request again &set timeout Authentication end Access-response &unset timeout Acct-request(B) &set timeout Distribute services Acct-request(E) &set timeout Content services Acct-response(B) &unset timeout Acct-response(E) &unset timeout End services 参考资料: [1] Rivest, R., and S. Dusse, "The MD5 Message-Digest Algorithm",RFC 1321, MIT Laboratory for Computer Science, RSA Data Security Inc., April 1992. [2] Postel, J., "User Datagram Protocol", STD 6, RFC 768, USC/Information Sciences Institute, August 1980. [3] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC1700, USC/Information Sciences Institute, October 1994. [4] Rigney, C., "RADIUS Accounting", RFC 2139, April 1997. [5] Rigney,C, “RADIUS Authentication, RFC2138,Aprial 1997.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服