RADIUS协议基础原理

news2024/11/23 15:44:50

RADIUS简介

    • Radius概述
    • Radius架构(c/s模式)
    • Radius特点
    • Radius报文
      • Radius认证报文
      • Radius计费报文
      • Radius授权报文
    • Radius工作原理

Radius概述

RADIUS(Remote Authentication Dial-In User Server,远程认证拨号用户服务)是一种分布式的、C/S架构的信息交互协议,能包含网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。

协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。

如果是思科设备:认证和授权端口为UDP1645,计费端口1646.

RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入等。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用

Radius架构(c/s模式)

  • radius客户端:一般位于网络接入服务器NAS(Network Access Server)上,可以遍布整个网络,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)
  • 设备作为RADIUS协议的客户端,实现以下功能:

支持标准RADIUS协议及扩充属性,包括RFC(Request For Comments)2865、RFC2866。
支持华为扩展的私有属性。
对RADIUS服务器状态的主动探测功能。
计费结束报文的本地缓存重传功能。
RADIUS服务器的自动切换功能。

  • radius服务器:一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS服务器通常要维护三个数据库。
    在这里插入图片描述

Users:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
Clients:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)。
Dictionary:用于存储RADIUS协议中的属性和属性值含义的信息。

Radius特点

  • 网络安全:RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,RADIUS协议利用共享密钥对RADIUS报文中的密码进行了加密。
  • 良好的扩展性:RADIUS报文是由包头和一定数目的属性(Attribute)构成,新属性的加入不会破坏协议的原有实现。

Radius报文

在这里插入图片描述
各字段解释:

  • Code:长度为1个字节,用来说明RADIUS报文的类型。
  • Identifier:长度为1个字节,用来匹配请求报文和响应报文,以及检测在一段时间内重发的请求报文。客户端发送请求报文后,服务器返回的响应报文中的Identifier值应与请求报文中的Identifier值相同。
  • Length:长度为2个字节,用来指定RADIUS报文的长度。超过Length取值的字节将作为填充字符而忽略。如果接收到的报文的实际长度小于Length的取值,则该报文会被丢弃。
  • Authenticator:长度为16个字节,用来验证RADIUS服务器的响应报文,同时还用于用户密码的加密。
  • Attribute:不定长度,为报文的内容主体,用来携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可以包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。

Radius认证报文

报文名称说明
Access-Request认证请求报文,是RADIUS报文交互过程中的第一个报文,用来携带用户的认证信息(例如:用户名、密码等)。认证请求报文由RADIUS客户端发送给RADIUS服务器,RADIUS服务器根据该报文中携带的用户信息判断是否允许接入。
Access-Accept认证接受报文,是服务器对客户端发送的Access-Request报文的接受响应报文。如果Access-Request报文中的所有属性都可以接受(即认证通过),则发送该类型报文。客户端收到此报文后,认证用户才能认证通过并被赋予相应的权限。
Access-Reject认证拒绝报文,是服务器对客户端的Access-Request报文的拒绝响应报文。如果Access-Request报文中的任何一个属性不可接受(即认证失败),则RADIUS服务器返回Access-Reject报文,用户认证失败。
Access-Challenge认证挑战报文。EAP认证时,RADIUS服务器接收到Access-Request报文中携带的用户名信息后,会随机生成一个MD5挑战字,同时将此挑战字通过Access-Challenge报文发送给客户端。客户端使用该挑战字对用户密码进行加密处理后,将新的用户密码信息通过Access-Request报文发送给RADIUS服务器。RADIUS服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则该用户为合法用户。

Radius计费报文

报文名称说明
Accounting-Request(Start)计费开始请求报文。如果客户端使用RADIUS模式进行计费,客户端会在用户开始访问网络资源时,向服务器发送计费开始请求报文
Accounting-Response(Start)计费开始响应报文。服务器接收并成功记录计费开始请求报文后,需要回应一个计费开始响应报文
Accounting-Request(Interim-update)实时计费请求报文。为避免计费服务器无法收到计费停止请求报文而继续对该用户计费,可以在客户端上配置实时计费功能。客户端定时向服务器发送实时计费报文,减少计费误差
Accounting-Response(Interim-update)实时计费响应报文。服务器接收并成功记录实时计费请求报文后,需要回应一个实时计费响应报文
Accounting-Request(Stop)计费结束请求报文。当用户断开连接时(连接也可以由接入服务器断开),客户端向服务器发送计费结束请求报文,其中包括用户上网所使用的网络资源的统计信息(上网时长、进/出的字节数等),请求服务器停止计费
Accounting-Response(Stop)计费结束响应报文。服务器接收计费停止请求报文后,需要回应一个计费停止响应报文

