IPSec加密卡与CPU协同的用户面数据处理方法

文档序号:9846701阅读:1011来源:国知局
IPSec加密卡与CPU协同的用户面数据处理方法
【技术领域】
[0001]本发明涉及移动通信领域,尤其是涉及为保密而安全的通讯提供一种IPSec加密卡与CHJ协同工作的方法。
【背景技术】
[0002]随着无线通信技术的进步,无线网络设备的不断升级改造,对于LTE(3GPP长期演进技术)基站用户面数据处理要求越来越高。另一方面,网络威胁日益严重,LTE基站所承载的用户数据越来越重要,这就要求用户的数据能够经过加密后密文传输。Internet协议安全性(IPSec)是一种开放标准的框架结构,通过使用加密的安全服务以确保在Internet协议(IP)网络上进行保密而安全的通讯。目前通信领域比较成熟的加密方法是采用IPSec标准的加密技术,IPSec标准得到国际上几乎所有主流网络和安全供应商的鼎力支持,并且正在不断丰富完善。LTE基站用户面的数据主要是承载于UDP(用户数据报协议)之上的GTPU(隧道协议)业务,对于GTPU加密报文,传统的处理方式是在LTE控制信道建立完成时,使用开源的IPsec协议(openswan或者strongswan)来与IPSec网关建立一个IPSec隧道,当UE发送数据时,LTE基站先根据LTE协议将用户面数据构造成GTPU报文,GTPU报文再经过加密发送到网络上去。当有数据要发往UE时,LTE基站收到密文信息后,首先进行解密,解密出来的数据再交给LTE协议栈处理。从用户面数据的转发流程来看,涉及到GTPU报文的组装,IPSecIKE协议,用户面数据的加密。
[0003]目前可选的LTE数据面加密解决方案有以下几种:
[0004]I)纯软件实现:CPU
[0005]典型配置:
[0006]通用CPU
[0007]实现方法
[0008]软件实现LTE协议栈
[0009]软件实现IPSec IKE协议
[0010]软件实现IPSec加解密算法
[0011]优点:
[0012]低成本
[0013]协议扩展性强
[0014]问题:
[0015]CPU资源耗费大
[0016]数据吞吐量小
[0017]2)硬件辅助实现:CPU+协处理器
[0018]典型配置:
[0019]支持Sec协处理器的CPU(例如PowerPCP4080)
[0020]实现方法[0021 ]软件实现LTE协议栈
[0022]软件实现IPSec IKE协议
[0023]协处理器实现IPSec加解密算法
[0024]优点:
[0025]低成本
[0026]处理灵活
[0027]问题:
[0028]接口可扩展性受限于PowerPC平台[0〇29] 协处理器的性能受限于PowerPC平台
[0030]3)硬件实现:加密卡+CPU
[0031]典型配置:
[0032]通用CPU,加密卡
[0033]实现方法
[0034]软件实现LTE协议栈
[0035]加密卡实现IPSec IKE协议
[0036]加密卡实现IPSec加解密算法
[0037]优点:
[0038]CPU资源消耗少
[0039]数据吞吐量大
[0040]问题:
[0041 ]支持IKE协议的加密卡成本高
[0042]IKE协议可扩展性受限于加密卡
[0043]由于基站设备处在LTE网络的末端节点,从空口上来的单用户数据量理论上能到达到100M,这就要求基站上行到核心网的业务端口至少千兆网口,LTE基站同时做上下行业务时,如果使用CPU进行软件加解密,即达不到千兆流量的加解密性能,又会影响LTE协议的实时处理,因此纯软件实现的方案I不可行,
[0044]方案2中,CPU自带IPSec的协处理器的方案,其灵活程度低,且IPSec协处理器的性能与CPU相关,以P4080为例,协处理器的性能为400Mbps,还达不到千兆线速的能力,另外,其协处理器的配置、使用与CPU紧密相关,其通用性不高,因此方案2不可行。
[0045]如果选择带专门的加密卡的方案,由于加密卡需要能够与对端的IPSec网关进行IKE协商,需要单独设置一个IP,而基站CPU本身也需要一个对外的IP,但是运营商建网设计中,一个基站只能够配置一个IP地址,所以加密卡和CPU之间会存在IP冲突,且带有IKE功能的加密卡成本高,不适合基站这种部署众多的末端设备,因此方案3不可行。

【发明内容】

