CAPWAP控制通道DTLS加解密的芯片协处理方法与流程

文档序号:12493745阅读:994来源:国知局
CAPWAP控制通道DTLS加解密的芯片协处理方法与流程

本发明涉及一种CAPWAP控制通道的DTLS加解密技术,尤其是涉及一种CAPWAP控制通道的DTLS加解密的芯片协处理方法。



背景技术:

AC(Access Controller,无线控制器)设备和AP(Access Point,无线接入点)设备之间将使用CAPWAP(Controlling and Provisioning of Wireless Access Point,无线接入点控制与供应)隧道,CAPWAP隧道是AC设备和AP设备之间的通信控制协议,定义了AC设备和AP设备间如何通信,为实现AC设备和AP设备之间的互通性提供了一个通用的封装和传输机制。无线数据帧,原样或经过802.11到802.3格式的转换后被封入CAPWAP隧道中送往AC设备。

为保证CAPWAP隧道的安全性,可以使用DTLS(Datagram Transport Layer Security,数据传输层安全)协议保护CAPWAP隧道。DTLS协议是CAPWAP隧道使用的加密协议,该DTLS协议参考了TCP(Transmission Control Protocol,传输控制协议)的TLS(Transport Layer Security,传输层安全)协议,通过在CAPWAP报文中添加DTLS控制字段,以对CAPWAP报文进行加密控制。

现有一般通过使用软件方法(如CPU)进行CAPWAP控制通道的DTLS加解密。如图1所示,在加CAPWAP头封装完成后,软件会调用openssl(Open Secure Sockets Layer,开放式安全套接层协议)进行DTLS加密。此过程需要将Buffer(缓冲区)中的数据拷贝出来,完成软件加密,并写回到Buffer。这个过程会大量占用CPU资源,在高带宽场景下,隧道报文的转发和加解密性能受限于CPU性能。

鉴于此,我们在申请号为201511019516.1的中国专利申请中,提出了一种CAPWAP DTLS报文加解密的芯片实现方法,采用交换路由芯片实现了CAPWAP DTLS报文的封装和解封装,但是该方案仅仅实现了CAPWAP数据通道的芯片级加解密,未支持CAPWAP控制通道报文的芯片级加解密。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种CAPWAP控制通道的DTLS加解密的芯片协处理方法,以将CAPWAP控制通道报文的软件处理方案中最占用CPU资源的加解密操作搬移到芯片进行协处理。

为实现上述目的,本发明提出如下技术方案:一种CAPWAP控制通道的DTLS加解密的芯片协处理方法,包括:

芯片内报文解密处理过程:芯片收到DTLS加密的报文后,查芯片内配置的CAPWAP表得到解密用的Key ID和用于判断是否是加密数据包的isEncryptedPkt字段,若所述isEncryptedPkt字段状态检查无误,则根据由所述解密用的Key ID查找到的对应key对报文进行解密得到明文CAPWAP报文,并将所述CAPWAP报文再次环回到芯片内继续查CAPWAP表,最后送往CPU;

芯片内报文加密处理过程:芯片接收来自CPU的报文后,按照bus中携带的Nexthop ID去索引芯片内配置的Nexthop表,查找到对应的一个Nexthop条目,芯片检查所述Nexthop条目中的用于判断是否是CAPWAP控制通道报文的isCapwapControl字段状态,若检查无误,则根据由所述Nexthop条目中的加密用的Key ID查找得到的key对报文进行DTLS加密,并将加密后的含IP头报文环回到芯片内,正常进行报文转发处理。

优选地,所述报文的解密处理过程具体包括:芯片收到DTLS加密的报文后,先解析报文是否是本地需解密的报文,若是,则查找所述CAPWAP表得到解密用的Key ID和isEncryptedPkt字段,若所述isEncryptedPkt字段状态检查无误,则按所述Key ID再查密钥表得到解密用的Key,再采用DTLS解密算法对报文进行解密得到明文CAPWAP报文,并将所述CAPWAP报文再次环回到芯片内,解析报文是否是为明文CAPWAP报文,若是,则继续查找所述CAPWAP表得到对应的条目,检查所述条目中isEncryptedPkt字段,若检查不通过,则芯片直接将明文CAPWAP报文送往CPU。

优选地,查找CAPWAP表所用的查询字段为:报文的目的IP地址加源IP地址加L4Type加用于判断是否是CAPWAP控制通道报文的isCapwapControl字段。

优选地,配置所述isEncryptedPkt字段状态为1时,判断为是加密的数据包,即检查无误。

优选地,在报文加密处理过程中,对于CAPWAP控制通道要发送的报文,CPU完成明文CAPWAP头的添加后,并将所述加密信息送给套接层,所述加密信息最终会通过ASIC_Header送给芯片进一步进行加密处理。

优选地,芯片接收来自CPU的报文后,所述ASIC_Header被芯片剥掉并解析为所述bus信息。

优选地,在报文加密处理过程中,所述芯片接收来自CPU的报文后,按照bus中携带的所述Nexthop ID去索引芯片内配置的Nexthop表。

优选地,配置所述isCapwapControl字段状态为1时,判断为是来自Capwap控制通道的报文,即检查无误。

优选地,芯片内CAPWAP报文的加密处理过程中,若芯片检查所述isCapwapControl字段状态为1,则将报文插入一个DTLS头并砍掉二层头,然后根据所述key对报文进行DTLS加密,并将加密后的含IP头报文环回到芯片内,芯片收到含IP头报文后,正常进行路由表查找得到转发行为和出口,进行报文转发处理。

与现有技术相比,本发明将CAPWAP控制通道报文的软件处理方案中最占用CPU资源的加解密操作搬移到芯片进行协处理,大大降低了CPU的压力,提高网络性能。

