IMS网络安全机制及安全性分析
来源:泰尔网 更新时间:2007-08-29
1、引言

  IMS是3G系统中核心网的一部分,它通过由SIP协议提供的会话发起能力,建立起端到端的会话,并获得所需要的服务质量。IMS实现了控制和承载的分离,IMS终端可以通过不同的接入方式,接入到分组域核心网PS(WCDMA网络、cdma2000网络和固定网络等),由PS提供SIP信令和媒体数据的承载,而由IMS的核心部分提供会话和业务的控制。IMS为未来的多媒体数据业务提供了一个通用平台,它是向全IP网络演进的重要一步。

  3GPP和3GPP2都对IMS网络进行了定义,其中3GPP2 IMS Rev 0对应于3GPP IMS R5;3GPP2 IMS Rev A对应于3GPP IMS R6。

  2、IMS安全标准体系

  安全部分是IMS网络的重要组成部分,3GPP和3GPP2对IMS网络的安全机制都有专门的标准。

  2.1 3GPP

  目前,3GPP已经发布的IMS安全标准有:

  (1)3GPP TS 33.203:IMS接入网络的安全机制;

  (2)3GPP TS 33.210:IMS核心网络的安全机制。

  3GPP IMS安全规范目前已经发布的版本有R5和R6。R7的制定目前正在进行。R6与R5的主要区别在于:R5中没有对SIP信令的保密性作出要求,而R6提出了SIP信令的保密性机制。

  2.2 3GPP2

  3GPP2已经发布的IMS安全规范是S.S0086:IMS安全框架。S.S0086主要参考3GPP TS 33.203和3GPP TS 33.210,其中包括了IMS接入网和网络域的安全。目前,已发布的最新版本为Rev B,Rev B和3GPP的R6相对应。

  2.3 国内

  在国内,CCSA TC5 WG5已经参考3GPP和3GPP2的相关规范制定了相应的行标。

  ●  TD-SCDMA/WCDMA IP多媒体子系统安全技术要求V1.0;

  ●  cdma2000 IP多媒体子系统安全技术要求V1.0。

  以上两个行标已处于报批阶段,另外WG5还会根据3GPP和3GPP2的不同版本来更新行标的版本。

  3、IMS安全体系

  在IMS的安全体系中,从UE到网络的各个实体(P-CSCF,S-CSCF,HSS)都涉及到了接入和核心网两个部分的安全概念。IMS安全体系的整体思想是使用IPSec的安全特性为IMS系统提供安全保护。整个IMS安全体系结构如图1所示。

图1 IMS安全体系结构图

图1显示了5个不同的安全层面,它们将用于IMS安全保护中不同的需求,并分别被标注为(1)、(2)、(3)、(4)和(5)。

  (1)提供用户和网络之间的双向身份认证。HSS委托S-CSCF执行用户认证,认证基于保存在HSS中的密钥和函数。

  (2)为UE和P-CSCF间的通信提供一个安全连接,用以保护Gm参考点的安全。其中,包括加密和完整性保护。

  (3)提供网络域内CSCF和HSS之间的安全。

  (4)为不同网络间的CSCF提供安全。

  (5)为网络内部的CSCF提供安全。

  对于接入部分而言,UE和P-CSCF之间涉及到接入安全与身份认证。IMS AKA实现了UE与网络的双向认证功能;UE与P-CSCF之间协商SA(Security Association,安全联盟),并通过IPSec提供了接入安全保护。

  核心网部分引入了安全域的概念。安全域是由某个单独机构所管理的网络,在同一安全域内的网元具有相同的安全级别并享有特定的安全服务。特别指出,某个运营商自己的网络就可以作为一个安全域,虽然这个网络可能包含多个独立的子网。网络域内部的实体和网络域之间都可以使用IPSec来提供安全保护。

  4、IMS安全参数

  IMS网络的安全完全是基于用户的私有身份以及存在于卡上的密钥,IMS定义了自己的ISIM卡,类似于UMTS的USIM卡,里面存储着IMS相关的安全数据和算法。ISIM存在于UICC芯片上,和USIM不共享安全函数。目前标准中定义的ISIM主要包含以下参数:

  (1)IMPI:IM个人身份信息。

  (2)IMPU:一个或多个IM公开身份。

  (3)用户所属网络的域名。

  (4)IMS域内的SQN序列号。

  (5)认证密钥。

  在IMS网络中,只有ISIM和HSS共享这些秘密参数和算法,其他的任何网络实体都不知道密钥和私有身份IMPI。以下介绍的认证、加密和完整性保护等都是基于这些参数。

