《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > CDMA实体认证机制分析

CDMA实体认证机制分析

2008-07-17
作者:林四川,季新生

    摘 要: 移动通信使用无线信道,由于网络的开放性和无线传输的特性,存在多种安全隐患。认证机制" title="认证机制">认证机制是防止网络欺骗的重要手段。列举了CDMA技术体制的各种认证方法,并详细分析了cdma2000 1x系统实体认证机制的原理和过程。
    关键词: cdma2000 1x  移动通信安全  实体认证

 

    随着移动通信技术的发展,通信中的安全问题正受到越来越广泛的关注。它关系到用户、制造商和运营商的切身利益。人们在使用移动通信得到便利的同时,也对通信中的信息安全提出了更高的要求。
    由于空中接口的开放性,为确保用户访问网络资源的合法性和安全性以及服务网络的真实性,各种移动通信系统" title="移动通信系统">移动通信系统普遍采用了相应的安全机制" title="安全机制">安全机制,这些安全机制主要分为认证和加密。其中认证机制又包括实体认证和消息认证。前者是移动台MS(Mobile Station)和基站BS(Base Station)之间为了验证MS或BS的身份真实性而进行的信息交换过程,而后者则适用于接收方验证通信内容的真实性和完整性。本文重点研究基于IS-95的cdma2000 lx系统的实体认证机制。
1 CDMA的安全机制
1.1 移动通信系统的安全体系结构
    移动通信系统的安全体系结构可以分为四个层次和五个安全域,如图1所示。

                  
    四个层次分别为传输层、归属层/服务层、应用层和系统安全管理配置层。五个安全域分别为:(I)网络接入安全;(II)网络域安全;(III)用户域安全;(IV)应用域安全;(V)安全特性的可视性及可配置能力。
1.2 CDMA的网络安全机制
    CDMA无线链路采用伪随机码PN(Pseudo_random Noise code)对信号进行扩频,使得信号很难被拦截和窃听,此外,还规定一系列接入安全机制,如图2所示。由于终端处理能力和空中带宽受限,两地的CDMA安全基于私钥技术,安全协议依赖于一个64bit的认证密钥(A_Key)和终端的电子序列号(ESN)。CDMA的网络安全机制提供以下安全特征:
    (1)匿名性,为终端分配TMSI。
    (2)基于查询/应答的单向认证。
    (3)语音/用户数据/用户信令保密。

                                  
    CDMA的网络安全机制采用四种安全算法:(1)蜂窝认证和话音加密算法CAVE(Cellular Authentication and Voice Encryption),用于查询/应答(Cha11enge/Response)认证协议和密钥生成;(2)专用长码掩码PLCM(Private Long Code Mask)算法,用于控制扩频序列,然后将扩频序列与语音数据异或实现语音保密;(3)基于LSFR的流密码的ORYX算法,用于无线用户数据加密服务;(4)增强的分组加密算法E_CMEA(Enhanced Cellular Message Encryption Algorithm),它采用一个分组密码,用于加密控制信道。
1.3 认证
    通常,在以下场合均需要认证:MS发起呼叫(不含紧急呼叫)、MS接收呼叫、MS位置登记、MS进行补充业务操作、切换(包括在MSC_A内从一个BS切换到另一个BS、从MSC-A切换到MSC_B以及在MSC_B内又发生了内部BS之间的切换等情形)。除此以外,由于认证技术本身特点的影响,CDMA在更新共享秘密数据SSD(Shared Secret Data)时还需要特殊的认证,以保证SSD的安全性。认证过程几乎涉及网络中所有实体,包括MSC、拜访位置寄存器VLR、归属位置寄存器HLR、鉴权中心AUC以及基站子系统BSS和MS。
    在目前的2G和2.5G CDMA系统接入网" title="接入网">接入网中,认证过程只对接入CDMA系统的终端进行认证,而终端并不对网络进行认证。这种认证过程能够防止非法终端接入网络及使用网络资源,但无法防止伪基站的攻击。
    cdma2000实体认证涉及到的内容有根密钥A_Key、SSD、SSD的更新以及网络对终端认证过程等。
