AAA是验证、授权和记账(Authentication、Authorization、Accounting )三个英文单词的简称。其主要目的是管理哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行记账。具体为:
1、 验证(Authentication): 验证用户是否可以获得访问权限;
2、 授权(Authorization) : 授权用户可以使用哪些服务;
3、 记账(Accounting) : 记录用户使用网络资源的情况。
概括的来说,RADIUS 的主要特点如下:
1、 客户/服务模式(Client/Server) RADIUS是一种C/S结构的协议,它的客户端最初就是网络接入服务器NAS(Network Access Server),现在运行在任何硬件上的RADIUS客户端软件都可以成为RADIUS的客户端。客户端的任务是把用户信息(用户名,口令等)传递给指定的RADIUS服务器,并负责执行返回的响应。 RADIUS服务器负责接收用户的连接请求,对用户身份进行认证,并为客户端返回所有为用户提供服务所必须的配置信息。 一个RADIUS服务器可以为其他的RADIUS Server或其他种类认证服务器担当代理。
2、 网络安全 客户端和RADIUS服务器之间的交互经过了共享保密字的认证。另外,为了避免某些人在不安全的网络上监听获取用户密码的可能性,在客户端和RADIUS服务器之间的任何用户密码都是被加密后传输的。
3、 灵活的认证机制 RADIUS服务器可以采用多种方式来鉴别用户的合法性。当用户提供了用户名和密码后,RADIUS服务器可以支持点对点的PAP认证(PPP PAP)、点对点的CHAP认证(PPP CHAP)、UNIX的登录操作(UNIX Login)和其他认证机制。
4. 扩展协议 所有的交互都包括可变长度的属性字段。为满足实际需要,用户可以加入新的属性值。新属性的值可以在不中断已存在协议执行的前提下自行定义新的属性。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回送停止计费响应包,完成该用户的
一次计费,记录计费信息。
在移动通信系统中,用户要访问网络资源,首先要进行用户的入网认证,这样用户才能访问网络资源。鉴别的过程就是验证用户身份的合法性;鉴别完成后,才能对用户访问网络资源进行授权,并对用户访问网络资源进行计费管理。一般来讲,鉴别过程由三个实体来完成的。用户(Client)、认证器(Authenticator)、AAA服务器(Authentication 、Authorization和Accounting Server)。在第三代移动通信系统的早期版本中,用户也称为MN(移动节点),Authenticator在NAS(Network Access Server)中实现,它们之间采用PPP协议,认证器和AAA服务器之间采用AAA协议(以前的方式采用远程访问拨号用户服务RADIUS(Remote Access Dial up User Service);Raduis(远程访问拨号接入用户服务)英文原意为半径,原先的目的是为拨号用户进行鉴别和计费。后来经过多次改进,形成了一项通用的鉴别计费协议)。
RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS的基本工作原理是:用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。
RADIUS是目前最常用的认证计费协议之一,它简单安全,易于管理,扩展性好,所以得到广泛应用。但是由于协议本身的缺陷,比如基于UDP的传输、简单的丢包机制、没有关于重传的规定和集中式计费服务,都使得它不太适应当前网络的发展,需要进一步改进。
随着新的接入技术的引入(如无线接入、DSL、移动IP和以太网)和接入网络的快速扩容,越来越复杂的路由器和接入服务器大量投入使用,对AAA协议提出了新的要求,使得传统的RADIUS结构的缺点日益明显。目前,3G网络正逐步向全IP网络演进,不仅在核心网络使用支持IP的网络实体,在接入网络也使用基于IP的技术,而且移动终端也成为可激活的IP客户端。如在WCDMA当前规划的R6版本就新增以下特性:UTRAN和CN传输增强;无线接口增强;多媒体广播和多播(MBMS);数字权限管理(DRM);WLAN-UMTS互通;优先业务;通用用户信息(GUP);网络共享;不同网络间的互通等。在这样的网络中,移动IP将被广泛使用。支持移动IP的终端可以在注册的家乡网络中移动,或漫游到其他运营商的网络。当终端要接入到网络,并使用运营商提供的各项业务时,就需要严格的AAA过程。AAA服务器要对移动终端进行认证,授权允许用户使用的业务,并收集用户使用资源的情况,以产生计费信息。这就需要采用新一代的AAA协议——Diameter。此外,在IEEE的无线局域网协议802.16e的建议草案中,网络参考模型里也包含了鉴别和授权服务器ASA Server,以支持移动台在不同基站之间的切换。可见,在未来移动通信系统中,AAA服务器占据了很重要的位置。
经过讨论,IETF的AAA工作组同意将Diameter协议作为下一代的AAA协议标准。Diameter(为直径,意为着Diameter协议是RADIUS协议的升级版本)协议包括基本协议,NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP(移动IP)协议,CMS(密码消息语法)协议等。Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似,也是采用AVP,属性值对(采用Attribute-Length-Value三元组形式)来实现,但是其中详细规定了错误处理, failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。