众所周知,CDMA2000没有4G技术标准,而是无线侧通过把现有HRPD网络升级为eHRPD网络,接入到LTE/4G的核心网EPC, 从而实现面向4G的过渡。
这个过渡方案至少存在两个重要原则:一是保障CDMA2000用户和业务面向LTE/EPC网络的平滑演进和互操作;二是过渡方案容易实现,改动尽量少。
在3GPP2规范定义的eHRPD过渡技术中,无线侧基于HRPD,只是在上层(或NAS层)进行了基于EPC网络特征的适配定义,试图让终端,接入网,以及核心网通过软件改动实现到LTE/EPC的互操作,从而用户不管在CDMA2000网络,还是在LTE网络,都能实现统一认证,统一计费和用户管理,并由EPC网络统一提供服务。另外,这一过渡方案假定终端已经支持USIM卡,或者具备AKA方式鉴权能力,实现了更加安全的鉴权方式,并与LTE的鉴权方式保持一致。
下图给出了CDMA2000与LTE/EPC的互操作网络架构。同时示意了接入三种网络即CDMA2000现网,CDMA2000 eHRPD过渡网络,以及LTE网络进行用户鉴权时各自网络节点的构成。
需要说明的是,如图所示的网络结构中,考虑到eHRPD的过渡周期内,CDMA2000现网可能较长时间仍然存在,如何让这些现网用户在不换卡的情况下支持eHRPD/EPC接入,是一个需要解决的重要问题。
一般来说,在接入3GPP网络时终端需支持USIM鉴权方式。其中,AKA执行函数,root key,连同终端用户标示等都存储在USIM卡中并在USIM实现算法。 不支持USIM的终端,AKA执行函数在遵循MILENAGE算法框架定义的基础上,由终端模块(ME)实现,其中终端模块需要访问SIM卡模块以获取root key。eHRPD/EPC接入的鉴权也遵循这些原则。
在eHRPD/EPC中,鉴权采用EAP-AKA’方式,可参见RFC5448定义,这里面有几个关键方面:
AKA: 要求支持AKA鉴权框架(参见3GPP TS33.102),包括认证交换,同步等。
AKA执行函数:要求支持AKA所需的执行函数(可参见3GPP TS35.206)。
根密钥(root key):鉴权双方需共享root key。
终端标示UE ID: 鉴权双方需存储该标示,用于进行终端用户身份标示;也可支持临时伪标示,尤其是用于快速重鉴权。
安全应用:产生MSK用于链路层安全保护。
模块划分:用于算法本身及参数的实现和存储的模块,通常UE划分为ME和SIM两个模块。
另一方面,CDMA现卡(C-SIM卡或R-UIM卡)支持的是CAVE和MD5两种安全算法,基于CAVE和MD5的鉴权方式均为网络向终端的单向鉴权,实现简单,但安全性相对较差。尽管AKA的执行函数可以遵循MILENAGE方法定义并通过终端模块实现,但因为不能直接访问SIM卡以获取root key,故只能获取CAVE和MD5基于root key计算后的结果。
由此可见,鉴权方式的不同是用户使用eHRPD时需要换卡的关键因素,而针对CDMA卡的现有认证算法,又不能满足AKA双向鉴权算法的应用需求。因此,需要设计变通方式以实现AKA鉴权(本文统称为CDMA-AKA鉴权),以支持用户不换卡的情况下接入eHRPD/EPC网络。下文对CDMA-AKA鉴权方案进行简单描述和分析。
针对CAVE的AKA鉴权算法(或称为CAVE-AKA), 3GPP2在IMS项目组中有相应研究,可参见3GPP2 S.S0127。该CAVE-AKA算法通过使用RAND,进行CAVE运算,来产生AKA KEY。更准确地说,规范使用的是双重RAND, 其中一个RAND(或叫做RANDM),通过AKA AUTN和ANTS进行隐藏,避免被中间节点截取。核心算法包括:
AKA_KEY = 128 MSBs of SHA-256(KEYSM|KEYSN)
KEYSN = SMEKEY|CDMAPLCM|AUTHR
KEYSM = SMEKEY|CDMAPLCM|AUTHRM
其中KEYSN,KEYSM分别通过两个RAND由RUN CAVE产生。初始RANDM通过AKA同步过程的AUTS隐藏传递给对端,过程中的RANDM通过AUTN隐藏进行传递。
下图为规范中设计的AKA认证交换中AUTN及RAND的格式,以及同步传递RANDM中AUTS的格式
同样的道理,针对CDMA卡的现有MD5鉴权方式,也需要通过变通方式实现AKA(或称作MD5-AKA),核心问题仍然是产生AKA KEY, 例如:
AKA_KEY = 128 MSBs of SHA-256(KEYSM|KEYSN)
KEYSN = FUNCTION1(MD5(RAND))
KEYSM = FUNCTION2(MD5(RANDM))
其中KEYSN,KEYSM分别通过两个RAND由RUN MD5产生。初始RANDM通过AKA同步过程的AUTS隐藏传递给对端,过程中的RANDM通过AUTN隐藏进行传递。
现在,我们对上述所设计的CDMA-AKA鉴权算法,讨论如何具体应用到CDMA现网。首先分析和设计其工作流程,包括AKA认证交换过程,以及RANDM和SQN同步过程。
以下是AKA认证交换过程。
以下是AKA同步过程,用于同步RANDM和SQN.
根据本文所述的CDMA-AKA鉴权算法和主要流程,下面分析对CDMA现网各节点的影响,包括新功能需求和改造需求。 这些节点包括:终端UE, 网关设备HSGW, 3GPP2 AAA, HLR。
注明:这里的新功能仅包括CDMA现网和eHRPD规范要求以外的鉴权相关功能。
对于终端UE卡模块的功能需求:
利用原有的CDMA鉴权算法,无其他需求,不需要换卡
对于终端UE的ME模块的功能需求:
支持CDMA-AKA认证交换过程
计算AKA KEY,并鉴权网络
ME产生和保存RANDM,计算并保存KEYSM
检验RANDM和SQN的一致性,并进行同步
对HSGW的功能需求:
支持EAP承载的CDMA-AKA消息中转,无其他影响
对3GPP2 AAA的功能需求:
支持CDMA-AKA认证交换过程
能够计算AKA KEY, 产生AKA Vector,并鉴权终端
支持CDMA-AKA的RANDM和SQN同步过程
保存同步后的RANDM和SQN, 保存KEYSM
支持与HLR交互,获取RAND相关的计算结果
对HLR的功能需求:
无改动
CDMA现网节点的改造要求要点:
终端不需换卡。
终端模块实现本文所述的CDMA-AKA相关算法和流程,难度不大。
HSGW只需中转EAP承载的CDMA-AKA消息,改动极小。
保持现网HLR能力,无改动。
3GPP2 AAA需支持上述CDMA-AKA相关算法和基于该算法的EAP-AKA‘流程,难度不大。但需要考虑该3GPP2 AAA与HSS的交互,以获取eHRPD呼叫相关的签约数据。
总之,基于CDMA现卡改造设计的CDMA-AKA鉴权方案,用于现卡终端,不需换卡,终端通过软件等升级,可以直接接入EPC核心网络,实现统一鉴权和用户管理,实现统一EPC业务使用。方案设计简洁,改造较少,易于实现。
主要参考规范:
3GPP2 X.S0057: E-UTRAN eHRPD interworking
3GPP2 S.S0127: CAVE base IMS security
3GPP TS33.102: Security architecture
3GPP TS33.402: SAE, Security aspects for non-3GPP
3GPP TS29.273: EPS AAA interface
3GPP TS35.206: MILENAGE algorithm sets
IETF RFC4187:EAP-AKA
IETF RFC5448: EAP-AKA’
巫长征(march.wu@synertone.net): 曾在UT 斯达康深圳研发中心工作10年,主要从事WCDMA/CDMA2000/LTE 分组核心网研发和系统设计工作,并于2010年随该产品线转入深圳协同信联通信技术公司(www.synertone.net),任系统工程和架构设计总监.
作者:巫长征 来源:C114中国通信网