(重庆邮电学院,重庆400065)
摘 要:移动通信技术的发展,对系统的安全性能提出更高的要求。2G的安全技术已经不再满足人们对安全的需要,在对比2G与3G的安全技术的基础上,具体分析了3G系统在用户身份保密,用户认证与密钥协商以及数据完整性方面的改进,能与2G兼容,并保留了2G中的安全功能。
关键词:3G;加密;认证;完整性
0 引 言
移动通信中的安全问题正受到越来越多的关注。人们在得到使用移动通信的便利的同时,对通信中的信息安全也提出了更高的要求。
在模拟蜂窝移动通信中基本上没有采用什么安全技术,对用户的信息是以明文传送的。在无线链路窃听非常容易,移动用户的身份鉴别过程也非常简单。移动用户把移动终端的电子序列号ESN和由网络分配的移动识别号MIN一起使用明文方式传送给网络,只要二者相符,就可建立呼叫。因此只需截获MIN和ESN就容易克隆模拟蜂窝电话。
在第二代数字移动通信系统中,在安全性方面有了较大的改进,通过加密方式来传递用户信息,对移动用户的认证采用了询问-响应认证协议。网络给移动用户发送一个认证请求询问,并要求用户作出相应的响应。虽然可以在传输链路上截获到该询问,但计算相应的响应需要用到与特定用户相关的秘密信息,而该信息只有合法用户知道,即只有合法用户才能作出正确响应,而且认证算法采用了密码学杂凑函数设计而成。即使询问与响应都被截获,也很难计算出与合法用户相关的秘密信息。在2G系统中采用了临时身份TMSI机制在无线链路上识别移动用户,一般情况下不使用IMSI来识别用户,由此加强了对用户身份的保密,而且使用了SIM卡,使得用户终端独立出来。
尽管第二代移动通信GSM系统在安全性方面 有了大的进步,但它仍然存在许多不足。在2G系统中的认证机制是单方面的,也就是说只考虑了网络对用户的认证,而没有考虑用户对网络的识别。由此带来的问题是,可以通过伪装成网络成员对用户进行攻击。加密机制是基于基站的,只有在无线接入部分信息被加密,而在网络内的传输链路和网间链路上仍然使用明文传送。随着解密技术的发展和计算能力的提高,2G中使用的加密密钥长度是64 bit,现在已经能在较短的时间内解密该密钥。在2G中没有考虑密钥算法的扩展性,只采用了一种加密算法,致使更换密钥算法十分困难。另外克服GSM中的信息传送没有考虑消息的完整性。
3G移动通信系统中的安全技术是在GSM的安全基础上建立起来的,它克服了GSM中的安全问题,也增加了新的安全功能。下面将介绍3G安全中的几个主要技术。
1 用户身份保密
3G系统中的用户身份保密有3方面的含义:①在无线链路上窃听用户身份IMSI是不可能的;②确保不能够通过窃听无线链路来获取当前用户的位置;③窃听者不能够在无线链路上获知用户正在使用的不同的业务。
为了达到上述要求,3G系统使用了2种机制来识别用户身份:①使用临时身份TMSI;②使用加密的永久身份IMSI。而且要求在通信中不能长期使用同一个身份。另外为了达到这些要求,那些可能会泄露用户身份的信令信息以及用户数据也应该在接入链路上进行加密传送。在3G中为了保持与第二代系统兼容,也允许使用非加密的IMSI。尽管这种方法是不安全的。
在使用临时身份机制中,网络给每个移动用户分配了一个临时身份TMSI。该临时身份与IMUI由网络临时相关联,用于当移动用户发出位置更新请求、服务请求、脱离网络请求,或连接再建立请求时,在无线链路上识别用户身份。
当系统不能通过TMUI识别用户身份时,3G系统可以使用IMSI来识别用户(见图1)。
该机制由拜访的SN/VLR发起向用户请求IM-SI。用户可选择两种方法来响应:一是与GSM一样使用IMSI明文;二是使用扩展加密移动用户身份XEMSI。由于使用IMSI的明文传送,可能导致IMSI被窃听。在3G中应该使用加密的用户身份。
在收到SN/VLR的身份请求后,MS/USIM把IMSI加密后嵌入HE-message中,并且用HE-id来向SN/VLR指明可以解密该HE-message的HE/UIC的地址。SN/VLR收到HE-message后,根据HE-id再把该消息传送到相应的HE/UIC,HE/UIC解密后把用户的IMSI传递给SN/VLR。在收到用户的IMSI后,就可以启动TMSI分配过程,此后将使用TMSI来识别移动用户身份。
这种增强型身份加密机制把原来由无线接入部分传送明文IMSI变成在网络内传送明文IMSI,在一定程度上加强了用户身份的机密性。
2 认 证
在GSM中采用了3元参数组(RAND/SRES/KC)来进行认证(见图2)。鉴权中心产生3参数组RAND/SRESAUC/KC,将其传送给HLR。在HLR中为每个用户存储1-10组参数,而在VLR中每个用户存储1-7组参数。VLR选取其中一组参数,将参数中用于鉴权用的随机数RAND传给用户。MS利用存储在SIM卡内的与AUC共同拥有的密钥Ki,以及收到的RAND通过A3算法计算出SRESMS。然后MS把SRESMS传给VLR,在VLR中比较SRESMS和SRESAUC,如果两者相同,则表示用户认证完成,否则网络将拒绝MS。
3G系统中沿用了GSM中的认证方法,并作了改进。在WCDMA系统中使用了5参数的认证向量AV(RAND‖XRES‖CK‖IK‖AUTN)。3G中的认证,执行AKA(Authentication and Key Agree-
ment)认证和密钥协商协议(见图3)。
图3中,HE/HLR表示用户归属区的用户归属寄存器;AV表示认证向量;AUTN表示认证令牌;RES和XRES分别表示用户域的应答信息和服务网的应答信息;RAND表示生成的随机数;CK和IK分别表示数据保密密钥和数据完整性密钥。
AKA协议可分为2部分。①用户归属域HE到服务网SN认证向量的发送过程。SN(由VLR/SGSN实体执行)向HE(由HLR实体执行)申请认证向量,HE生成一组认证向量AV(1,…,n)发送给SN,SN存储收到的认证向量;②认证和密钥建立的过程。SN从收到的一组认证向量中选择一个AV(i),将AV(i)中的RAND(i)和AUTN(i)发送给用户的USIM进行认证。用户收到RAND和AUTN后计算出消息认证码XMAC(见图4),并与AUTN中包含的MAC相比较,如果二者不同,USIM将向VLR/SGSN发送拒绝认证消息。如果二者相同,USIM计算应答信息XRES(i),发送给SN。SN在收到应答信息后,比较XRES(i)和RES(i)的值。如果相等则通过认证,否则不建立连接。最后在认证通过的基础上,MS/USIM根据RAND(i)和它在入网时的共享密钥Ki来计算数据保密密钥CKi和数据完整性密钥IK(i)。SN根据发送的AV选择对应的CK和IK。
比较上述2种认证机制,可以看见3G系统的实体间认证过程比原有2G系统认证功能增强很多,且增加了新功能。具体有以下3方面。
①2G系统只提供网络对用户的单向认证,而3G系统则完成了网络和用户之间的双向认证。
②3G系统增加了数据完整性这一安全特性,以防止篡改信息这样的主动攻击。
③在认证令牌AUTN中包括了序列号SQN,保证认证过程的最新性,防止重新攻击。并且SQN的有效范围受到限制。这些安全功能在2G系统中是没有的。
3 数据保密性
在2G系统中,在无线接口上的数据加密采用密码流加密。在用户侧和网络侧,分别用3参数中的Ki和RAND,通过A8算法计算出密钥Kc.然后把64 bit的密钥Kc和当前帧号Fn(22 bit)作为A5算法的两个输入参数来计算密钥流,由于Fn的不断变化,因而A5产生不同的密钥流。信息在发送端与密钥流逐位异或来加密,在接收端再使用同密钥流逐位异或来加密(见图5)。密钥流算法A5包括A5/0,A5/1,A5/2等,其中A5/1是强加密算法,A5/2是弱加密算法,而A5/0表示不加密。但随着技术的发展,2G中的加密已经变得不太安全了,有文献表明现在的解密技术已经能达到通过分析通话时前两分钟内A5/1的输出,在不到一秒钟的时间内得到密钥Kc。而且在2G中,加密算法是固定不变的没有更多的密钥算法可选择,缺乏算法协商和加密钥协商过程。
在3G系统中,网络接入部分的数据保密性主要提供4个安全特性:加密算法协商、加密密钥协商、用户数据加密和信令数据加密。其中加密密钥协商在AKA中完成。加密算法协商由用户与服务网间的安全模式协商机制完成。在无线接入链路上仍然采用分组密码流对原始数据加密,采用了f8算法(见图6)。它有5个输入:①COUNT是密钥序列号;②BEARER是链路身份指示;③DIRECTION是上下行链路指示;④LENGTH是密码流长度指示;⑤CK是长度位128 bit的加密密钥。
与2G相比,3G不仅加长了密钥长度,而且引入了加密算法协商机制。
当移动终端ME需要与服务网SN建立连接时,USIM告诉服务网它支持哪些加密算法。服务网根据下列规则作出以下判断。
①如果ME与SN没有相同版本的UEA(加密算法),但SN规定使用加密连接,则拒绝连接。
②如果ME与SN没有相同版本的UEA,但SN允许使用无加密的连接,则建立无加密的连接。
③如果ME与SN有相同版本的UEA,SN选择其中一个可接受的算法版本,建立加密连接。
3G系统中预留了15种UEA的可选范围。目前只用到一种算法Kasumi。这种特性增加了3G系统的灵活性,使不同的运营商之间只要支持一种相同的UEA,就可以跨网通信。
另外在2G中的加密是基于基站,消息在网络内是用明文传送,这显然是很不安全的。3G加强了消息在网络内的传送安全,采用了以交换设备为核心的安全机制,加密链路延伸到交换设备,并提供基于端到端的全网范围内加密。
4 数据完整性
在移动通信中,MS和网络间的大多数信令信息是非常敏感的,需要得到完整性保护。在2G中,没有考虑完整性问题。在3G中采用了消息认证来保护用户和网络间的信令消息没有被篡改。数据完整性保护方法如图7所示。
发送方把要传送的数据用完整性密钥IK经过f9算法产生消息认证码MAC,将其附加在发出的消息后面。在接收方把收到的消息用同样的方法计算得到XMAC。接收方把收到的MAC与XMAC相比较,如二者相同就说明收到的消息是完整的。
3G数据完整性主要提供3个安全特性:完整性算法(UIA)协商、完整性密钥协商、数据和信令的完整性。其中完整性密钥协商在AKA中完成;完整性算法协商由用户与服务网间的安全模式协商机制完成,完整性算法协商与加密算法协商过程相似,在这里就不详细叙述了。3G系统预留了16种UIA的可选范围,目前只用到一种算法Kasumi。
5 结 论
移动通信中的安全技术得到了很大的发展,第三代移动通信的安全以第二代中的安全为基础,保留了在二代中被证明是必要和强大的安全功能,并且考虑了能与二代兼容。在3G中克服了2G中的一些安全问题,并且对2G中的弱点做了很大的改进,同时也考虑了安全的扩展性。
参考文献
[1] 张平,王卫东.第三代蜂窝移动通信系统—WCDMA[M].北京:北京邮电大学出版社,
2000.
[2] 杨义先.网络信息安全与保密[M].北京:北京邮电大学出版社,1999.
[3] 祁玉生,邵世祥.现代移动通信系统[M].北京:人民邮电出版社,1999.
[4] 3GPPTechnical Specification 33.102,2000.3Gsecurity architecture[S].
[5] 3GPPTechnical Specification 33.103,2000.3Gsecurity:Integration Guidelines[S].
[6] 3GPPTechnical Specification 33.900,2000.3Gsecurity:Aguide to 3rd Generation Se-curity[S].
摘自 北极星电技术网