APP下载

通用引导架构在IMS网络中的应用研究

2014-10-24缪永生盛国平张宝健

中兴通讯技术 2014年4期

缪永生 盛国平 张宝健

摘要:介绍了通用引导架构(GBA)在IMS网络中的组网和应用,并从终端安全、算法安全、向量共享等方面进行了深入分析。认为GBA在IMS网络中应用还属于探索阶段。同时对GBA架构在IMS网络中应用提出了一些建设性意见,包括共享向量、采用SHA-1算法、采用UICC卡、合一部署等,以指导GBA在IMS网络中的部署和商用。

关键词:GBA;通用认证架构;IMS;AKA

Abstract: This paper introduces the networking and application of a generic bootstrapping architecture (GBA) in an IP multimedia subsystem network. It provides a detailed analysis of terminal security, algorithm security, and vector sharing. It suggests that the application of GBA in IMS networks is still in the preliminary stage. To guide the deployment and commercial use of GBA in IMS networks, it then gives some constructive suggestions, including sharing Ks, SHA-1 algorithm, and UICC card and integrated deployment.

Key words: GBA; generic authentication architecture; IP multimedia subsystem (IMS); authentication and key agreement (AKA)

IP多媒体子系统(IMS)[1]是第三代标准组织(3GPP)在Release 5阶段提出的一个开放的网络架构。由于IMS网络具有控制和业务分离、接入无关、统一控制等特点,3GPP、国际电信联盟远程通信标准化组织(ITU-T)等标准组织明确IMS为下一代网络的核心,由IMS提供广泛的基于IP的应用服务。随着业务的开展,业务安全性和用户体验变得越来越重要,GBA是一种通用引导架构[2],可应用于IMS网络,解决用户终端(UE)与应用服务器(AS)之间相互认证的安全问题,并提升用户业务体验。

文章深入分析了通用引导架构(GBA)和IMS网络的技术特点,并从终端安全、算法安全、向量资源共享等角度对GBA在IMS网络中的应用提出了建议。

1 GBA在IMS中的应用

1.1 GBA架构

随着众多业务的开展,运营商和用户都需要可靠的认证机制来保证业务的合法使用。尤其是在3G/4G业务中,很多应用都需要UE和AS之间进行交互,如业务激活、业务设置、业务访问等。为了保证业务应用的安全性,就要求在UE和AS之间进行双向认证。如果UE和AS直接交互,存在两个严重问题:UE和每个AS之间都要进行独立的认证,包括认证机制的协商、密钥的管理;UE每次登陆不同的AS,都需要输入密钥,用户体验差。

因此3GPP标准组织提出了通用认证架构的概念,其中GBA就是一种基于共享密钥的通用认证架构。GBA使用认证与密钥协商(AKA)为UE 和网络之间提供一种密钥共享、相互认证和业务保护的机制,具有较高的安全性和通用性。GBA架构如图1所示,其中引入了引导服务功能(BSF)、网络应用功能(NAF)网元以及认证代理(AP)网元[2-7]。

以下是GBA架构中各逻辑实体的具体功能:

(1)BSF。BSF作为引导服务功能,处于用户的归属网络。BSF通过Zh接口从归属用户服务器(HSS)获得GBA的用户安全设置和AKA认证向量,并完成对UE的认证,建立共享密钥(Ks)。

(2)NAF。NAF作为网络应用功能,相当于应用服务器AS。NAF收到UE请求后,需要通过Zn接口从BSF获取UE和BSF引导过程协商完成的密钥信息,并完成对UE的认证。

(3)AP。AP作为认证代理功能,一般部署在UE和AS之间。AP代理AS完成对UE的认证,然后AP转发UE请求交由AS处理。

(4)HSS。所有的用户安全设置、用户号码、认证向量都存储在HSS中,HSS支持通过Zh接口,返回认证向量给BSF网元。

(5)UE。UE需要支持AKA/HTTP Digest协议,并且能够与引导服务功能双向认证产生Ks,进而根据Ks,产生衍生密钥Ks_NAF,该衍生密钥则用于UE和NAF/AP之间所进行的双向认证。

GBA 流程一般包括两个步骤:

(1)执行引导认证流程。通过AKA协议实现BSF与UE之间进行的双向认证,当认证成功后,UE和BSF拥有Ks。

