文/陳細生
5G gNB基站內部的完保和加密在PDCP(Packet Data Convergence Protocol,分組數據匯集協議)層具體完成,由高層配置有關密鑰和算法,完保加密的輸入參數包括COUNT,DIRECTION,BEARER,KEY等,完 保 主要是針對信令面的處理,對于上行方向,UE(user equipment)發送經過完保加密后的數據給基站,基站采用對應的算法和密鑰進行解密和完整性校驗。5G NR RLC(Radio Link Control,無線鏈路控制協議)的功能相比于LTE,有了一定修改,包括沒有級聯,沒有重排序功能等,使得上行方向發給PDCP的SDU可能亂序,不再是UE發出來的原本順序。由于SMC(SecurityModeComplete)信令前后,有的信令不完保不加密,有的只完保,有的既完保又加密,這種亂序可能會導致接入流程的一些信令完保解密失敗,所以基站必須有一種排序檢測機制。
為解決RLC上行發送給PDCP的信令包亂序,使得PDCP層不能適當地選用完保加密組合,本文提供了一種基于SMC信令的比較方法,可以正確地保證各條信令消息的完保解密,包括以下步驟:
步驟S1,RRC層(Radio Resource Control,無線資源控制層)配置PDCP層完保加密有關算法和密鑰,PDCP層保存并對全局控制變量賦值做好標識isParseSMCNeeded =TRUE,isSMCReceived = FALSE;
步驟S2,上行方向收到RLC PDU后,進行循環逐個處理,處理前首先判斷isParseSMCNeeded == TRUE,isSMCReceived == FALSE是否為真;
步驟S3,如果上述判斷為真,則根據協議固定的長度和字節值解析當前包是否為SMC包,不同的情況做不同的處理,如果不成立的話則將當前信令包丟入隊列最后,后續進入步驟S2再處理;
步驟S4,如果上述判斷為真,則只進行完保校驗不進行解密,并置相關變量isSMCReceived = TRUE,SmcSnCount = rcvCount(SMC信令的PDCP序列號),處理后發給RRC層;
步驟 S5,如果S2判斷為假,則解析并判斷當前包的PDCP序列號SN是否小于rcvCount(SMC信令的PDCP序列號),如果是小于則不進行完保也不進行解密,否則按照當前配置進行完保解密,處理后發給RRC層。
具體實現特點在于:通過多重的判斷分支處理,對于SMC信令之前的信令,按照當前的安全參數配置進行完保解密,此時沒有配置完保加密;對于SMC之后的信令,按照當前的安全參數配置進行完保解密,此時有配置完保加密;對于有配置完保加密后收到的SMC之前的信令,按照空完??占用芩惴ㄟM行完保解密。
由于5G的RLC層沒有了重排序的功能,即使是AM(Acknowledged Mode,確認模式),只有一個重組定時器等待SDU的完整,使得PDCP層收到的PDU可能是亂序的,雖然PDCP層有重排序的處理,但是協議規定一般是完保解密后再進行重排序,使得上述邏輯成為需要。
RRC層配置了PDCP層完保解密參數后,此時基站發送SM(securityModeCommand)給UE,此信令只完保不加密,UE收到此信令后發送SMC給基站,同樣沒有加密,但是此時上行來的包可能是SMC之前,之后等多種包一起亂序到達,如果不做特殊處理,必然會造成完保失敗接入信令流程無法完成的可能。
本文提出的方法在PDCP層實施,在收到安全參數配置后就開始等待SMC信令的到來,根據SMC信令的PDCP序列號SN為標準,將SMC之前的信令和之后的信令識別區分開來,并引導到不同的流程去處理,可以滿足不同的場景,保證了信令流程的不中斷,具有很大的創新性和實用性。
測試終端采用IXIA 模擬器,按照SA(Standalone)獨立組網進行多UE隨機接入,進行了多次測試,測試結果證明,在PDCP信令PDU接收亂序的情況下,接入信令流程也可以順利地完成。