1 重定位用户数据加密功能描述
1.1 约定
重定位时加密功能描述的是服务RNC(SRNC)进行加密,伴随着SRNC重定位的硬切换:用户设备(UE)的测量报告表明硬切换的目标小区属于另外一个RNC,这时无线接入网络(UTRAN)决定执行硬切换,进行SRNC重定位,将UE移交给目标RNC。
由于不支持Iur接口,所以采用UE involved的重定位,通过Iu接口RANAP信令和Uu接口RRC信令来实现。
基于先考虑简单的基本过程,再逐步完善各种复杂情况的思路,约定如下:
暂不考虑组合域重定位时的加密实现,对于组合域重定位时加密,视为重定位失败。
在重定位前,源RNC已经配置加密,如果重定位时尚未配置加密信息,视为不需要进行加密。
源RNC在重定位发起后,忽略CN发来的Security Mode Command消息。
目标RNC应该接受源RNC指定的加密配置信息,不应该在发往源RNC的Containner中指定新的加密配置。如果目标RNC不支持源RNC侧加密配置,视为重定位失败。
1.2 源RNC的处理策略
重定位的时候,UTRAN的网络节点之间传递RRC信息的典型方式是RRC信息容器(RRC information container)。Relocation Required消息中IE'Source RNC to Target RNC Transparent Container'内容包括UE当前在空中接口上的所有相关信息。向目标RNC传递这些信息目的是作为目标RNC分配资源的参考。
源RNC侧SMC模块的主要任务是正确填写Containner中和完整性保护、加密相关的信息。重定位时加密功能主要考虑此容器中的Ciphering related informationIE,以及Integrity protection related information IE。Ciphering related information说明见表1。
加密使用Integrity protection related information IE中的binstring(Implementation specific parameters)来携带源侧与加密相关的信息。
Implementation specific parameters共5 1 2 b,完整性保护占用216 b,加密从217 b开始规划,具体如图1所示。
加密算法采用16 b存放(UEA0~UEAl5),每次有且仅有一个算法启用,该算法其相应位置1,其余算法相应位都置0。加密占用178 b,那么Bitstrm。g占用395 b。
由于源RNC上SRB2还要发送Radio Bearer Reconfiguration消息,对于源侧SRB2的下行HFN在填充透明容器时进行保护,判断SN+1是否发生翻转,如果发生翻转,则将SRB2的下行HFN+1填入透明容器中。
1.3 目标RNC的处理策略
对于加密功能目标RNC的处理,主要完成如下两步:
(1)接收Container
Relocation Request消息中IE Source RNC to Target RNC Transparent Container带给目标RNC UE的RRC信息。
在系统内重定位的情况下,如果Source RNC-to-Target RNC transparent container IE里面提供了Ciphering Key IE,目标RNC会选择使用一种加密算法,并利用此加密密钥去加密信令数据(无论选择了哪一种算法)。而此时Relocation Request消息中Encryption InformationIE里面的Encryption Key IE将一直不会被视为加密信令数据之用。
忽略Relocation Request消息中Encryption Information IE和Integrity Protection Information IE信息的配置。
如果源RNC侧没有启用加密,则Source RNC to Target RNC Transparent Container IE中不会包含Ciphering related information信息,目标RNC将不会启动加密操作。如果源RNC侧启用加密,在IE Source RNC to Target RNC Transparent Container中还需要包含Integrity protection related information信息。
目标RNC负责将接收到的Container中和加密相关信息保存到本地的SMC_CTX中,并发送消息将源侧加密相关信息带给TPSS。如果目标RNC不支持该配置,则重定位资源分配失败。
(2)发送Container到SRNC
Relocation Request消息中的Source RNC to Target RNC Transparent Container IE给目标RNC带来了UE的RRC信息,基于这些信息,目标RNC会准备硬切换消息(如Radio Bearer Reconfiguration)。然后,目标RNC会把准备好的硬切换消息传回源RNC,由源RNC向UE发送。这条硬切换消息将被填人Relocation Request Acknowledge消息中的Target RNC to Source RNC Transparent Container IE中。
目标RNC使用Container中的信息组Radio Bearer Reconfiguration消息,然后发往源RNC,源RNC在收到这条消息后,不做处理,并对Radio Bearer Reconfiguration消息进行加密,直接透传给UE。
在没有完成重定位前,如果源RNC侧或者目标RNC侧出现任何异常,都会导致重定位失败,直接发起RRC连接释放过程。
1.4重定位加密过程
重定位过程中的用户数据加密过程如图2所示。
重定位加密过程处理步骤如下:
(1)源侧RNC根据测量报告,发起重定位过程;
(2)源侧MM模块调用SMC模块提供函数,发送CountC_ Req消息,向TPSS查询AM/UM/TM Countc,并启定时器。
如果不需要进行加密,则发送一条RLC COUNTCREQ消息给DSDU。如果CS域加密,则发送一条RLCCOUNTC_REQ消息,一条MAC_COUNTC_REQ消息给DSDU。如果PS域加密,则发送一条RLC COUNTCREQ消息给DSDU,一条RLC_COUNTC_REQ消息给
PSDU。如果定时器超时,则视为重定位失败,调用MM模
块函数返回RELOCATION FAILURE。
(3)源侧收到CountC_Rsp消息后,SMC模块先检查此次重定位过程加密情况是否支持。
如果不支持该情况,视为重定位失败,调用MM模块函数返回RELOCATION FAILURE(失败情况:组合域重定位)。否则,填充本地SMC容器信息,调用MM模块函数,填充透明容器信息并发送Relocation Required消息。
对于源侧SRB2的下行HFN在填充透明容器时进行保j户,判断SN+1是否发生翻转,如果发生翻转,则将SRB2的下行HFN+1填入透明容器中。
(4)目标侧RNC收到Relocation Request消息,检查目标RNC是否支持源侧的加密配置,如果不支持,视为重定位失败。否则,更新SMC_CTX中加密/完整性保护相关信息。
如果进行加密,向TPSS发送CIPHER_IND消息。对于CS域,发送一条RLC_CIPHER_IND消息,一条MAC_CIPHER_IND消息给DSDU。如果PS域加密,则发送一条RLC_CIPHER_IND消息给DSDU,一条RLC_CIPHER_IND消息给PSDU。
目标侧对于AM/UM/TM模式的RB,均立即启用加密配置。
对于目标侧SRB2,采用源侧SRB2的上下行HF较大者加1作为其上下行HFN。
(5)目标侧发送RELOCATION_REQUEST_ACKNOWLEDGE消息。(6)源侧收到RELOCATION COMMAND消息,组织RB重配置消息,进行加密/完整性保护,发送RBRECONFIGURATION消息给UE。
(7)目标侧收到RB重配置完成消息,发送RLCSTART_IND消息给TPSS,使用RB RECONFIGURA_TION COMPLETE消息携带的START值更新新建RB
的HFN(SRB2除外)。
(8)目标侧发送RELOCATION COMPLETE消息。
(9)源侧收到Iu_RELEASE_COMMAND消息,发起用户释放过程。
2 结 语
安全模式控制过程(SMC)一般在通话过程中和重定位中出现。目前,在通话过程中的安全模式控制过程(SMC)已经被制造厂商广泛使用并趋成熟,而重定位过程中的安全模式控制过程(SMC)却一直处于探索阶段,这也造成了不同厂家设备之间互连互通出现问题。希望通过上面的讨论为该技术的最终标准化实现提供帮助。
作者:大唐电信有限公司 郭莉 王宏岳 来源:《现代电子技术》