AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念,于是搜集网络资源整理得出此文。

概述

AAA是Authentication、Authorization、Accounting的缩写简称,即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务,以及用户能够访问哪些资源或使用哪些服务。AAA服务器,能够处理用户访问请求的服务器程序,提供验证、授权及帐户服务。

包括3个概念模块:

  • 认证:证明访问用户是合法用户(一般而言是数据库用户)
  • 授权:检查此合法用户拥有的权限
  • 记帐:记录用户使用网络服务过程中的相关操作,即:什么人在什么时间做了什么事。

模式

支持本地认证、不认证、RADIUS认证和HWTACACS认证四种认证模式,并允许组合使用。组合认证模式是有先后顺序的。如,authentication-mode radius local表示先使用RADIUS认证,RADIUS认证没有响应再使用本地认证。当组合认证模式使用不认证时,不认证(none)必须放在最后。

支持本地授权、直接授权、if-authenticated授权和HWTACACS授权四种授权模式,并允许组合使用。组合授权模式有先后顺序。例如,authorization-mode hwtacacs local表示先使用HWTACACS授权,HWTACACS授权没有响应再使用本地授权。当组合授权模式使用直接授权时,直接授权必须在最后,如:authorization-mode hwtacacs local none。RADIUS的认证和授权是绑定在一起的,所以不存在RADIUS授权模式。

支持六种计费模式:本地计费、不计费、RADIUS计费、HWTACACS计费、RADIUS+本地计费、HWTACACS+本地计费。

框架

AAA采用客户端/服务器结构,这种结构简单、扩展性好,且便于集中管理用户信息。
在这里插入图片描述
AAA的基本实现流程如下:

  • 用户访问网络前,首先与AAA客户端建立连接
  • AAA客户端负责把用户验证凭据传递给AAA服务器
  • AAA服务器根据用户认证凭据进行认证和授权,并将认证和授权结果返回给AAA客户端
  • AAA客户端根据服务器的返回结果判断是否允许用户接入

其中:

  • AAA客户端运行在NAS设备(Network Access Server,网络接入服务器)上,NAS设备可以是路由器、交换机等为用户提供入网服务的设备
  • AAA服务器是认证服务器、授权服务器和计费服务器的统称,负责集中管理用户信息。

根据AAA使用的通信协议的不同,AAA服务器可以分为RADIUS服务器、TACACS服务器等。

应用

根据用户接入方式的不同,在网络中有以下几种应用:

  • 登录用户管理:登录用户指的是直接登录设备进行操作的用户,例如Console口登录、Stelnet登录等。此类用户对安全性的要求较高,通过AAA可以限制哪些用户可以登录到设备,登录到设备后能执行哪些命令或者记录用户执行的操作等
  • NAC用户接入控制:NAC用户指的是通过802.1X、MAC、Portal方式接入网络的用户。这些用户可以是有线用户、也可以是无线用户,可能是接入企业园区网络、教育网络、医疗网络或商超网络等。此类用户存在类型复杂、变动频繁、权限级别要求不统一等问题。AAA结合NAC,可以有效保证接入用户的安全性。

实现

RADIUS

Remote Authentication Dial-In User Service,远程身份验证拨号用户服务。朗讯公司提出,能在拨号网络中提供注册、验证功能。

基本所有主流设备厂商都支持,在实际网络中应用最多。

RADIUS协议可分为认证协议和计费协议,分别通过IETF RFC 2865和RFC 2866定义。由于定义RADIUS协议的时间早于AAA框架模型,所以并没有将认证和授权分开,而是将认证和授权在同一个流程中进行处理。因此,使用RADIUS协议实现AAA时,用户可能无法知道被拒绝访问的原因是由于密码错误还是因为没有权限。

RADIUS协议,一般把拨号和认证这两种功能放在两个分离的服务器,是一种基于UDP的一种客户机/服务器协议:

  • NAS:网络接入服务器,RADIUS客户机。通常是一个路由器、交换机或无线访问点
  • RADIUS服务器:后台认证服务器上。在RADIUS服务器上存放有用户名和它们相应的认证信息的一个大数据库,来提供认证用户名和密码及向用户发送配置服务的详细信息等。通常是在UNIX或Windows服务器上运行的一个监护程序。

