TD-SCDMA网络安全机制探讨

时间:2022-07-06 12:59:00

TD-SCDMA网络安全机制探讨

【摘要】GSM AKA机制存在安全隐患,特别是COMP128算法已公认不安全,为此TD-SCDMA AKA采用了全新机制,比GSM AKA机制安全更有保障,但该机制算法复杂。文章对TD-SCDMA网络安全机制进行了分析,并且考虑到TD-SCDMA与GSM系统将长期共存的现实,对TD-SCDMA与GSM AKA兼容性也进行了分析,为处于TD-SCDMA技术高速发展的现阶段和未来阶段进一步增强网络运营安全提供参考。

【关键词】AKA Milenage Kasumi

1 背景

长期以来,业务需求一直是通信技术发展的重要推动力量。在移动通信领域,由于GSM网络面临技术瓶颈,不能满足人们对高速数据业务和多媒体通信的需求,从而逐步向3G时代过渡。作为3G标准之一,TD-SCDMA技术在解决GSM网络瓶颈问题的同时,更加关注网络安全机制的改进,彻底摈弃了以COMP128为基础的认证机制,引入了以Milenage算法为基础的全新认证机制,网络安全得到空前保障;但该机制算法复杂、参数众多。

目前正值TD网络快速建设阶段,为充分利用TD技术提供的安全保障,有必要对其安全机制进行深入探讨。

2 TD-SCDMA网络安全机制

为对抗来自空中接口的网络威胁,TD-SCDMA网络安全的整体设计思路是:为保护用户和网络的合法性,采用询问-响应的认证机制;为保护用户身份核心数据IMSI,采用TMSI标识用户;为保护数据和信息安全,空中接口采用密文。

2.1 鉴权和密钥协商(AKA)

本过程有两个目的:一是实现网络和用户的合法性认证,二是协商加密密钥CK和完整性密钥IK。其总体流程如图1所示:

VLR/SGSN功能实体决定是否启动AKA过程。若需要启动,当系统本身无可用的鉴权向量时,VLR/SGSN向MS归属实体HE/HLR请求新的鉴权向量;VLR/SGSN存储并选择一组获得的鉴权数据向MS下达鉴权命令,MS在此过程中首先验证网络的合法性,若合法,MS上报鉴权响应RES,同时计算出密钥IK、CK,以备后续使用,尔后VLR/SGSN利用从HLR获得的XRES与MS上报的RES对比,一致鉴权通过,否则失败;若鉴权认证无误,若VLR/SGSN决定启动加密传输,则选择IK、CK发送至RNC并指示启动加密传输。

仅从AKA过程来看,TD-SCDMA与GSM最大的区别是鉴权过程,TD-SCDMA是MS和网络的双向鉴权,而GSM仅进行网络对用户的认证。但从具体细节来看,TD-SCDMA和GSM不同之处众多。

(1)认证向量

TD-SCDMA AKA过程使用五元组向量(RAND、AUTN、CK、IK、RES),向量生成过程基于Milenage算法,该算法的输入参数众多,难以破译,大大加强了网络安全。其向量的生成过程如图2所示:

其中输入参数为:

K是只存在于AUC和USIM中的认证密钥;

OPc是OP与K值函数运算后的结果,存在于AUC与USIM;

OP是运营商密钥,属于运营商的最高机密;

RAND是鉴权随机数,用于计算各参数;

SQN用于保障鉴权向量的新鲜性,防止非法网络认证;

AMF是鉴权管理域,可以用来指示生成某一个鉴权向量所使用的算法和密钥;

R1-5是旋转常量,增加算法复杂度;

C1-5是变换常量,增加算法复杂度;

输出参数为:

MAC用于与USIM生成的X-MAC对比,实现对网络认证;

XRES用于与USIM生成的RES对比,实现网络对USIM认证;

CK是加密密钥,用于生成密码流;

IK是完整性密钥,用于生成消息认证码;

AK是匿名密钥,加密SQN;

AUTN携带MAC、SQN和AMF,用于USIM对网络认证,实现鉴权向量新鲜性保障。

(2)鉴权过程

如图3所示,MS接收到MSC/SGSN下发的鉴权向量后,首先利用自身存储的K、OPC、R2/C2参数计算出匿名密钥AK,尔后利用AK解密SQN,再利用SQN、K、OPC、AMF和R1/C1参数计算出XMAC。

MS对比XMAC与网络侧下发的AUTN参数中的MAC异同:

若不相同,MS认为网络为非法网络,直接向网络返回MAC错误的鉴权失败消息。