(2)执行业务访问流程。UE与网络应用功能/AP之间通过 Ks所产生的Ks_NAF来完成对用户终端的相关认证。

1.2 IMS网络

IMS网络采用分层的架构,分为接入层、传输层、控制层和应用层。接入层实现各类软、硬终端连接到IMS网络;传输层提供网络和网络间的连接;控制层主要是用于对会话的控制;应用层支持各种类型的应用服务器[8-9]。

IMS网络中呼叫会话控制功能(CSCF)完成对用户的认证和呼叫的控制;HSS是用户和业务信息的数据库,完成用户数据管理、业务签约等功能;AS提供各类业务和应用[10-12]。

1.3 GBA在IMS中的组网

全IP结构的IMS系统实现移动与固网融合,集数据、语音、视频于一体,推动运营商转变到宽带多媒体应用和服务中来。

在IMS网络中,很多应用都需要在UE与AS之间进行交互,如UE和基本补充业务服务器(MMTel AS)之间进行补充业务的激活、去激活,例如前转类、限制类、显示类业务设置操作。部署GBA通用认证架构能够以统一的认证机制,解决UE和AS双向认证的问题,同时增强运营商管控能力。图2为GBA在IMS网络中的组网示意,其中虚线是网元与HSS之间的接口,基于Diameter协议;粗实线表示GBA架构的关键接口,基于超文件传输协议(HTTP);细实线表示IMS关键接口,基于会话初始协议(SIP)协议。

1.4 GBA在IMS中的应用

UE在IMS网络中进行呼叫、短信等业务之前,首先需要进行IMS网络注册。IMS网络注册过程也是UE和IMS网络双向认证的过程。具体来说,当UE经过代理会话控制功能(PCSCF)和查询会话控制功能(ICSCF)时,会向服务会话控制功能(SCSCF)发送注册请求,SCSCF则从HSS获取用户的AKA认证向量,并采用AKA MD5认证算法,完成对UE的认证,这个过程通常称为IMS-AKA。认证流程和UE与BSF之间的引导认证流程类似,主要差异如图2所示。UE和SCSCF之间基于SIP协议,UE和BSF之间基于HTTP协议。

在IMS网络GBA架构中,UE与AS交互进行业务激活等操作时,首先通过BSF进行引导认证流程,该流程通常称为GBA-AKA,然后UE通过AP向AS发送业务操作请求,AP向BSF获取衍生密钥等信息,完成对UE的认证。

在IMS网络中部署GBA通用认证架构,需要避免每个AS都要提供独有的认证机制,同时在一定程度上也增强了运营商管控能力。

2 GBA在IMS中的

应用分析

目前IMS网络在固网改造、VoLTE领域得到广泛应用,但GBA在IMS网络中应用还属于探索阶段。下面就GBA在IMS网络应用中可能出现的一些情况,并结合运营商的考虑,对终端安全、算法安全、向量共享3个方面进行重点分析。

2.1 终端安全分析

在GBA架构中,终端包含两部分:移动设备(ME)和用户识别卡。若ME是一个可信的设备,由于Ks 和 Ks_NAF的计算都依赖于客户识别模块(SIM)卡并保存在SIM卡中,那么我们认为基于SIM卡的GBA方案是安全的。

若ME是非法设备或是攻击者定制的终端,则可能出现ME直接调用SIM卡并得到 Ks,实现SIM卡的复用和冒用,具体流程参见图3。在引导认证阶段,ME接收到随机数(RAND)后,不调用SIM卡的GBA模块,而是以RAND作为参数调用SIM卡中的AKA认证模块。SIM卡计算得到 Kc 和 SRES,并返回给ME。ME则利用返回的Kc、SRES,模仿正常流程中SIM卡的操作,并通过计算得到GBA共享密钥Ks=KDF(key,Ks-input,“3gpp-gba-res”,SRES),并将Ks保存在ME中。

在业务访问阶段,UE可利用Ks计算得到 Ks_NAF,而不再调用SIM卡的GBA 模块。因此,攻击者只需要购买一张合法的SIM卡放置在不合法的ME中,并合法订购某些业务,利用上述方法获得Ks和Ks_NAF,并且将 Ks和 Ks_NAF定制在仿造的客户端软件中,供他人下载使用。若该业务为包月类型业务,那么使用该仿造的客户端软件的终端不需要付费就可以使用该业务,严重影响运营商的业务开展。

