1 AAA简介
AAA指的是Authentication(鉴别),Authorization(授权),Accounting(计费)。自网络诞生以来,认证、授权以及计费体制(AAA)就成为其运营的基础。网络中各类资源的使用,需要由认证、授权和计费进行治理。而AAA的发展与变迁自始至终都吸引着营运商的目光。对于一个商业系统来说,鉴别是至关重要的,只有确认了用户的身份,才能知道所提供的服务应该向谁收费,同时也能防止非法用户(黑客)对网络进行破坏。在确认用户身份后,根据用户开户时所申请的服务类别,系统可以授予客户相应的权限。最后,在用户使用系统资源时,需要有相应的设备来统计用户所对资源的占用情况,据此向客户收取相应的费用。
其中,鉴别(Authentication)指用户在使用网络系统中的资源时对用户身份的确认。这一过程,通过与用户的交互获得身份信息(诸如用户名—口令组合、生物特征获得等),然后提交给认证服务器;后者对身份信息与存储在数据库里的用户信息进行核对处理,然后根据处理结果确认用户身份是否正确。例如,GSM移动通信系统能够识别其网络内网络终端设备的标志和用户标志。授权(Authorization)网络系统授权用户以特定的方式使用其资源,这一过程指定了被认证的用户在接入网络后能够使用的业务和拥有的权限,如授予的IP地址等。仍以GSM移动通信系统为例,认证通过的合法用户,其业务权限(是否开通国际电话主叫业务等)则是用户和运营商在事前已经协议确立的。计费(Accounting)网络系统收集、记录用户对网络资源的使用,以便向用户收取资源使用费用,或者用于审计等目的。以互联网接入业务供给商ISP为例,用户的网络接入使用情况可以按流量或者时间被准确记录下来。
认证、授权和计费一起实现了网络系统对特定用户的网络资源使用情况的准确记录。这样既在一定程度上有效地保障了合法用户的权益,又能有效地保障网络系统安全可靠地运行。考虑到不同网络融合以及互联网本身的发展,迫切需要新一代的基于IP的AAA技术。因此出现了Diameter协议。
2 AAA在移动通信系统中的应用
在移动通信系统中,用户要访问网络资源,首先要进行用户的入网认证,这样用户才能访问网络资源。鉴别的过程就是验证用户身份的合法性;鉴别完成后,才能对用户访问网络资源进行授权,并对用户访问网络资源进行计费治理。一般来讲,鉴别过程由三个实体来完成的。用户(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协议。
3 新一代的AAA协议——Diameter
Diameter应用协议族和其他网络协议的关系如图1所示:
(1) Diameter的基础协议(Base protocol)
Diameter基本协议为移动IP(Mobile IP)、网络接入服务(NAS)等应用提供最基本的服务,例如用户会话、计费等,具有能力协商、差错通知等功能。协议元素由众多命令和AVP(属性值对)构成,可以在客户机、代理、服务器之间传递鉴别、授权和计费信息。但是不管客户机、代理还是服务器,都可以主动发出会话请求,对方给予应答,所以也叫对等实体之间的协议。命令代码、AVP值和种类都可以按应用需要和规则进行扩展。
(2)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消息请求和应答。
(3)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之间。
(4)Diameter的CMS协议
Diameter CMS(Cryptographic Message Syntax ——密码消息语法)协议实现了协议数据的Peer-to-Peer(端到端)加密。由于Diameter网络中存在不可信的Relay(中继)和Proxy(代理),而IPSec和TLS又只能实现跳到跳的安全,所以IETF定义了Diameter CMS应用协议来保证数据安全。
(5)Diameter的MIP协议由于未来移动通信网络正逐步向全IP网络演进,这就不可避免碰到用户移动到外部域的问题。 Diameter MIP应用协议答应用户漫游到外部域,并在经过鉴权后接受外部域Server(服务器)和Agent(代理)提供的服务。在未来移动通信中,这种情况将十分常见,因此MIP协议对于移动通信系统来说至关重要. 当用户移动到外部域的时候,需要进行一系列的消息交换才能安全地接入外部网络,接受其提供的服务。MIP协议的实现环境中MN和HA都可以在家乡域或在外地域,其中比较典型的一种情况是MN在外地域而HA在家乡域。其接入过程如下节所示。
(6)采用Diameter MIP的一次典型的MN注册过程如图2所示(仅给出MN在外地域而HA在家乡域的情况):
i. 开机注册前,MN只有NAI以及和AAAH的安全关联的信息,没有home address。
ii. 开机后,MN向FA发出注册请求,其中包含的home address=0.0.0.0 ,home agent address=255.255.255.255
iii. FA接到注册请求后,根据其中的信息生成AMR发给AAAF,其中MIP-Feature-Vector AVP中Set Home-Agent-Request=1,Home-Address- Allocatable-Only-in-Home-Realm=1
iv. AAAF接到AMR后转发给AAAH。
v. AAAH收到AMR后,为MN分配HA,分配MN-HA、MN-FA之间的密钥材料,和FA-HA之间的密钥,向HA发出HAR,其中MIP-Reg-Request AVP包含Mobile IP 注册请求信息。
vi. HA接到HAR,分配home address给MN,处理MIP-Reg-Request AVP,生成MIP-Reg-Reply AVP,包含在HAA中返回AAAH。
vii. AAAH收到HAA后生成AMA,包含MIP-Home-Agent-Address, MIP-Mobile-Node-Address AVPs,发给AAAF。
viii. AAAF将AMA转发给FA。
ix. FA接到AMA后保留FA-HA密钥,将FA-MN、HA-MN之间的密钥材料通过注册应答Registration-Reply发送给MN。
其中涉及到的名词有:
HA : Home Agent , 家乡代理
FA :Foreign Agent , 外部代理
MN : Mobile Node , 移动节点
AAAH : AAA Home server , AAA家乡域服务器
AAAF:AAA Foreign server , AAA外地域服务器
AMR :AAA-Mobile-Node- Request ,AAA移动节点请求消息
AMA : AAA-Mobile-Node- Answer ,AAA移动节点答复消息
HAR : Home-Agent-MIP-Request , 家乡代理MIP请求消息
HAA : Home-Agent-MIP-Answer , 家乡代理MIP答复消息
HA和MN在外地域或家乡域的其他组合的情况与此类似,再此就不一一列举。
4 未来展望
现在的互联网协议IPv4支持的地址空间十分有限,而全球移动用户却不断高速增长,达到如此庞大的规模,这就给目前使用的IP协议——IPv4在未来移动通信全IP网络中的应用——带来如此沉重的压力。为了解决地址严重不足的问题,人们提出了新版本的IP协议——IPv6。IPv6能够支持的3.4X10E38个惟一的128位地址,令IPv4望尘莫及。由于全球数十亿个设备和用户都需要各自惟一的IP地址,因此这种巨大的编址容量将是实现“始终在线”通信的要害因素。尽管人们主要关注的是IPv6的寻址能力,但它还拥有其它许多重要优点,如改进和简化的路由。IPv6还引进了新的安全等级并改善了对移动业务——包括基于WCDMA技术的网络的支持,这将随着中国等人口众多的国家采用3G而日益重要。因此未来移动通信网络中的AAA协议一定是基于移动IPv6的支持分布式处理的协议。不过,业界需要考虑和解决的问题仍然有许多。IPv4可能是一种成熟而逐渐过时的协议,但它仍然可以做出重要贡献,并可能在未来一段时间内与IPv6共存和互通。Diameter作为瞄准未来网络同时又兼容当前网络的AAA协议,提供了对这两种版本MIP的支持(当然目前主要是对MIPv4的支持)。
相信随着未来移动通信系统中全IP网络的部署实施,支持移动IP(包括v4和v6)的Diameter协议必将会广泛地使用到需要对移动终端进行认证、授权和计费的场合之中。