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