摘要:IP多媒体子系统(IMS)作为3G网络的核心控制平台,其安全问题正面临着严峻的挑战。IMS的接入认证机制的实现作为整个IMS安全方案实施的第一步,是保证IMS系统安全的关键。基于认证和密钥协商(AKA)的IMS接入认证机制是由因特网工程任务组(IETF)制定,并被3GPP采用,广泛应用于3G无线网络的鉴权机制。此机制基于“提问/回答”模式实现对用户的认证和会话密钥的分发,由携带AKA参数的SIP消息在用户设备(UE)和IMS网络认证实体之间进行交互,按照AKA机制进行传输和协商,从而实现用户和网络之间的双向认证,并协商出后续通信所需的安全性密钥对。 关键字:IP多媒体子系统;认证和密钥协商;会话初始协议;接入认证机制 英文摘要:IP Multimedia Subsystem (IMS) has been accepted as the core control platform of the 3G network. Its security problems are facing severe challenges now. The implementation of IMS access authentication mechanism, which is considered to be the first step of the whole IMS security plan, is the key to the IMS system security access. The Authentication and Key Agreement (AKA)-based IMS access authentication mechanism is developed by the Internet Engineering Task Force (IETF) organization and adopted by the 3GPP organization, and is widely used in 3G wireless network authentication mechanism. It is based on the “challenge/response” mode to achieve the bidirectional authentication and session key distribution. The Session Initiation Protocol (SIP) messages, which are carried with AKA parameters, are transmitted through the User Equipment (UE) and IMS core functional entities according to the AKA mechanism for consultation, thus realizing the two-way authentication between user and network, as well as the security key pair for later communications. 英文关键字:IMS; AKA; SIP; access authentication mechanism 移动通信的安全问题正越来越多地受到关注。2G网络主要传输语音业务,采用的是单向的用户认证方案,即网络能够验证用户身份是否合法,而用户无法确认其所连接的网络服务是否可靠。然而,3G网络将会演变成一个覆盖全球的集有线、蜂窝和卫星通信于一体的全网,不仅支持传统的语音和数据业务,还支持交互式和分布式的业务,如多媒体业务、电子商务、网上银行等。随着各种信息服务的蓬勃开展,各种机密性、敏感性、隐私性的数据的传输会大大增加,这对网络的安全性提出了更高的要求。 IP多媒体子系统(IMS)是3G网络的核心控制平台,具有基于会话初始协议(SIP)的全IP架构,IP协议固有的缺陷和安全漏洞使IMS很容易遭受攻击。另外,IMS对开放性接入的支持也对其网络安全提出挑战。如何保证用户安全地接入网络,保证IMS网络的可靠部署进而走向商用,成为了重中之重的问题。因此,研究IMS网络的安全接入认证机制有着十分重要的现实意义。 3GPP已经成立了专门的工作组SA WG3负责3G网络安全方面的标准化工作,已经发布的IMS安全标准主要有:3GPP TS33.102: 3G网络安全架构[1]、3GPP TS33.203: IMS接入网络的安全机制[2]、3GPP TS33.210: IMS核心网络的安全机制[3]。 1 IMS的安全体系结构 IMS安全架构的5个安全层面应用于IMS安全保护中不同的需求:
图1中的安全层面1和安全层面2属于IMS接入安全机制。IMS的接入安全机制承担着两大任务:一是对接入用户的鉴权;二是在鉴权结束之后,在UE和P-CSCF之间建立IPSec安全关联(IPSec SA),为后续SIP信令的交互提供安全保护。本文主要对基于认证和密钥协商(AKA)机制的IMS安全接入认证机制进行研究。 2 IMS的接入安全机制 2.1 IMS AKA机制概述 IMS AKA机制是对HTTP摘要认证机制[5]的扩展,主要用于用户的认证和会话密钥的分发,它的实现基于一个长期共享密钥(Key)和一个序列号(SQN),它们仅在HSS的认证中心模块(AuC)和UE的ISIM中可见。由于HSS不与UE直接通信,而是由S-CSCF执行认证过程,因此它们不会将真实的Key暴露给外界。 IMS AKA机制使用“提问/回答”的模式实现用户和网络之间的双向认证,并通过协商产生的密码对(CK, IK)作为IPSec SA所需的密钥,为后续的通信提供安全保护。IMS AKA机制是基于SIP协议来实现的。AKA与SIP的结合在IETF RFC3310中定义。在IMS的注册过程中,携带AKA参数的SIP信令在UE和IMS网络认证实体之间进行交互,按照AKA机制来传输和协商AKA参数,从而实现接入认证和密钥协商的过程。 2.2 IMS接入认证的实现 (1) 用户发起注册请求 UE在初始的注册请求SIP REGISTER消息中发送它的IMPI,该IMPI保存在ISIM应用中,只用于认证和注册过程。这个初始的REGISTER消息的主要头域和参数如图3所示。 由于3GPP AKA被映射到HTTP摘要机制,因此认证方案的值被设置为“Digest”,而“response”和“nonce”域的值在初始注册请求消息中都设置为空。P-CSCF将这个REGISTER消息转发给I-CSCF,I-CSCF联系HSS,以选择为用户提供服务的S-CSCF,然后将REGISTER请求消息转发给选定的S-CSCF。当S-CSCF收到REGISTER消息后,如果发现该用户还没有被认证,则S-CSCF向HSS发送多媒体认证请求(MAR)消息[7]以请求认证数据。 (2) 计算认证向量 其中,各个参数的计算公式如下( ?茌表示按位异或,|| 表示串接):
AK用来隐藏SQN,因为SQN可能会暴露用户的位置信息。如果不需要隐藏SQN,那么AK被设置为0。 (3) 网络向用户提问 S-CSCF从HSS得到所需的安全相关的参数,即所谓的AV。这些参数使得S-CSCF可以在不需要知道共享密钥Key和SQN的情况下就可以执行认证过程。 S-CSCF将剔除XRES的AV包含在401 Unauthorized应答消息的WWW-Authenticate头域中向用户提问,401应答主要的头域和字段如图5所示。
其中,在nonce字段填入了将RAND和AUTN参数串接后进行Base64编码后的字符串。在ik和ck字段加入完整性密钥和保密性密钥。在algorithm字段放入值“AKAv1-MD5”,表示使用的是3GPP AKA认证机制。 当接收到S-CSCF返回的401应答消息后,P-CSCF在将其发往UE之前,将其中的完整性密钥IK和保密性密钥CK保存下来,并将它们从AV中删除掉(IK,CK这两个参数不能暴露,网络认证通过后,UE的ISIM会根据收到的AV,重新计算出来)。 (4) 用户认证网络身份
(5) 网络认证用户身份
3 IMS AKA机制的安全性分析 3.1 IMS AKA机制实现的安全能力 (1) 用户和网络之间的双向认证 (2) UE和P-CSCF之间的密钥协商分配 (3) UE与S-CSCF间密钥的新鲜性 (4) 认证应答RES的安全 由上面的分析,可以看到IMS AKA机制具有相当强大的安全能力来实现用户和服务网络之间的双向认证以及密钥协商,并且能够保证协商的保密性密钥和完整性密钥的新鲜性。因此,AKA机制在3G网络的接入认证机制的实现中得到了相当广泛的应用。 3.2 IMS AKA机制的安全隐患及解决方案 (1) 虽然UE和P-CSCF之间可以通过AKA机制协商的安全性密钥对SIP信令进行加密性和完整性保护,但是初始注册请求REGISTER消息却是在安全密钥尚未协商的时候发送的,故该消息没有受到任何安全保护而且是用明文发送的,攻击者可以轻而易举地获取用户的注册信息,从而造成用户隐私泄密。 SIP协议对此进行了安全扩展:对SIP消息取摘要值,并且由SIP消息携带这个摘要值一同发送。在接收端对收到的SIP消息计算摘要值,如果和原摘要值一致,说明这个SIP消息没有被修改过,受到了完整性保护。虽然即便是这样,还是不能杜绝攻击者窃听SIP消息,可是至少攻击者无法偷偷修改消息内容,这样对SIP消息的安全性能有一定程度的提高。 (2) 向IMS网络注册时,至少需要发送两次REGISTER请求,用户与网络之间的SIP交互过于繁琐,并且SIP消息携带的认证头域(如Authorization头域和WWW-Authenticate头域)带有众多AKA参数,导致SIP消息长度大幅增加。由于网络带宽的限制,传输延迟将会十分明显,用户通过注册接入网络的耗时将会比较长,影响用户的使用感受。可以采用压缩SIP消息[9]的方法来在一定程度上改善服务质量,特别是在无线环境下能大大缩短呼叫建立的时间。 (3) 在基于AKA的接入认证过程中,UE并没有对IMS核心网络的接入点P-CSCF进行身份认证,会给攻击者提供冒充中间人实施攻击的机会。参考文献[10]中提出的基于传输层安全协议(TLS)的IMS接入认证机制能对这一缺陷进行改进,但也仅仅是在理论阶段,还没有接受实际应用的考证。 4 结束语 IMS AKA机制虽然被广泛地应用,但正如没有任何一种技术是十全十美的道理一样,IMS AKA机制本身也存在一些不太合理的地方,目前也有许多的组织和个人对IMS AKA机制提出了许多增强和完善的建议,但除了SIP的安全扩展机制以外,还没有哪一种改进方案被标准化采用。但无疑正是这种不断的推陈出新,使得网络的安全性越来越高。IMS AKA机制中仍有一些有待改进的开放性问题,希望在以后的研究工作中能对其进行改进: (1) 通过使用序列号,用户可以保证认证信息(如RAND和AUTN)是没有被攻击者或者是被服务网络使用过的。服务网络通过检验用户认证应答RES来判断用户是否知道他和网络之间的共享密钥,以此来认证用户身份。然而,用户却仅仅只能检测出认证向量是否由归属网络产生,也就是说,用户不能判断收到的认证向量是否是他请求服务的服务网络所申请的,因为任何服务网络都可以向归属网络请求认证向量。这种安全漏洞也会给攻击者提供机会。 (2) SQN重同步的过程也并不很合理,因为只要UE检查出来SQN不在正常的范围之内,它就会发起重同步过程,而不关心SQN同步失败的真实原因。但是事实上即使序列号不在正确的范围内,也并不代表HSS中的计数器SQN_HN发生了同步失败,有可能是恶意的攻击者重放提问引起的。UE不关心真实的原因,不断进行重同步过程,这必然会加大服务网络和归属网络之间的通信负荷,严重延迟用户接入网络的时间,甚至最后无法接入网络,严重影响用户的使用感受。但是这个问题的改进可能要涉及到对IMS AKA机制的改进。本文主要研究安全接入认证机制,当实现用户的安全接入之后,如何建立IPSec SC的过程暂不涉及,将在以后的工作中进一步研究。 |
|