5、IMS接入网安全机制

  5.1 客户和网络的双向身份认证

  在归属网络中,HSS上存储了每个IM客户相对应的客户描述(Profile)。这个客户描述包含了客户的信息,并且这些信息不能够泻露给外部。在注册过程中,I-CSCF将给用户分配一个S-CSCF,客户描述将从HSS下载到S-CSCF上。当一个客户请求接入IMS网络时,S-CSCF将对客户描述和客户接入请求进行匹配性检查以确定是否允许客户继续请求接入,亦即归属控制(IM业务的认证)。

  对于IM业务,在允许接入IM业务前,移动设备和IMS间需要建立一个新的SA(安全联盟),主要是为双方协商使用什么样的安全协议来进行通信保护,即采用什么安全算法来进行加密及完整化保护等。

  IMS中的双向认证机制采用UMTS AKA。它是一个Challenge-Response协议,由归属网的认证中心(AuC)发起Challenge。归属网将一个包含Challenge的五元组传送到服务网。这个五元组包含期望的Response XRES和一个消息认证码MAC。服务网比较UE的Response和XRES,如果匹配则UE通过了网络的认证。UE计算一个XMAC,并且与收到的MAC比较,如果匹配,则服务网通过了UE的认证。这样,UE与网络之间就完成了双向的身份认证。

  UE和网络之间双向的身份认证流程如下:

  (1)UE向S-CSCF发送SIP REGISTER消息(SM1)来发起认证。

  (2)S-CSCF将使用一个认证向量AV来认证用户以及与用户协商一个密钥。如果S-CSCF没有有效的AV,S-CSCF将会向HSS发送一个AV请求,这个请求与AV的数量n(至少是1)都包含在CM1中。CM1的结构为:Cx-AV-Req(IMPI,n)。
  
  (3)HSS收到S-CSCF的请求后,利用CM2向S-CSCF发送一个有n个认证向量的有序阵列。每一个认证向量包含几个部分,即一个随机数RAND、一个期望的响应XRES、一个加密密钥CK、一个完整性密钥IK和一个认证标识AUTH。每一个认证向量对应一次S-CSCF与IMS用户的认证和密钥协商。CM2的结构:Cx-AV-Req-Resp(IMPI,RAND1‖AUTN1‖XRES1‖CK1‖IK1,… RANDn‖AUTNn‖XRESn‖CKn‖IKn)。

  (4)S-CSCF在收到的n个AV中通过先进先出的方法选择第一个AV,在SM4中通过I-CSCF,P-CSCF发送给UE。SM4的结构为:4xx Auth_Challenge(IMPI,RAND,AUTN,IK,CK)。

  (5)P-CSCF收到SM5后,保留密钥IK,CK和XRES,把剩余的消息内容发送给UE。发送给UE的SM6的结构为:4xx Auth_Challenge(IMPI,RAND,AUTN)。

  (6)UE收到SM6后,取出包含MAC和SQN的AUTH。UE计算XMAC并检查XMAC是否与MAC相同,而且SQN是否在正确的范围内。如果这些检查都通过了,则网络通过了UE的认证。然后,UE计算出鉴权响应值RES,并将它放在认证头中,在SM7中送回给注册方。同时,UE在这个阶段也计算会话密钥CK和IK。SM7的结构为:REGISTER(IMPI,Authentication Response)。

  (7)S-CSCF收到SM9后,提取该用户的响应,得到XRES,并且使用它检查UE发送的响应。如果检查成功,则用户通过认证,且IMPU被注册到S-CSCF中。

  至此,UE和IMS网络之间的双向身份认证成功完成。

  归属网可以通过注册或重注册过程在任何时候对客户进行认证。

  5.2 机密性保护

  在3GPP TS33.203 R5的规范中,不要求UE和P-CSCF间的SIP信令消息的机密性保护。建议在链路层对SIP信令进行加密,即在UE与RNC间对SIP信令进行加密。

  而在3GPP R6规范中,要求应该提供可能的机密性保护机制来保护UE和P-CSCF间的SIP信令。

  5.3 完整性保护

  UE和P-CSCF之间的SIP信令应当进行完整性保护。保护机制如下:

  (1)UE和P-CSCF首先基于IMS AKA协商本会话中使用的完整性保护算法。

  (2)UE和P-CSCF就SA达成一致,该SA包含完整性保护算法所使用的完整性密钥。该机制基于IMS AKA。

