radius协议参考模板_第1页
radius协议参考模板_第2页
radius协议参考模板_第3页
radius协议参考模板_第4页
radius协议参考模板_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 概述:RADIUS协议包括RADIUS AUTHENTICATION PROTOCOL 和 RADIUS ACCOUNTING PROTOCOL 两部分。RADIUS AUTHENTICATION PROTOCOL 完成拨号用户的认证工作,而RADIUS ACCOUNTING PROTOCOL 则完成用户服务的计费任务。事实上,为了更好地向分散的众多接入用户提供互联网服务,必须对接入服务提供有效的管理支持。它需要对安全,配置,计费等提供支持,这可以通过对一个用户数据库的管理来达到, 这个数据库包括认证信息,及细化的服务配置信息和计费信息。通常这个数据库的维护管理,对用户信息的核实及配置有

2、一个单独的实体完成,这个实体就是RADIUS server。由于这些管理信息的众多与繁杂,通常RADIUS server放在一个独立的计算机上,而为了向RADIUS server取得服务,必须首先构建一个RADIUS client,通常RADIUS client 位于Network Access Server(NAS,网络接入设备)上。下图示例了这些实体之间的关系:用户ARADIUSSERVER(AAA)用户N用户BRADIUSCLIENT(NAS)INTERNET二、 RADIUS认证协议格式:1、RADIUS AUTHENTICATION PROTOCOL 包格式下面是协议报文格式:LEN

3、GTHIDENTIFIER CODEAUTHENTICATORATTRIBUTESCODE域可以包括如下一些值;1 Access-Request1 / 142 Access-Accept3 Access-Reject4 Accounting-Request5 Accounting-Response11 Access-Challenge12 Status-Server13 Status-Client255 Reserved其中,CODE 1,2,3,11值为RADIUS AUTHENTICATION PROTOCOL使用,而CODE 4,5值为RADIUS ACCOUNTING PROTOCOL

4、使用。其余未用或保留。CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +AUTHENTICATOR+ATTRIBUTES的所有长度。AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认证答复和加密口令字。ATTRIBUTES是若干属性状态的集合,其长度是不确定的,不同的CODE值可以跟随不同的属性值。下表是一个总结:RequestAcceptRejectChallenge#Attribute10001User-Name0-10002User-Password0-

5、10003CHAP-Password0-10004NAS-IP-Address0-10005NAS-Port0-10-1006Service-Type0-10-1007Framed-Protocol0-10-1008Framed-IP-Address0-10-1009Framed-IP-Net mask00-10010Framed-Routing00+0011Filter-Id00-10012Framed-MTU0+0+0013Framed-Compression0+0+0014Login-IP-Host00-10015Login-Service00-10016Login-TCP-Port00

6、+0+0+18Reply-Message0-10-10019Callback-Number00-10020Callback-Id00+0022Framed-Route00-10023Framed-IPX-Network0-10-100-124State00+0025Class0+0+00+26Vendor-Specific00-100-127Session-Timeout00-100-128Idle-Timeout00-10029Termination-Action0-100030Called-Station-Id0-100031Calling-Station-Id0-100032NAS-Id

7、entifier0+0+0+0+33Proxy-State0-10-10034Login-LAT-Service0-10-10035Login-LAT-Node0-10-10036Login-LAT-Group00-10037Framed-AppleTalk-Link00+0038Framed-AppleTalk-Network00-10039Framed-AppleTalk-Zone0-10-0060CHAP-Challenge0-100061NAS-Port-Type0-10-10062Port-Limit0-10-10063Login-LAT-Port表中,0表示在此类型包中,不可以跟随

8、此属性状态;1表示在此类型包中,只有一个此属性状态可跟随;0+表示在此类型包中,0个或多个此属性状态可跟随;0-1表示在此类型包中,0个或1个此属性状态可跟随;2、RADIUS AUTHENTICATION PROTOCOL ACCESS-REQUEST下面是ACCESS-REQUEST包格式:LENGTHIDENTIFIER CODEREQUEST-AUTHENTICATORATTRIBUTES其中,CODE=1;CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +REQUES

