首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

AAA与Radius协议讲解AAA介绍Radius协议

  • 23-09-05 02:42
  • 3570
  • 5519
blog.csdn.net

目录

AAA介绍

AAA的基本架构

AAA的认证 授权 计费方式

AAA通过本地和远端实现的大致流程

Radius协议

Radius架构

Radius报文结构

Radius如何对用户进行认证

Radius协议报文交互过程


AAA介绍

AAA(Authentication Authorization and Accounting)又称为认证、授权和计费,是一种管理网络安全的机制,主要为接入网络的用户提供认证、授权和计费三种基本服务,用于防止非法用户登陆设备

认证:对用户进行身份认证,验证用户是否具有访问网络/管理设备的权力

授权:对用户权限进行分类,提供不同的访问权限

记账:记录用户使用网络资源的情况,根据统计数据进行分析计费

AAA的基本架构

AAA通常采用客户端-服务器的结构,服务器集中管理用户信息

NAS客户端:网络接入设备(也可以作为本地AAA服务器管理用户信息)

AAA Server:远端AAA服务器

AAA的认证 授权 计费方式

AAA认证方式

不认证:

不对用户进行认证,一般不推荐

本地认证:

将用户信息配置在NAS设备,当接收到用户信息后直接本地认证,认证速度快,但是存储的信息量会受到设备硬件限制

远端认证:

将用户信息配置在专用的AAA服务器上(Radius服务器或HWTACACS服务器)

AAA授权方式

不授权:

不对用户进行授权处理

本地授权:

根据NAS设备上为本地用户账户配置的相关属性进行授权

远端授权:

有专用的AAA服务器进行授权(Radius服务器或HWTACACS服务器)

AAA计费方式

不计费:不进行计费

远端计费:通过Radius服务器或HWTACACS服务器进行计费

AAA通过本地和远端实现的大致流程

远端方式流程

用户向NAS发起AAA申请,NAS收到后将其发送给AAA Server处理

AAA Server将处理后的结果返回给NAS,NAS根据处理结果为Host提供相应的AAA服务

本地方式流程

用户向NAS发起AAA申请,NAS收到后直接处理,然后根据处理结果为Host提供相应的AAA服务


Radius协议

Radius(Remote Autnentication Dial-In User Service)远程认证拨号用户服务,是一种客户端/服务器结构的信息交互协议(Radius的客户端一般是接入设备),承载在UDP协议之上;Radius的认证和授权一体,即认证和授权统一进行;不过Radius不对配置命令进行授权

注意:使用Radius服务器进行认证授权计费时,AAA的方式必须为远端方式

Radius端口号

Radius在进行远程认证的认证和计费端口号为1812和1813或1645和1646

Radius服务器认证方式

一般使用PAP和CHAP对用户进行认证

Radius协议应用场景

  1. 在办公网场景中结合802.1x认证为用户提供认证授权计费服务
  2. 可以作为Portal认证的认证服务器,为用户提供认证授权计费服务
  3. 作为MAC认证的认证服务器,为哑终端等提供认证服务
  4. 也可以直接使用Radius服务器进行远端认证,对用户进行认证授权计费服务

Radius架构

基于AAA的基本架构

Radius客户端

一般位于网络接入设备,可以遍布整个网络

负责将用户的请求传递给Radius服务器,并对服务器的处理结果做出响应

Radius服务器

一般运行在中心计算机或工作站上,维护相关的用户信息,用于响应Radius客户端的请求

对用户进行认证授权和计费;Radius服务器只要维护以下三个数据库

Users:用于存储用户信息(用户名、密码、IP地址等配置信息)

Clients:用于存储Radius客户端信息(IP地址等信息)

Dictionary:用于存储Radius协议中的属性和属性值含义等信息(进行Radius报文交互)

Radius报文结构

Code 包类型

指定Radius的报文类型

Access-Challenge:主要用于EAP中继认证场景

Accounting-Rquest又细分为

 Accounting-Rquest(Start):计费开始请求报文

 Accounting-Rquest(Interim-update):实时计费请求报文

 Accounting-Rquest(Stop):计费结束请求报文

Accounting-Response又细分为

 Accounting-Response(Start):计费开始响应把我嗯

 Accounting-Response(Interim-update):实时计费响应报文

 Accounting-Response(Stop):计费结束响应报文

Identifier 包标识

1、用来匹配请求和响应报文

Radius客户端发送请求报文后,Radius服务器返回的响应报文中的Identifier值与请求报文中的Identifier值相同,将相同Identifier值的请求和响应报文进行匹配

2、用来检测在一段时间内重发的请求报文

如果在一个很短的时间内收到相同的源IP地址、源UDP端口号以及Identifier值的请求报文,Radius服务器就认为是重复的请求报文

Length 包长度

指定Radius报文的长度(Code、Identifier、Length、Authenticator、Avps五个字段)

接收到的报文的实际长度大于Length的取值,超过的字节将作为填充字符而忽略

接收到的报文的实际长度小于Length的取值,该报文会被丢弃

Authenticator 包验证字(对用户进行认证授权)

1、用于对用户密码的加密处理(结合Radius如何给用户认证一起理解)

Request Authenticator 请求验证字

用在认证授权请求报文中,该值在密钥(NSA和服务器之间的共享密钥)的声明周期内是不可预测和唯一的,用来对用户的密码进行加密(不同的认证方式加密方法不同)

PAP方式

将共享密钥与Request Authenticator进行MD5运算,并将该值与用户输入的密码进行异或运算,将其结果存放在认证授权请求包的User-Password属性中

CHAP方式

将共享密钥与Request Authenticator和CHAP ID(认证方发给响应方的一个随机值)进行MD5运算,然后将此值与CHAP ID一起存放在认证授权请求包的Chap-Password属性中

2、用于验证来自服务端的响应的有效性

Response Authenticator 响应验证字

用在认证授权响应报文中,用于NAS验证响应报文的合法性

响应验证字=MD5(Code+Identifier+Length+请求验证字+Avps+共享密钥)

AVPs(Attributes Value Pairs)(Radius属性,可变字段)

携带认证、授权和记账信息(通过TLV结构表示)

TLV26:厂商自定义属性(一个报文可以携带一个或多个私有属性,每个私有属性有一个或多个子属性)

TLV79:用来承载EAP协议(当802.1x协议使用Radius服务器认证时使用)

Radius如何对用户进行认证

PAP方式(参考Authenticator字段的讲解)

CHAP方式

Radius协议报文交互过程

注:本文转载自blog.csdn.net的静下心来敲木鱼的文章"https://blog.csdn.net/m0_49864110/article/details/129584307"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top