WCDMA和TD-SCDMA移动通信技术是3GPP定义的第三代移动通信国际标准,与GSM网络相比,其安全性有了极大的提高,本文对3GPP网络定义的安全机制进行了全面的分析,并提出了增强其安全性的几点建议。
一、引言
WCDMA移动通信网络和TD-SCDMA移动通信网络是国际电信联盟(ITU)认可,并由3GPP组织完成的第三代移动通信国际标准,其中WCDMA标准由欧洲、日本提出,而TD-SCDMA标准由我国提出。
与第二代移动通信技术相比,第三代移动通信技术可以提供更加丰富的通信业务,包括语音、传真、短消息、视频通话、多媒体短消息、高速互联网业务等。在此基础上,第三代移动通信网络用户可以享受丰富的通信业务带来的各种便利,如可以在任何地点方便地通过网上银行查账及转账,可以通过手机炒股等。这些应用对第三代移动通信网络的安全性提出了更高的要求。第三代移动通信网络的安全机制与第二代移动通信网络相比,安全性有了很大提高,如增加了移动终端对网络的认证,加密密钥由64bit增加到了128bit等。本文首先对3GPP定义的第三代移动通信网络的安全机制进行了分析,并提出了增强其安全性的几点建议。
二、3GPP的安全机制
3GPP的安全机制分为5类:
(1)增强用户身份保密(EUIC):通过HE/AuC(本地环境/认证中心)对USIM(用户业务识别模块)身份信息进行认证;
(2)用户与服务网间身份认证(UIC);
(3)认证与密钥分配(AKA):用于USIM、VLR/SGSN(访问位置寄存器/服务GPRS支持节点)、HLR(归属位置寄存器)间的双向认证及密钥分配;
(4)数据加密(DC):UE(用户终端)与RNC(无线网络控制器)间信息的加密;
(5)数据完整性(DI):用于对交互消息的完整性、时效性及源与目的地进行认证。3GPP定义了11个安全算法:f0、f1*、f1~f9,以实现其安全功能。f8、f9分别实现数据保密性和数据完整性标准算法。f6、f7用于实现EUIC。AKA由f0~f5实现。
1.3GPP的鉴权认证过程
3GPP的鉴权认证过程如图1所示。同GSM相比,3GPP除了网络对UE的认证外,还增加了UE对网络的认证。
过程说明:
(1)用户归属域(HE)到服务网(SN)认证向量的发送过程:
认证中心(AuC)为每个用户生成基于序列号的认证向量组(RAND,XRES,CK,IK,AUTN),并且按照序列号排序。
(2)当AUC收到VLR/SGSN的认证请求时,发送N个认证向量组给VLR/SGSN。在VLR/SGSN中,每个用户的N个认证向量组,按照“先入先出”(FIFO)的规则发送给移动台,用于鉴权认证。
图1 3GPP的鉴权认证过程
(3)VLR/SGSN初始化一个认证过程,选择一个认证向量组,发送其中的RAND和AUTN给用户。用户收到后RAND∣∣AUTN后,在USIM卡中进行下列操作:
(a).USIM计算出XMAC,将它与AUTN中的MAC值进行比较。如果不同,用户发送一个“用户认证拒绝”信息给VLR/SGSN,放弃该认证过程。在这种情况下,VLR/SGSN向HLR发起一个“认证失败报告”过程,然后由VLR/SGSN决定是否重新向用户发起一个认证过程。
(b).用户比较收到的SQN是否在正确范围内(为了保证通信的同步,同时防止重传攻击,SQN应该是目前使用的最大的一个序列号,由于可能发生延迟等情况,定义了一个较小的“窗口”,只要SQN收到的在该范围内,就认为是同步的)。
(c).如果SQN在正确范围内,USIM计算出RES,发送给VLR/SGSN,比较RES是否等于XRES。如果相等,网络就认证了用户的身份。
(d).用户计算出加密密钥CK=f3;(RAND,K),完整性密钥IK=f4(RAND,K)。
2.3GPP的数据保密性
在完成了用户鉴权认证以后,在移动台生成了加密密钥CK,这样可以采用f8算法用于保护移动终端和RNC之间所传递的用户数据和信令数据的机密性。如果无线承载使用的是非透明RLC模式(确认模式AM或非确认模式UM),加密在RLC子层进行;如果无线承载使用的透明RLC模式(TM),则加密在MAC子层进行(MAC-d实体)。加密算法f8的原理如图2所示。
图2 在无线接入链路上传输的用户和信令数据的加密
f8算法的输入参数包括加密密钥CK、计数器COUNT-C、承载标识BEARER、传输方向DIRECTION和要求的密钥流长度LENGTH。基于这些输入参数,f8算法产生输出密钥流块,用于将要传输的明文进行加密,产生相应的密文。
主要参数简要说明:
COUNT-C:加密序列号,32bit长。
每个无线承载在上、下行链路分别存在一个COUNT-C值,初始值由相应的HFN确定。
CK:完整性密钥,128bit长。
CK在协商鉴权时,在HLR/AuC中产生并发送到VLR/SGSN。作为五元组的一部分存储在VLR/SGSN中,然后由VLR/SGSN发送到RNC。
BEARER:无线承载标识符,5bit长。
传输方向:长度是1bit。0表示上行,1表示下行。
3.3GPP的数据完整性
3GPP数据完整性过程如图3所示。
图3 数据完整性
发送方把要传送的数据用完整性密钥IK经过f9算法产生消息认证码(MAC),将其附加在发出的消息后面。在接收方用同样的方法进行计算,得到XMAC。接收方把XMAC和收到的MAC进行比较,如果相同就说明收到的消息是完整的,未经过篡改。
参数说明如下:
COUNT-I:完整性序列号,32bit长。
IK:完整性密钥,128bit长。IK在协商鉴权时在HLR/AuC中产生并发送到VLR/SGSN,作为五元组的一部分存储在VLR/SGSN中,然后,由VLR/SGSN发送到RNC。
FRESH:32bit长。每个用户有一个FRESH参数值,参数FRESH主要是使网络能抗击用户重放信令消息。
三、增强安全性的几点建议
从以上描述可以看出,3GPP的安全性相比GSM来说有了很大增强,但还有其薄弱的地方。为了增强3GPP的安全性,可以考虑采用以下几种方法。
1.物理层的安全性
在3GPP的标准中,TD-SCDMA标准使用了智能天线技术。智能天线实际上是一个自适应天线阵,它对从基站向移动终端发送的下行无线信号进行波束赋形。经研究表明,对于使用4个天线单元的智能天线,其波束宽度在15°至20°,如果在波束覆盖范围之外,则很难还原出原始的无线信号,因此,智能天线技术的应用对于提高无线接口的安全性有很大好处。对于WCDMA标准,智能天线目前不是强制使用。为了提高3GPP物理层的安全性,应该使用智能天线技术。
目前TD-SCDMA使用的智能天线均为二维天线阵。随着技术的发展,可以预见,三维智能天线的使用会使无线信号更加安全。
另外,TD-SCDMA标准由于其技术上的独特性,在无线接口中使用了上行同步技术,即要求来自不同距离的不同用户终端的上行信号能同步到达基站,这对改善系统性能、简化基站接收机的设计都有明显的好处,同时也使无线信号更加不易被窃听。
2.Iu接口和Iur接口的安全性
VLR/SGSN和RNC之间的接口称为Iu接口,RNC之间的接口称为Iur接口。3GPP对于无线接口部分定义了较完善的安全机制,但对于Iu接口和Iur接口,保密参数仍然为明文传输,这对于3GPP网络将是一个潜在的安全威胁,因此,应该研究如何增强Iu接口和Iur接口的安全性。
3.传输中用户身份的加密
无线网络中用户身份是高度秘密的数据。在GSM和3GPP网络中,使用临时身份标识(TMSI)来标识用户,在无线接口中一般的信令交互以TMSI来标识用户,这在一定程度上增强了安全性。但在某些特定的情况下,如用户第一次向网络注册,或网络无法从TMSI得到IMSI时,用户的IMSI号码仍会以明文在无线接口传输,这也是一个安全隐患。为了避免这种情况,可以考虑在需要用户与网络直接传输IMSI的情况下,使用某个特定的密钥将IMSI加密后传输。
4.开发我国自主的加密法
3GPP定义的f8算法和f9算法可以采用15种算法。目前,3GPP使用的是KASUMI算法,该算法由三菱公司免费提供给3GPP使用。虽然此算法经过公开论证,可以抵抗线性分析和差分分析,具备较高的安全性,但对于我国而言,为了国家安全考虑,迫切需要采用我国自主的加密算法。
5.采用公钥算法
3GPP没有采用公钥算法作为空中接口的加密算法。为了使3GPP网络适用于需要电子签名的通信业务,应该考虑将公钥算法作为可选的加密算法。
6.增强用户数据完整性
3GPP定义的完整性算法f9仅针对于用户信令部分,为了进一步增强用户数据的安全性,使其不被非法篡改,应对用户数据部分也进行完整性保护。
7.采用端到端的安全性保护措施
3GPP没有定义端到端的用户数据加密,对于需要极度机密通信业务的用户,可以采用移动终端提供的端到端安全性保护。这种安全机制对网络可以是透明的。
四、总结
从以上描述可以看出,3GPP提供了比上一代移动通信技术更加强大的安全性保护,可以在相当程度上保证用户和网络的安全性。但3GPP还有一些安全方面的潜在漏洞,为了进一步提高其安全性,本文提出了一些建议。3GPP的安全性是一个包含范围广,影响深远的研究课题,为了对其进行充分分析,有必要在未来的研究中进行更加深入的研究