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)卻一直處于探索階段,這也造成了不同廠家設備之間互連互通出現問題。希望通過上面的討論為該技術的最終標準化實現提供幫助。
評論
查看更多