radius

radius协议使用的是UDP传输协议,UDP协议相对于TCP更快速,无连接的不可靠。

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 ...

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

code:radius报文类型,有效类型值如下:

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

identifier:匹配请求的回应

length:报文有效长度,20-4096,多余的视为补充,不足的丢弃整个报文。

authenticator:16字节

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

访问请求认证字

在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);

http://blog.csdn.net/zhaori/article/details/554004

时间: 2024-08-03 11:26:58

radius的相关文章

Install Softether vpn client on CentOS 6.5, using Radius authentication

to disable ipv6method 1:vi /etc/grub.confadd ipv6.disable=1 to kernel line, and reboot method 2:echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.confsysctl -p 1. disable selinux and iptables service iptables stop chkconfig iptables

用Win2008R2做Radius服务器 -- Cisco设备篇

Win2008R2 做Radius 服务器 Cisco 设备篇 最近公司准备改用Radius作为cisco设备的验证服务器,出于好奇,自己先搭配一个Radius服务器做测试.最开始我用的是Tekradius这个服务器,做认证是没有问题,但是在做授权的时候,怎么都不能得到privilege15的权限,研究了好久都没有成功,暂时放一边.然后我改用Win2008R2的NPS来作为Radius服务器,认证和授权都成功了. 首先安装好Win2008R2,在"服务器管理器"添加新的角色,选&quo

BAS/BRAS/RADIUS简介

标签: java radius协议   linux radius认证服务器 转自: http://blog.csdn.net/sun93732/article/details/5999274 由RFC2865,RFC2866定义,是目前应用最广泛的AAA协议. RADIUS协议最初是由Livingston公司提出的,原先的目的是为拨号用户进行认证和计费.后来经过多次改进,形成了一项通用的认证计费协议. 创立于1966年Merit Network, Inc.是密执安大学的一家非营利公司,其业务是运

java定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积

需求如下:(1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积. (2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下: public void printAreas(Cirlce c, int times) 在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积.例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积. 在main方法

CSS + radius 五环

使用CSS的外链方式,写了一个五环 CSS的布局 附加radius的使用 思路: 一个大盒子里放两个子盒子: 两个子盒子上下排列,分别放3个和2个盒子用来制作圆环: 大盒子给相对定位,连个子盒子设为绝对定位: 用到CSS中的 border-radius 方法制作圆环,前提是用来制作圆环的五个盒子要添加边框 border 这个属性   html代码 <!DOCTYPE html><html>    <head>        <meta charset="

windows server 搭建radius服务器

使用ISA 2004搭建PPTP/L2TP 服务器后,VPN账号是在radius服务器上的,使用window server 2003搭建radius服务器,需要添加组件->internet验证服务,windows server 2008/2008R2/2012需要添加角色远程访问策略服务器. window server 2003 安装internet 验证服务后,打开如下图: 创建radius 客户端,如下图: 创建windows 用户组 创建远程访问策略

new lightfm model with different radius(updated 29th,Aug)

some results running on the linux laptop with the new model: [email protected]5548:~/code$ python3 newlfmodelradius.py /home/liu/.local/lib/python3.5/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in vers

1.(1)编写一个接口ShapePara,要求: 接口中的方法: double getArea():获得图形的面积。double getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的dou

package jiekou1; public interface ShapePara { //定义常量PI final double PI=3.14; //定义抽象方法 //获得图形面积 double getArea(); //获得图形周长 double getCircumference(); } package jiekou1; public class Circle implements ShapePara { //定义成员变量 public double radius; public d

【Python】模拟radius coa报文

Radius协议中网关设备NAS是client,实现radius协议的服务为服务端(例如freeradius),这种情况下radius server并不能主动给NAS发送信息.在 rfc3576 Dynamic Authorization Extensions to RADIUS 中定义了一种radius的拓展,叫做 Change-of-Authorization (CoA) ,通过这个协议就可以从radius server主动给 radius client发起请求,例如用户下线,用户上网带宽动

Java处理Radius access-challenge

最近使用 RSA Authentication Manager, 并且与其自带的Radius server整合, RSA的Radius server 配置不太透明, 目前只配成功了PAP方式的验证,CHAP目前不成功. RSA Radius在token输错3次后有要求用户输入next token的安全设置方式, 开始不知道java如何处理,后来查了一些资料,Radius协议本身是无状态的,客户端第二次next token 的request需要跟上前一次response中的state才能让服务器识