互联网络的发展经历了由小规模到大规模,由静态访问到动态访问的过程。早期的网络规模较小,用户主要通过公共电话交换网 (PSTN) 电话线与因特网业务服务商 (ISP) 建立连接来访问网络。今天,网络规模和复杂性都大大增加,用户需要随时随地而不是固定在家里或办公桌旁访问网络,这带来了漫游需求;同时,如何保证计算机网络资源使用的安全性,如何保护用户和网络资源提供者的合法权益,以及如何有效记录用户使用网络的过程,成为网络服务提供者必须考虑和解决的问题。随着验证、授权、计费(AAA) 技术及协议的发展和完善,AAA技术已成为网络服务提供者和网络用户间联系的基础,只有安全可靠的AAA技术才能保证双方的利益。
本文重点研究分析远端鉴权拨入用户服务(RADIUS) 和Diameter两个协议在移动 IPv4网络环境中的AAA性能。
1 RADIUS协议移动性能分析
RADIUS [1] 是一种以数据报协议(UDP ) 通信机制提供 网络接入服务器(NAS ) 和网络服务器之间远程鉴权和计费服务的协议。RADIUS的最初设计用于满足在拨号方式的网络中实现AAA需求。
1.1 RADIUS基础协议
利用RADIUS基础协议,用户可以在拨号环境中通过调制解调器呼叫NAS,NAS再将用户身份信息转发到存有用户信息资料的RADIUS服务器。服务器收到并处理转发来的请求后向NAS应答该用户是否可以使用网络,以及该用户可以使用哪些服务。在这种框架中NAS被称为RADIUS客户端。RADIUS客户端和服务器通过共享密钥来保证认证信息的安全与可靠性。用户密码则采用MD5[2]算法加密。
RADIUS消息由头部和属性域两部分组成,头部包括消息类型、标志符、消息长度和认证域4部分。头部之后是属性域,属性域包含若干“属性-长度-值”串。通过定义新的“属性-长度-值”可以扩充RADIUS协议。
属性域的扩展性使RADIUS可以转发请求消息来支持移动环境。如果本地服务器无法处理NAS递交的请求消息,它可以将该消息转发到远端RADIUS服务器,再将远端服务器的应答消息转发至NAS。这样,一定范围内来自不同接入点的请求消息都可以转发到指定的RADIUS服务器。
但是,这种转发网络结构存在一些问题。首先它需要所有RADIUS服务器之间互相设定共享密钥,其次要为每个服务器配置请求消息的转发规则,而转发过程中服务器对部分属性值的修改使端到端的安全性难以保障。
1.2 RADIUS与移动IP
移动 IP[3]使用户可以在不同网络之间切换而不中断网络通信并保持其网络身份的唯一。RADIUS定义的扩展协议通过挑战/应答来提供移动节点的多种注册认证方式以及安全性,可在一定程度上满足移动IP的AAA需求[4]。由于移动节点得到的服务受到一定约束,因此通过外地代理访问网络时,外地代理的作用类似于与本地AAA服务器所连接的NAS。本地AAA服务器通过与移动节点家乡网络的AAA服务器的通信对移动节点的身份等作认证授权。
标准的用户身份认证采用网络访问识别符(NAI)[5],NAI格式为“用户名@域名”,其中用户名是移动节点的用户名,域名则标志节点的家乡网络。当移动节点接入本地网络时,可以根据NAI决定向哪个RADIUS服务器发出认证注册以及计费请求。
RADIUS 没有提供为不同域之间建立信任关系的机制。尽管不同域之间可以互相达成某种一致,但由于缺少专门代理的体系结构,这种一致性难以随网络规模的扩大而升级 [6] 。虽然通过对RADIUS服务器分级,可以减少共享密钥的数量而在不同域之间建立信任关系,还可以修改RADIUS属性值来指定转发顺序。另一种改进方案是采用经纪人体系结构使每个域都与第三方经纪人服务器建立信任关系,或在域名服务(DNS)系统中添加AAA主机条目。然而,由于RADIUS协议自身的问题,以上改进方法在灵活性与安全性上都存在隐患。
2 Diameter协议移动性能分析
尽管RADIUS得到广泛应用,但是由于其本身的缺陷,协议已不能适应当前网络的发展。网络用户数量的增加、新接入技术的引入、网络规模的快速扩容以及越来越复杂的路由器和接入服务器的大量使用都对AAA服务提出了新的要求。因特网工程任务组(IETF)成立了AAA工作组,着手下一代AAA协议的研究开发。该工作组将Diameter[7]协议定为下一代的AAA协议标准。Diameter在保持与RADIUS协议兼容的同时还克服了RADIUS协议的许多不足。
2.1 Diameter基础协议
Diameter用传输控制协议(TCP)和信令控制传输协议(SCTP)取代RADIUS的UDP通信机制,具备连接建立与终止、对等节点能力协商和错误通知等特征,并且可以采用IP 安全协议(IPsec)或者传输层安全(TLS)协议[8]对连接加密。
Diameter协议兼容RADIUS,消息格式与RADIUS消息相近。Diameter头部包括版本、消息长度、命令标志、命令代码、应用代码、逐跳标志以及端到端标志域。头部之后是若干属性值对,携带的属性值对取决于消息的类型。
完整的Diameter网络包括以下部分:
(1)客户端: 位于网络边缘执行访问控制的设备,例如NAS和移动代理。
(2)Diameter服务器:处理认证、授权、计费请求。
(3)中继服务器: 不修改Diameter消息,仅根据消息中的内容决定转发的下一个节点。
(4)代理服务器: 对接收的Diameter消息作一定修改后转发到下一个节点。
(5)重定向服务器: 向发送节点返回路由信息,使之确定Diameter消息的接收节点。
(6)协议转换器: 完成Diameter与RADIUS或者其它协议之间的转换。
其网络逻辑结构如图1所示。
Diameter网络在节点启动后建立基于TCP或者SCTP的套接字连接,即对等连接。每个Diameter节点通过静态配置或者动态发现与之连接的节点(对等节点)。两个节点建立连接后首先完成能力协商,通过能力交换信息和能力交换响应信息,记录对端的协议版本及支持的应用等信息,以保证只传输对等节点支持的消息和属性值对。
建立对等连接后即可以传输各种Diameter消息。如果连接无消息传输超过一定时间,对等连接两端会发送连接正常检测消息。如果连接正常检测消息未能正常收发,Diameter节点将认定对等连接故障,进而尝试恢复连接或者启用备用的对等连接。
Diameter节点可以发送中止对等连接请求来主动要求中止对等连接,对等端收到该请求并回答中止对等连接应答消息,随后中止对等连接。对于因网络或者设备故障等原因造成异常连接中止,节点发现后会根据时间设定不断尝试恢复对等连接。
2.2 Diameter与移动IP
Diameter可以对移动节点提供AAA服务。Diameter 移动 IPv4应用[9]为移动IPv4服务定义了属性值对。Diameter内在的性能使其较RADIUS更加能够适应移动IPv4的AAA服务。
为了对移动节点进行认证、授权和计费,移动IP协议中定义的外地代理和家乡代理成为Diameter客户端,此外还需配置Diameter服务器。中继和代理等其他Diameter节点根据网络规模和用户数量进行部署。一个域内至少需要配置一个Diameter服务器,对注册在本域的节点进行认证、分配密钥和收集计费信息等;还要配置Diameter代理,为移动到本域但非本域的节点转发消息。这两个功能实体可以共存在通称为AAA服务器的实体里。对注册在本域的节点,它具有Diameter服务器的功能,被称为该节点的家乡AAA服务器;对其他的节点,它是Diameter代理,被称为该节点的外地AAA服务器,如图2所示。
移动节点移动到某个域的第一次注册是通过AAA协议完成的,需要外地代理、外地AAA服务器、家乡AAA服务器和家乡代理协同完成认证、授权和准备计费的工作。会话期内的注册则只需要通过移动IP,外地代理可以和家乡代理直接进行注册。当最初家乡AAA服务器授予该移动节点的时间到期后,外地代理又需要通过AAA协议对该节点进行认证授权。
随着自治域数量的增加和网络规模的增大,自治域之间的安全关系变得复杂,家乡和外地代理之间需要保存大量共享密钥,因此RADIUS采用的简单共享密钥的方式不再实用。Diameter通过密钥分配中心来解决这个问题。家乡代理在授权之后其所在网络的Diameter服务器为之创建所需的共享密钥。家乡代理和外地代理之间的共享密钥通过Diameter消息传播,并且移动节点可以利用已有密钥和家乡Diameter服务器通过HMAC-MD5加密算法获得新的密钥。而代理、中继和重定向服务器的引入使得Diameter在大规模的网络中也可以为AAA应用提供足够的灵活性,并降低服务器的配置负担。
3 结论
本文分析了移动环境中RADIUS和Diameter的AAA性能。RADIUS通过转发请求消息来提供对移动环境的AAA支持,这种支持取决于网络中RADIUS服务器之间的信任关系。Diameter使用节点发现机制和复杂的转发系统,使其可以对移动环境的AAA需求提供更好的支持。尤其在大规模网络中,对等节点发现、端到端的安全性及故障通知等特性使Diameter比RADIUS更加安全且更具扩展性。
由于Diameter较RADIUS更为复杂,而且RADIUS已经广为应用,所以短时间内Diameter协议不会占据AAA主导。但是,可以预见,随着网络的发展,Diameter协议必将会更加成熟和完善,得到广泛应用。
4 参考文献
[1] IETF RFC 2865 Remote Authentication Dial in User Service (RADIUS)[S].
[2] IETF RFC 1321 The MD5 Message-Digest Algorithm[S].
[3] Solomon D J. 移动IP[M]. 裘晓峰译 北京:机械工业出版社, 2000.
[4] IETF RFC 2977 Mobile IP Authentication, Authorization, and Accounting Requirements[S].
[5] IETF RFC 2486 The Network Access Identifier[S].
[6] IETF RFC 2607 Proxy Chaining and Policy Implementation in Roaming[S].
[7] IETF RFC 3588 Diameter Base Protocol[S].
[8] IETF RFC 2246 The TLS Protocol Version 1.0[S].
[9] Calhoun P, Johansson T, Perkins E. Diameter Mobile IPv4 Application[DB/OL]. http://www.ietf.org/internet-drafts/draft-ietf-aaa-diameter-mobileip-09.txt,2003-11.
收稿日期:2003-12-31
[摘要] 文章分别讨论了RADIUS (远端鉴权拨入用户服务)与 Diameter两个协议,并结合移动IPv4重点分析了两个协议在移动环境中的AAA性能。文章认为,Diameter使用节点发现机制和复杂的转发系统,比RADIUS更加安全且更具扩展性,可以对移动环境的AAA需求提供更好的支持。
[关键词] Diameter协议;远端鉴权拨入用户服务; 验证、授权、计费;移动IP
[Abstract] This paper introduces RADIUS and Diameter protocols, and focuses on analyzing their AAA performances when applied in a mobile environment. It concludes that, with node discovery and the sophisticated forwarding system, Diameter is better then RADIUS in security and extendability, and can better support AAA in the mobile environment.
[Keywords] Diameter protocol; RADIUS; AAA; mobile IP