??? 1? 重定位用戶數據加密功能描述
?
??? 1.1約定
??? 重定位時加密功能描述的是服務RNC(SRNC)進行加密,伴隨著SRNC重定位的硬切換:用戶設備(UE)的測量報告表明硬切換的目標小區屬于另外一個RNC,這時無線接入網絡(UTRAN)決定執行硬切換,進行SRNC重定位,將UE移交給目標RNC。
??? 由于不支持Iur接口,所以采用UEinvolved的重定位,通過Iu接口RANAP信令和Uu接口RRC信令來實現。
??? 基于先考慮簡單的基本過程,再逐步完善各種復雜情況的思路,約定如下:
??? 暫不考慮組合域重定位時的加密實現,對于組合域重定位時加密,視為重定位失敗。
??? 在重定位前,源RNC已經配置加密,如果重定位時尚未配置加密信息,視為不需要進行加密。
??? 源RNC在重定位發起后,忽略CN發來的SecurityModeCommand消息。
??? 目標RNC應該接受源RNC指定的加密配置信息,不應該在發往源RNC的Containner中指定新的加密配置。如果目標RNC不支持源RNC側加密配置,視為重定位失敗。
??? 1.2源RNC的處理策略
??? 重定位的時候,UTRAN的網絡節點之間傳遞RRC信息的典型方式是RRC信息容器(RRCinformationcontainer)。RelocationRequired消息中IE'Source RNC to Target RNC Transparent Container'內容包括UE當前在空中接口上的所有相關信息。向目標RNC傳遞這些信息目的是作為目標RNC分配資源的參考。
??? 源RNC側SMC模塊的主要任務是正確填寫Containner中和完整性保護、加密相關的信息。重定位時加密功能主要考慮此容器中的CipheringrelatedinformationIE,以及Integrityprotection related information IE。Ciphering related information說明見表1。
??? 加密使用Integrityprotectionrelatedinformation IE中的binstring(Implementation specific parameters)來攜帶源側與加密相關的信息。
??? Implementationspecificparameters共51 2 b,完整性保護占用216 b,加密從217 b開始規劃,具體如圖1所示。
?? 加密算法采用16b存放(UEA0~UEAl5),每次有且僅有一個算法啟用,該算法其相應位置1,其余算法相應位都置0。加密占用178b,那么Bitstrm。g占用395b。
??? 由于源RNC上SRB2還要發送RadioBearerReconfiguration消息,對于源側SRB2的下行HFN在填充透明容器時進行保護,判斷SN+1是否發生翻轉,如果發生翻轉,則將SRB2的下行HFN+1填入透明容器中。
??? 1.3目標RNC的處理策略
??? 對于加密功能目標RNC的處理,主要完成如下兩步:
??? (1)接收Container
??? RelocationRequest消息中IESourceRNC to Target RNC Transparent Container帶給目標RNC UE的RRC信息。
??? 在系統內重定位的情況下,如果SourceRNC-to-TargetRNCtransparent container IE里面提供了Ciphering Key IE,目標RNC會選擇使用一種加密算法,并利用此加密密鑰去加密信令數據(無論選擇了哪一種算法)。而此時Relocation Request消息中Encryption InformationIE里面的Encryption Key IE將一直不會被視為加密信令數據之用。
??? 忽略RelocationRequest消息中EncryptionInformationIE和Integrity Protection Information IE信息的配置。
??? 如果源RNC側沒有啟用加密,則SourceRNCtoTarget 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
??? RelocationRequest消息中的SourceRNCto 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中的信息組RadioBearerReconfiguration消息,然后發往源RNC,源RNC在收到這條消息后,不做處理,并對RadioBearer Reconfiguration消息進行加密,直接透傳給UE。
??? 在沒有完成重定位前,如果源RNC側或者目標RNC側出現任何異常,都會導致重定位失敗,直接發起RRC連接釋放過程。
??? 1.4重定位加密過程
??? 重定位過程中的用戶數據加密過程如圖2所示。
??? 重定位加密過程處理步驟如下:
??? (1)源側RNC根據測量報告,發起重定位過程;
??? (2)源側MM模塊調用SMC模塊提供函數,發送CountC_Req消息,向TPSS查詢AM/UM/TMCountc,并啟定時器。
??? 如果不需要進行加密,則發送一條RLCCOUNTCREQ消息給DSDU。如果CS域加密,則發送一條RLCCOUNTC_REQ消息,一條MAC_COUNTC_REQ消息給DSDU。如果PS域加密,則發送一條RLCCOUNTCREQ消息給DSDU,一條RLC_COUNTC_REQ消息給
??? PSDU。如果定時器超時,則視為重定位失敗,調用MM模
??? 塊函數返回RELOCATIONFAILURE。
??? (3)源側收到CountC_Rsp消息后,SMC模塊先檢查此次重定位過程加密情況是否支持。
??? 如果不支持該情況,視為重定位失敗,調用MM模塊函數返回RELOCATIONFAILURE(失敗情況:組合域重定位)。否則,填充本地SMC容器信息,調用MM模塊函數,填充透明容器信息并發送RelocationRequired消息。
??? 對于源側SRB2的下行HFN在填充透明容器時進行保j戶,判斷SN+1是否發生翻轉,如果發生翻轉,則將SRB2的下行HFN+1填入透明容器中。
??? (4)目標側RNC收到RelocationRequest消息,檢查目標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)源側收到RELOCATIONCOMMAND消息,組織RB重配置消息,進行加密/完整性保護,發送RBRECONFIGURATION消息給UE。
??? (7)目標側收到RB重配置完成消息,發送RLCSTART_IND消息給TPSS,使用RBRECONFIGURA_TIONCOMPLETE消息攜帶的START值更新新建RB
??? 的HFN(SRB2除外)。
??? (8)目標側發送RELOCATIONCOMPLETE消息。
??? (9)源側收到Iu_RELEASE_COMMAND消息,發起用戶釋放過程。
??? 2? 結語
??? 安全模式控制過程(SMC)一般在通話過程中和重定位中出現。目前,在通話過程中的安全模式控制過程(SMC)已經被制造廠商廣泛使用并趨成熟,而重定位過程中的安全模式控制過程(SMC)卻一直處于探索階段,這也造成了不同廠家設備之間互連互通出現問題。希望通過上面的討論為該技術的最終標準化實現提供幫助。
評論
查看更多