特点:

  • RADIUS协议使用UDP进行传输,使用1812号端口进行认证及认证通过后对用户授权,使用1813号端口对用户计费
  • 灵活的认证机制:支持多种认证方法,如点对点的PAP认证(PPP PAP)、点对点的CHAP认证(PPP CHAP)、UNIX的登录操作(UNIX Login)和其他认证机制
  • 支持认证转接(Authentication Forwarding),一个RADIUS服务器可以作为另一个RADIUS服务器的客户端向它要求认证,即认证转接
  • 扩展性好:所有的交互都包括可变长度的属性字段。为满足实际需要,用户可以加入新的属性值。新属性的值可以在不中断已存在协议执行的前提下自行定义新的属性
  • 安全:认证信息都加密传输,安全性高。RADIUS服务器和接入服务器之间传递的认证信息用一个事先设置的口令进行加密,防止敏感信息泄露

RADIUS认证授权工作过程:

  1. 用户输入用户名、密码等信息到客户端或连接到NAS
  2. 客户端或NAS产生一个接入请求(Access-Request)报文到RADIUS服务器,其中包括用户名、口令、客户端(NAS) ID和用户访问端口的ID。口令经过MD5算法进行加密
  3. RADIUS服务器对用户进行认证
  4. 若认证成功,RADIUS服务器向客户端或NAS发送允许接入包(Access-Accept),否则发送拒绝加接入包(Access-Reject)
  5. 若客户端或NAS接收到允许接入包,则为用户建立连接,对用户进行授权和提供服务,并转入6;若接收到拒绝接入包,则拒绝用户的连接请求,结束协商过程
  6. 客户端或NAS发送计费请求包给RADIUS服务器
  7. RADIUS服务器接收到计费请求包后开始计费,并向客户端或NAS回送开始计费响应包
  8. 用户断开连接,客户端或NAS发送停止计费包给RADIUS服务器
  9. RADIUS服务器接收到停止计费包后停止计费,并向客户端或NAS回送停止计费响应包,完成该用户一次计费,记录计费信息

TACACS、TACACS+、HWTACACS

TACACS,Terminal Access Controller Access-Control System,终端访问控制器控制系统,起源于1980s的AAA协议。在之后的发展中,各厂商在TACACS协议基础上进行扩展,如思科研发的TACACS+,华为研发的HWTACACS。两者均为私有协议,在发展过程中逐步替代TACACS协议,且不再兼容TACACS协议。HWTACACS基于TCP协议。RADIUS的认证和授权绑定在一起,而HWTACACS的认证和授权是独立的。RADIUS只对用户的密码进行加密,HWTACACS可以对整个报文进行加密。

HWTACACS协议可兼容TACACS+协议,HWTACACS协议与TACACS+协议定义的报文结构和报文类型一致,主要区别在于授权和计费报文中携带的属性含义或类型不完全相同。

与RADIUS协议相比,HWTACACS或TACACS+更加适用于登录用户(如STelnet用户)的身份认证场景。这是由于它在数据传输、加密上安全性更高,同时能够提供命令行鉴权、事件记录等优势功能。

Diameter

Diameter是IETF定义的新一代AAA协议,由RADIUS协议演进而来。Diameter协议克服RADIUS的许多缺点,如支持移动IP、多接口和移动代理认证、授权和计费等。随着Diameter协议及其应用的不断成熟和标准化,它对未来移动通信系统和宽带接入系统的发展将起到巨大的推动作用。

Diameter基本协议为移动IP(Mobile IP)、网络接入服务(NAS)等应用提供最基本的服务,如用户会话、计费等,具有能力协商、差错通知等功能。协议元素由众多命令和AVP(属性值对)构成,可以在客户机、代理、服务器之间传递鉴别、授权和计费信息。但不管客户机、代理还是服务器,都可以主动发出会话请求,对方给予应答,所以也叫对等实体之间的协议。命令代码、AVP值和种类都可以按应用需要和规则进行扩展。

Diameter NAS

Diameter的NAS协议即是Network Access Service(网络接入服务)协议。由NAS客户机处理用户MN的接入请求(RegReq),将收到的客户认证信息转送给NAS服务器;服务器对客户进行鉴别,将结果(Success/Fail)发给客户机;客户机通过RegReply将结果发回给MN,并根据结果对MN进行相应处理。

