RADIUS协议的原理及应用讲义_第1页
RADIUS协议的原理及应用讲义_第2页
RADIUS协议的原理及应用讲义_第3页
RADIUS协议的原理及应用讲义_第4页
RADIUS协议的原理及应用讲义_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

RADIUS协议的原理及应用目录培训目标 2前言 21RADIUS协议介绍 22RADIUS协议报文结构 32.1Radius协议报文格式 32.2Code域 32.3Identifier域 42.4Length域 42.5Authenticator 42.6Attributes域 52.6.1Type域 52.6.2Length域 52.6.3Value域 62.6.4常用属性类型列表 63NAS设备RADIUS部分配置举例 84RADIUS系统下用户认证过程 94.1报文1:EAPOL-Start 94.2报文2:EAP-Request/Identity 104.3报文3:EAP-Response/Identity 104.4报文4:RADIUSAccess-Request 114.5报文5:RADIUSAccess-Challenge 124.6报文6:EAP-Request/MD5-Challenge 134.7报文7:EAP-Response/MD5-Challenge 144.8报文8:RADIUSAccess-Request 144.9报文9:RADIUSAccess-Accept 154.10报文10:EAP-Success 164.11报文11:RADIUSAccounting-Request 174.12报文12:RADIUSAccounting-Response 184.13报文13:EAPOL-Logoff 184.14报文14:RADIUSAccounting-Request 194.15报文15:RADIUSAccounting-Response 204.16报文16:EAP-Failure 21培训目标了解RADIUS协议基本概念;熟悉RADIUS协议报文结构;熟悉RADIUS协议工作原理;前言企业要求只有授权的用户才能访问自己的内部网络,教育网采取根据流量计费的策略,VOD系统根据点播的时间收费等等。这些最常见的网络应用却面临一个同样的问题:如何对用户进行认证和计费?一种常见的认证计费方法——RADIUS协议会帮助我们解决这些问题。RADIUS是目前最常用的认证计费协议之一,它简单安全,易于管理,扩展性好,所以得到广泛应用。1RADIUS协议简介RADIUS(RemoteAuthenticationDialInUserService)是远程认证拨号用户服务的简称。RADIUS原先设计的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证、授权、计费和配置信息。RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS基本原理:用户接入NAS,NAS向RADIUS服务器使用Access-Request数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Request,RADIUS服务器响应Account-Accept,对用户开始计费,同时用户可以进行自己的相关操作。RADIUS协议具有以下特点:客户端/服务器结构;采用共享密钥保证网络传输安全性;良好的可扩展性;认证机制灵活;RADIUS协议承载于UDP之上,官方指定端口号为认证授权端口1812、计费端口1813。RADIUS协议在RFC2865、RFC2866中定义。锐捷网络RG-SAM系统和NAS之间的通讯采用RADIUS协议。由于RADIUS协议的良好扩展性,很多厂家对RADIUS作了扩展,我们公司也对其进行了扩展。使用时我们应该注意不同公司对RADIUS协议扩展部分不能完全兼容。2RADIUS协议报文结构2.1Radius协议报文格式RADIUS报文格式如下图所示,各域内容按照从左向右传送012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code|Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Authenticator|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Attributes...+-+-+-+-+-+-+-+-+-+-+-+-+-2.2Code域Code域长度为1个字节,用于标明RADIUS报文的类型,如果Code域中的内容是无效值,报文将被丢弃RADIUSCode域的有效值如下:Code=1Access-RequestCode=2Access-AcceptCode=3Access-RejectCode=4Accounting-RequestCode=5Accounting-ResponseCode=11Access-ChallengeCode=12Status-Server(experimental)Code=13Status-Client(experimental)Code=65业务修改请求消息Code=66业务修改请求回应消息Code=67业务修改请求回应拒绝消息Code=255Reserved其中1213255为保留的Code值一般不会遇到,1234511比较常见,分别标明报文类型为认证请求、认证接受、认证拒绝、计费请求、计费回应、计费成功和访问质询。2.3Identifier域Identifier域长度为1个字节,用于匹配请求的回应。如果在短时间内RADIUS服务器收到从相同的源IP,相同源端口,相同标识域的报文,则认为收到的是重复的请求。2.4Length域Length域占两个字节,用于指明报文的有效长度,多出长度域的字节部分将被视为填充。在接收时被忽略。如果报文长度小于长度域中的值,整个报文将被丢弃。长度域的范围在20和4096之间。2.5Authenticator认证字域占用16个字节,用于RadiusClient和Server之间消息认证的有效性,和密码隐藏算法。访问请求Access-Request报文中的认证字的值是16字节随机数,认证字的值要不能被预测并且在一个共享密钥的生命期内唯一。访问请求Access-Request认证字在Access-Request包中认证字的值是16字节随机数,认证字的值要不能被预测,并且在一个共享密钥的生命期内唯一;访问回应认证字Access-AcceptAccess-Reject和Access-Challenge包中的认证字称为访问回应认证字,访问回应认证字的值定义为MD5(Code+ID+Length+RequestAuth+Attributes+Secret);计费请求Accounting-Request认证字在计费请求包中的认证字域称为计费请求认证字,它是一个16字节的MD5校验和,计费请求认证字的值定义为MD5(Code+Identifier+Length+16zerooctets+requestattributes+sharedsecret);计费回应Accounting-Response认证字在计费回应报文中的认证字域称为计费回应认证字,它的值定义为MD5(Accounting-ResponseCode+Identifier+Length+theRequestAuthenticatorfieldfromtheAccounting-Requestpacketbeingrepliedto+theresponseattributes+sharedsecret);2.6Attributes域012012345678901234567890+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|Type|Length|Value...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-属性域的长度是可变的,它是一个由业务类型必需的属性和可选属性组成的属性链。一个属性包含如下三个部分:2.6.1Type域类型域长度为一个字节,RADIUS服务器和客户端当遇到不可识别的属性时,可以将其忽略。常用的属性类型请参见RFC2865RFC2866;2.6.2Length域长度域长度为一个字节,指明了一个属性的类型、长度和值域的总长度。如果在认证请求报文中携带有属性长度非法的属性,则必须回应访问拒绝报文;如果在访问回应报文中存在非法的属性长度,这个报文必须被直接丢弃或被认为是访问拒绝报文。2.6.3Value域值域由零或多个字节组成包,含详细的属性信息,它的格式由属性的长度和类型域决定。注意RADIUS中没有一个类型的值域是以NULL(hex00)结尾,的也就是说值域中是没有结束符的,服务器和客户端需要能够处理内嵌的NULL。值域的数据类型是下列5种类型之一。“text”类型是“string”类型的子集:text1-253字节长string1-253字节长可以包含二进制数据address4字节高位在前integer4字节无符号数高位在前time4字节无符号数高位在前表示从1970年1月1日零点零时零秒到现在的秒数2.6.4常用属性类型列表Type=1用户名User-NameType=2用户密码User-PasswordType=3CHAP密码CHAP-PasswordType=4NASIP地址NAS-IP-AddressType=5NAS端口NAS-PortType=6服务类型Service-TypeType=7帧协议Framed-ProtocolType=8分帧IP地址配置Framed-IP-AddressType=9IP网络掩码配置Framed-IP-NetmaskType=10路由方法配置Framed-RoutingType=11筛选器标识Filter-IdType=12最大传输单元配置Framed-MTUType=13压缩协议配置Framed-CompressionType=14登录的主机IP地址Login-IP-HostType=15登录的服务Login-ServiceType=16登录的TCP端口Login-TCP-PortType=17未分配(unassigned)Type=18回复消息Reply-MessageType=19回叫电话号码Callback-NumberType=20回叫IDCallback-IdType=21未分配(unassigned)Type=22路由配置Framed-RouteType=23IPX网络数字配置Framed-IPX-NetworkType=24状态StateType=25类别ClassType=26供应商细节Vendor-SpecificType=27会话时限Session-TimeoutType=28空闲时限Idle-TimeoutType=29终止动作Termination-ActionType=30用户拨打的电话号码Called-Station-IdType=31用户打出的电话号码Calling-Station-IdType=32网络接入服务器标识符NAS-IdentifierType=33代理状态Proxy-StateType=34登录的LAT服务Login-LAT-ServiceType=35登录的LAT节点Login-LAT-NodeType=36登录的LAT组Login-LAT-GroupType=37AppleTalk链路配置Framed-AppleTalk-LinkType=38AppleTalk网络配置Framed-AppleTalk-NetworkType=39AppleTalk区域配置Framed-AppleTalk-ZoneType=40-59为记账保留(reservedforaccounting)Type=60CHAP盘问CHAP-ChallengeType=61网络接入服务器端口类型NAS-Port-TypeType=62端口数限制Port-LimitType=63登录的LAT端口Login-LAT-Port3NAS设备RADIUS部分配置举例下面以锐捷网络START-S2126G交换机作为例,介绍NAS设备关于RADIUS部分配置:test#showrunning-configSystemsoftwareversion:1.68BuildApr252007ReleaseBuildingconfiguration...Currentconfiguration:586bytes!version1.0!hostnametestvlan1!radius-serverhost192.168.1.102//指定radius-server的IP地址aaaauthenticationdot1x//交换机全局启动802.1x协议aaaaccountingserver192.168.1.102//指定记帐服务器的IP地址aaaaccounting//交换机开启记帐功能enablesecretlevel15&Z{bcknA2Yzyglow5Uaeh`@IY'dfimLMenablesecretlevel155&ZS(\W&-2YX)sv'~5UY*T7+.YtZ[V/,|!interfacefastEthernet0/1switchportaccessvlan10dot1xport-controlauto//将此端口设置成受控端口!interfacefastEthernet0/24switchportmodetrunk!interfacevlan1noshutdownipaddress192.168.1.100256.256.256.0!dot1xclient-probeenable//打开交换机异常下线探测功能radius-serverkeyroot//设置交换机和radius-server之间的密钥snmp-servercommunitypublicrw//设置交换机snmp协议采用communityipdefault-gateway192.168.1.1end4RADIUS系统下用户认证过程SAM系统是锐捷网络自主研发的集安全、认证、计费和管理于为一体的网络管理平台,它是基于标准的RADIUS协议开发的,整个系统由以下三个部分组成:恳请者(SU,安装锐捷认证客户端软件的PC);认证者(NAS,接入层交换机);认证服务器(RADIUSSERVER,RG-SAM软件);下面从恳请者发起认证――认证成功――退出认证的整个过程中,通过SNIFFER软件抓取到的报文作详细分析:4.1报文1:EAPOL-Start首先由客户端发起一个带有组播目的MAC地址为“0180-C200-0003”的802.1X数据帧,其中802.1X头部TYPE类型值为1,标明是EAPOL-Start报文,开始802.1X认证接入请求;DLCDestination=0180-C200-0003,表示组播目的MAC地址,因为SU不知到NAS设备在哪里;DLCEthertype=888E,表示链路层帧内承载着802.1X报文;802.1XVersion=1表示当前的802.1X协议版本是1;802.1XPacketType=1指定是EAPOL-Start报文;4.2报文2:EAP-Request/IdentityNAS设备收到SU的EAPOL-Start报文后,向SU发送EAP-Request/Identity报文,要求SU将用户名送上来;802.1XPacketType=0,表示802.1X报文承载着EAP报文;EAP报文中的Code=1,表示是一个EAP-Request报文;EAP报文中的Identifier=1,表示这个EAP-Request报文的标识符1,这个值要和后面的EAP-ResponseIdentifier一致;EAPData中的Type=1,表示要求SU将用户名送上来;4.3报文3:EAP-Response/IdentitySU向NAS设备回应EAP-Response/Identity报文,其中包括用户名信息;EAPcode=2,表示是EAP-Response报文;EAPIdentifier=1,表示是上一个EAP-Request请求的响应,因为和上一个EAP-Request的Identifier的值相同;EAPType=1,表示EAPDate中包含用户名信息;EAPMessage=“liufn”,表示用户名是“liufn”;4.4报文4:RADIUSAccess-RequestNAS将SU送上来的“用户名”信息封装到RADIUSAccess-Request报文中,发送给认证服务器,同时这个报文中携带着客户端IP、MAC、掩码、网关、NASIP、NAS端口等信息;UDPDestinationPort=1812,UDP的端口号是1812,代表是一个RADIUS的认证信息;RADIUSCode=1,说明这是一个Access-Request请求认证报文;RADIUSIdentifier=1,表示Access-Request的标识,要和后面相同标识的Access-Response成对使用;RADIUSUser-Name=“liufn”,表示报文中携带用户名信息;RADIUSNAS-IP-Address=“192.168.0.1”,表示报文中携带NASIP信息;………4.5报文5:RADIUSAccess-ChallengeRADIUS服务器收到上一个报文后,在数据库中查找是否有此用户,同时根据服务器的策略设置,是否来匹配NASIP、NAS端口、用户IP、用户MAC等信息,如果通过,RADIUS服务器随机产生一个加密字,用随机产生的加密字和数据库中用户的口令进行MD5加密运算,得出一个结果。同时将随机产生的加密字通过RADIUSAccess-Challenge报文发送给NAS设备;RADIUScode=11:表示是Access-Challenge挑战报文;RADIUSMessage-Authenticator=“xxxx”:表示RADIUS服务器随机产生的加密字;4.6报文6:EAP-Request/MD5-ChallengeNAS设备将收到RADIUS服务器的“随机加密字”,然后封装到EAP-Request/MD5-Challenge报文中发送给SU,要求SU进行认证;EAPType=4:表示这是一个MD5挑战;EAPValue=“xxxx”:表示RADIUS随机产生的加密字;4.7报文7:EAP-Response/MD5-Challenge客户端收到EAP-Request/MD5-Challenge报文后,将用户输入的密码和随机字做MD5运算,将结果通EAP-Response/MD5-Challenge回应给NAS设备;EAPValue=“yyyy”:表示加密后的口令;4.8报文8:RADIUSAccess-RequestNAS设备通过Access-Challenge报文,将SU送上来的加密口令上传给RAD

温馨提示

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

评论

0/150

提交评论