DIAMETER


DIAMETER是对RADIUS协议的扩展,主要是为网络接入、移动IP等具体应用中使用的认证、授权、计费提供一个基本的框架,它可以用于本地及漫游情况下的认证、授权与计费。IEEE 802.16标准将DIAMETER协议作为认证、授权、计费的候选协议,但由于目前WiMAX仅在一定范围内试验或应用,并没有广泛地应用。因此DIAMETER协议的应用也没有大规模地采用。
Diameter协议主要为应用程序提供认证、鉴权、计费框架,即AAA,并支持本地AAA和漫游场景下的AAA。
AAA协议、例如TACACS、RADIUS起初是为了提供PPP及终端接入,随着Internet及新的接入技术的发展,包括无线、DSL、移动IP, 以太网路由、网络访问服务器(NAS)在复杂和密集性方面有所增强,这对AAA协议提出了新的要求。
其中,基础协议提供了作为一个AAA协议的最低需求;应用协议则充分利用基础协议提供的消息传送机制,规范相关节点的功能以及其特有的消息内容,来实现应用业务的AAA。基础协议可以作为一个计费协议单独使用,但一般情况下需与某个应用一起使用。
DIAMETER的接入过程与RADIUS类似,不同之处在于DIAMETER支持认证和授权分开进行,也就是说可以先进行认证,然后再发送授权请求。DIAMETER协议能同时处理 232个接入请求,这符合WiMAX系统未来大规模应用的要求。
IETF的AAA工作组已同意将DIAMETER协议作为下一代的AAA协议标准。目前, DIAMETER协议族中,基础协议已经成为IETF的RFC(RFC3588)。DIAMETERNAS-REQ应用、DIAMETER移动IPv4应用、DIAMETER多媒体应用等应用协议也已由IETF的AAA工作组制定完成。
与RADIUS协议相比,DIAMETER协议在使用时,除了RADIUS协议使用时采用的客户端、服务器之外,还需要网络代理、重定向代理、变换代理、中继器和DIAMETER节点等实现用户漫游认证等功能。在使用过程中,DIAMETER协议需要与其他协议相互配合。DIAMETER在安全性、扩容支持(中继、代理和重定向器支持)、传输可靠性(TCP和SCTP支持)和漫游、故障处理等多方面性能做了较为全面的支持。因此,DIAMETER最终将替代RADIUS。
Diameter协议的架构
Diameter协议包含IP传送、安全协议、Diameter基础协议以及不同的应用协议。Diameter基础协议为各种应用协议提供一个基本框架,它定义了协议的传输机制、消息格式、消息处理、差错处理、计费与安全服务等。应用协议依赖基础协议提供针对某一应用的AAA服务,它是不断发展变化的。IETF已经确定了一些应用协议的标准,而其它的应用协议的标准尚在制定的过程中。已被确定为协议标准的应用有:移动IP应用协议(MIPv4)、网络访问服务应用协议(NAS或NASREQ)、信用控制应用协议(Credit-Control)、扩展认证应用协议(EAP)等。尚在讨论和制定的标准有:SIP应用协议等。
如前所述,Diameter协议通过TCP或SCTP提供可靠的传输,通过Ipsec和TLS来保证传输的安全性。Diameter在基础协议的基础上提供各种应用服务。
Diameter协议的特点
以前的AAA协议如RADIUS、TACACS主要是针对PPP服务和终端服务而设计的。随着网络技术的发展,新的接入方式如无线接入、DSL接入、移动IP陆续出现,以太网也不断发展,AAA中的网络访问服务器(NAS)自身也逐渐变得越来越复杂。这些发展变化,对AAA协议提出了新的要求。原有的AAA协议已经不能充分满足这些要求,而新一代AAA协议-Diameter协议却可以满足这些需求,主要包括如下几个方面:
(1) 良好的故障切换机制。Diameter协议支持应用层的信息确认和失效检测机制。
(2) 传输层安全。Diameter协议通过IPsec和TLS保证传输的安全性,其中TLS对于客户端来讲是可选的。
(3) 可靠的传输。Diameter协议通过TCP或SCTP提供可靠的传输。
(4) 支持各种类型的代理,包括中继代理、重定向代理、Proxy代理、协议转换代理。
(5) 支持服务器发起消息。例如服务器可以发消息要求客户端重新认证。
(6) 保持与现有网络AAA协议(如RADIUS)的兼容性。
(7) 支持节点间的能力协商机制。
(8) 支持对等端自主发现和配置机制。
(9) 支持漫游。Diameter协议定义了域间漫游、消息路由及安全传输,能够提供安全漫游服务。
Diameter的节点
在Diameter协议中,包括多种类型的Diameter节点。除了Diameter客户端和Diameter服务器外,还有Diameter中继、Diameter代理、Diameter重定向器和Diameter协议转换器。
Diameter中继 能够从Diameter请求消息中提取信息,再根据Diameter基于域的路由表的内容决定消息发送的下一跳Diameter节点。Diameter中继只对过往消息进行路由信息的修改,而不改动消息中的其他内容。
Diameter代理 根据Diameter路由表的内容决定消息发送的下一跳Diameter节点。此外,Diameter代理能够修改消息中的相应内容。
Diameter重定向器 不对消息进行应用层的处理,它统一处理Diameter消息的路由配置。当一个Diameter节点按照配置将一个不知道如何路由的请求消息发给Diameter重定向器时,重定向器将根据其详尽的路由配置信息,把路由指示信息加入到请求消息的响应里,从而明确地通知该Diameter节点的下一跳Diameter节点。
Diameter协议转换器 主要用于实现RADIUS与Diameter,或者TACACS+与Diameter之间的协议转换。
上述各种Diameter节点,通过配置建立一对一的网络连接,组成一个Diameter网络。
radius与diameter概述
RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系统,是目前应用最广泛的AAA协议【Authentication(鉴别),Authorization(授权),Accounting(计费)】。RADIUS是一种C/S结构的协议,用户接入NAS(Net Access Server)服务器。
传统的用于完成计费功能的Radius协议,以其简单安全,易于管理,扩展性好,而得到广泛应用。但是由于协议本身的缺陷,比如基于UDP的传输、简单的丢包机制、没有关于重传的规定和集中式计费服务,都使得它需要进一步改进:
(1)NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息;
(2)RADIUS服务器对用户名和密码的合法性进行检验;
(3)如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;
(4)如果允许访问,NAS向RADIUS服务器提出计费请求Account- Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。
Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似。Diameter(直径)意为着Diameter协议是RADIUS协议的升级版本。Diameter协议是新一代AAA协议,Diameter协议克服了RADIUS的许多缺点,在ITU,3GPP/3GPP2等国际标准组织中,都已经正式将DIAMETER协议作为NGN,WCDMA和CDMA2000等未来通信网络的首选AAA协议。
radius与diameter对比
Failover(故障转移)
RADIUS协议没有定义failover机制,因此,failover的行为随着程序的实现不同而各异,为了提供一个明确定义的failover行为,Diameter支持应用层的应答,并定义failover的西装算法和偶联状态机。
传输层安全
RADIUS在定义了应用层的认证,但仅使用了响应包,RADEXT定义了另外的认证,但仅要求在EAP session中使用,且支持属性隐藏。RFC3162为RADIUS定义了IPsec,但对其支持并没有做要求,Diameter强制要求支持IPSec,TLS的支持可选择。
可靠传输
RADIUS运行在UDP上,且没有定义重传行为,所有,可靠性因实现不同而各异。Diameter运行在可靠的传输层(TCP, SCTP)上。
代理支持
RADIUS没有明确地规定支持agent,包括Proxies, Redirects, Relays。Diameter明确地定义了代理的行为。
服务器发起消息
RADIUS中对于服务器发起消息的支持是可选的,这就使用一些如主动断链、或者重新认证或重新鉴权等特性实现困难。服务器发起消息在Diameter中强制要求支持。
可审核性
RADIUS没有定义数据对象安全机制,结果,不受信任的代理可能修改属性或都包头,并且不会被检测出来,结合对能力协商机制的缺失,无法预期结果会发生什么。Diameter也没有定义数据对象安全机制,但支持能力协商。
转换支持
Diameter使用的通用协议数据单元(PDU)与RADIUS不同,但支持向前兼容RADIUS,所以两种协议可以部署在同一网络中。
能力协商
RADIUS不支持错误消息、能力协商、及表示属性强制/非强制的标志位。因此RADIUS的客户端和服务端不担心对方的能力,它们可能不会成功地协商一个相互接受的服务,或者在一些情况下,需要知道哪些服务对端已经实现,以上几点Diameter均支持。
对端发现及配置
RADIUS要求人工配置服务端或客户端的名称或地址,相应地增加了秘密的共享,带来管理和安全上的负担。通过DNS,Diameter可以动态发现对端,并通过传输层安全来保证。
漫游支持
RADIUS不提供对proxyr的明确支持,缺少可审核性、传输层安全,使得在漫游场景下容易引发安全问题,Diameter支持域内漫游、消息路由、可审核性、传输层安全特性,可提供可安全和可靠的漫游。
Diameter协议的未来
现在的互联网协议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协议必将会广泛地使用到需要对移动终端进行认证、授权和计费的场合之中。
Diameter协议主要为应用程序提供认证、鉴权、计费框架,即AAA,并支持本地AAA和漫游场景下的AAA。
AAA协议、例如TACACS、RADIUS起初是为了提供PPP及终端接入,随着Internet及新的接入技术的发展,包括无线、DSL、移动IP, 以太网路由、网络访问服务器(NAS)在复杂和密集性方面有所增强,这对AAA协议提出了新的要求。
其中,基础协议提供了作为一个AAA协议的最低需求;应用协议则充分利用基础协议提供的消息传送机制,规范相关节点的功能以及其特有的消息内容,来实现应用业务的AAA。基础协议可以作为一个计费协议单独使用,但一般情况下需与某个应用一起使用。
DIAMETER的接入过程与RADIUS类似,不同之处在于DIAMETER支持认证和授权分开进行,也就是说可以先进行认证,然后再发送授权请求。DIAMETER协议能同时处理 232个接入请求,这符合WiMAX系统未来大规模应用的要求。
IETF的AAA工作组已同意将DIAMETER协议作为下一代的AAA协议标准。目前, DIAMETER协议族中,基础协议已经成为IETF的RFC(RFC3588)。DIAMETERNAS-REQ应用、DIAMETER移动IPv4应用、DIAMETER多媒体应用等应用协议也已由IETF的AAA工作组制定完成。
与RADIUS协议相比,DIAMETER协议在使用时,除了RADIUS协议使用时采用的客户端、服务器之外,还需要网络代理、重定向代理、变换代理、中继器和DIAMETER节点等实现用户漫游认证等功能。在使用过程中,DIAMETER协议需要与其他协议相互配合。DIAMETER在安全性、扩容支持(中继、代理和重定向器支持)、传输可靠性(TCP和SCTP支持)和漫游、故障处理等多方面性能做了较为全面的支持。因此,DIAMETER最终将替代RADIUS。
Diameter协议的架构
Diameter协议包含IP传送、安全协议、Diameter基础协议以及不同的应用协议。Diameter基础协议为各种应用协议提供一个基本框架,它定义了协议的传输机制、消息格式、消息处理、差错处理、计费与安全服务等。应用协议依赖基础协议提供针对某一应用的AAA服务,它是不断发展变化的。IETF已经确定了一些应用协议的标准,而其它的应用协议的标准尚在制定的过程中。已被确定为协议标准的应用有:移动IP应用协议(MIPv4)、网络访问服务应用协议(NAS或NASREQ)、信用控制应用协议(Credit-Control)、扩展认证应用协议(EAP)等。尚在讨论和制定的标准有:SIP应用协议等。
如前所述,Diameter协议通过TCP或SCTP提供可靠的传输,通过Ipsec和TLS来保证传输的安全性。Diameter在基础协议的基础上提供各种应用服务。
Diameter协议的特点
以前的AAA协议如RADIUS、TACACS主要是针对PPP服务和终端服务而设计的。随着网络技术的发展,新的接入方式如无线接入、DSL接入、移动IP陆续出现,以太网也不断发展,AAA中的网络访问服务器(NAS)自身也逐渐变得越来越复杂。这些发展变化,对AAA协议提出了新的要求。原有的AAA协议已经不能充分满足这些要求,而新一代AAA协议-Diameter协议却可以满足这些需求,主要包括如下几个方面:
(1) 良好的故障切换机制。Diameter协议支持应用层的信息确认和失效检测机制。
(2) 传输层安全。Diameter协议通过IPsec和TLS保证传输的安全性,其中TLS对于客户端来讲是可选的。
(3) 可靠的传输。Diameter协议通过TCP或SCTP提供可靠的传输。
(4) 支持各种类型的代理,包括中继代理、重定向代理、Proxy代理、协议转换代理。
(5) 支持服务器发起消息。例如服务器可以发消息要求客户端重新认证。
(6) 保持与现有网络AAA协议(如RADIUS)的兼容性。
(7) 支持节点间的能力协商机制。
(8) 支持对等端自主发现和配置机制。
(9) 支持漫游。Diameter协议定义了域间漫游、消息路由及安全传输,能够提供安全漫游服务。
Diameter的节点
在Diameter协议中,包括多种类型的Diameter节点。除了Diameter客户端和Diameter服务器外,还有Diameter中继、Diameter代理、Diameter重定向器和Diameter协议转换器。
Diameter中继 能够从Diameter请求消息中提取信息,再根据Diameter基于域的路由表的内容决定消息发送的下一跳Diameter节点。Diameter中继只对过往消息进行路由信息的修改,而不改动消息中的其他内容。
Diameter代理 根据Diameter路由表的内容决定消息发送的下一跳Diameter节点。此外,Diameter代理能够修改消息中的相应内容。
Diameter重定向器 不对消息进行应用层的处理,它统一处理Diameter消息的路由配置。当一个Diameter节点按照配置将一个不知道如何路由的请求消息发给Diameter重定向器时,重定向器将根据其详尽的路由配置信息,把路由指示信息加入到请求消息的响应里,从而明确地通知该Diameter节点的下一跳Diameter节点。
Diameter协议转换器 主要用于实现RADIUS与Diameter,或者TACACS+与Diameter之间的协议转换。
上述各种Diameter节点,通过配置建立一对一的网络连接,组成一个Diameter网络。
radius与diameter概述
RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系统,是目前应用最广泛的AAA协议【Authentication(鉴别),Authorization(授权),Accounting(计费)】。RADIUS是一种C/S结构的协议,用户接入NAS(Net Access Server)服务器。
传统的用于完成计费功能的Radius协议,以其简单安全,易于管理,扩展性好,而得到广泛应用。但是由于协议本身的缺陷,比如基于UDP的传输、简单的丢包机制、没有关于重传的规定和集中式计费服务,都使得它需要进一步改进:
(1)NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息;
(2)RADIUS服务器对用户名和密码的合法性进行检验;
(3)如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;
(4)如果允许访问,NAS向RADIUS服务器提出计费请求Account- Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。
Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似。Diameter(直径)意为着Diameter协议是RADIUS协议的升级版本。Diameter协议是新一代AAA协议,Diameter协议克服了RADIUS的许多缺点,在ITU,3GPP/3GPP2等国际标准组织中,都已经正式将DIAMETER协议作为NGN,WCDMA和CDMA2000等未来通信网络的首选AAA协议。
radius与diameter对比
Failover(故障转移)
RADIUS协议没有定义failover机制,因此,failover的行为随着程序的实现不同而各异,为了提供一个明确定义的failover行为,Diameter支持应用层的应答,并定义failover的西装算法和偶联状态机。
传输层安全
RADIUS在定义了应用层的认证,但仅使用了响应包,RADEXT定义了另外的认证,但仅要求在EAP session中使用,且支持属性隐藏。RFC3162为RADIUS定义了IPsec,但对其支持并没有做要求,Diameter强制要求支持IPSec,TLS的支持可选择。
可靠传输
RADIUS运行在UDP上,且没有定义重传行为,所有,可靠性因实现不同而各异。Diameter运行在可靠的传输层(TCP, SCTP)上。
代理支持
RADIUS没有明确地规定支持agent,包括Proxies, Redirects, Relays。Diameter明确地定义了代理的行为。
服务器发起消息
RADIUS中对于服务器发起消息的支持是可选的,这就使用一些如主动断链、或者重新认证或重新鉴权等特性实现困难。服务器发起消息在Diameter中强制要求支持。
可审核性
RADIUS没有定义数据对象安全机制,结果,不受信任的代理可能修改属性或都包头,并且不会被检测出来,结合对能力协商机制的缺失,无法预期结果会发生什么。Diameter也没有定义数据对象安全机制,但支持能力协商。
转换支持
Diameter使用的通用协议数据单元(PDU)与RADIUS不同,但支持向前兼容RADIUS,所以两种协议可以部署在同一网络中。
能力协商
RADIUS不支持错误消息、能力协商、及表示属性强制/非强制的标志位。因此RADIUS的客户端和服务端不担心对方的能力,它们可能不会成功地协商一个相互接受的服务,或者在一些情况下,需要知道哪些服务对端已经实现,以上几点Diameter均支持。
对端发现及配置
RADIUS要求人工配置服务端或客户端的名称或地址,相应地增加了秘密的共享,带来管理和安全上的负担。通过DNS,Diameter可以动态发现对端,并通过传输层安全来保证。
漫游支持
RADIUS不提供对proxyr的明确支持,缺少可审核性、传输层安全,使得在漫游场景下容易引发安全问题,Diameter支持域内漫游、消息路由、可审核性、传输层安全特性,可提供可安全和可靠的漫游。
Diameter协议的未来
现在的互联网协议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协议必将会广泛地使用到需要对移动终端进行认证、授权和计费的场合之中。