9、T-AUTHENTICATOR+ATTRIBUTES的所有长度。REQUEST-AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认证答复和加密口令字。ATTRIBUTES是若干属性状态的集合。参考上表。3、RADIUS AUTHENTICATION PROTOCOL ACCESS-ACCEPT下面是ACCESS-ACCEPT包格式:LENGTHIDENTIFIER CODERESPONSE-AUTHENTICATORATTRIBUTES其中,CODE=2;CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括C

10、ODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。ATTRIBUTES是若干属性状态的集合。参考上表。4、RADIUS AUTHENTICATION PROTOCOL ACCESS-REJECT下面是ACCESS-REJECT包格式:LENGTHIDENTIFIER CODERESPONSE-AUTHENTICATORATTRIBUTES其中,CODE=3;CODE占一个字节IDENTIFIER占一个字节,用于

11、匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。ATTRIBUTES是若干属性状态的集合。参考上表。5、RADIUS AUTHENTICATION PROTOCOL ACCESS-CHALLENGE下面是ACCESS-CHALLENGE包格式:LENGTHIDENTIFIER CODERESPONSE-AUTHENTICATORATTRIBU

12、TES其中,CODE=11;CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。RESPONSE-AUTHENTICATOR 是由REQUEST-AUTHENTICATOR计算得出,高位在先。ATTRIBUTES是若干属性状态的集合。参考上表。6、RADIUS AUTHENTICATION PROTOCOL ATTRIBUTES下面是属性状态的包格式:TYPELENGTHVALUETYPE占一个字节,表

13、示属性状态的类型,、;LENGTH占一个字节,表示属性长度,包括TYPE+LENGTH+VALUE;VALUE长度不定,由类型确定。下面是所有TYPE的集合描述: 1User-Name 2User-Password 3CHAP-Password 4NAS-IP-Address 5NAS-Port 6Service-Type 7Framed-Protocol 8Framed-IP-Address 9Framed-IP-Netmask 10Framed-Routing 11Filter-Id 12Framed-MTU 13Framed-Compression 14Login-IP-Host 15L

14、ogin-Service 16Login-TCP-Port 17 (unassigned) 18Reply-Message 19Callback-Number 20Callback-Id 21 (unassigned) 22Framed-Route 23Framed-IPX-Network 24State 25Class 26Vendor-Specific 27Session-Timeout 28Idle-Timeout 29Termination-Action 30Called-Station-Id 31Calling-Station-Id 32NAS-Identifier 33Proxy-

15、State 34Login-LAT-Service 35Login-LAT-Node 36Login-LAT-Group 37Framed-AppleTalk-Link 38Framed-AppleTalk-Network 39Framed-AppleTalk-Zone 40-59 (reserved for accounting) 60CHAP-Challenge 61NAS-Port-Type 62Port-Limit63 Login-LAT-Port7、单个 ATTRIBUTES介绍由于ATTRIBUTES多达40多个,不可能一一介绍。这里选择几个重要且常用的作简单介绍,其余可参照RFC

16、文档。USER-NAME属性状态:格式:TYPELENGTHSTRINGTYPE=1,表示USER-NAME属性状态;LENGTH,表示整个属性状态长度,大于3;STRING,是名字字符串,可以为如下几种形式:简单数字字符串,用于本地管理NAS;简单可打印字符串;SMTP地址格式,如:nameANS.1名字:以ANS.标准出现的名字。USER-PASSWORD属性状态:格式:TYPELENGTHSTRINGTYPE=2,表示USER-PASSWORD属性状态;LENGTH,表示整个属性状态长度,大于18小于30;STRING,是加密后的MD5摘要字符串。计算方法如下;假设S表示共享密码,RA表