[0046]本发明针对现有技术存在的问题,提出了一种基于通用CPU和通用IPSec加密卡的高带宽的数据加解密设计方法,其目的是在LTE基站用户面加密数据处理过程中,解决CPU消耗高,加解密性能低和设计的通用性问题。
[0047]本发明的技术方案提供一种IPSec加密卡与CPU协同的用户面数据处理方法,用于LTE基站用户面数据处理,设置CPU、加密卡以及做数据分流的交换芯片,所述加密卡为IPSec加密卡;
[0048]CPU通过SMI总线控制交换芯片,通过I2C总线控制和配置加密卡,CPU和加密卡之间通过PCIE接口传递数据,交换芯片与CPU和加密卡之间分别采用SGMII接口传递数据,交换芯片通过RGMII接口连接到PHY器件;
[0049]初始化过程包括以下子步骤,
[0050]步骤1.1,LTE系统启动时,CPU通过SMI总线控制交换芯片,在交换芯片与加密卡连接的SGMII端口上禁止MAC地址学习,使得加密卡发出来的IP报文,其MAC地址不会被记录到交换芯片中;
[0051 ] 步骤1.2,LTE系统获取到IP地址后,CPU通过I2C总线控制加密卡,将CPU上的网口IP地址和MAC地址配置到加密卡的网口上;
[0052]步骤1.3,LTE系统与安全网关建立IPSec隧道时,CPU与安全网关进行IKE协商;
[0053]步骤1.4,CPU将步骤1.3协商出来的密钥、SA和加解密算法通过I2C总线配置到加密卡中;
[0054]步骤1.5,CPU通过SMI总线控制交换芯片,配置ACL规则到交换芯片上,ACL规则包括在交换芯片与PHY器件相连的RGMII接口上过滤IP协议字段为ESP的报文,强制转发到加密卡上;
[0055]数据往返过程包括以下子步骤,
[0056]步骤2.1,当一个加密的GTPU报文到达基站时,其MAC地址填充的是CPU和加密卡的MAC地址,则在交换芯片上首先查询访问控制列表ACL,如果匹配到是一个ESP的加密报文,会被转发到加密卡上;
[0057]步骤2.2,加密卡收到ESP的加密报文后,根据配置的加解密算法和密钥进行解密,然后将解密后的明文放到PCIE指定空间,由PCIE接口发送通知中断doorbel I到CPU;
[0058]步骤2.3,CPU收到通知中断doorbell后,响应中断,从PCIE指定空间读取解密后的GTPU报文,并送给CPU上的LTE协议栈处理;
[0059]步骤2.4,CPU的LTE协议栈发送用户数据到UE,UE回复用户数据到基站后,CPU将回应消息组装成GITU报文后,判断是需要向核心网发送的加密报文时,就将GITU明文放到PCIE对应的发送空间上,向加密卡发送通知中断doorbell;
[0060]步骤2.5,加密卡收到通知中断doorbell后,从PCIE指定空间读取需要加密的GTPU明文,根据配置的密钥和加解密算法进行加密;
[0061 ]步骤2.6,交换芯片从加密卡相连的端口收到步骤2.5所得加密报文后会查询MAC地址表发往核心网。
[0062]而且,在初始化过程之后,数据往返过程之前,进行ARP报文交互,交换芯片收到CPU和加密卡的ARP响应报文时,基于在交换芯片与加密卡连接的SGMII端口上禁止MAC地址学习,只记录CPU相应的MAC地址转发表。
[0063]而且,所述交换芯片为QCA8334芯片。
[0064]本发明对比传统的加密数据处理技术有以下创新点:
[0065]1.CPU处理IPSec的IKE协议,加密卡处理报文加解密,实现了协议与数据处理分离,既保障了协议的灵活性,又提高了性能。
[0066]2.利用硬件架构设计避免CPU和IPSec加密卡的IP/MAC地址冲突,解决了基站只能拥有I个IP地址的问题。
[0067]3.使用CPU处理IKE协议,降低了对IPSec加密卡的要求,仅只用支持加解密算法,通用性更强。
【附图说明】
[0068]图1为本发明实施例中硬件架构设计的结构图;
[0069]图2为本发明实施例中初始化过程流程图;
[0070]图3为本发明实施例中交换芯片的MAC地址学习过程。
【具体实施方式】
[0071]本发明主要针对LTE基站用户面加密数据处理的优化,适用但并不限于LTE基站,本方案同样适用于其它在嵌入式系统中CPU和功能芯片之间协同处理数据的设计方法。该方法能满足无线通信基站建设中高速加密数据传输的需求,有效减少CPU资源的占用,本方法充分利用高性能的IPSec加密卡、CPU和加密卡协同工作的硬件架构设计,交换芯片的业务硬件分流等一系列前沿技术,能有效减少CPU资源调度、提升处理性能。
[0072]以下结合附图和实施例详细说明本发明技术方案。
[0073]本发明实施例提供一种基于Linux系统的LTE基站用户面加解密数据性能优化方法,利用IPSec加密卡处理用户面加解密数据提升性能,利用硬件架构设计避免CPU和IPSec加密卡的IP/MAC地址冲突,利用CPU的开源IKE协议对IPSec加密卡做控制,从而实现数据加解密的控制与数据分离;包括硬件架构设计、初始化过程和LTE用户面数据处理过程三部分内容。
[0074]参见图1,本发明实施例的硬件架构设计包括:CPU、IPSec加密卡以及做数据分流的交换芯片(switch)。现有的硬件架构中只会存在CPU(由CPU做软加密),或者只有IPSec加密卡(没有IKE协议处理功能),而本发明打破了这种常规设计,并增加了交互芯片。CPU和IPSec、交换芯片之间分别建立连接,IPSec和交换芯片之间也建立连接。
[0075]硬件架构设计中,CPU和IPSec加密卡都通过一个交换芯片连接到外部网络,CPU通过SMI总线控制交换芯片(本实施例中采用高通QCA8334交换芯片),通过I2C总线控制和配置加密卡,CPU和加密卡之间通过PCIE接口传递数据。QCA8334交换芯片与CPU和加密卡之间分别采用SGMII接口传递数据,QCA8334交换芯片通过RGMII接口连接到PHY(物理层)器件,最终从PHY器件经mdi总线输出到整机面板上RJ45 口。具体实施时,具体连接可参见相应的接口协议。RGMII是属于mdi总线上的一个通信标准。例如,具体实施时QCA8334交换芯片通过其端口 port I连接CPU、通过其端口 port6连接加密卡,实现传递数据,通过portO连接PHY器件,实现连接到外部网络。为简化起见,将交换芯片与CPU、加密卡之间传递数据的端口分别记为P2、P3,将交换芯片与PHY器件之间与外部网络传递数据的端口记为Pl。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1