一种降低dtls解密时延的方法及装置的制造方法

文档序号:9818395阅读:612来源:国知局
一种降低dtls解密时延的方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及一种DTLS解密技术,尤其是涉及一种降低DTLS解密时延的方法及装置。
【背景技术】
[0002]根据无线接入点(AP)和无线控制器(AC)间的隧道协议rfc5415的描述,为了防止AP和AC之间的数据被窃听,CAPWAP(Control And Provis1ning of Wireless AccessPoints,无线接入点的控制和配置)采用DTLS(Datagram Transport Layer Security,数据包传输层安全协议)对其数据包进行加解密处理,用来保障网络安全通信。rfc5415同时规定了 DTLS用于加密CAPWAP报文时必须支持的加解密算法TLS_RSA_WITH_AES_128_CBC_SHA,该算法的意义为:DTLS协议握手阶段采用RSA非对称加解密算法,数据传输阶段采用CBC模式的AES 128加解密算法,同时采用SHA校验算法保证数据的完整性。
[0003]如图1所示,其简单描述了如何通过DTLS对CAPWAP报文进行加密:首先在CAPWAP明文的UDP首部和CAPWAP首部之间插入4字节的CAPWAP DTLS首部和13字节的DTLS首部;然后将DTLS首部、CAPWAP首部和CAPWAP有效数据一起进行SHA运算,得到20字节的HMAC值,这个HMAC值需要加到CAPWAP有效数据后面;接下来将需要加密的CAPWAP首部、CAPWAP有效数据、HMAC值进行加密处理,根据AES算法,首先需要将加密的内容补齐到16字节的整数倍,也就是图1中的“补齐字段”,假如需要补8个字节,则“补齐字段”由8字节的0x07组成;CBC模式的AES算法在加密时需要随机生成一个16字节的IV字段,这个字段需要插入到DTLS首部和CAPWAP首部之间。
[0004]解密的过程则与加密过程相反,如图2所示,为现有典型的DTLS解密模块的处理流程:将输入数据中IV字段后面的密文进行AES解密运算;等整个数据解密完成后,才能得到明文的“补齐字段”,根据最后一个字节的“补齐字段”即可获取整个“补齐字段”的长度;将补齐字段去除,最后20字节数据就是HMAC值;接下来需要更新DTLS首部中的“长度字段”;将更新后的DTLS首部、解密后的CAPWAP首部、CAPWAP有效数据进行HMAC运算;最后将上一步计算得到的HMAC值和报文中携带的HMAC字段进行比较,如果相等,则表明接收端正确解密,认证通过,否则表明解密失败。
[0005]现有解密和认证的过程是串行操作,需要等整个密文进行AES算法解密后,才能得到补齐字段,从而更新DTLS首部,然后才能进行SHA算法的认证过程,这个操作带来的缺点是会产生较大的解密时延,影响芯片对DTLS密文的处理带宽;而且由于解密结束以后才可以进行认证过程,那么就需要在解密引擎中增加内存,将整个报文保存住,否则进行认证的数据就会丢失,这样就会消耗一定的内存,而且CAPWAP报文越长,这个需要预留的内存就越大,芯片的成本就越大。或者现有DTLS加解密的过程完全由CPU完成,芯片级不支持,这种方式会增加CPU的负载,而且其处理速度会受限于CPU的处理能力,无法满足交换机百G线速处理能力。

【发明内容】

