一种lte基站用户面数据安全处理方法

文档序号:10516642阅读:944来源:国知局
一种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日
【发明人】程潮, 胡均武, 徐海鑫, 颜志凌
【申请人】武汉邮电科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1