论文部分内容阅读
【摘要】Diameter协议是IETF目前制定的下一代AAA协议,它将取代目前广泛使用的Radius协议。文章首先介绍了Diameter协议的由来及其与Radius之间的区别,然后分析了Diameter在保障信息安全方面所采取的措施。
【关键词】AAA Diameter协议;安全;IPSec;TLS;CMS
【中图分类号】TP393 【文献标识码】A
【文章编号】1671-5969(2007)12-0175-02
在目前网络上流行的AAA(授权Authorization,认证Authentication,计费Accounting)协议中,上世纪90年代初设计的RADIUS(Remote Authentication Dial-In User Service)协议[1]因其拥有的易于扩展、支持多种认证方式等优点而被众多厂商使用来开发了大量的产品,从而成为了网络环境上一个事实的标准。但随着时代的进步,互联网的发展,Radius因其内在的先天缺陷,已不能满足网络新兴应用对AAA协议提出的要求。应运而生的就是Radius的增强版本——Diameter协议,它保持了对Radius协议的向后兼容性,同时也提供了不少新功能以应对网络的新需求。与Radius工作在C/S模式下,采用UDP作为传输层协议等等情况不同;Diameter支持能力协商和对等实体的发现和配置,采用TCP甚至是SCTP作为传输层协议,可以作流量控制、传输确认,有重传功能,并且在网络安全接入方面拥有远高于Radius协议的安全机制。
一、Diameter协议使用的安全措施
Diameter基础协议要求Diameter服务器必须支持TLS协议和IPSec协议;其客户端必须支持IPSec协议,也可以同时支持TLS协议。Diameter连接则至少必须支持这两种协议之一的传输层安全模式。在此之外,Diameter还可以使用更高等级的安全保障,在需要时,可以使用定义在CMS中的Diameter应用,它提供的是属性值(AVPs)等级的认证。
(一)使用TLS协议
TLS(Transport Layer Security Protocol)安全传输层协议[2]本身独立于应用协议,即高层协议可以透明的分布于TLS协议之上,而且由其决定如何启动TLS握手协议以及如何解释交换的认证证书,这是其最大的一个优势,也是Diameter使用它的先决条件。TLS是用于在两个通信应用程序之间提供保密性和数据完整性,它由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。
其中,TLS记录协议层次较低,位于某个可靠的传输协议上面,它提供的连接安全性具有两个基本特性:私有——数据加密采用对称加密(DES 、RC4 等),所产生的密钥对每个连接都是唯一的,而且密钥基于另一个协议(如握手协议)协商;可靠——信息传输时对包括使用密钥的 MAC 进行信息完整性检查,安全哈希功能(SHA、MD5 等)用于 MAC 计算。TLS 记录协议是用于封装各种高层协议的。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收第一个数据字节前彼此之间相互认证,协商加密算法和加密密钥。这个较高层次的TLS 握手协议提供的连接安全则具有三个基本属性:(1)认证可靠性。可以使用非对称算法或公共密钥来认证对等方的身份。(2)安全共享性。加密密钥的协商是安全共享,他人难以获得的,另外经过认证后的连接也不能获得加密,即使是进入连接中间的攻击者也不能。(3)协商可靠性。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。
Diameter连接在没有使用IPSec时,则必须交换一个含有TLS值的AVP属性值。同时,还建议在域内部交换时使用TLS安全协议。在使用它时,发起连接的Diameter结点作为TLS客户端,接收连接的则作为TLS服务器。这些结点必须支持建立TLS会话的双向认证,为确保这点,TLS服务器会要求客户端必须提供安全证书。Diameter结点要求必须支持以下TLS加密机制[3]:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
以及应该支持:TLS_RSA_WITH_AES_128_CBC_SHA。当然,也可以支持其他的TLS加密支持。
(二)使用IPSec协议
Diameter协议中定义了对IPSec协议[4]的使用:独立于Diameter协议的额外的安全保障机制。不同于例如数字证书等很多网络加密和认证技术是在网络协议的高层运行,面向的是具体的应用业务,IPSec协议是出现在TCP/IP协议的核心基础层——IP层上执行加密和认证的协议,它的出现是为了给IPv4和IPv6数据包提供高质量的,客户可操作的,基于密码学的安全性,有较高的通用性。
IPSec协议是一个安全协议体系,其主要组件有:(1)认证头AH(Authentication Header),这个是用来为IP数据包提供认证服务的,可以单独使用,也可以与ESP联合使用;(2)封装安全负载ESP(Encapsulating Security Payload),是插入原IP数据包内的一个协议头,主要用来加密其后的负载,也可以根据要求作认证。它比AH机制多了加密措施,主要采用DES或3DES,所有的Diameter应用都被要求支持ESP;(3)安全关联SA(Security Association),用来决定使用AH还是ESP,加密或认证的算法等等,是核心部分;(4)密钥交换协议IKE,用来实现网上自动的密钥交换的,Diameter协议要求必须支持点对点认证的IKE协议,要求在构造应用的阶段,同时支持它的主模式和过激模式。而采用基于预共享密钥的认证方式时,应采用过激模式,但若采用数字签名技术时,两种都可以采用。
(三)Diameter CMS
Diameter利用TLS协议和IPSec协议来建立在两个节点之间逐跳的完整性和机密性。但是当Diameter端节点通过中间节点如代理、中继进行通信时,端到端的安全性并不能由它们来确保,这时,就由Diameter CMS(cryptographic message syntax密码消息语法)模块[5]在AVP层次提供端到端的鉴别、完整性、机密性以及不可否认性。它主要采用两种技术:数字签名技术以及加密技术,前者主要提供鉴别、完整性和不可否认性保障,后者提供机密性保障。CMS安全为两个Diameter节点之间建立安全关联定义了所需的消息和AVPs。CMS采用对称和非对称的密钥、Hashing、签名以及内容加密等加密机制,算法涉及到Sha-1、RSA、DES、3DES。
参考文献
[1]Rigney C, Rubens A, et nl. Remote Authentication Dial In User Service (Radius). IETF RFC2865, June 2000.
[2]T.Dierks, E.Rescorla.The Transport Layer Security (TLS) Protocol Version 1.1, IETF RFC4346, April 2006.
[3]P.Calhoun, J.Loughney, E.Guttman, G.Zorn, J.Arkko. Diameter Base Protocol.IETF RFC3588, September 2003.
[4]S.Kent, R.Atkinson. Security Architecture for the Internet Protocol IETF RFC2401, November 1998.
[5]Pat R.Calhoun, Stephen Farrell, William Bulley. “Diameter CMS Security Application”, draft-ietf-aaa-diameter-cms-sec-00.txt, June 2001.
作者简介:余珊珊(1982-),女,湖北荆州人,西安电子科技大学硕士研究生,研究方向:计算机网络方向。
【关键词】AAA Diameter协议;安全;IPSec;TLS;CMS
【中图分类号】TP393 【文献标识码】A
【文章编号】1671-5969(2007)12-0175-02
在目前网络上流行的AAA(授权Authorization,认证Authentication,计费Accounting)协议中,上世纪90年代初设计的RADIUS(Remote Authentication Dial-In User Service)协议[1]因其拥有的易于扩展、支持多种认证方式等优点而被众多厂商使用来开发了大量的产品,从而成为了网络环境上一个事实的标准。但随着时代的进步,互联网的发展,Radius因其内在的先天缺陷,已不能满足网络新兴应用对AAA协议提出的要求。应运而生的就是Radius的增强版本——Diameter协议,它保持了对Radius协议的向后兼容性,同时也提供了不少新功能以应对网络的新需求。与Radius工作在C/S模式下,采用UDP作为传输层协议等等情况不同;Diameter支持能力协商和对等实体的发现和配置,采用TCP甚至是SCTP作为传输层协议,可以作流量控制、传输确认,有重传功能,并且在网络安全接入方面拥有远高于Radius协议的安全机制。
一、Diameter协议使用的安全措施
Diameter基础协议要求Diameter服务器必须支持TLS协议和IPSec协议;其客户端必须支持IPSec协议,也可以同时支持TLS协议。Diameter连接则至少必须支持这两种协议之一的传输层安全模式。在此之外,Diameter还可以使用更高等级的安全保障,在需要时,可以使用定义在CMS中的Diameter应用,它提供的是属性值(AVPs)等级的认证。
(一)使用TLS协议
TLS(Transport Layer Security Protocol)安全传输层协议[2]本身独立于应用协议,即高层协议可以透明的分布于TLS协议之上,而且由其决定如何启动TLS握手协议以及如何解释交换的认证证书,这是其最大的一个优势,也是Diameter使用它的先决条件。TLS是用于在两个通信应用程序之间提供保密性和数据完整性,它由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。
其中,TLS记录协议层次较低,位于某个可靠的传输协议上面,它提供的连接安全性具有两个基本特性:私有——数据加密采用对称加密(DES 、RC4 等),所产生的密钥对每个连接都是唯一的,而且密钥基于另一个协议(如握手协议)协商;可靠——信息传输时对包括使用密钥的 MAC 进行信息完整性检查,安全哈希功能(SHA、MD5 等)用于 MAC 计算。TLS 记录协议是用于封装各种高层协议的。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收第一个数据字节前彼此之间相互认证,协商加密算法和加密密钥。这个较高层次的TLS 握手协议提供的连接安全则具有三个基本属性:(1)认证可靠性。可以使用非对称算法或公共密钥来认证对等方的身份。(2)安全共享性。加密密钥的协商是安全共享,他人难以获得的,另外经过认证后的连接也不能获得加密,即使是进入连接中间的攻击者也不能。(3)协商可靠性。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。
Diameter连接在没有使用IPSec时,则必须交换一个含有TLS值的AVP属性值。同时,还建议在域内部交换时使用TLS安全协议。在使用它时,发起连接的Diameter结点作为TLS客户端,接收连接的则作为TLS服务器。这些结点必须支持建立TLS会话的双向认证,为确保这点,TLS服务器会要求客户端必须提供安全证书。Diameter结点要求必须支持以下TLS加密机制[3]:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
以及应该支持:TLS_RSA_WITH_AES_128_CBC_SHA。当然,也可以支持其他的TLS加密支持。
(二)使用IPSec协议
Diameter协议中定义了对IPSec协议[4]的使用:独立于Diameter协议的额外的安全保障机制。不同于例如数字证书等很多网络加密和认证技术是在网络协议的高层运行,面向的是具体的应用业务,IPSec协议是出现在TCP/IP协议的核心基础层——IP层上执行加密和认证的协议,它的出现是为了给IPv4和IPv6数据包提供高质量的,客户可操作的,基于密码学的安全性,有较高的通用性。
IPSec协议是一个安全协议体系,其主要组件有:(1)认证头AH(Authentication Header),这个是用来为IP数据包提供认证服务的,可以单独使用,也可以与ESP联合使用;(2)封装安全负载ESP(Encapsulating Security Payload),是插入原IP数据包内的一个协议头,主要用来加密其后的负载,也可以根据要求作认证。它比AH机制多了加密措施,主要采用DES或3DES,所有的Diameter应用都被要求支持ESP;(3)安全关联SA(Security Association),用来决定使用AH还是ESP,加密或认证的算法等等,是核心部分;(4)密钥交换协议IKE,用来实现网上自动的密钥交换的,Diameter协议要求必须支持点对点认证的IKE协议,要求在构造应用的阶段,同时支持它的主模式和过激模式。而采用基于预共享密钥的认证方式时,应采用过激模式,但若采用数字签名技术时,两种都可以采用。
(三)Diameter CMS
Diameter利用TLS协议和IPSec协议来建立在两个节点之间逐跳的完整性和机密性。但是当Diameter端节点通过中间节点如代理、中继进行通信时,端到端的安全性并不能由它们来确保,这时,就由Diameter CMS(cryptographic message syntax密码消息语法)模块[5]在AVP层次提供端到端的鉴别、完整性、机密性以及不可否认性。它主要采用两种技术:数字签名技术以及加密技术,前者主要提供鉴别、完整性和不可否认性保障,后者提供机密性保障。CMS安全为两个Diameter节点之间建立安全关联定义了所需的消息和AVPs。CMS采用对称和非对称的密钥、Hashing、签名以及内容加密等加密机制,算法涉及到Sha-1、RSA、DES、3DES。
参考文献
[1]Rigney C, Rubens A, et nl. Remote Authentication Dial In User Service (Radius). IETF RFC2865, June 2000.
[2]T.Dierks, E.Rescorla.The Transport Layer Security (TLS) Protocol Version 1.1, IETF RFC4346, April 2006.
[3]P.Calhoun, J.Loughney, E.Guttman, G.Zorn, J.Arkko. Diameter Base Protocol.IETF RFC3588, September 2003.
[4]S.Kent, R.Atkinson. Security Architecture for the Internet Protocol IETF RFC2401, November 1998.
[5]Pat R.Calhoun, Stephen Farrell, William Bulley. “Diameter CMS Security Application”, draft-ietf-aaa-diameter-cms-sec-00.txt, June 2001.
作者简介:余珊珊(1982-),女,湖北荆州人,西安电子科技大学硕士研究生,研究方向:计算机网络方向。