若相同,MS此时需要验证鉴权向量的新鲜性。若新鲜,MS更新自身存储的SQNms并认为网络合法,利用自身存储的数据计算出RES、CK、IK,其中RES返回给VLR/SGSN,IK、CK保留以备后续加密使用;VLR尔后比较MS上报的RES和从HLR获得的XRES,若相同,网络认为MS合法,将CK、IK传递至RNC准备启动加密,否则网络拒绝MS接入。若MS认为网络下发的鉴权向量不新鲜,则将发起鉴权重同步过程,具体过程如图4所示:

MS利用自身存储的SQNms等参数计算出AUTS,通过鉴权失败消息返回给VLR/SGSN,原因是同步失败。VLR/SGSN接收到该消息后,将向HLR发送同步失败的鉴权请求消息(内含AUTS),HLR此后的处理流程如下:

提取出SQNms,若SQNhe>SQNms,则HLR直接生成新的鉴权向量组传递给VLR/SGSN;

若SQNhe

通过以上分析,不难看出SQN在鉴权过程中至关重要,通过验证SQN的新鲜性是保障MS防止恶意攻击的重要手段。

(3)SQN的作用

TD-SCDMA AKA中引入SQN可以实现认证向量新鲜性、合法性保障,有效地防止恶意攻击,该过程涉及的参数如下:

SQN位长48bits,SQN = SEQ || IND,其中SEQ位长43bits,IND位长5bits。

SQNms是终端中保存的目前收到过的SQN最大值。

SQNheAuc是为每个用户保存的已使用过的SQN最大值。

SEQms(i)是终端中保存的SEQ数组中的第i个值。

IND长度为5bits,取值范围为0~31,表示终端中存储了大小为32的SQN数组。在有不同接入方式情况下,应将各接入方式的IND取值范围区别开。

L表示允许的可接受序列号的最大寿命,即新接收到的SQN和SQNMS之间的最大允许数值差。

ΔUSIM是可接受的序列号跳跃的最大值。

A. 新鲜性

若SEQ> SEQms(IND),则认为网络下发的认证向量是新鲜的;并更新SEQms(IND)至SEQ。

B. 合法性

条件1:SEQ > SEQms- L;

条件2:SEQ-SEQms ≤ Δ。

认证向量中的SQN同时满足A和B,MS才认为是有效的认证向量。其中3Gpp引入L字段的目的是保障SQN的时效性,但鉴于在实际应用中,当用户频繁发生域间切换时,对于L的判断易导致频繁重同步等鉴权异常,目前各运营商已要求不再判断该条件。

Δ参数的引入是为防止溢出攻击,即攻击对手使用较大的SQN发攻击,使USIM卡很快作废;为此,Δ字段的选择一定要谨慎,一般是:

Δ必须足够大,以保证当AuC功能正常时USIM不会收到SEQ-SEQms > Δ的SQN;

Δ必须足够小,以保证在溢出攻击下敌手需要成功鉴权的次数SEQmax/Δ足够大。

目前Δ一般取值是228, 选择Δ=228意味着在溢出攻击下敌手将需要至少SEQmax/Δ = 215> 32,000次成功的鉴权。

(4)密钥协商

MS完成对网络的认证后,将生成CK和IK,用于后续可能的加密过程;当VLR/SGSN收到MS发送的鉴权响应消息后,会通过比较RES和XRES确认MS的合法身份,然后根据需要选择是否启动安全传输模式,若启动,VLR/SGSN将CK、IK传递至RNC,完成密钥分发,尔后网络和MS将可以使用相同的密钥进行安全传输了。

2.2 用户身份保密

为保障标识用户身份的重要参数IMSI不泄露,TD-SCDMA采用TMSI代替IMSI在空中接口上传输。

TMSI是由本地网络分配给每一个用户临时的身份标识,所以只有本地网络知道该TMSI对应的IMSI,因此在无线链路上传递时,即使被窃听者获取,也无法获知移动用户的IMSI。TMSI与网络临时相关联,可以在位置更新、业务请求时重新分配,重分配频率较高,可有效地保证网络安全。

当系统不能通过TMSI识别用户身份时,UMTS系统可以使用IMSI来识别用户,该机制由MSC/VLR发起向用户请求IMSI。用户可以选择两种方式来响应:一是与GSM一样使用明文IMSI;二是使用扩展加密移动用户身份XEMSI,此后VLR通过用户归属的HLR解密该XEMSI来获得用户IMSI。

2.3 加密传输

TD-SCDMA系统中,空中接口传递的数据采用密码流进行加密,从而有效地防止了窃听。

与GSM加密传输相比,TD-SCDMA增加了对信令消息的完整性保护,该机制是对消息内容的保护,从而有效防止了对消息内容的篡改,使安全性又有了提升。

TD系统预留了16种UEA(加密算法)、UIA(完整性算法),目前仅用到了一种算法KASUMI。

3 TD-SCDMA与GSM AKA兼容性

3GPP考虑到TD-SCDMA和GSM系统将长期共存,需要最大限度地保证系统间的互操作,其中最基本的要求便是保证TD-SCDMA与GSM AKA的兼容性。

