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的认证。
图1 GBA架构
(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和基本补充业务服务器(MMTelAS)之间进行补充业务的激活、去激活,例如前转类、限制类、显示类业务设置操作。部署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认证向量,并采用AKAMD5认证算法,完成对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 GBA在IMS网络中的组网
图3 非法ME获取密钥流程
2.2 算法安全分析
GBA通用引导架构中采用AKA认证,AKA认证采用了MD5算法。MD5是一种用于产生数字签名的单项散列算法。MD5算法可以将一个任意长度的“字节串”通过一个不可逆的变换算法变换成一个128bit的大整数,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串。MD5具有较好的安全性,已经广泛运用于数字签名、文件完整性验证以及口令加密等领域。
目前MD5已经被破解,破解的原理就是快速找到碰撞字符串,碰撞字符串可以生成和真正的源字符串相同的MD5码,但是破解的过程还是非常困难的。GBA认证架构采用MD5算法也存在一定的安全隐患。为了提高GBA的安全性,也有两种解决方案:
(1)使用SHA-1算法,该算法与MD5的128位加密相比,使用了160位加密方式,比MD5安全性更高;
(2)在MD5算法中,使用了qop参数,qop表示MD5计算的认证保护级别,包括空、auth、auth-int。“authint”安全级别最高,使用“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构造401Unauthorized响应,响应消息中包含了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发送200OK消息到UE通知认证成功,该消息中包含BTID。此外,在这个200OK消息中还要包含共享密钥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认证向量的消耗,结合GBAAKA和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认证向量资源的使用效率,减少了失序情况。
图4 UE与BSF交互流程
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、MMTELAS等应用服务,此外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]3GPPTS33.220-c00.3rdGenerationPartnershipProject;TechnicalSpecificationGroupServicesandSystemAspects;3GSecurity;GenericAuthenticationArchitecture(GAA);Genericbootstrappingarchitecture[S].
[6]3GPPTS29.109-b30.3rdGenerationPartnershipProject;TechnicalSpecificationGroupCoreNetwork;GenericAuthenticationArchitecture(GAA);ZhandZnInterfacesbasedontheDiameterprotocol;Protocoldetails[S].
[7]3GPPTS24.109-c00.3rdGenerationPartnershipProject;TechnicalSpecificationGroupCoreNetwork;Bootstrappinginterface(Ub)andNetworkapplicationfunctioninterface(Ua);Protocoldetails[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.
来源:《中兴通讯技术》2014年第4期