RADIUS协议的原理与应用讲义全.doc
《RADIUS协议的原理与应用讲义全.doc》由会员分享,可在线阅读,更多相关《RADIUS协议的原理与应用讲义全.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1/21RADIUS 协议的原理与应用目目 录录培训目标2前言21 RADIUS 协议介绍22 RADIUS 协议报文结构32.1 Radius 协议报文格式32.2 Code 域32.3 Identifier 域42.4 Length 域42.5 Authenticator42.6 Attributes 域52.6.1 Type 域52.6.2 Length 域52.6.3 Value 域62.6.4 常用属性类型列表63 NAS 设备 RADIUS 部分配置举例84 RADIUS 系统下用户认证过程94.1 报文 1:EAPOL-Start94.2 报文 2:EAP-Request/Ide
2、ntity104.3 报文 3:EAP-Response/Identity104.4 报文 4:RADIUS Access-Request114.5 报文 5:RADIUS Access-Challenge124.6 报文 6:EAP-Request/MD5-Challenge134.7 报文 7:EAP-Response/MD5-Challenge144.8 报文 8:RADIUS Access-Request144.9 报文 9:RADIUS Access-Accept154.10 报文 10:EAP-Success164.11 报文 11:RADIUS Accounting-Reques
3、t174.12 报文 12:RADIUS Accounting-Response184.13 报文 13:EAPOL-Logoff184.14 报文 14:RADIUS Accounting-Request194.15 报文 15:RADIUS Accounting-Response204.16 报文 16:EAP-Failure212/21培训目标培训目标了解 RADIUS 协议基本概念;熟悉 RADIUS 协议报文结构;熟悉 RADIUS 协议工作原理;前言前言企业要求只有授权的用户才能访问自己的部网络,教育网采取根据流量计费的策略,VOD 系统根据点播的时间收费等等。这些最常见的网络应用
4、却面临一个同样的问题:如何对用户进行认证和计费?一种常见的认证计费方法RADIUS 协议会帮助我们解决这些问题。RADIUS 是目前最常用的认证计费协议之一,它简单安全,易于管理,扩展性好,所以得到广泛应用。1 1 R RADIUSADIUS 协议简介协议简介RADIUS(Remote Authentication Dial In User Service)是远程认证拨号用户服务的简称。RADIUS原先设计的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证、授权、计费和配置信息。RADIUS 是一种 C/S 结构的协
5、议,它的客户端最初就是 NAS 服务器,现在任何运行 RADIUS 客户端软件的计算机都可以成为 RADIUS的客户端。RADIUS 基本原理:用户接入 NAS,NAS 向 RADIUS 服务器使用 Access-Request 数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过 MD5 加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS 服务器对用户名和密码的合法性进行检验,必要时可以提出一个 Challenge,要求进一步对用户认证,也可以对 NAS 进行类似的认证;如果合法,给 NAS 返回 Access-Accept 数据包,允许用户进行下一步工作,否则返回
6、 Access-Reject 数据包,拒绝用户访问;如果允许访问,NAS 向 RADIUS服务器提出计费请求 Account-Request,RADIUS 服务器响应 Account-Accept,对用户开始计费,同时用户可以进行自己的相关操作。RADIUS协议具有以下特点:3/21客户端/服务器结构;采用共享密钥保证网络传输安全性;良好的可扩展性;认证机制灵活;RADIUS 协议承载于UDP 之上,官方指定端口号为认证授权端口1812、计费端口1813。RADIUS协议在RFC2865、RFC2866 中定义。锐捷网络RG-SAM系统和NAS之间的通讯采用RADIUS协议。由于RADIUS协
7、议的良好扩展性,很多厂家对RADIUS作了扩展,我们公司也对其进行了扩展。使用时我们应该注意不同公司对RADIUS协议扩展部分不能完全兼容。2 2 RADIUSRADIUS 协议协议报文结构报文结构2.12.1 R Radiusadius 协议报文格式协议报文格式RADIUS报文格式如下图所示,各域容按照从左向右传送0 1 2 30 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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code|
8、Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Authenticator|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Attributes.+-+-+-+-+-+-+-+-+-+-+-+-+-2.22.2 CodeCode 域域Code域长度为1个字节,用于标明RADIUS报文的类型,如果Code域中的容是无效值,报文将被丢弃RADIUS Code域的有效值如下:Code=1 Acces
9、s-RequestCode=2 Access-Accept4/21Code=3 Access-RejectCode=4 Accounting-RequestCode=5 Accounting-ResponseCode=11 Access-ChallengeCode=12 Status-Server(experimental)Code=13 Status-Client(experimental)Code=65 业务修改请求消息Code=66 业务修改请求回应消息Code=67 业务修改请求回应拒绝消息Code=255 Reserved其中12 13 255 为保留的Code值一般不会遇到,1 2
10、 3 4 5 11比较常见,分别标明报文类型为认证请求、认证接受、认证拒绝、计费请求、计费回应、计费成功和访问质询。2.32.3 IdentifierIdentifier 域域Identifier域长度为1个字节,用于匹配请求的回应。如果在短时间RADIUS服务器收到从一样的源IP,一样源端口,一样标识域的报文,则认为收到的是重复的请求。2.42.4 LengthLength 域域Length域占两个字节,用于指明报文的有效长度,多出长度域的字节部分将被视为填充。在接收时被忽略。如果报文长度小于长度域中的值,整个报文将被丢弃。长度域的围在20和4096之间。2.52.5 Authenticat
11、orAuthenticator认证字域占用16个字节,用于Radius Client 和Server之间消息认证的有效性,和密码隐藏算法。访问请求Access-Request报文中的认证字的值是16字节随机数,认证字的值要不能被预测并且在一个共享密钥的生命期唯一。访问请求访问请求Access-RequestAccess-Request认证字认证字在Access-Request包中认证字的值是16字节随机数,认证字的值要不能被预测,并且在一个共享密钥的生命期唯一;5/21访问回应认证字访问回应认证字Access-Accept Access-Reject 和Access-Challenge包中的认
12、证字称为访问回应认证字,访问回应认证字的值定义为MD5(Code+ID+Length+RequestAuth+Attributes+Secret);计费请求计费请求Accounting-RequestAccounting-Request认证字认证字在计费请求包中的认证字域称为计费请求认证字,它是一个16字节的MD5校验和,计费请求认证字的值定义为MD5(Code+Identifier+Length+16 zero octets+request attributes+shared secret);计费回应计费回应Accounting-ResponseAccounting-Response认证字认
13、证字在计费回应报文中的认证字域称为计费回应认证字,它的值定义为MD5(Accounting-Response Code+Identifier+Length+the RequestAuthenticator field from the Accounting-Request packet beingreplied to+the response attributes+shared secret);2.62.6 AttributesAttributes 域域0 1 20 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0+-+-+-+-+-+-+-+-+-+-+-+-+
14、-+-+-+-+-+-+-+-+-+-|Type|Length|Value.+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-属性域的长度是可变的,它是一个由业务类型必需的属性和可选属性组成的属性链。一个属性包含如下三个部分:2.6.12.6.1 TypeType 域域类型域长度为一个字节,RADIUS服务器和客户端当遇到不可识别的属性时,可以将其忽略。常用的属性类型请参见RFC2865 RFC2866;2.6.22.6.2 LengthLength 域域长度域长度为一个字节,指明了一个属性的类型、长度和值域的总长度。如果在认证请求报文中携带有属性长度非法
15、的属性,则必须回应访问拒绝报文;如果在访问回应报文中存在非法的属性长度,这个报文必须被直接丢弃或被认为是访问拒绝报文。6/212.6.32.6.3 ValueValue 域域值域由零或多个字节组成包,含详细的属性信息,它的格式由属性的长度和类型域决定。注意RADIUS中没有一个类型的值域是以NULL(hex 00)结尾,的也就是说值域中是没有结束符的,服务器和客户端需要能够处理嵌的NULL。值域的数据类型是下列5 种类型之一。“text”类型是“string”类型的子集:text 1-253 字节长string 1-253 字节长可以包含二进制数据address 4 字节高位在前integer
16、 4 字节无符号数高位在前time 4 字节无符号数高位在前表示从1970 年1 月1 日零点零时零秒到现在的秒数2.6.42.6.4 常用属性类型列表常用属性类型列表Type=1用户名User-NameType=2用户密码User-PasswordType=3CHAP 密码CHAP-PasswordType=4NAS IP 地址NAS-IP-AddressType=5NAS 端口NAS-PortType=6服务类型Service-TypeType=7帧协议Framed-ProtocolType=8分帧 IP 地址配置Framed-IP-AddressType=9IP 网络掩码配置Framed
17、-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-Port7/21Type=17未分配(unassigned)Type=18回复消息Reply-MessageType=19回叫Callback-NumberType=20回叫 IDCallback-IdT
18、ype=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-Identifi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RADIUS 协议 原理 应用 讲义
限制150内