一種lte基站用戶面數據安全處理方法
【專利摘要】本發明提供一種LTE基站用戶面數據安全處理方法,當有數據需要進行安全處理時,PDCP模塊只需將數據及相應的安全參數發送到安全加速模塊;安全加速模塊將數據加入到雙環形無鎖FIFO隊列中,然后將數據映射到內核內存以避免內存拷貝,待完成安全處理后安全加速模塊將數據發還到PDCP模塊。本發明在完成安全功能的同時,顯著提高了PDCP模塊的處理效率,降低了PDCP模塊對CPU資源的占用率,提升了整個系統的性能。
【專利說明】
一種LTE基站用戶面數據安全處理方法
技術領域
[0001]本發明涉及無線通信技術領域,尤其是涉及一種基于Linux系統的LTE(LongTermEvolut1n,長期演進)基站]^CPCPacket Data Convergence Protocol,分組數據匯聚協議)層安全功能的異步實現方法。
【背景技術】
[0002]隨著無線通信技術的進步,諸如電子商務、網上支付、股票交易、多媒體等業務對網絡的安全性提出更高的要求,因此無論是運營商還是客戶都越來越重視空口數據的安全性。3GPP在制定LTE協議時規定了接入層的安全功能由HXP層負責完成。
[0003]接入層的安全包括接入層空口信令即SRB(Signal Rad1 Bearer,信令無線承載)數據的完整性保護及加解密和用戶面數據即DRB (Data Rad1 Bearer,數據無線承載)數據的加解密。信令和普通數據的安全處理需要大量的算法運算,如果純粹用軟件來實現,那么CPU的負荷會很大。而在LTE系統中諸如必須嚴格按照時序進行的MAC (Medium AccessControl,媒體接入控制)層上下行調度處理,勢必要優先保障其CPU資源。因此如何能使用最少的CPU資源完成HXP層的安全功能是一項值得研究的工作。
【發明內容】
[0004]本發明提出了一種基于Linux系統的LTE基站I3DCP層安全功能的異步實現技術方案,其目的是在LTE基站進行安全功能處理的過程中,提高rocp模塊處理的效率,降低rocp模塊對(PU的使用率。
[0005]本發明提供了一種LTE基站用戶面數據安全處理方法,當有數據需要進行安全處理時,PDCP模塊將數據及相應的安全參數發送到安全加速模塊;安全加速模塊將數據加入到先進先出的雙環形無鎖隊列中,然后將數據映射到內核內存以避免內存拷貝,待完成安全處理后將數據發還到rocp模塊;
SRB數據的下行安全處理流程包括以下步驟,
步驟1.1,rocp模塊收到L3的SRB數據后,是則添加rocp頭部,將該數據及相關安全參數發送給安全加速模塊進行完整性保護;
步驟1.2,設置雙環形無鎖隊列,其中indata隊列中存儲需要進行處理的數據,outdata隊列存儲已經過處理的需要發出去的數據;安全加速模塊收到rocp模塊發送的需要完整性保護的數據及其相關完保參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成完整性保護后將該數據加入到outdata隊列中;最后將經過完保的數據發送到rocp模塊;
步驟1.3,rocp模塊收到經安全加速模塊完保后的數據后,將相關安全參數再次發送到安全加速模塊進行加密處理;
步驟1.4,安全加速模塊根據rocp模塊發送的加密的KEY值和加密的算法,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成加密后將該數據加入到outdata隊列中;最后將經過加密的數據發送到roCP模塊;
步驟1.5,rocp模塊對數據包添加rocp頭部構成rou,并發送至RLC層;
DRB數據的下行安全處理流程包括以下步驟,
步驟2.1,rocp模塊收到GTP-U的DRB數據后,將該數據的相關安全參數發送給安全加速模塊進行加密處理;
步驟2.2,安全加速模塊收到需進行加密的數據及其相關加密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的加密后將該數據加入到outdata隊列中,最后將經過加密的數據發送到HXP模塊;
步驟2.3,H)CP模塊收到經安全加速模塊加密后的數據后,對數據包添加PDCP頭部構成PDU,并發送至RLC層;
SRB數據的上行安全處理流程包括以下步驟,
步驟3.1,H)CP模塊收到RLC發送的SRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理;
步驟3.2,安全加速模塊收到需進行解密的數據及其相關解密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該數據加入到outdata隊列中,最后將經過解密的數據發送到HXP模塊;
步驟3.3,H)CP模塊收到經安全加速模塊解密的數據后,將該數據相關的安全參數再次發送到安全加速模塊,進行完整性驗證處理;
步驟3.4,安全加速模塊將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的完整性驗證處理后將該數據加入到outdata隊列中,最后將經過完整性驗證處理的數據發送到rocp模塊;
步驟3.5,H)CP模塊收到經完整性驗證的數據后,遞交給L3;
DRB數據的上行安全處理流程包括以下步驟,
步驟4.1,H)CP模塊收到RLC發送的DRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理;
步驟4.2,安全加速模塊收到需進行解密的數據SDU及其相關解密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該數據加入到outdata隊列中,最后將經過解密的SDU發送到HXP模塊;
步驟4.3,I3DCP模塊收到經安全加速模塊解密的數據后,對該SDU進行頭解壓縮處理,最后將遞交給GTP-U。
[0006]而且,在步驟1.1、步驟2.1、步驟3.1、步驟4.1在判斷是否配置了安全功能,是則繼續流程,否則跳轉到流程最后的步驟。
[0007]而且,在步驟1.1判斷是否配置了安全功能時,若否則在數據末尾添加4字節的消息完整性驗證碼MAC-1,然后跳轉到步驟1.5。
[0008]而且,在步驟3.3,I3DCP模塊從數據末尾取出4字節的消息完整性驗證碼MAC-1,判斷是否配置了安全功能,若是則將該數據相關的安全參數再次發送到安全加速模塊;否則直接跳至步驟3.5。
[0009]本發明對比傳統LTE用戶面數據處理技術有以下創新點:
1、利用異步的數據并發處理方式,PDCP模塊在對數據進行處理時,安全加速模塊會同時對其它的數據進行安全處理,減少了 rocp模塊對cpu資源的占用率。
[0010]2、利用先入先出的無鎖隊列,保證了經安全加速模塊處理的數據是按照原來的順序返回rocp模塊的,避免了 rocp模塊需要進行重排序的處理,也是減少了 pdcp模塊對cpu資源的占用率。
[0011]3、利用用戶空間-內核內存映射技術,減少了對數據內存的拷貝,提高了系統的整體性能。
【附圖說明】
[0012]圖1為本發明實施例中雙環形無鎖隊列的示意圖;
圖2為本發明實施例中SRB數據下行處理流程圖;
圖3為本發明實施例中DRB數據下行處理流程圖;
圖4為本發明實施例中SRB數據上行處理流程圖;
圖5為本發明實施例中DRB數據上行處理流程圖。
【具體實施方式】
[0013]本發明主要針對LTE空口數據安全功能處理的優化,適用于LTE基站。該方案能滿足LTE無線通信基站建設中高速數據傳輸的需求,有效減少系統資源的占用,本設計充分利用SEC協處理器的硬件加速性能,并且利用用戶空間-內核內存映射技術減少對內存的拷貝,利用先入先出的無鎖化隊列和異步的數據并發處理,從而顯著的提高LTE基站的安全處理性能并且最大限度的降低I3DCP模塊在進行安全處理時對系統CPU資源的使用率。
[0014]以下結合附圖和實施例詳細說明本發明技術方案。
[0015]本發明的技術方案為一種基于Linux系統的LTE基站用戶面數據安全處理方法,采用異步的數據并發處理,將安全處理所需的參數發送至安全加速模塊進行安全處理;安全加速模塊利用先入先出的隊列在完成安全處理后,將數據包按照原有的順序發送至rocp模塊,避免rocp模塊對數據包的重排序處理;利用安全加速模塊的用戶空間-內核空間內存映射技術減少對數據的拷貝,從而顯著的提高LTE基站的安全處理性能并且最大限度的降低rocp模塊在進行安全處理時對系統cpu資源的使用率。
[0016]實施例中,當有數據需要進行安全處理時,PDCP模塊將數據及相應的安全參數發送到安全加速模塊;安全加速模塊將數據加入到先進先出的雙環形無鎖隊列中,然后將數據映射到內核內存以避免內存拷貝,待完成安全處理后將數據發還到rocp模塊;具體SRB數據的下行安全處理流程、DRB數據的下行安全處理流程、SRB數據的上行安全處理流程、DRB數據的上行安全處理流程分別實現如下:
1、SRB數據的下行安全處理流程如圖2所示,下行SRB(Signal Rad1 Bearer,信令無線承載)數據處理過程如下:
步驟1.1 JDCP模塊收到L3(Layer 3,基站的控制層)的SRB數據后,為數據添加TOCP頭部,將該數據及相關安全參數發送給安全加速模塊進行完整性保護。
[0017]實施例中,PDCP模塊收到L3的SRB數據后,對該SDlXService Data Unit,業務數據單元)進行編號(SN,Sequence Number,序列號)并得到其⑶UNT值;判斷是否配置了安全功能,若配置了安全功能則構造出該SDU的頭部,將該數據、其COUNT值、長度、無線承載ID、完保的KEY值、方向(下行)、完保算法發送給安全加速模塊;否則在數據末尾添加4字節的消息完整性驗證碼MAC-1 (值為O),直接跳至步驟1.5 ο完保算法即完整性保護算法。
[0018]變量COUNT是由低7或者12bit位的SN以及高25或著20bit位的超幀號組成的32bit的變量,它是進行安全處理必需的參數。變量KEY為密鑰。
[0019]SDUCService Data Unit,業務數據單元),是指定層的用戶服務的數據集,傳送到接收方的時候同一協議層時數據沒有發生變化,即業務部分,然后發給下層之后,下層將其封裝在PDU中發送出去。業務數據單元是從高層協議來的信息單元傳送到低層協議。第N層業務數據單元SDU,和上一層的協議數據單元(PDU)是一一對應的。根據協議數據單元的數據的不同,送到接收端的指定層。
[0020]步驟1.2,安全加速模塊收到PDCP模塊發送的需要完整性保護的數據及其相關完保參數后,將數據加入到無鎖隊列indata中;然后將其映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成完整性保護后將該數據加入到隊列outdata中;最后將經過完保的數據發送到HXP模塊。雙環形無鎖隊列如圖1所示。
[0021]圖1中的雙環形隊列長度為N的FIFO(先入先出)隊列,indata隊列中存儲需要進行處理的數據,outdata隊列存儲已經過處理的需要發出去的數據;傳入的數據Inbuf f er的data部分是需要處理的數據,Param是處理data所需的參數(本例中包括長度、方向、安全算法等);輸出的數據Outbuffer的data部分是已經過處理的數據,status則是數據處理的結果(成功或者失敗)。
[0022]outdata隊列與indata隊列相同大小,兩隊列是--對應,可以保證進、出安全加速模塊的數據的順序一致。
[0023]步驟1.3,PDCP模塊收到經安全加速模塊完保后的數據后,將相關安全參數再次發送到安全加速模塊進行加密處理。
[0024]實施例中,PDCP模塊收到經安全加速模塊完保后的PDU(Protocol Data Unit,協議數據單元)后,剝去PDU的頭部,即剝去數據的PDCP頭部,若該SRB數據不是下行第一條數據則將數據、其COUNT值、長度、無線承載ID、加密的KEY值、方向(下行)、加密算法發送到安全加速模塊;否則直接跳至步驟1.5。
[0025]步驟1.4,安全加速模塊按照步驟1.2中類似的處理方式對數據進行加密處理,只是傳入的參數變為加密的KEY值和加密的算法,進行的是加密的處理。即安全加速模塊根據rocp模塊發送的加密的KEY值和加密的算法,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成加密后將該數據加入到outdata隊列中;最后將經過加密的數據發送到I3DCP模塊。
[0026]步驟1.5,rocp模塊對數據包添加rocp頭部構成rou,將rocp pdu發送至rlc層。
[0027]實施例中,PDCP模塊收到經安全加速模塊加密后的SDlXService Data Unit,業務數據單元)后,將相應roiXProtocol Data Unit,協議數據單元)發送至RLC(Rad1 LinkControl,無線鏈路控制)層。
[0028]2、DRB數據的下行安全處理流程如圖3所示,下行DRB數據處理過程如下:
步驟2.1,PDCP模塊收到GTP-1KGPRS Tunneling Protocol User Plane,用戶GPRS隧道協議)的DRB數據后,將該數據的相關安全參數發送給安全加速模塊進行加密處理。
[0029]實施例中,PDCP模塊收到GTP-U的DRB數據后,對該SDU進行編號(SN)并得到其COUNT值,進行頭壓縮處理;判斷是否配置了安全功能,并判斷加密算法是否為空算法,若配置了安全功能且加密算法不為空則將經過頭壓縮處理后的SDU、其COUNT值、長度、無線承載ID、加密的KEY值、方向(下行)、加密算法發送給安全加速模塊;否則直接跳至步驟2.3。
[0030]步驟2.2,安全加速模塊收到需進行加密的數據及其相關加密參數后,將數據加入到無鎖隊列indata中;然后將數據映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的加密后將該數據加入到隊列outdata中,最后將經過加密的數據發送到PDCP模塊。
[0031]實施例中,安全加速模塊收到需進行加密的SDU及其相關加密參數后,將數據加入到無鎖隊列indata中;然后將數據映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的加密后將該數據加入到隊列outdata中,最后將經過加密的數據發送到PDCP模塊。
[0032]步驟2.3JDCP模塊收到經安全加速模塊加密后的數據后,將PDCP PDU發送至RLC層。
[0033]實施例中,pdcp模塊對數據包添加rocp頭部構成rou,將rocp pdu發送至rlc層,Sp將數據發送給RLC模塊。
[0034]3、SRB數據的上行安全處理流程如圖4所示,上行SRB數據處理過程如下:
步驟3.1,rocp模塊收到RLC發送的SRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理。
[0035]實施例中,PDCP模塊收到RLC發送的SRB數據之后,先剝去PDU的PCDP頭部,得到其序列號SN值,進而得到其COUNT值;判斷是否配置了安全功能,若配置了安全功能且它不是上行第一個SRB數據則將該SDU、其⑶UNT值、長度、無線承載ID、解密的KEY值、方向(上行)、解密算法發送給安全加速模塊,然后進行其它報文的處理;否則直接跳到步驟3.3。
[0036]步驟3.2,安全加速模塊收到需進行解密的數據SDU及其相關解密參數后,將其加入到無鎖隊列indata中;然后將數據映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該SDU加入到隊列outdata中,最后將經過解密的SDU發送到PDCP模塊。
[0037]步驟3.3,PDCP模塊收到經安全加速模塊解密的數據后,將該數據相關的安全參數再次發送到安全加速模塊,進行完整性驗證處理。
[0038]實施例中,PDCP模塊從數據末尾取出4字節的消息完整性驗證碼MAC-1,判斷是否配置了安全功能,若配置了安全功能則給SDU加上rocp的頭部,將帶頭部的SDU、其COUNT值、長度、無線承載ID、完整性驗證的KEY值、方向(上行)、完整性驗證算法及MAC-1再次發送到安全加速模塊;否則直接跳至步驟3.5。
[0039]步驟3.4,安全加速模塊按照步驟3.2中類似的處理方式,完成該數據SDU的完整性驗證,將完整性驗證結果及該SDU發還到H)CP模塊。即由安全加速模塊將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的完整性驗證處理后將該數據加入到outdata隊列中,最后將經過完整性驗證處理的數據發送到PDCP模塊。
[0040]步驟3.5,H)CP模塊收到經完整性驗證的數據后,將該SDU遞交給L3。
[0041]4、DRB數據的上行安全處理流程如圖5所示,上行DRB數據處理過程如下: 步驟4.1,rocp模塊收到RLC發送的DRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理。
[0042]實施例中,PDCP模塊收到RLC發送的DRB數據之后,先剝去PDU的I3DCP頭部,得到其序列號SN值,進而得到其COUNT值;判斷是否配置了安全功能,若配置了安全功能則將該SDU、其COUNT值、長度、無線承載ID、解密的KEY值、方向(上行)、解密算法發送給安全加速模塊,然后進行其它報文的處理;否者直接跳至步驟4.3。
[0043]步驟4.2,安全加速模塊收到需進行解密的數據SDU及其相關解密參數后,將其加入到無鎖隊列indata中;然后將數據映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該SDU加入到隊列outdata中,最后將經過解密的SDU發送到PDCP模塊。
[0044]步驟4.3,PDCP模塊收到經安全加速模塊解密的數據后,對該SDU進行頭解壓縮(ROHC)處理,最后將該SDU遞交給GTP-U。
[0045]具體實施時,以上流程可基于軟件技術實現自動運行。
[0046]以上內容是結合具體的實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。本發明所屬技術領域的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發明的精神或者超越所附權利要求書所定義的范圍。
【主權項】
1.一種LTE基站用戶面數據安全處理方法,其特征在于:當有數據需要進行安全處理時,PDCP模塊將數據及相應的安全參數發送到安全加速模塊;安全加速模塊將數據加入到先進先出的雙環形無鎖隊列中,然后將數據映射到內核內存以避免內存拷貝,待完成安全處理后將數據發還到rocp模塊; SRB數據的下行安全處理流程包括以下步驟, 步驟1.1,rocp模塊收到L3的SRB數據后,是則添加rocp頭部,將該數據及相關安全參數發送給安全加速模塊進行完整性保護; 步驟1.2,設置雙環形無鎖隊列,其中indata隊列中存儲需要進行處理的數據,OUtdata隊列存儲已經過處理的需要發出去的數據;安全加速模塊收到rocp模塊發送的需要完整性保護的數據及其相關完保參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成完整性保護后將該數據加入到outdata隊列中;最后將經過完保的數據發送到rocp模塊; 步驟1.3,PDCP模塊收到經安全加速模塊完保后的數據后,將相關安全參數再次發送到安全加速模塊進行加密處理; 步驟1.4,安全加速模塊根據PDCP模塊發送的加密的KEY值和加密的算法,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成加密后將該數據加入到outdata隊列中;最后將經過加密的數據發送到HXP模塊; 步驟1.5,PDCP模塊對數據包添加PDCP頭部構成PDU,并發送至RLC層; DRB數據的下行安全處理流程包括以下步驟, 步驟2.1 JDCP模塊收到GTP-U的DRB數據后,將該數據的相關安全參數發送給安全加速模塊進行加密處理; 步驟2.2,安全加速模塊收到需進行加密的數據及其相關加密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的加密后將該數據加入到outdata隊列中,最后將經過加密的數據發送到HXP模塊; 步驟2.3,rocp模塊收到經安全加速模塊加密后的數據后,對數據包添加rocp頭部構成PDU,并發送至RLC層; SRB數據的上行安全處理流程包括以下步驟, 步驟3.1 JDCP模塊收到RLC發送的SRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理; 步驟3.2,安全加速模塊收到需進行解密的數據及其相關解密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該數據加入到outdata隊列中,最后將經過解密的數據發送到HXP模塊; 步驟3.3,PDCP模塊收到經安全加速模塊解密的數據后,將該數據相關的安全參數再次發送到安全加速模塊,進行完整性驗證處理; 步驟3.4,安全加速模塊將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的完整性驗證處理后將該數據加入到outdata隊列中,最后將經過完整性驗證處理的數據發送到rocp模塊; 步驟3.5,PDCP模塊收到經完整性驗證的數據后,遞交給L3; DRB數據的上行安全處理流程包括以下步驟, 步驟4.1,rocp模塊收到RLC發送的DRB數據之后,將該數據相關的安全參數發送給安全加速模塊進行解密處理; 步驟4.2,安全加速模塊收到需進行解密的數據SDU及其相關解密參數后,將數據加入到indata隊列中,然后映射到內核內存避免對該數據進行拷貝;待安全加速模塊完成對數據的解密后將該數據加入到outdata隊列中,最后將經過解密的SDU發送到HXP模塊; 步驟4.3 JDCP模塊收到經安全加速模塊解密的數據后,對該SDU進行頭解壓縮處理,最后將遞交給GTP-U。2.根據權利要求1所述LTE基站用戶面數據安全處理方法,其特征在于:在步驟1.1、步驟2.1、步驟3.1、步驟4.1在判斷是否配置了安全功能,是則繼續流程,否則跳轉到流程最后的步驟。3.根據權利要求2所述LTE基站用戶面數據安全處理方法,其特征在于:在步驟1.1判斷是否配置了安全功能時,若否則在數據末尾添加4字節的消息完整性驗證碼MAC-1,然后跳轉到步驟1.5。4.根據權利要求3所述LTE基站用戶面數據安全處理方法,其特征在于:在步驟3.3,PDCP模塊從數據末尾取出4字節的消息完整性驗證碼MAC-1,判斷是否配置了安全功能,若是則將該數據相關的安全參數再次發送到安全加速模塊;否則直接跳至步驟3.5。
【文檔編號】H04W12/02GK105873038SQ201610397988
【公開日】2016年8月17日
【申請日】2016年6月7日
【發明人】程潮, 胡均武, 徐海鑫, 顏志凌
【申請人】武漢郵電科學研究院