2 cdma2000 1x的接入安全机制
2.1 密钥和相关参数管理
    无线接入涉及的安全参数主要有ESN、A_Key、SSD以及RAND和呼叫历史参数COUNT。cdma2000 lx主要管理A_Key和SSD的分配和更新。其中,ESN长32bit,是MS的唯一标识,由厂家设定;A_Key是主密钥,用于产生SSD;SSD则用于认证和产生子密钥;RAND是一个32bit的值,与SSD_A和其他参数结合起来用于对MS发起/终止呼叫和注册时进行认证;COUNT定义一个保存在基站中的模64的事件计数,当MS接收到一个参数更新指令时将更新COUNT。
    在任何时候,每个MS总是拥有一个当前的SSD值,并且整个网络共享一个32bit的随机值RAND。RAND由服务网络周期性地进行更新。
    A_Key长64bit,存储在MS的永久性安全标识存储器中,仅对MS和HLR/AC可知,且不在空中传输。A_Key不直接参与认证和保密,只是用于产生子密钥,而子密钥则用来进行语音、信令及用户数据的保密工作。因此,保证A_Key的安全至关重要。A_Key可以重新设置,终端和网络认证中心AC的A_Key必须同步更新。其设置方法有以下几种:
    (1) 由制造商设置并分发给服务提供商" title="服务提供商">服务提供商。制造商必须产生和存储密钥,制造商和服务提供商需要建立安全的分发通道,因此对制造商和服务提供商而言,这种方法不太可行,但对用户来说却非常方便。
    (2) 由服务提供商产生,在销售点由机器分配或由用户手动设置。这种方法的前提是信任经销商,如果是机器分配,则要求所有终端具有标准接口;如果是手动设置,则对用户来说并不方便,而且密钥分配和管理机制也很复杂。
    (3) 通过空中服务提供功能OTASP(Over The Air Service Provisioning)在用户和服务提供商之间实现密钥的产生和分配。终端的A_Key通过OTASP更新,可以切断克隆终端的服务或为合法用户提供新服务,实现简单,是一种受欢迎的A_Key分发机制,也是目前3GPP2建议采用的方法。同时,3GPP2还建议用基于Diffie_Hellman的密钥交换协议协商A_Key。
    SSD长128bit,存储在MS中,分为两个64bit的子集:SSD_A和SSD_B。SSD_A用于支持认证过程;SSD_B用于支持话音、信令和数据加密。
    新的SSD由CAVE生成,SSD更新成功后,通常BS会发起一个独特查询/响应子过程(为了完成双向认证)。CAVE算法用于SSD更新过程,如图3所示。该过程包含了MS对BS的认证,图中的MIN是IMSI的后10位数字。

                        
    在第一次CAVE算法中,以A_Key、ESN及从网络收到的随机数作为CAVE算法的输入参数,计算出新的SSD。在第二次CAVE算法中使用新生成的SSD、UIM卡选择的随机数RANDBS及IMSI作为CAVE算法的输人参数,计算并输出一个用于验证的结果值。
2.2 认证过程
    认证的目的主要是为了确定MS和网络的真实性,在MS和BS之间进行鉴权验证。认证实质是验证MS和BS之间是否共享了相同的SSD,如果确认其共享了相同的SSD,则认为对MS进行了成功的验证;否则,认证失败。认证方式包括MS主动通过BS向接入网注册及BS主动对MS认证。两种方式的思想完全相同,不同的是发起认证的流程。
    图4是接入网对MS发起的认证概要流程图,其过程如下:
    (1)MSC首先向BS发起认证请求(Authentication Request),然后启动定时器T3260。
    (2)BS将携带一个要发给MS的随机数RANDU(Random Variable Unique Challenge)的认证请求消息(Authentication Challenge Message)通过空中接口发给MS。
    (3)MS根据SSD和特定的RANDU通过认证算法CAVE计算出认证摘要码(AUTHU),并返回携带认证摘要码的认证查询响应消息(Authentication Challenge Response Message)给BS。
    (4)向MSC发送认证响应消息(Authentication Response Message),MSC在接收到认证响应消息后,停止定时器T3260。