3.1 TD-SCDMA用户兼容性需求

如图5所示,TD/GSM网络单元、TD用户时鉴权和密钥协商中的参数选取:

(1)当接入网为UTRAN时:HLR将鉴权向量(5元组)发送给VLR/SGSN(VLR/SGSN版本R99+);VLR/SGSN将CK/IK送UTRAN;UTRAN使用RAND、AUTN、RES与MS进行鉴权流程;使用CK/IK进行加密和一致性保护。

(2)当接入网为GSM BSS,VLR/SGSN版本R99+时,HLR将鉴权向量(5元组)发送给VLR/SGSN。此后具体采用TD AKA还是采用GSM AKA,需要VLR/SGSN通过CLASSMARK来判断MS是否支持TD AKA。

若支持,VLR/SGSN使用RAND、AUTN、RES与MS进行鉴权流程,鉴权成功后,用户和网络分别通过CK/IK计算出Kc,传递到目的实体后进行GSM 安全传输。

若不支持,VLR/SGSN将HLR下发的5元向量通过转换函数转化为3元组,进行GSM AKA。

(3)当VLR/SGSN版本R98-时,HLR需要完成5元向量到3元向量的转换,尔后将3元组向量发送给VLR/SGSN;此后VLR/SGSN和用户将使用GSM AKA。

3.2 GSM用户兼容性需求

如图6所示,为兼容长期存在的大量GSM用户,鉴权和密钥协商中的参数选取:

(1)R99+VLR/SGSN通过MAP 3版本的鉴权参数请求消息向HLR请求鉴权向量时,HLR回送3元组,由此断定用户属于GSM用户,此后鉴权过程应使用RAND和SRES进行鉴权。

(2)若通过UTRAN接入,鉴权完成后,VLR/SGSN应将Kc转换为IK、CK进行3G安全传输。

(3)若通过BSS接入,进行GSM AKA过程。

3.3 兼容性整体需求

通过以上分析,要满足3GPP TD-SCDMA用户兼容性需求,必须做到:

(1)HLR能够完成5元向量到3元向量的单向转换。

(2)R99+ VLR/SGSN,能够完成5元向量和3元向量间的双向转换;R99+ VLR/SGSN,除能判断接入网类型外,还必须有能力判断终端类型。

(3)R99+ 终端是TD-SCDMA和GSM双模终端,能够支持USIM-ME接口,也能支持SIM-ME,还能完成密钥转换。

(4)USIM卡支持USIM-ME接口,也必须支持SIM-ME接口。

有必要澄清的是,将USIM卡用户相关的5元组数据转换为3元组数据进行GSM AKA和SIM卡用户直接进行GSM AKA,虽然形式上是相同,但本质上是有区别的,即相同RAND通过A3、A8算法生成的SRES、Kc,与经过Milenage算法生成RES、IK、CK尔后通过转换函数生成的SRES、Kc值并不相同。

4 总结

目前,各大设备、USIM卡厂商,比如华为、爱立信、中兴、大唐等相关设备都支持Milenage和Kasumi算法,并支持TDAKA向GSM AKA转换,多普达、酷派最新版本的终端也能够支持Kasumi算法,从而完整支持了TD系统安全机制,并兼容GSM安全机制。

总之,TD-SCDMA系统比GSM系统网络安全更有保障,因为是建立在复杂的安全机制基础上的。深入理解TD-SCDMA系统的安全机制,对于网络运维至关重要。GSM系统和TD-SCDMA系统将长期共存,系统间的兼容性是不可忽视的问题,掌握3GPP对兼容性要求,对于网络运维也同等重要。

参考文献

[1]李小文,等. TD-SCDMA第三代移动通信系统、信令及实现[M]. 北京:人民邮电出版社, 2003.

[2]李世鹤. TD-SCDMA第三代移动通信系统标准[M]. 北京:人民邮电出版社, 2003.

【作者简介】

范荣明:毕业于西安电子科技大学,工学硕士。现就职于中国移动通信集团陕西有限公司网管中心,长期从事移动通信网络维护、优化工作。

郭锐:毕业于西安交通大学,工程硕士。现就职于中国移动通信集团陕西有限公司网管中心,工程师,任交换室经理,长期从事移动通信网络规划、维护、优化工作。

李锦仪:泰尔实验室资深测试工程师,从事无线通信产品测试多年,对GSM/GPRS/CDMA/TD-SCDMA等通信技术有深入的理解,尤其在终端设备及其相关设备测试方面有丰富的经验。参与过多种移动通信产品测试标准制定和多套测试系统开发研究。曾发表一系列关于通信产品测试的文章。

上一篇:实现高质量室内覆盖的方案探讨 下一篇:自适应Turbo码译码器的设计与硬件实现