(3)UE和P-CSCF通过各自拥有的完整性保护密钥IK来计算检验由某个结点所发来的数据的散列值,从而确定这些结点是否拥有协商过的完整性密钥。也可以检查从这些结点发送的数据是否被篡改过。

  (4)完整性保护机制可以采取措施来减弱重放攻击和反射攻击。

  5.6 网络拓扑隐藏

  运营商网络的运营细节是敏感的商业信息。运营商一般不愿与竞争对手共享这些信息。然而。某些情况下(合作伙伴或其他商业关系)可能会存在这类信息的共享需求。因此,运营商应当能够决定是否对网络内部信息进行隐藏。IMS安全机制中支持隐藏运营商网络拓扑的能力,包括隐藏S-CSCF的数量、S-CSCF的能力以及网络能力。

  I-CSCF可以对SIP包头中的S-CSCF地址进行加密,然后当接收到一个消息时,对应的I-CSCF可以解密这些地址。P-CSCF可能收到一些被加密的路由信息,但P-CSCF没有密钥来进行解密。也就是说,不同的I-CSCF可以加密和解密S-CSCF的地址。

  6、IMS网络域安全机制

  IMS网络域的安全使用hop-by-hop(逐跳)方式的安全模式,对每一个在网络实体之间的每个通信进行单独的保护。保护措施用的是IPSec ESP。协商密钥的方法是IKE(Internet,Key Exchange)。IKE协议用于建立、协商和维护网络实体间的安全参数SA集合。图2描述了网络域内的安全。

图2 网络域安全结构图

  Za:不同的网络安全域的接口。使用IKE协议来协商、建立和维护在他们之间的用来保护ESP隧道的安全参数。然后,依据此参数使用IPSec ESP隧道模式来进行保护。

  Zb:当在UE和P-CSCF之间建立了SA之后,用这个已经建立好的SA来进行保护。

  安全域直接的安全保护是通过安全网关(SEG)来实现的。安全网关是IP安全域边界上的实体,用来保护本地基于IP的协议。安全网关处理通过Za接口的通信,Za接口位于不同的IP安全域的安全网关之间。

  基于IP的安全域的所有业务量在进入或离开安全域之前都通过安全网关。每个安全域可有一个或多个安全网关。每个安全网关处理进/出可达的IP安全域业务。由于安全网关负责敏感的数据操作,如存储IKE认证的密钥。所以对安全网关应该实施物理上的保护。

  7、IMS系统安全性分析

  IMS网络是基于IP的网络,由于IP网络的先天脆弱性,基于IMS的下一代网络在网络架构、协议实现以及管理等方面也都存在潜在的安全问题。

  (1)针对CSCF实体的攻击。在IMS体系中,CSCF功能体系集中完成管理和呼叫控制,因此CSCF实体必须直接面对各种不同的用户,这在一定程度上是下一代网络的一个安全隐患,也是黑客攻击下一代网络的一个主要目标。

  (2)协议实现较脆弱。协议实现脆弱性指网络中互相通信的协议本身存在的安全方面的不健全和协议实现中存在的漏洞问题。如TCP/IP协议SYN flood攻击的漏洞。在下一代网络中,包含多种多样的协议,如SIP,MGCP,H.248和RAS尤其重要,因为它们支持UDP承载,数据包不需要建立连接,所以发起UDPflood攻击非常容易。

  (3)由于没有强制实施完整性保护,无法防止攻击者对空口数据的篡改攻击。攻击者可以通过修改用户数据使得网络对用户的认证失败,从而导致用户无法正常接入IMS业务。

  (4)没有实施基于公钥体制的算法与协议,难以实现数字签名。在移动电子商务的应用中,无法实现不可否认性的实现。

  针对以上安全问题,需要对网络的关键实体如CSCF进行物理和安全管理方面的安全保护,在网络部署防火墙等防攻击设备,同时使用公钥机制以及WPKI机制等提高IMS网络的安全性。