NAS作为网络接入服务器,在其用户端口接收到呼叫或服务请求时便开始与AAA服务器之间进行消息交换,有关呼叫的信息、用户身份和用户鉴别信息被打包成一种AAA消息发给AAA服务器。实际上,移动IP中的FA可以看成是通过空中的MPPP链路接收移动终端MN的服务连接请求的NAS服务器,它作为AAA服务器的客户机,在两者之间交换NAS消息请求和应答。

Diameter EAP

Diameter EAP,Extensible Authentication Protocol,可扩展鉴别协议,提供一个支持各种鉴别方法的标准机制。EAP其实是一种框架,一种帧格式,可以容纳各种鉴别信息。EAP所提供的多回合鉴别是PAP和CHAP所不具备的。

EAP协议描述用户、NAS(AAA客户机)和AAA服务器之间有关EAP鉴别消息的请求和应答的关系,完成一次对鉴别请求的应答,中间可能需要多次消息交换过程。在移动终端MN移动的环境下,MN与FA之间的鉴别扩展采用EAP,即把FA看做是一个NAS,它作为Diameter AAA的客户机,Diameter AAA服务器作为EAP的后端服务器,两者之间载送EAP分组。端到端的EAP鉴别发生在用户和它的H-AAA之间。

Diameter CMS

Diameter CMS,Cryptographic Message Syntax,密码消息语法协议,实现协议数据的Peer-to-Peer(端到端)加密。由于Diameter网络中存在不可信的Relay(中继)和Proxy,而IPSec和TLS又只能实现跳到跳的安全,所以IETF定义Diameter CMS应用协议来保证数据安全。

Diameter MIP

由于未来移动通信网络正逐步向全IP网络演进,这就不可避免碰到用户移动到外部域的问题。Diameter MIP应用协议允许用户漫游到外部域,并在经过鉴权后接受外部域Server和Agent提供的服务。在未来移动通信中,这种情况将十分常见,因此MIP协议对于移动通信系统来说至关重要。当用户移动到外部域的时候,需要进行一系列的消息交换才能安全地接入外部网络,接受其提供的服务。MIP协议的实现环境中MN和HA都可以在家乡域或在外地域,其中比较典型的一种情况是MN在外地域而HA在家乡域。

参考

  • 系统架构设计师教程-第4版
  • 百度百科

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux系统-PXE高效批量网络装机

目录 一、PXE概述 PXE批量部署的优点 搭建PXE网络体系的前提条件 二、搭建PXE远程安装服务器 1.修改网络配置 2 .老样子关防火墙!!!! 3.确保挂载状态 和yum库 4. 安装TFTP服务 5.修改TFTP服务的配置文件 6.启动服务 7…

概念解析 | 基础模型:AI时代的“形而上学“