Radius授权报文

报文名称说明
CoA-Request动态授权请求报文。当管理员需要更改某个在线用户的权限时(例如,管理员不希望用户访问某个网站),可以通过服务器发送一个动态授权请求报文给客户端,使客户端修改在线用户的权限
CoA-ACK动态授权请求接受报文。如果客户端成功更改了用户的权限,则客户端回应动态授权请求接受报文给服务器
CoA-NAK动态授权请求拒绝报文。如果客户端未成功更改用户的权限,则客户端回应动态授权请求拒绝报文给服务器
DM-Request用户离线请求报文。当管理员需要让某个在线的用户下线时,可以通过服务器发送一个用户离线请求报文给客户端,使客户端终结用户的连接
DM-ACK用户离线请求接受报文。如果客户端已经切断了用户的连接,则客户端回应用户离线请求接受报文给服务器
DM-NAK用户离线请求拒绝报文。如果客户端无法切断用户的连接,则客户端回应用户离线请求拒绝报文给服务器
  • CoA:(Change of Authorization)是指用户认证成功后,管理员可以通过RADIUS协议来修改在线用户的权限
  • DM:(Disconnect Message)是指用户离线报文,即由RADIUS服务器端主动发起的强迫用户下线的报文

Radius工作原理

  • radius认证、授权、计费
  • 接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费。用户、RADIUS客户端和RADIUS服务器之间的交互流程如下:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1015875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java设计模式-结构性设计模式(外观设计模式)

简介 ⻔⾯模式,隐藏系统的复杂性,并向客户端提供了⼀个客户端可以访问系统的接⼝定义了⼀个⾼层接⼝,这个接⼝使得这系统更加容易使⽤应用场景 xxx是负责消息推送这个⼯作,看起来很轻松,但他们不知道⾥⾯有多复杂&…

Jenkins结合allure生成测试报告

前言: 我们在做自动化测试的过程中最重要的肯定是报告的输出啦,最近几年allure可以说是最最主流报告展示工具啦。 一、服务端安装allure 在安装Jenkins的机器 安装allure,我们在Jenkins上能跑动前提是在对应服务器上代码能正常运行&#xf…

ESP8266使用记录(一)

1、23.7.17从TB买了个8266 2、下载安装Arduino 3、卖家的配套资料,直接覆盖相关文件 4、文件-首选项-设置-编辑器语言-中文(简体) 其他开发板管理器地址 http://arduino.esp8266.com/stable/package_esp8266com_index.json 5、工具-端口-COM6 工具-开发板-esp8266…

直接插入排序(C++实现)

文章目录 1. 基础概念🍑 内部排序和外部排序 2. 直接插入排序3. 动图演示4. 代码实现5. 性能分析 无论是日常生活还是很多科学领域当中,排序都是会经常面对的问题,比如按成绩对学校的学生排序,按薪水多少对公司员工排序等。 根据…

Vue系列之入门篇

前言: 目录 一,关于Vue的简介 1.什么是Vue? 2.使用Vue框架的好处? 3. 库和框架的区别: 4. MVVM的介绍 5.Vue的入门案例 二,Vue的生命周期 一,关于Vue的简介 1.什么是Vue? Vu…

详解混合类型文件(Polyglot文件)的应用生成与检测

1. 引入 混合类型文件(Polyglot文件),是指一个文件,既可以是合法的A类型,也可以是合法的B类型。 比如参考3中的文件,是一个html文件,可以用浏览器正常打开;它也是一个一个.jar文件&…

来看看Javadoc(文档注释)详解

