移动通信网络中的 3A 实现
目录
3A
AAA,即认证(Authentication)、授权(Authorization)和计费(Accounting)的统称,简称:3A。是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。3A 是一种管理框架,因此,它可以使用多种协议来进行实现。本文中主要介绍几种在移动通信领域中最常使用到的 3A 实现。
- Authentication,认证:对用户的身份进行确认。
- Authorization,授权:确定用户是否有权限使用某种网络资源。
- Accounting,计费:监测用户使用网络资源的状况,可依照检测的记录对用户进行收费。
RADIUS
RADIUS(远程用户拨入验证服务,Remote Authentication Dial In User Service)是一个 3A 协议,通常用于网络访问、流动 IP 服务,适用于局域网及漫游服务。RADIUS 协议最初由 Livingston 公司提出,最初的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。RADIUS 协议包括 RADIUS 验证协议(认证和授权)和 RADIUS 记账协议协议,分别由 RFC2865,RFC2866 定义。
虽说 RADIUS 是一种 3A 协议,但由于 RADIUS 协议本身创建于 AAA 标准确定之前。因此,RADIUS 协议中并没有区分 “认证” 和 “授权”,而是合二为一作为 “验证” 处理, 因此 RADIUS 客户端在实际操作中无法知道被拒绝的原因是由于密码错误还是因为没有权限。
RADIUS 采用了 C/S 架构。Client 对 Server 提出验证和计费请求,Server 针对 Client 的请求进行验证和计费给予应答。RADIUS 的客户端是对用户(人或者计算机)提供网络连接服务的设备,可以包括:
- 拨号调用设备、宽带接入服务器(BAS,Broadband Access Server)等网络接入服务器(NAS,Network Access Server)。
- 无线 LAN 环境中的无线接取器、VLAN 环境中的交换机。
- 在内容提供的服务中的 Web 服务器。
- 在移动电话网络中的核心网节点。

RADIUS 的运行过程:

Diameter
Diameter(直径)协议,意味是 RADIUS(半径)的改进或者替代,由 IETF 开发,被 AAA 工作组定位为下一代的 AAA 协议标准。
Diameter 协议不是一个单一的协议,而是一个协议簇,它包括基本协议(Diameter Base Protocol)和各种由基本协议扩展而来的应用协议,如:NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP(移动 IP)协议和 CMS(密码消息语法)协议等。
Diameter 采用 AVP(Attribute-Length-Value 三元组形式)属性值对来实现,但是其中详细的规定了错误处理, Failover(故障转移)机制,采用 TCP 协议,支持分布式计费,克服了 RADIUS 的许多缺点。