附图说明

图1是现有通过使用软件方法进行CAPWAP控制通道的DTLS加解密的原理示意图;

图2是本发明进行CAPWAP控制通道的DTLS解密的原理示意图;

图3、图4是本发明进行CAPWAP控制通道的DTLS加密的原理示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明提出了一种CAPWAP控制通道的DTLS加解密的芯片协处理方法,主要是将CAPWAP控制通道报文的软件处理方案中最占用CPU资源的DTLS加解密操作搬移到芯片进行协处理,大大降低了CPU的压力,提高网络性能。

其中,芯片包括入方向处理引擎(IPE)、存储转发模块(BSR)、出方向处理引擎(EPE)、WLAN处理引擎(WLAN Engine)。本发明在芯片的IPE方向配置有CAPWAP表,其使用IPDA(目的IP地址)+IPSA(源IP地址)进行查找,在条目中配置有解密用的Key ID和判断是否是加密数据包的isEncryptedPkt字段。本实施例中,必须配置isEncryptedPkt状态为1,作为加密状态是否匹配的判别条件,比较当前数据包解析出来的加密状态和isEncryptedPkt状态是否匹配,匹配则判断当前数据包为控制通道上的加密数据包,不匹配则判断当前数据包为控制通道上经过解密协处理后的明文数据报文。

另外,芯片内还配置有Nexthop条目,其中包含加密Key的ID以及判断是否是capwap控制通道数据的isCapwapControl字段。本实施例中,同样配置isCapwapControl状态为1时,标识为Capwap控制通道的数据,否则说明不是。

结合图2~图4所示,本发明所揭示的一种CAPWAP控制通道的DTLS加解密的芯片协处理方法,包括:报文DTLS解密处理过程和报文加密处理过程。

如图2所示,下面先具体介绍报文DTLS解密处理过程:

步骤1,芯片的IPE从入端口收到DTLS加密的报文①后,解析是否是本地需要解密的CAPWAP DTLS报文,若是,则查找芯片内配置的所述CAPWAP表,得到报文解密用的Key ID和isEncryptedPkt字段,若isEncryptedPkt字段状态为1,且当前数据包解析为DTLS加密报文(即该字段状态检查无误),且无其他操作,则报文直接进入BSR内,解密用的Key ID则跟随总线(BUS)依次向BSR、EPE和WLAN Engine传递。

查找CAPWAP表所用的查询字段为:报文的目的IP地址(IPDA)+源IP地址(IPSA)+L4Type(CAPWAP)+isCapwapControl,其中,L4Type=CAPWAP,isCapwapControl字段用于判断报文是否来自Capwap控制通道,L4Type和isCapwapControl字段是由芯片内的解析模块解析得到。L4Type是四层特征信息,按照CAPWAP协议,当UDP PORT=5246或5247时,认为是CAPWAP报文,即四层特征值为CAPWAP,也就是L4Type=CAPWAP。

步骤2,BSR直接指定报文出口为WLAN引擎的解密通道A,即报文直接被送往WLAN引擎解密通道A的出口。

需要说明的是,当报文需要解密时,EPE则对报文不作编辑,直接将其送往WLAN引擎解密通道A的出口。

步骤3,WLAN引擎解密通道A进入的报文①,按Key ID查表得到解密用的Key,根据该Key对报文进行解密算法,将解密后的明文即CAPWAP报文②再次送往IPE。

这里所用的解密算法可采用现有DTLS解密算法实现,这里便不作详述。

步骤4,IPE再次收到CAPWAP报文②后,芯片内的解析模块检查到为明文报文,则继续查找CAPWAP表,查找到条目后,由于是明文报文,isEncryptedPkt状态检查不匹配,则芯片逻辑直接将明文CAPWAP报文②送往CPU,由CPU对报文进行后续处理。

结合图3和图4所示,下面再具体介绍报文加密处理过程,需要说明的是,对于CAPWAP控制通道要发送的报文,CPU仅仅完成明文CAPWAP头的添加,并将加密相关的信息(如Nexthop ID)送给socket(套接层),这些加密相关的信息最终会通过芯片信息头(ASIC_Header)送给包转发芯片。对于芯片内报文加密处理过程具体包括:

步骤1′,芯片在BSR接收来自CPU的报文①,报文①的ASIC_Header会自动被芯片剥掉并解析为总线(bus)信息,并由BSR送到EPE内。

步骤2′,EPE按照bus信息中携带的Nexthop ID去索引芯片内配置的所述的Nexthop表,得到对应的一个条目,条目中包含一个加密Key的ID和isCapwapControl字段,因isCapwapControl字段配置为1,芯片认为接收的报文来自CAPWAP控制通道。

步骤3′,芯片检查到isCapwapControl字段为1后,会将报文插入一个DTLS头,并砍掉二层头,随后将报文②发往WLAN引擎加密通道C,加密的Key随BUS带给WLAN引擎。

步骤4′,WLAN引擎收到来自其加密通道C的报文后,检查BUS中的信息,若需要加密,则按照BUS中传过来的加密用的Key按DTLS协议规定的方式进行AES计算密文,进行DTLS加密,得到加密后的含IP头的报文③,再将加密后的含IP头的报文③再次送给IPE处理。其中,使用的Key按bus上的加密Key ID查找密钥表得到。

步骤5′,IPE收到加密后的含IP头的报文③后,正常进行路由表查找得到转发行为的ID和出口,将报文送往BSR,BSR将报文送给EPE,EPE按转发行为的ID查表得到相应的转发行为,按转发行为编辑报文,得到路由编辑后的报文④,最后将路由编辑后的报文④从查找出的出口(如以太网口)转发出去。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1