在第3代移动通信(3G)系统中,除了话音业务外,电子商务、电子贸易、网络服务等新型业务将成为3G的重要业务内容。移动通信用户之间的通信处于开放的空间环境中,因此终端设备(ME)和接入网(AN)间的空中接口是移动通信系统易遭受攻击的主要部分。与空中接口相关联的威胁分为以下几类:未经授权接入数据和业务、消息完整性威胁、业务拒绝等。针对上述问题,3GPP(第3代移动通信伙伴计划项目)提供了完善的接入安全体制,内容包括两部分:一是空中接口安全,主要用于保护无线链路传输的用户和信令信息;二是提供用户和网络之间的身份认证,以保证用户和网络双方的实体可靠性。
加密和完整性保护是实现安全通信的核心,认证与密钥分配是实现安全通信的重要保证。3G系统的安全体制是建立在2G的基础上,GSM及其他2G系统中已被证明是必须和稳健的安全元素将被继续采用,3G还将改进2G中的安全弱点,最终提供全新的安全性能和业务。同时,从全网角度出发,宏观上3G系统可分为无线接入网与核心网两大部分。3G系统主干网将采用ATM或IP技术。ATM被认为是能灵活有效地应用于高速骨干网的一种传输与交换技术,它具有携带不同类型信息(语音、数据和视频)的能力。3GPP R99的核心网将ATM作为其骨干网传输技术之一。因此,本文对3G系统的安全性分析从以下两方面进行:无线链路与ATM网络。
1 3G安全体制
1.1 3G安全体制的目标和原则
3G的安全目标是:确保用户的有效信息和网络资源不被误用,确保安全体制标准化、统—化,对数据的保护要优于GSM和现行的固定电话系统,建设可拓展的安全机制。具体地讲,3G的安全目标应能够防范基于伪基站的主动攻击、中间者攻击、伪用户攻击、用户身份截取、搭线窃听、截取来话攻击、欺骗网络或拒绝服务攻击等。基于上述目标,3G系统对资源存取控制、系统接入控制、网络实体互连、通信节点安全、网间信令安全等机制均定义了严格的安全原则。这些原则在3G的系统设计中得到了充分的体现。
1.2 3GPP安全体制的安全功能及其算法
3G安全功能结构如图1所示。横向代表安全措施,纵向代表相应的网络实体。安全措施分为5类:
● 增强用户身份保密(EUIC):通过HE/AuC(本地环境/认证中心)对USIM(用户业务识别模块)身份信息进行认证;
● 用户与服务网间身份认证(UIC);
● 认证与密钥分配(AKA):用于USIM、VLR/SGSN(访问位置寄存器/服务GPRS支持节点)、HLR(归属位置寄存器)间的双向认证及密钥分配;
● 数据加密(DC):UE(用户终端)与RNC(无线网络控制器)间信息的加密;
● 数据完整性(DI):用于对交互消息的完整性、时效性及源与目的地进行认证。
3G安全系统定义了11个安全算法:f0、f1*、f1~f9,以实现其安全功能[1]。f8与f9分别实现DC和DI标准算法。f6与f7用于实现EUIC。AKA由f1~f5实现。其中,f1=>MAC(消息认证码),f2=>XRES(期望的认证应答),f3=>CK(加密密钥),f4=>IK(完整性密钥),f5=>AK(匿名密钥),f6对IMUI(国际移动用户识别码)进行加密,f7对用户身份进行解密。各算法的详细操作在下面加以分析。
1.3 3GPP安全体制的总体结构
3GPP安全体制的总体结构如图2所示,可分为3个层面5个部分:
(1)网络接入安全(I):提供安全接入3G服务网的机制,并抵御对无线链路的攻击。空中接口的安全性最为重要,因为无线链路最易遭受各种攻击。这一部分的功能包括:用户身份保密、认证和密钥分配、数据加密和完整性等。其中认证和密钥分配是基于USIM和HE/AuC共享秘密信息的相互认证。认证过程中也融合了加密、完整性保护等措施。
(2)网络域安全(II):保证网内信令的安全传送并抵御对有线网络(核心网部分)的攻击。
(3)用户域安全(III):主要保证对移动台的安全接入,包括用户与智能卡间的认证、智能卡与终端间的认证及其链路的保护。
(4)应用域安全(IV):使用户域与服务提供商的应用程序间能够安全的交换信息。
(5)安全特性的可视性及可配置能力(V):主要指用户能获知安全特性是否在使用以及服务提供商提供的服务是否需要以安全服务为基础。
1.4 3G认证与密钥分配协议及其安全性分析
1.4.1 AKA协议过程
AKA参与方由3个部分构成,即:MS(移动台)、VLR/SGSN、HLR。其认证与密钥分配过程如图3所示。由该图可知,AKA协议分为以下几个步骤:①MS→VLR:IMSI,HLR;②VLR→HLR:IMSI;③HLR→VLR:AV认证向量;④VLR→MS:RAND‖AUTN;⑤MS→VLR:RES(认证响应)。其中,AV为认证向量,AV=RAND‖XRES‖CK‖IK‖AUTN;XRES=f2K(RAND);CK=f3K(RAND);IK=f4K(RAND);AUTN=SQN ⑥AK‖MODE‖MAC:认证令牌;SQN为序列号;AK=f5K(RAND),用于隐藏序列号;MODE:移动性管理标识;MAC=f1K(SQN‖RAND‖MODE)。
认证过程由VLR发起。首先VLR收到MS的注册请求后,向MS的HLR发送该用户的IMSI,请求对该用户进行认证。HLR收到VLR的认证请求后,生成SQN和RAND,计算认证向量AV,并发送给VLR。VLR收到认证向量后,将RAND‖AUTN发给MS,请求MS产生认证数据。MS接收到认证请求后,先计算XMAC(Expected MAC)并与AUTN中的MAC比较,若不同,则向VLR发送拒绝认证消息并放弃该过程。同时MS验证接收到的SQN是否在有效的范围内,若不在有效的范围内,MS则向VLR发送“同步失败”消息,并放弃该过程。上述两项验证通过后,MS计算RES=f2K(RAND)、CK和IK,并将RES发送给VLR。VLR接收到来自MS的RES后,将RES与认证向量AV中的XRES进行比较,相同则认证成功,否则认证失败。
1.4.2 AKA安全性分析
用户与网络之间的相互认证依赖于MS与HLR共享的秘密密钥。AKA应达如下安全目标[2]:
(1)VLR对MS的认证及MS对HLR的认证:AKA第③步中VLR收到来自HLR的AV中包含了期望MS产生的XRES。若MS是合法用户应能正确计算RES=f2K(RAND)且RES=XRES。MS对HLR的认证是通过MAC实现的。MS收到VLR转发的来自HLR的MAC,计算XMAC=f1K(SQN‖RAND‖MODE),若MAC=XMAC,则认证成功。
(2)MS与VLR之间的密钥分配:AKA第③步中VLR收到来自HLR的AV中包含了CKHLR与IKHLR,合法用户在收到正确的RAND后,能正确产生CKMS与IKMS,且CKHLR≡CKMS,IKHLR≡IKMS。CK与IK将用于其后的保密通信,而CK与IK没有在空中接口中传输,确保了密钥的安全性。
(3)确保MS与VLR之间密钥的新鲜性:由于每次通信前的认证选择了不同的AV,保证了每次通信采用的CK与IK是由不同的RAND计算得到。而每次使用的MAC是由不断递增的SQN作为其输入变量之一,从而确保密钥的新鲜性,有效地防止了重复攻击。
1.4.3 对AKA可能的攻击
经上述分析,该认证方案实现了VLR对MS以及MS对HLR的认证,但不要求MS对VLR进行认证。因此攻击者X可利用截获的合法IMSI进行如下的攻击:①MS→X:IMSI;②X→VLR:IMSI;③VLR→HLR:IMSI;④HLR→VLR:AV=RAND‖XRES‖CK‖IK‖AUTN;⑤VLR→X:RAND‖AUTN;⑥X→MS:RAND‖AUTN;⑦MS→X:RES;⑧X→VLR:RES。这样,X就可以假冒该MS入网。但由于CK与IK未在无线接口中传输,攻击者无法获得这些密钥而进行正常的通信。但是上述方案没有考虑到网络端的认证与保密通信。若攻击者X对VLR与HLR之间的信息进行窃听,就可能获得HLR传给VLR的认证向量AV从而获得CK与IK。此后攻击者X再假冒该MS入网,即可实现正常的保密通信,而合法用户传送的信息也就失去了保密性。对于这种可能的攻击,文献[2]提出了一种改进方案。
1.5 本地认证
AKA是基于认证向量的在USIM和HE之间的认证,适用于用户第一次登录网络时的情况。在线用户发出服务请求、位置更新或剥离网络请求时常使用另一种认证:本地认证。它使用了AKA中产生的CK与IK,认证只发生在USIM和VLR之间,可为用户数据提供完整性保护。这样做的好处是即使HE/AuC的链路不稳定,VLR/SGSN也可为用户提供安全服务。
1.6 加密和完整性保护
认证成功后,3G系统允许对空中接口的数据进行加密和完整性保护。加密和完整性算法分别采用了KASUMI算法中的f8和f9算法,分别如图4与图5所示。通过f8算法产生密码流分组对原始数据进行加密。若构成无线承载(Radio Bearer)的RLC层采用非透明模式,则加密由RLC层实施;若RLC层采用透明模式,则加密由MAC层实施。f9算法的输入参数包括:IK、完整性序列号COUNT-I、随机数FRESH、方向比特DIRECTION和信令消息MESSAGE。发送方利用f9算法计算出MAC-I,随消息一起发送出去,接收方计算XMAC-I并与收到的MAC-I相比较以验证消息的完整性。
1.7 3GPP与3GPP2安全体制的比较
3GPP2的认证协议也采用了“请求—响应”的形式。整个认证方式与3GPP类似,但其认证是以基站为核心的,只有其增强认证和加密模式才可提供用户和网络的相互认证。其异同点如表l所示。
2 基于ATM的3G核心网安全性
上述无线链路部分的安全性是以核心网的安全性为前提的,在3G系统中主干网将采用ATM或IP技术。因此,要达到整个系统的安全性,则必须保证ATM或IP网络的安全性。下面从ATM协议参考模型(PRM)出发来讨论。
2.1 ATM的PRM、安全威胁与安全功能
ATM PRM包括3个用户平面:用户平面——用于交换用户信息;控制平面——监视信令信息;管理平面——用于维持网络操作。从层次上看,PRM可分成4层:物理层、ATM层、ATM适配层(AAL)和应用层。其中,物理层完成传输比特流的功能;ATM层负责交换、路由选择和信元复用;ATM适配层又由拆装子层(SAR)和会聚子层(CS)组成,用于高层应用的映射,以提供不同业务的通信能力。
ATM网络容易受到多样性的安全威胁与攻击,如:窃听、用讹用信息混淆接收方、假冒或欺骗对方、否认和拒绝服务等。因此,ATM网络必须提供如下安全功能:数据加密;完整性校验;认证——建立一个连接双方的相互认证以防止假冒攻击;接入控制——防止未经授权使用网络资源;防否认——提供传送信息的证据,使用户无法否认。
2.2 在ATM网络中实现安全功能的4种方案
下面从ATM PRM出发,分析将安全功能置于ATM协议栈中不同位置时的安全方案[3, 4]。
(1)方案I(安全层置于物理层或物理层与ATM层之间或ATM层)
在这个方案中,安全功能对信元的全部53字节进行加密,提供了完整的机密性(用户数据和业务流机密性),并使得安全机制对所有高层透明。但是由于ATM交换需要使用5字节信元头信息,因此它存在以下缺点:
a.降低了交换性能,暴露了用户有效负荷。途中的ATM交换机必须完全地解密和再加密每一个信元,因此而增加的额外开销常不是所希望的,且许多现存的交换机不能提供这种业务。
b.需要庞大的密钥管理系统管理交换机和终端的密钥,而且信元的净负荷在交换机处因需要解密而呈明文,易受到攻击。
c.完整性校验需额外的分割功能,从而增加了开销。
(2)方案II(将安全层置于ATM层和AAL层之间)
本方案中,安全层对相邻层透明,从而可避免以下方案III中所提到的实现问题。在此情形下,安全机制在固定大小的SAR-PDU上操作。因为是在ATM层加信元头,因此整个SAR-PDU都可以被加密。加密机制可能导致的数据扩充问题可采用诸如“反馈链”及“流加密”等技术加以解决。因此,数据加密可以采用这种方案。虽然在这一层上提供完整性校验会导致额外的信元分割要求,完整性校验要求计算完全校验和值(ICV)并将其附于数据后。此外,当采用“链技术”时,可能需要—个初始化矢量(IV)。因此,需在一个信息的末尾添加ICV并在下—个信息的开始提供IV,而在最后一个SAR-PDU内没有足够的空间用于添加这两个参数时,就需要产生一个额外的SAR-PDU以容纳ICV和IV。事实上,这个额外的SAR-PDU可被用于加密同步。由于ATM网络可能丢失信元,因此,同步是实现ATM网络安全的一个基本的要求,将同步与完整性检测相结合有助于减少额外开销,同时,在与加密相同的层上提供同步,克服了在不同层上处理它们的缺点。该方案最易于实现ATM网络的安全性。
(3)方案III(将安全层置于AAL内)
将安全层置于AAL内明显的位置是在CS和SAR之间。这允许加密和完整性校验在CS-PDU上操作,从而可解决方案I中的主要问题之一,避免在交换机处为检测信元头而解密、再加密每一个信元。但是,本方案有—个实用系统中的实现问题。从逻辑上看,可以在AAL层的子层之间插入一个安全层。但实际上,由于AAL层的子层之间没有一个独立的可用接口,因此这种方法实际是不可行的,这就意味着安全功能的提供将需要更换AAL,而不是简单增加一个安全子层,这是在任何一个实用的ATM安全建议中所需考虑的一个实际问题。
(4)方案IV(将安全层置于AAL之上)
此方案中,安全功能在未分割的CS-SDUs上操作。但—般而言,可能有几个不同的高层应用在AAL上操作,安全层的接口需与这些不同的高层应用相匹配。因此,这种方法的实现代价和复杂性都要比在底层实现高。
3 结束语
由于网络的开放性和通信协议的安全有缺陷导致了网络安全问题。本文从无线链路和ATM网络两方面探讨和分析了3G移动通信系统的安全机制,同时考虑这两方面的安全性将对网络域内实体之间的信息交互和UE之间的相互通信提供更有力的安全保障。
参考文献:
[1] 3G TS 33.105 Version 3.0.0, 3G Security: Cryptographic Algorithm Requirements[S]. ftp://ftp.3gpp.org/specs.
[2] 刘东苏,韦宝典,王新梅. 改进的3G认证与密钥分配协议[J]. 通信学报, 2002, 23(5): 119—122.
[3] ATM Forum:ATM Security Specification[R]. http://www.atmforum.com.
[4] 李方伟. 第三代移动通信系统的安全技术研究[J]. 数字通信, 2001, (8): 9—11.
[5] 3G TS 33.102 Version 3.1.0, 3G Security: Security Architecture[S]. ftp://ftp.3gpp.org/specs.
[6] 3G TS 33.103 Version 1.0.0, 3G Security: Integration Guidelines[S]. ftp://ftp.3gpp.org/specs.
[7] 3G TS 33.120 Version 3.0.0, 3G Security: Security Principles and Objectives[S]. ftp://ftp.3gpp.org/specs.
[摘要] 文章基于3GPP体制探讨了3G系统的安全机制,重点分析了3G认证与密钥分配协议、加密与完整性保护的过程及其安全性,并针对核心网部分,从ATM PRM出发讨论了将安全功能置于ATM协议栈中不同位置时的几种安全方案。
[关键词] 3G系统;安全体制;AKA协议;加密与完整性;核心网;ATM网络安全
[Abstract] The security mechanism of 3G mobile communication system is discussed, based on 3GPP, with emphases on the analysis of 3G authentication and key agreement protocol, encryption and integrity protection. Finally several security schemes are proposed, aiming at the core network and based on the ATM protocol reference model, when the security layer is placed at different positions of the ATM protocol stack.
[Keywords] 3G mobile communication system; Security architecture; AKA protocol; Encryption and integrity; Core network; ATM network security