基本概念
Diameter Node:网络中的 Diameter 节点,分为 Client、Agent、Server 三种。
- Diameter Client:是处于网络边缘的节点,一般是发起请求的节点。离线计费中的 IMS 网元一般是 Diameter Client 角色。
- Diameter Server:是处理请求的节点。离线计费中的 CDF 一般是 Diameter Server 角色。
- Diameter Agent:一种提供中继(Relay)、代理(Proxy)、重定向(Redirect)、翻译(Translation)服务的 Diameter 节点。
- Relay Agent:根据消息中的路由信息转发消息,只能修改消息的路由信息,不关心消息其他内容。
- Proxy Agent:根据消息中的内容执行不同的策略,可以转发或拒绝消息,可以修改消息内容。
- Redirect Agent:不负责消息的转发,负责向 Client 提供 Server 地址,使 Client 能够直接与 Server 通信。
- Translation Agent:负责在 Diameter 协议与其他 AAA 协议之间转换消息,例如:RADIUS。
Diameter Peer:直接相连的两个节点互为 “Peer”。
基本协议
Diameter 基本协议为各种认证、授权和计费业务提供了安全、可靠、易于扩展的框架。其主要涉及性能协商、消息如何被发送、对等双方最终如何结束通信等方面。
Diameter 基础协议旨在提供一个 AAA 框架,以用于各种应用。Diameter 基本协议设定通讯是以对等的模式进行的,而不再是 C/S 模式,其注重能力协商,消息发送以及对等端如何最终被拒绝。同时,基础规则还制订了特定规则来进行 Diameter 节点之间所有的信息交换。其主要的设计思想为:
- 保持基本协议的轻巧和简单,易于实现协议。
- 所有由协议传送的数据都以 AVP 形式出现,并有与 RADIUS 相似的高效的属性编码,被使用的 AVP 包含的数据有用户认证信息、服务相关的授权信息、交换资源使用消息和中继、代理和重定向消息等类型,AVP 的标识符名字空间要足够大,以便扩展,还支持厂商自定义的 AVP 和命令。
- 能同时支持大量的请求。
- Diameter 网络节点运行在 TCP 或者 SCTP 上,能够提供可靠传输和具有重传机制,由传输层来提供可靠性。
- 能快速的检测出不可到达对等端的能力,并有很好的故障切换机制。
- Diameter 协议要求代理链上的每一个节点响应或确认每一个请求,代理链上的每一个节点有责任对没有响应的消息进行重传。所有的消息都要有应答,而不能无声丢弃。
- Diameter 协议是对等模式的协议,允许主动地消息发送到接入服务器。对等模式有很多好处,如可以按需返回计帐信息、由服务器发起会话终止信息等。
- 采用 IPSec 或 TLS 或二者为 Diameter 的对等双方提供数据完整和保密等安全性,有 AVP 级的完整性和保密性。
- 每一个认证/授权流有一个与之对应的会话,会话通过一个会话标识符来标识,这在一个给定时间内是全局唯一的,所有后续的 Diameter 事务(如计费)必须包含这个会话标识,以用来引用这个会话。
- 支持重定向服务。
应用协议
Diameter 基本协议一般不单独使用,往往被扩展成新的应用协议来使用。应用协议扩展了基本协议,以完成特定的接入和应用业务,它充分利用基础协议提供的消息传送机制,并以此为基础定义应用协议的应用标识、参与通信的网络功能实体、相互通信的功能实体间的消息内容以及协议过程等,目前已完成的应用主要有:Diameter NASREQ 应用、Diameter Mobile Ipv4 等应用。
freeDiameter
freeDiameter 是开源的 Diameter 协议实现。freeDiameter 提供了一个可扩展的平台,用于部署 Diameter 网络,以满足用户的 3A 需求。
官方网站:http://www.freediameter.net/trac/
freeDiameter 支持的功能:
- 全力支持 Diameter 基础协议在 RFC3588 中的定义,包括:
- IP/IPv6、TCP/SCTP 协议的支持
- TLS 协议的支持
- Diameter 故障转移和故障回复机制
- Diameter 路由回路的检测和避免
- app_acct.fdx 扩展提供的基本记帐功能
- 支持消息中继
- 通过 rt_redirect.fdx 支持 Diameter 重定向
- 由 app_diameap.fdx 支持 Diameter EAP 服务器(RFC4072)功能。
- 由 app_sip.fdx 支持 Diameter SIP(RFC4740)功能。
- 由 app_radgw.fdx 支持 NASREQ(RFC4005)、SIP(RFC4740)以及 RADIUS/Diameter 消息转换。
移动通信网络中的 3A 实现的更多相关文章
- 关于3G移动通信网络中用户ip的配置过程的研究(中国电信cdma2000)
在RP口对ppp过程进行研究 PPP协商过程,如下图所示: 在建立ppp过程中pdsn需要与FAAA.HAAA交互.同时在分组数据业务进行过程中这种交互更加频繁,介绍如下,分为两种情况,简单ip,移动 ...
- 无线网络中的MIMO与OFDM技术原理分析
无线网络中的MIMO与OFDM技术原理分析CNET中国·ZOL 07年08月14日 [原创] 作者: 中关村在线 张伟 从最早的红外线技术到目前被寄予重望的WIFI,无线技术的进步推动我们的网络一步步 ...
- Android 从网络中获取数据时 产生部分数据乱码的解决
产生部分数据乱码的解决 标签: android部分中文乱码 2014-04-12 23:24 12366人阅读 评论(10) 收藏 举报 分类: [Android 基础](15) 版权声明:本文为博主 ...
- 网络中两台主机的通信过程(TCP)
两台主机通信有两种情况:1.在同一网段中 2.不在同一网段中 (1.)在同一网段的通信过程 主机在应用层上的操作: TCP/IP协议上tcp的端口对应的各种应用程序,客户机要访问某个应用程序就会要求打 ...
- 从网络中获取图片显示到Image控件并保存到磁盘
一.从网络中获取图片信息: /// <summary> /// 获取图片 /// </summary> /// <param name="url"&g ...
- Docker: 解决Docker无法在电信网络中访问外网
在电信网络中,Docker在build和run时会无法访问外网,原因是docker的默认dns地址是8.8.8.8,由于众所周知的原因,我们需要改写这个地址,方法如下: 修改/etc/sysconfi ...
- android优化从网络中加载图片速度。。
从网络中加载图片主要要注意两个方面的问题: 1.内存管理:图片占的内存很大,假如图片数量多,很容易让系统抛出out of memory的异常. 同时我们也要注意不同android版本中内存管理的区别. ...
- http报文在网络中是明文传输的,所以不安全。HTtp必然来临
HTTP数据在网络中裸奔 HTTP明文协议的缺陷,是导致数据泄露.数据篡改.流量劫持.钓鱼攻击等安全问题的重要原因.HTTP协议无法加密数据,所有通信数据都在网络中明文“裸奔”.通过网络的嗅探设备及一 ...
- Sun开发的JINI技术在网络中的应用
一.概述 Sun公司开发的Jini系统是一种创新技术,听说它的人很多但较少被人理解.Jini系统可利用Java扩展网络计算的范围,并有可能成为最佳解决方案. Jini是Sun公司的研究与开发项目,它能 ...
- Android从网络中获取xml文件并解析数据
public class XmlwebData { @SuppressLint("UseValueOf") public static List<Person> get ...
随机推荐
- #莫比乌斯反演#BZOJ 2694 LCM
题目 多组询问求 \[\sum_{i=1}^n\sum_{j=1}^m{|\mu(\gcd(i,j))|*lcm(i,j)}\pmod {2^{30}} \] \(T\leq 10^4,n,m\leq ...
- HTTP协议安全头部的笔记
本文于2016年3月完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 近日项目组对当前开发.维护的Web系统做了AppScan扫描,扫描的结 ...
- HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)
一. 介绍 溪村小镇是一款展示溪流背坡村园区风貌的应用,包括园区内的导航功能,小火车行车状态查看,以及各区域的风景展览介绍,主要用于展示HarmonyOS的ArkUI能力和动画效果.具体包括如下功能 ...
- css 居中的汇总
前言 对css居中的几种方式汇总,并且分析适用情况. 正文 margin+position .CenterParent { position: relative; height: 200px; wid ...
- ActiveMQ c# 系列——进阶实例(三)
前言 前面介绍了基本的消费者和生产者,那么看下他们之间有什么其他的api. 正文 消费者设置等待时间 生产者生产了5条消息 改一下消费者. static void Main(string[] args ...
- 【Oracle】year must be between -4713 and +9999,and not be 0
[Oracle]year must be between -4713 and +9999,and not be 0 year must be between -4713 and +9999,and n ...
- 中国大陆地区维护的Linux操作系统
Linux开源生态丰富,中国大陆地区基于CentOS停服,依托阿里云.腾讯云.华为云三大私营企业,相继发布了自己的开源Linux定制版,很高兴的是他们只是改个名字并没有选择闭门造车,只是官网还是很不耻 ...
- 暑期集训 Day7 —— 模拟赛复盘
${\color{Green} \mathrm{Problem\ 1 :最优包含 }} $ 发现是 DP,于是开始设计状态:DP[i][j] 表示前一个字符串匹配到位置 i,后一个匹配到 j 的最少修 ...
- OpenKruise v1.3:新增自定义 Pod Probe 探针能力与大规模集群性能显著提升
简介: 在版本 v1.3 中,OpenKruise 提供了新的 CRD 资源 PodProbeMarker,改善了大规模集群的一些性能问题,Advanced DaemonSet 支持镜像预热,以及 C ...
- 3分钟创建Serverless Job 定时获取新闻热搜
简介: 7月25号-8月2号工作日期间,完成场景搭建,即可获得夏日清凉小风扇(每日限量)和阿里云代金券! 云起实验室,由阿里云提供的零门槛云上实践平台.一键预置实验环境,提供详细的实验手册指导,快速体 ...