注1:本文系"概念解析"系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:基础模型(Foundation Models) 概念解析 | 基础模型:AI时代的"形而上学" What Are Foundation Models? | NVIDIA Blogs 第一部分:通俗解释 基础模型(…

echars设置渐变颜色的方法

在我们日常的开发中,难免会遇到有需求,需要使用echars设置渐变的图表,如果我们需要设置给图表设置渐变颜色的话,我们只需要在 series 配置项中 添加相应的属性配置项即可。 方式一:colorStops type:‘lin…

this关键字

this 文章目录 this引出Thisthis的作用this.属性内存分析 this.方法名this()构造方法 概念:this 关键字是 Java常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,可以将this理解为一个指…

被问了n遍的小程序地理位置权限开通方法

小程序地理位置接口有什么功能? 在平时我们在开发小程序时,难免会需要用到用户的地理位置信息的功能,小程序开发者开放平台新规要求如果没有申请开通微信小程序地理位置接口( getLocation ),但是在代码中却使用到了相关接口&#…

【3dmax笔记】023:阵列工具(移动+一维+二维+三维)

文章目录 一、阵列工具二、案例演示 一、阵列工具 【阵列】命令将显示【阵列】对话框,使用该对话框可以基于当前选择创建对象阵列。 菜单栏:【工具】菜单 > 【阵列】 二、案例演示 首先,画一个物体,如茶壶,如下图…

Ps 中 曲线和色阶的区别在哪里?

【官方解释】 在Photoshop中,曲线(Curves)和色阶(Levels)是两种调整图像色调和对比度的工具,它们有一些相似之处,但也有一些重要的区别。 调整方式: 曲线(Curves)&…

04-19 周四 GitHub CI 方案设计

04-19 周四 GitHub CI 方案设计 时间版本修改人描述2024年4月19日14:44:23V0.1宋全恒新建文档2024年4月19日17:22:57V1.0宋全恒完成部署拓扑结构的绘制和文档撰写 简介 需求 由于团队最近把代码托管在GitHub上,为解决推理、应用的自动化CI的需要,调研了…

【C语言刷题系列】移除元素

目录 一、问题描述 二、解题思路 三、源代码 个人主页: 倔强的石头的博客 系列专栏 :C语言指南 C语言刷题系列 一、问题描述 二、解题思路 在C语言中,原地移除数组中所有等于特定值的元素并返回新长度的问题可以通过双指针法…

虚拟化之---virtio通信

一、理解virtio的背景 我们知道虚拟化hypervisor大的类型分为两种,全虚拟化和半虚拟化。 在全虚拟化的解决方案中,guest VM 要使用底层 host 资源,需要 Hypervisor 来截获所有的请求指令,然后模拟出这些指令的行为,这样…

python-dict序列化的数据为啥前后不一致

前情提要及背景:流式数据的二次处理终结篇-CSDN博客 假如直接将dict进行str,那么编码数据都是一致的,但是在postman上就表现不那么好看,如下: 而之前的显示如下: 其中的差别就是单引号与双引号的差别了。 采用如下方案无疑是最笨的方法了: 在Python中,如果你想将处理…

各城市-人口就业和工资数据(1978-2022年)

这份数据收集了1978年至2022年间300多个地级市的人口、就业和工资等数据。涵盖的指标包括从业人员数量、平均工资水平、人口密度等,通过这些数据可以深入了解中国各地城市的人口结构、就业状况以及工资水平的变化趋势。这些数据对于研究城市发展、劳动力市场以及区域…

微积分 --- 偏导数,方向导数与梯度(二)

方向导数 上图为一温度图,所反映的是加利福利亚洲和内华达州在十月的一天下午三点的温度。其中,图中的每一点都是温度T关于x,y的函数,即T(x,y)。对于图中的Reno市而言,沿着x方向的偏导反映的是温度沿着x方向,即沿着东方…

【搜索技能】外链

文章目录 前言一、外链是什么?二、如何进行外链调查?总结 前言 今儿因为在搜索一个很感兴趣的软件,但是软件信息所在的网址非常有限。因此产生了一个念头:我能不能找到所有的包含了或者是引用了这个网站的网站呢? 调查之下&…

五道链表习题,只过思路

建议先过一遍:保研机试前的最后七道链表题-CSDN博客 第一题 82. 删除排序链表中的重复元素 II - 力扣(LeetCode) 是不是似曾相识的感觉,好像数组顺序去重,请看:保研机试前的最后七道数组题-CSDN博客 第二…

幻兽帕鲁游戏主机多少钱?幻兽帕鲁游戏服务器一个月仅需32元

随着游戏产业的蓬勃发展,腾讯云紧跟潮流,推出了针对热门游戏《幻兽帕鲁Palworld》的专属游戏服务器。对于广大游戏爱好者来说,这无疑是一个激动人心的消息。那么,腾讯云幻兽帕鲁游戏主机到底多少钱呢?让我们一起来揭晓…

编程基础学什么课程内容

编程基础学习的课程内容有:程序设计基础、算法与数据结构、计算机科学原理、面向对象编程、网页开发基础等课程内容,以下是上大学网 (www.sdaxue.com)整理的具体课程或技能领域内容,供大家参考! 程序设计基础(或计算机…

重学java 29.经典接口

光阴似箭,我好像跟不上 —— 24.5.6 一、java.lang.Comparable 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个…

Vue MVVM这一篇就够啦!

Vue vs React 相似之处: 它们都有使用 Virtual DOM虚拟DOM-CSDN博客;提供了响应式(Reactive)和组件化(Composable)的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。R…

数塔问题(蛮力算法和动态规划)

题目:如下图是一个数塔,从顶部出发在每一个节点可以选择向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大,及路径情况。(使用蛮力算法和动态规划算法分别实现) #include…