cdma2000中的认证功能包括构成新的算法进行用户认证、认证密钥管理、数据加密密钥产生等。CAVE算法有三个基本部分:一个32位的线性移位寄存器、16个8位混合寄存器以及一个置换表。上述A_Key、SSD 的产生过程中都调用了CAVE算法,并且针对具体的应用有相应的输入参数和输出参数。

                       
    cdma2000 lx提供网络对MS的单向认证。根据AC/HLR和VLR之间是否共享SSD,可分为SSD共享和非SSD共享两种情况认证。在共享SSD时,CAVE算法在VLR中完成;而在非SSD共享时,CAVE算法则在AC/HLR中完成。规范中定义了两种主要的认证过程:全局查询/应答认证和唯一查询/应答认证。这两种认证都是基于共享SSD的认证。
2.2.1 全局查询/应答认证
    全局认证包括注册认证、发起呼叫认证、寻呼响应认证,如图5所示。全局查询在寻呼和接入信道上启动,MS可在接入信道上完成注册认证、发起呼叫认证、寻呼响应认证等内容。

                             
    这一过程只有网络对MS的认证,不能防止网络欺骗,缺点根源为用于认证的RAND是全局的。如果AUTHR被某些MS泄露了,它就有可能被伪装者使用直至其失效。
2.2.2 唯一查询/应答认证
    唯一查询/应答认证在接入认证失败时启动,用于验证快速请求的有效性。由BS发起,可以在寻呼信道和接入信道上实现,也可以在前向和反向业务信道上实现,如图6所示。

                            
    如果比较失败,BS拒绝MS的接入,终止进行中的呼叫,或者启动SSD更新过程,这一过程中网络只对某一MS认证,安全性较高。
    A_Key的保密性是认证机制起作用的基本前提,所以从根本上来说,认证的安全性是由A_Key的安全性决定的。虽然在SSD更新中包含MS对VLR的认证,但总的来说,基于IS-95的cdma2000 lx系统的认证主要是网络对MS 的认证,这是因为在移动网络建立初期主要考虑保护运营商的利益,减少“克隆”手机的危害。另外,上述认证过程并没有考虑VLR和HLR之间的通信安全,它们之间的信息交互可能是未经加密的,这样,如果攻击者对两者之间的通信进行窃听,则可获取认证向量等重要信息,进而发起重放攻击。
    cdma2000新的认证过程正在发展过程中。针对存在的问题,为了提高系统认证的可靠性和互操作性,并有利于第三代移动通信系统之间的互联互通,cdma2O00 lx升级系统已经决定采用3GPP的AKA机制;保密机制采用AES算法;所有密钥长度增加到128bit。新的认证方式称为增强型用户认证(ESA),此方式增强了认证的功能,实现了网络和终端的相互认证,可以防止伪基站的入侵。
参考文献
[1] CDMA 1X RTT SECURITY OVERVIEW[s] by Qualcomm.August 2002.
[2] 3GPP TS33.102 V4.2.0 security architecture[s]. 2001-09.
[3] 3GPP TS33.902 V4.2.0 formal analysis of 3G authentication protocol [s], 2001-09.
[4] Implementation of Authentication and Encryption in DMSS by QCT Software Team of Qualcomm [s]. February 2001.
[5] 辛伟. cdma2000系统的安全机制.电信网技术,2003,(8):

[6] 杜诗武. cdma2000 lx系统中的实体认证及其实现.电讯技术,2005,(4).
[7] 常永宇. CDMA2000 1X网络技术[M].北京:电子工业出版社,2005.
[8] 杨义先,钮心忻.无线通信安全技术[M].北京:北京邮电大学出版社, 2005.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。