为了提高IMS网络GBA架构终端设备的安全性,避免上述情况的出现,有两种解决方案:

(1)采用通用集成电路卡(UICC),UICC表示物理卡,可以包括多种逻辑应用。在UICC情况下,Ks的协商和生成全部都在UICC中完成,ME无法获知,安全性高。

(2)对SIM卡终端进行适当的一系列改造,可以避免ME直接从SIM卡得到Ks的可能。

2.2 算法安全分析

GBA通用引导架构中采用AKA认证,AKA认证采用了MD 5算法。MD 5是一种用于产生数字签名的单项散列算法。MD 5算法可以将一个任意长度的“字节串”通过一个不可逆的变换算法变换成一个128 bit的大整数,即使你看到源程序和算法描述,也无法将一个MD 5的值变换回原始的字符串。MD 5具有较好的安全性,已经广泛运用于数字签名、文件完整性验证以及口令加密等领域。

目前MD 5已经被破解,破解的原理就是快速找到碰撞字符串,碰撞字符串可以生成和真正的源字符串相同的MD 5码,但是破解的过程还是非常困难的。GBA认证架构采用MD 5算法也存在一定的安全隐患。为了提高GBA的安全性,也有两种解决方案:(1)使用SHA-1算法,该算法与MD5的128位加密相比,使用了160位加密方式,比MD 5安全性更高;(2)在MD 5算法中,使用了qop参数,qop表示MD 5计算的认证保护级别,包括空、auth、auth-int。“auth-int”安全级别最高,使用“auth-int”能降低MD5被破解的概率。

2.3 向量共享分析

在GBA通用认证架构中,对于终端引导认证流程如图4所示,具体步骤如下:

(1)UE向 BSF发送HTTP请求,包括用户的私有用户标识(IMPI);

(2)BSF通过Zh接口,向HSS发送多媒体认证请求(MAR)认证请求,请求消息中携带IMPI;

(3)HSS发送多媒体认证响应(MAA)认证响应消息给BSF,响应消息中携带认证向量,如AKA鉴权的五元组向量RAND、AUTN、XRES、CK、IK;

(4)BSF构造401 Unauthorized响应,响应消息中包含了RAND和鉴权令牌(AUTN),不携带IK、CK、XRES;

(5)UE通过检查AUTN来认证网络,包括检查是否失序,同时UE根据自身密钥信息计算出 CK、IK 和 RES,从而 BSF 和UE各自拥有共享密钥Ks=CK|| IK;

(6)UE发送HTTP请求到BSF,其中包含着UE计算的AKA响应值(RES);

(7)BSF通过自身密钥信息,计算RES完成对UE的认证。若认证成功,生成Ks和B-TID;

(8)BSF 发送200 OK 消息到UE通知认证成功,该消息中包含 B-TID。此外,在这个 200 OK消息中还要包含共享密钥Ks的生存期。

上述GBA-AKA流程和IMS-AKA(UE在IMS网络注册流程)具有共同的特点是BSF和SCSCF的AKA认证向量都是从HSS下载。目前这种机制,存在两个问题:(1)GBA-AKA和IMS-AKA彼此分离且独立,同一个终端需要使用不同的AKA认证向量,增加了资源的消耗;(2)目前IMS-AKA,SCSCF一次从HSS下载5组AKA认证向量,GBA-AKA仅下载1组,AKA认证向量包含了递增的序列号(SQN)。通常UE先在IMS注册,下载5组向量,然后执行GBA-AKA,下载包含最新的SQN的向量,那么IMS网络其他几组认证向量将失效,因为终端认为本地的SQN大于IMS网络SCSCF保存的向量SQN,产生了失序情况。

为了减少失序情况的产生,减少AKA认证向量的消耗,结合GBA-AKA和IMS-AKA的特点,可以考虑GBA在IMS网络实际商用部署时,将GBA-AKA和IMS-AKA的认证向量实现共享。一种可行的解决方案是:SCSCF和BSF之间共享认证向量。具体来说,IMS-AKA流程中,S-CSCF从HSS下载新的认证向量后,增加向BSF同步认证向量的接口,BSF本地保存认证向量,以便GBA-AKA流程使用。在GBA-AKA流程中,如果BSF从HSS下载了新的认证向量,BSF需要向SCSCF同步认证向量,以便IMS-AKA流程使用。通过该解决方案,提高了AKA认证向量资源的使用效率,减少了失序情况。