Java 支持 3 种注释,分别是单行注释、多行注释和文档注释。文档注释以/**开头,并以*/结束,可以通过 Javadoc 生成 API 帮助文档,Java 帮助文档主要用来说明类、成员变量和方法的功能。 文档注释只放在类、接口、成员变量、方法之前…

代码随想录算法训练营第53天 | ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和

文章目录 前言一、1143.最长公共子序列二、1035.不相交的线三、53. 最大子序和总结 前言 动态规划 一、1143.最长公共子序列 确定dp数组(dp table)以及下标的含义 dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的…

​云南财经大学《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作

​云南财经大学《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作

掌握这5种方法,让你的新AirPods充电盒更耐用!

每次AirPods充电盒落地时,你都会呼吸急促吗?无论我使用的是旧一代的AirPods还是最新的AirPod Pro 2,我都关心它们的保存状况,并尽力保护这些脆弱设备的安全。我想我对AirPods Pro 2的新充电盒也会有同样的感受,它在9月…

学校项目培训之Carla仿真平台之安装Carla

官网:http://carla.org/ 写在前面 由于安装都写了很多东西,所以我单独将安装弄出来记录一下。 如果你在安装9.12版本的时候遇到了很多问题,你可以考虑以下几点: - 楼梯可能不太行,需要更换,这是我实践得到的…

英语——记忆篇——谐音法+拼音法

中小学单词: 谐音法: 1.issue n.问题;(杂志、报刊的)一期;v.发行 谐音“一休”;想象聪明的一休很会解决问题,发行了一期杂志专门描述他解决问题的方法; issue 问题&…

电脑大文件删除了能恢复吗 电脑大文件删除了怎么恢复

在日常办公中,电脑是必不可少的办公工具,电脑能够帮助我们储存大量的大文件,但是有时候可能会因为一些误操作或者电脑故障等情况,导致一些电脑大文件的丢失,所以今天就和大家分享一下,电脑大文件删除了能恢…

[UE]碰撞和Trace检测

UE的碰撞和Trace检测 基础概念碰撞相关概念Overlap和Hit事件概念和条件使用示例 Trace检测引擎 World.h 中的TraceUKismetSystemLibrary 中的 TraceHitResultTrace示例LineTraceSphereTraceSingleBoxSweepSphereTraceCapsuleTrace 记录SetActorLocation中的Sweep和Teleport为啥…

CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)

前面的文章已经介绍了Layout 组件 、ScrollView 组件 、PageView 组件 。 想了解的朋友,请查看 CocosCreator3.8研究笔记(十八)CocosCreator UI组件(二)。 今天我们主要介绍CocosCreator 常用组件:Butt…

Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simplified)文件分享

Windows 10 Enterprise LTSC 2021 (x64) - DVD (Chinese-Simplified) SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO 镜像文件: 链接:https://pan.quark.cn/s/2f8f61ec4a98 Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simpli…

辐射威胁:揭示辐射对人体健康和肠道菌群的影响及防护

谷禾健康 辐射对人体的影响是一个长期以来备受关注的问题。长时间暴露在辐射环境下可能会导致细胞损伤、突变和癌症等健康问题。 辐射包括电离辐射(X光机、CT、伽马刀、钴60治疗机、碘-131)和非电离辐射(手机辐射、微波炉、电热毯、高压电塔、…

LeetCode(力扣)968. 监控二叉树Python

LeetCode968. 监控二叉树 题目链接代码 题目链接 https://leetcode.cn/problems/binary-tree-cameras/description/ 代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # …

翻牌闯关游戏

翻牌闯关游戏 3关:关卡由少至多12格、20格、30格图案:12个玩法:点击两张卡牌,图案一到即可消除掉 记忆时长(毫秒):memoryDurationTime:5000 可配置,默认5000 提示游戏玩法:showTipsFlag:1 可…

算法宝典2——Java版本(此系列持续更新,这篇文章目前3道)(有题目的跳转链接)(此份宝典包含了二叉树的算法题)

注:由于字数的限制,我打算把算法宝典做成一个系列,一篇文章就20题!!! 目录 一、二叉树的算法题(目前3道) 1. 平衡二叉树(力扣) 2. 对称二叉树&#xff0…