`
javatoyou
  • 浏览: 1018377 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Radius 报文解释

 
阅读更多

RADIUS ,远程认证拨号用户服务的简称。RADIUS原先设计的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证、授权、计费和配置信息。RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。

RADIUS基本原理:用户接入NASNASRADIUS服务器使用Access-Request数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NASRADIUS服务器提出计费请求Account-RequestRADIUS服务器响应Account-Accept,对用户开始计费,同时用户可以进行自己的相关操作。

RADIUS协议具有以下特点:

l 客户端/服务器结构;

l 采用共享密钥保证网络传输安全性;

l 良好的可扩展性;

l 认证机制灵活;

RADIUS 协议承载于UDP 之上,官方指定端口号为认证授权端口1812计费端口1813RADIUS协议在RFC2865RFC2866 中定义。锐捷网络RG-SAM系统NAS之间的通讯采用RADIUS协议。由于RADIUS协议的良好扩展性,很多厂家对RADIUS作了扩展,我们公司也对其进行了扩展。使用时我们应该注意不同公司对RADIUS协议扩展部分不能完全兼容。

2 RADIUS协议报文结构

2.1 Radius协议报文格式

RADIUS报文格式如下图所示,各域内容按照从左向右传送

0 1 2 3

0 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 | Identifier | Length |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Authenticator |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Attributes ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

2.2 Code

Code域长度为1个字节,用于标明RADIUS报文的类型,如果Code域中的内容是无效值,报文将被丢弃RADIUS Code域的有效值如下:

Code=1 Access-Request

Code=2 Access-Accept

Code=3 Access-Reject

Code=4 Accounting-Request

Code=5 Accounting-Response

Code=11 Access-Challenge

Code=12 Status-Server (experimental)

Code=13 Status-Client (experimental)

Code=65 业务修改请求消息

Code=66 业务修改请求回应消息

Code=67 业务修改请求回应拒绝消息

Code=255 Reserved

其中12 13 255 为保留的Code值一般不会遇到,1 2 3 4 5 11比较常见,分别标明报文类型为认证请求、认证接受、认证拒绝、计费请求、计费回应、计费成功和访问质询。

2.3 Identifier

Identifier域长度为1个字节,用于匹配请求的回应。如果在短时间内RADIUS服务器收到从相同的源IP相同源端口,相同标识域的报文,则认为收到的是重复的请求。

2.4 Length

Length域占两个字节,用于指明报文的有效长度,多出长度域的字节部分将被视为填充。在接收时被忽略。如果报文长度小于长度域中的值,整个报文将被丢弃。长度域的范围在204096之间。

2.5 Authenticator

认证字域占用16个字节,用于Radius Client Server之间消息认证的有效性,和密码隐藏算法。

访问请求Access-Request报文中的认证字的值是16字节随机数,认证字的值要不能被预测并且在一个共享密钥的生命期内唯一。

访问请求Access-Request认证字

Access-Request包中认证字的值是16字节随机数,认证字的值要不能被预测,并且在一个共享密钥的生命期内唯一;

访问回应认证字

Access-Accept Access-Reject Access-Challenge包中的认证字称为访问回应认证字,访问回应认证字的值定义为MD5(Code+ID+Length+RequestAuth+Attributes+Secret)

计费请求Accounting-Request认证字

在计费请求包中的认证字域称为计费请求认证字,它是一个16字节的MD5校验和,计费请求认证字的值定义为MD5(Code + Identifier + Length + 16 zero octets + request attributes +shared secret)

计费回应Accounting-Response认证字

在计费回应报文中的认证字域称为计费回应认证字它的值定义为MD5(Accounting-Response Code + Identifier + Length + the RequestAuthenticator field from the Accounting-Request packet being replied to +the response attributes + shared secret)

2.6 Attributes

0 1 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

| Type | Length | Value ...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

属性域的长度是可变的,它是一个由业务类型必需的属性和可选属性组成的属性链。一个属性包含如下三个部分:

2.6.1 Type

类型域长度为一个字节,RADIUS服务器和客户端当遇到不可识别的属性时,可以将其忽略。常用的属性类型请参见RFC2865 RFC2866

2.6.2 Length

长度域长度为一个字节,指明了一个属性的类型、长度和值域的总长度。如果在认证请求报文中携带有属性长度非法的属性,则必须回应访问拒绝报文;如果在访问回应报文中存在非法的属性长度,这个报文必须被直接丢弃或被认为是访问拒绝报文。

2.6.3 Value

值域由零或多个字节组成包,含详细的属性信息,它的格式由属性的长度和类型域决定。注意RADIUS 中没有一个类型的值域是以NULL(hex 00)结尾,的也就是说值域中是没有结束符的,服务器和客户端需要能够处理内嵌的NULL

值域的数据类型是下列5 种类型之一。“text”类型是“string”类型的子集:

text 1-253 字节长

string 1-253 字节长可以包含二进制数据

address 4 字节高位在前

integer 4 字节无符号数高位在前

time 4 字节无符号数高位在前表示从1970 1 1 日零点零时零秒到现在的秒数

分享到:
评论

相关推荐

    RADIUS报文

    标准的RADIUS报文,从服务器里面抓的

    radius报文属性

    radius报文中各字段的含义,中国移动和华为的标准

    radius抓包文件

    radius抓包文件,真实环境下面抓的,非常有价值啊

    RADIUS协议原理及应用

    2 RADIUS协议报文结构 3 2.1 Radius协议报文格式 3 2.2 Code域 3 2.3 Identifier域 4 2.4 Length域 4 2.5 Authenticator 4 2.6 Attributes域 5 2.6.1 Type域 5 2.6.2 Length域 5 2.6.3 Value域 6 2.6.4常用属性类型...

    Radius 测试模拟器

    Radius 测试模拟器,模拟radius报文

    radius属性中文注解

    完整的Radius协议报文属性的中文解释

    电信设备-多核通信设备及其与RADIUS服务器间报文交互方法.zip

    电信设备-多核通信设备及其与RADIUS服务器间报文交互方法.zip

    WEB Portal 认证完整的交互报文

    web认证交互报文,包括WLAN controller与portal server的认证与注销,AC与radius 服务器的认证报文。

    radius packet

    Radius 认证计费报文,结合我的博客Radius协议原理理解Radius协议。

    radius测试工具

    项目中用到的测试工具,十分强大可模拟客户端发送多种报文。

    TCP_IP培训教材

    1 TCP/IP协议集 2 PPP协议  2.1 概述 2.2 状态机 2.3 LCP协商 2.4 PAP和CHAP 2.5 MP工作原理 2.6 网络控制协议(NCP) 3 互连网协议IP 3.1 IP地址及其转换 3.1.1 IP地址的表示方法 ...8.3 RADIUS报文格式

    TCP_IP培训资料.doc

    华为培训资料 1 TCP/IP协议集 2 PPP协议  2.1 概述 2.2 状态机 2.3 LCP协商 2.4 PAP和CHAP 2.5 MP工作原理 2.6 网络控制协议(NCP) 3 互连网协议IP 3.1 IP地址及其转换 ...8.3 RADIUS报文格式

    802.1x协议设备端实现代码

    与客户端进行EAPOL报文交换,与认证服务端进行Radius报文交互

    协议分析数据包,l2tp,ppp和radius过程

    包含l2tp协议过程,pppoe协议过程,radius协议过程的具体数据包。可以供给各个协议分析人员做协议分析学习使用。也可以用于佐证网络协议相关学习。tcpdump格式。

    radius测试软件

    radius开发测试服务器软件,支持创建用户密码,能对开发的客户端发出的报文进行用户和密码进行简单的认证审计

    pyradacctsrv:用 Python 实现的 RADIUS 计费服务器

    pyradacctsrv 用 Python 实现的 RADIUS 计费服务器用法安装要求兼容性执照作者pyradacctsrv由Patryk Ściborek <patryk> _ 编写。

    radius:rfc2865协议(radius协议)的部分实现

    属性厂商列表定义域radius/radiuscliradius的客户端实现radius/radiussrvradius服务端的实现radius/radiusfradius报文的快速解包实现 不进行某些rfc2865规定的校验radius/radiusiptv基于radius协议的iptv协议实现...

    论文研究-RADIUS协议字典功能的设计与实现 .pdf

    RADIUS协议字典功能的设计与实现,刘小溪,,RADIUS协议是一个采用c/s结构的AAA协议,该协议的主要功能就是对远程访问者进行身份验证,权限分配和费用结算。报文尾部为Attributes字��

    Sniffer_CAI.rar

    Sniffer使用教程 目 录 第1章 Sniffer软件简介 1-1 1.1 概述 1-1 1.2 功能简介 1-1 第2章 报文捕获解析 2-1 2.1 捕获面板 2-1 2.2 捕获过程报文统计 2-1 2.3 捕获报文查看 2-2 ...5.6 Radius协议 5-9

    cisco ISE认证配置

    cisco无线安全ISE,portal ISE 配置指南,学习Cisco 无线技术及无线产品必备知识,欢迎加扣扣群互相学习交流,474372394 群分享各种技术文档AP ios等资源。

Global site tag (gtag.js) - Google Analytics