3 GBA在IMS中应用的建议

3.1 合一部署

为了减少网络的复杂性,方便运营商的运维管理,在IMS网络中部署GBA架构,可以考虑将部分逻辑网元进行物理合设,有3种解决方案。

方案1:AP和SCSCF合设。AP和SCSCF与AS都有接口,AP和SCSCF物理合设,可以简化组网。

方案2:SCSCF和BSF合设。SCSCF和BSF都需要访问HSS,获取认证向量,两者与HSS接口相同,采用同样的消息获取认证向量,BSF和SCSCF物理合设,可以共享认证向量及部分处理逻辑。

方案3:BSF和AP合设。BSF和AP作为逻辑网元,各自具有独立的逻辑,实际部署时,可以进行物理合设,简化网络。

3.2 应用建议

IMS网络目前已经支持:一键通、 即时通信IM、多媒体短信、彩铃、Centrex、MMTEL AS等应用服务,此外IMS开放式应用架构还支持游戏、音乐等新的应用服务。随着IMS网络业务越来越多,GBA在IMS网络中应用需求就越强烈。基于对GBA和IMS的深入研究,结合应用的深入分析,对IMS网络中部署GBA架构,我们提出如下建议:

(1)终端需要支持对网络的认证,防止伪造网络窃取用户信息。

(2)终端最好能够支持通用集成电路卡(UICC)卡,对于SIM卡用户,最好能够对终端进行改造,提高终端的安全性。

(3)在MD5算法中,要求终端和网络采用“auth-int”进行计算。

(4)采用AKA认证向量的共享机制,减少向量资源的消耗,减少失序情况的出现。

(5)考虑GBA网络的安全性,需要BSF/AP和UE之间部署防火墙,或者BSF/AP内置防攻击功能,保证GBA网络的安全性。

(6)根据运营商需求,考虑合一部署,简化网络。

4 结束语

文章分析了GBA架构和流程,结合GBA架构在IMS网络中应用,从终端安全、算法安全、认证向量共享等几个角度进行了深入分析,为GBA架构在IMS网络中商用提出了一些建设性意见,包括共享向量、采用SHA-1算法、采用UICC卡、合一部署等。这些研究和建议必然对GBA架构在IMS网络中的应用带来一定的帮助和指导。

参考文献

[1] 袁琦. IMS网络安全技术研究[J]. 电信网技术, 2008, (9): 8-10.

[2] 赵川斌,等. 基GBA的MBMS终端安全体系研究[J]. 电视技术, 2008, 32(7): 36-38.

[3] 李贵勇,赵川斌. 基于GBA的TDMBMS网络安全体系研究[J]. 重庆邮电大学学报, 2008,20(6): 639-642.

[4] 任亚梅,李炜. 基于GBA的认证鉴权流程[J]. 计算机系统应用, 2011, 20(2): 137-141.

[5] 3GPP TS 33.220-c00. 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Generic Authentication Architecture (GAA); Generic bootstrapping architecture[S].

[6] 3GPP TS 29.109-b30. 3rd Generation Partnership Project; Technical Specification Group Core Network; Generic Authentication Architecture (GAA); Zh and Zn Interfaces based on the Diameter protocol; Protocol details [S].

[7] 3GPP TS 24.109-c00. 3rd Generation Partnership Project; Technical Specification Group Core Network; Bootstrapping interface (Ub) and Network application function interface (Ua); Protocol details [S].

[8] 刘牧寅, 符刚. IMS在物联网中的应用初探[J]. 邮电设计技术,2012, (6):27-30.

[9] 朱斌, 朱爱华, 符刚. IMS在移动网络演进中的共号码策略研究[J]. 邮电设计技术, 2013, (4):10-14.

[10] 李阳,申铉京,廉芳芳. IMS网络多种鉴权机制的研究[J]. 微计算机信息. 2008, 24 (3-3): 42-43.

[11] 王颖,董江. 移动视频业务在IMS分组网中的部署与鉴权研究[J]. 信息技术, 2010, (10): 82-84.

[12] 张方舟等, 3G接入技术中认证鉴权的安全性研究[J]. 微电子学与计算机, 2004, 21(9): 33-37.