[0006]本发明的目的在于克服现有技术的缺陷,提供一种降低DTLS解密时延的方法及装置,通过将DTLS解密和认证过程进行并行操作,以有效降低DTLS解密的时耗,同时减少芯片存储空间。
[0007]为实现上述目的,本发明提出如下技术方案:一种降低DTLS解密时延的方法,包括:
[0008]对DTLS加密密文进行解密运算,获得解密后明文的补齐字段;
[0009]在解密运算的同时对所述DTLS加密密文进行认证运算,计算得到多个HMAC值;
[0010]根据解密后的所述补齐字段从多个所述HMAC值中选择出本地HMAC值;
[0011 ]将所述本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。
[0012]优选地,对DTLS加密密文进行解密运算的过程包括:将DTLS加密密文中IV字段后的CAPWAP首部、CAPWAP有效数据和HMAC字段进行解密运算,获得解密后明文的补齐字段。
[0013]优选地,对DTLS加密密文进行认证运算的过程包括:根据补齐字段存在的多个字节长度分别更新DTLS加密密文中的DTLS首部,再将得到的每个DTLS首部与DTLS加密密文中的CAPWAP首部、CAPWAP有效数据均进行一次认证运算,从而得到多个HMAC值。
[0014]优选地,所述补齐字段的长度为I?16个字节中的任意一个长度。
[0015]优选地,DTLS加密密文的解密运算及认证运算消耗的时间相同。
[0016]本发明还提出另一个技术方案:一种降低DTLS解密时延的装置,包括:解密运算模块、多个认证运算模块、多选一选择器和解密认证模块,
[0017]所述解密运算模块用于对DTLS加密密文进行解密运算,获得解密后明文的补齐字段;
[0018]所述认证运算模块用于在解密运算模块进行解密运算的同时,对所述DTLS加密密文进行认证运算,计算得到HMAC值;
[0019]所述多选一选择器用于根据解密运算模块解密出的补齐字段从多个认证运算模块计算得出的HMAC值中选择出本地HMAC值;
[0020]所述解密认证模块用于将所述本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。
[0021]优选地,所述解密运算模块进行解密运算的字段为:DTLS加密密文中IV字段后的CAPWAP首部、CAPWAP有效数据和HMAC字段。
[0022]优选地,每个所述认证运算模块根据对应的一个补齐字段的长度更新DTLS加密密文中的DTLS首部,并将得到的DTLS首部与DTLS加密密文中的CAPWAP首部、CAPWAP有效数据进行一次认证运算,从而得到相应的HMAC值。
[0023]优选地,所述认证运算模块为I?16个。
[0024]优选地,所述解密运算模块和认证运算模块的字节数相同,且两者进行的运算时间相同。
[0025]本发明的有益效果是:
[0026]1、本发明将DTLS解密和认证的过程并行操作,从而降低DTLS解密的处理时间,增加交换机芯片处理CAPWAP密文的能力。
[0027]2、本发明芯片内的DTLS解密模块不需要存储整个报文,从而减少了存储区域,降低了芯片成本。
【附图说明】
[0028]图1是DTLS对CAPWAP报文进行加密的报文格式示意图;
[0029]图2是现有DTLS解密过程的流程示意图;
[0030]图3是本发明降低DTLS解密时延的方法的流程示意图;
[0031 ]图4是本发明降低DTLS解密时延的装置的原理示意图。
【具体实施方式】
[0032]下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0033]本发明所揭示的一种降低DTLS解密时延的方法及装置,在芯片级支持DTLS解密算法的前提下,将先解密再认证的串行流程进行优化,使得解密和认证的过程可以并行操作,从而降低DTLS解密的处理时间,增加交换机芯片处理CAPWAP密文的能力。同时在这种机制下,DTLS解密模块不需要存储整个报文,从而减少了存储区域,降低了芯片成本。
[0034]经分析,在CAPWAP密文中,DTLS首部中的长度字段包括16字节的IV字段、CAPWAP首部、CAPWAP有效数据、20字节的HMAC和长度不定的补齐字段。而认证过程参与计算的DTLS首部中的长度字段,只包含CAPWAP首部、CAPWAP有效数据这两部分。而补齐字段本身又被加密了,只有完全解密后,才知道补齐了多少字节。因此现有DTLS报文认证过程都是在解密过程之后,是串行操作的。
[0035]本发明在研究了AES 128算法之后,利用补齐字段只可能存在补I?16
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1