17、示REQUEST-AUTHENTICATOR,而口令被分为16位BITS的快,p1,P2,等等。则:b1 = MD5(S + RA) c(1) = p1 xor b1b2 = MD5(S + c(1) c(2) = p2 xor b2 . . . . . .bi = MD5(S + c(i-1) c(i) = pi xor biSTRING = c(1)+c(2)+ c(i) NAS-IP-ADDRESS属性状态:格式:TYPELENGTHADDRESSADDRESSTYPE=4,表示NAS-IP-ADDRESS属性状态;LENGTH,表示整个属性状态长度,6个字节;ADDRESS,表示IP地

18、址,4字节。NAS-PORT属性状态:格式:TYPELENGTHPORTPORTTYPE=5,表示NAS-PORT属性状态;LENGTH,表示整个属性状态长度,6个字节;PORT,表示PORT号码,4字节,0-65535。SEVICE-TYPE属性状态:格式:TYPELENGTHVALUEVALUETYPE=6,表示SEVICE-TYPE属性状态;LENGTH,表示整个属性状态长度,6个字节;VALUE,表示服务属性,4字节,有如下一些取值:1 Login2 Framed3 Callback Login4 Callback Framed5 Outbound6 Administrative7 N

19、AS Prompt8 Authenticate Only9 Callback NAS PromptFRAMED-PROTOCOL属性状态:格式:TYPELENGTHVALUEVALUETYPE=7,表示FRAMED-PROTOCOL属性状态;LENGTH,表示整个属性状态长度,6个字节;VALUE,表示协议属性,4字节,有如下一些取值:1 PPP2 SLIP3 AppleTalk Remote Access Protocol (ARAP)4 Gandalf proprietary SingleLink/MultiLink protocol5 Xylogics proprietary IPX/S

20、LIP三、 RADIUS计费协议格式:1、RADIUS ACCOUNTING PROTOCOL 包格式下面是协议报文格式:LENGTHIDENTIFIER CODEAUTHENTICATORATTRIBUTESCODE域可以包括如下一些值;4 Accounting-Request5 Accounting-ResponseIDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +AUTHENTICATOR+ATTRIBUTES的所有长度。AUTHENTICATOR 是16字节的随机数,高位在先,此域用于认

21、证答复和加密口令字。ATTRIBUTES是若干属性状态的集合,其长度是不确定的。不同的CODE值可以跟随不同的属性值。下表是一个总结:RequestResponse#Attribute0-101User-Name002User-Password003CHAP-Password0-104NAS-IP-Address0-105NAS-Port0-106Service-Type0-107Framed-Protocol0-108Framed-IP-Address0-109Framed-IP-Net mask0-1010Framed-Routing0+011Filter-Id0-1012Framed-M

22、TU0+013Framed-Compression0+014Login-IP-Host0-1015Login-Service0-1016Login-TCP-Port0018Reply-Message0-1019Callback-Number0-1020Callback-Id0+022Framed-Route0-1023Framed-IPX-Network0024State0+025Class0+0+26Vendor-Specific0-1027Session-Timeout0-1028Idle-Timeout0-1029Termination-Action0-1030Called-Statio

23、n-Id0-1031Calling-Station-Id0-1032NAS-Identifier0+0+33Proxy-State0-1034Login-LAT-Service0-1035Login-LAT-Node0-1036Login-LAT-Group0-1037Framed-AppleTalk-Link0-1038Framed-AppleTalk-Network0-1039Framed-AppleTalk-Zone1040Acct-Status-Type0-1041Acct-Delay-Time0-1042Acct-Input-Octets0-1043Acct-Output-Octet

24、s1044Acct-Session-Id0-1045Acct-Authentic0-1046Acct-Session-Time0-1047Acct-Input-Packets0-1048Acct-Output-Packets0-1049Acct-Terminate-Cause0+050Acct-Multi-Session-Id0+051Acct-Link-Count0060CHAP-Challenge0-1061NAS-Port-Type0-1062Port-Limit0-1063Login-LAT-Port表中,0表示在此类型包中,不可以跟随此属性状态;1表示在此类型包中,只有一个此属性状态

25、可跟随;0+表示在此类型包中,0个或多个此属性状态可跟随;0-1表示在此类型包中,0个或1个此属性状态可跟随;2、RADIUS ACCOUNTING PROTOCOL ACCOUNTING-REQUEST下面是ACCOUNTINGREQUEST包格式:LENGTHIDENTIFIER CODEREQUEST-AUTHENTICATORATTRIBUTES其中,CODE=4;CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH +REQUEST-AUTHENTICATOR+ATTRIB

26、UTES的所有长度。REQUEST-AUTHENTICATOR 是16字节的MD5 HASH结果值,高位在先。ATTRIBUTES是若干属性状态的集合。参考上表。3、RADIUS ACCOUNTING PROTOCOL ACCOUNTING-RESPONSE下面是ACCOUNTINGRESPONSE包格式:LENGTHIDENTIFIER CODERESPONSE-AUTHENTICATORATTRIBUTES其中,CODE=5;CODE占一个字节IDENTIFIER占一个字节,用于匹配请求和应答。LENGTH 占二个字节,是整个数据报的长度,包括CODE+IDENTIFIER+LENGTH

27、+RESPONSE-AUTHENTICATOR+ATTRIBUTES的所有长度。REQUEST-AUTHENTICATOR 是16字节的MD5 HASH结果值,高位在先。ATTRIBUTES是若干属性状态的集合。参考上表。4、RADIUS ACCOUNTING PROTOCOL ATTRIBUTES下面是属性状态的包格式:TYPELENGTHVALUETYPE占一个字节,表示属性状态的类型,、;LENGTH占一个字节,表示属性长度,包括TYPE+LENGTH+VALUE;VALUE长度不定,由类型确定。下面是所有TYPE的集合描述:40 Acct-Status-Type41 Acct-Dela

28、y-Time 42Acct-Input-Octets 43Acct-Output-Octets 44Acct-Session-Id 45Acct-Authentic 46Acct-Session-Time 47Acct-Input-Packets 48Acct-Output-Packets49 Acct-Terminate-Cause50 Acct-Multi-Session-Id 51Acct-Link-Count5、单个 ATTRIBUTES介绍由于ATTRIBUTES较多,不可能一一介绍。这里选择几个重要且常用的作简单介绍,其余可参照RFC文档。ACCT-STATUS-TYPE属性状态:

29、格式:TYPELENGTHVALUEVALUETYPE=40,表示ACCT-STATUS-TYPE属性状态;LENGTH,表示整个属性状态长度,6个字节;VALUE,表示服务属性,4字节,有如下一些取值:1Start2Stop7Accounting-On8Accounting-OffACCTSESSION-ID属性状态:格式:TYPELENGTHSTRINGTYPE=44,表示ACCTSESSION-ID属性状态;LENGTH,表示整个属性状态长度,大于3;STRING,是可见ASCII字符;四、 RADIUS MSC图:1、基本实体说明在以下的讨论中,我们使用如下三个实体:用户实体:USER

30、NAS RADIUS 客户实体:CLIENTRADIUS SERVER 实体:SERVER2、普通认证过程MSC图USERSERVERCLIENTAccess-request &set timeoutUsername,passwordAccess-response &unset timeout Timeout, send request again&set timeoutAuthentication endAuthentication end3、和CHAP交互认证过程(成功)MSC图CLIENTUSERSERVERAccess-request &set timeoutUsername,password Timeout, send request again&set timeoutAccess-challenge &unset timeoutPrompt for responseNew Access-request &set timeoutUser responseAccess-response &unset timeout4、和CHAP交互认证过程(失败)MSC图SERVERCLIENTUSERAcces

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论