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

文档序号:9818395阅读:来源:国知局
字节这16种情况,因此,在解密模块处理到DTLS首部时,将可能存在的16种情况全部都进行计算,从而实现DTLS解密和认证过程同时进行。
[0036]具体地,如图3所示,本发明所揭示的一种降低DTLS解密时延的方法,包括以下步骤:
[0037]步骤I,对DTLS加密密文进行解密运算。
[0038]具体的可参照图2所示的DTLS解密运算过程:
[0039]首先,先将输入数据中IV字段后面的密文(即CAPWAP首部、CAPWAP有效数据和20字节HMAC字段)进行AES解密运算,获得解密后CAPWAP明文的最后一个字节,即整个补齐字段的长度;
[0040]其次,将DTLS密文的补齐字段去除,最后20字节数据就是HMAC值,即获得认证过程所需的HMAC值。
[0041 ] 步骤2,在解密运算的同时对DTLS加密密文进行认证运算。
[0042]结合图4所示,本发明将SHA认证算法的实现逻辑例化成16份(即根据补齐字段只可能存在补I?16字节),根据补齐字段I?16的字节长度分别更新DTLS首部中的长度字段,每一份处理逻辑再各自往后计算,所以最后会得到16种可能的HMAC值,即对补齐字段长度存在的16种情况均进行SHA认证运算。等解密完成以后,根据步骤I中解密成明文的补齐字段,从16个HMAC值里面选择正确的HMAC,即本地计算得到的HMAC值。这样即可实现解密运算过程和认证运算过程的同步化。
[0043]每一份例化的SHA认证运算的过程可参照图2所示:根据补齐字段的字节长度更新DTLS加密密文中的DTLS首部,再将得到的每个DTLS首部与DTLS加密密文中的CAPWAP首部、CAPWAP有效数据均进行一次认证运算,从而得到多个HMAC值。本发明这里对于DTLS密文的AES解密运算算法和SHA认证算法不做描述,具体可参见rfc5415协议中的相关规定。
[0044]步骤3,将本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。
[0045]即本地计算出的HMAC值,需与报文中携带的HMAC字段比较,如果相等,则认证成功,表明接收端正确解密,才能进行接下来的报文处理逻辑,否则表明这个报文解密失败,需要丢弃。
[0046]本发明还揭示了一种降低DTLS解密时延的装置,包括解密运算模块、多个认证运算模块、多选一选择器和解密认证模块,解密运算模块即对应图4中所示的第N个解密运算单元,其用于DTLS加密密文进行解密运算,具体运算过程可参照上述描述,这里不做赘述。认证运算模块即对应图4中所示的第N-1个认证运算单元,具体运算过程同样参照上述描述。多选一选择器(即图中的16选I选择器)用于根据解密成明文的补齐字段,从16个HMAC值里面选择正确的HMAC,即本地计算得到的HMAC值。解密认证模块则用于将本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功,才能进行接下来的报文处理逻辑,否则表明这个报文解密失败,需要丢弃。
[0047]优选地,本发明考虑到AES算法是以16字节为一个数据处理单元,SHA算法是以64字节为一个处理单元,所以解密时统一以64字节为一个处理单元。为了最大化AES和SHA算法的并行操作,在用RTL(Register Transfer Level,是芯片设计过程中Verilog硬件描述语言编码阶段)实现AES和SHA算法时,优化各自算法中的步骤,使得64字节数据进行AES解密的时间和64字节数据进行SHA算法的时间一致。这样,对于芯片,每一个处理时序上,在第N个处理单元进行解密操作时,第N-1个处理单元正在进行认证运算,实现两者的完全同步。
[0048]基于本发明的改进,一方面减小了芯片处理时间,增加了对CAPWAP密文的处理带宽;另一方面不需要在解密模块保存整个CAPWAP报文,只需要保存当前处理单元的解密和认证的结果,以便接着处理下一个处理单元。一旦最后报文认证失败了,解密模块发出认证失败的信号,则之前已经从解密模块出去的报文分片全部丢弃,这个优势随着报文长度的增加会更加明显。
[0049]本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
【主权项】
1.一种降低DTLS解密时延的方法,其特征在于,包括: 对DTLS加密密文进行解密运算,获得解密后明文的补齐字段; 在解密运算的同时对所述DTLS加密密文进行认证运算,计算得到多个HMAC值; 根据解密后的所述补齐字段从多个所述HMAC值中选择出本地HMAC值; 将所述本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。2.根据权利要求1所述的降低DTLS解密时延的方法,其特征在于,对DTLS加密密文进行解密运算的过程包括:将DTLS加密密文中IV字段后的CAPWAP首部、CAPWAP有效数据和HMAC字段进行解密运算,获得解密后明文的补齐字段。3.根据权利要求1所述的降低DTLS解密时延的方法,其特征在于,对DTLS加密密文进行认证运算的过程包括:根据补齐字段存在的多个字节长度分别更新DTLS加密密文中的DTLS首部,再将得到的每个DTLS首部与DTLS加密密文中的CAPWAP首部、CAPWAP有效数据均进行一次认证运算,从而得到多个HMAC值。4.根据权利要求3所述的降低DTLS解密时延的方法,其特征在于,所述补齐字段的长度为I?16个字节中的任意一个长度。5.根据权利要求1所述的降低DTLS解密时延的方法,其特征在于,DTLS加密密文的解密运算及认证运算消耗的时间相同。6.—种降低DTLS解密时延的装置,其特征在于,包括:解密运算模块、多个认证运算模块、多选一选择器和解密认证模块, 所述解密运算模块用于对DTLS加密密文进行解密运算,获得解密后明文的补齐字段; 所述认证运算模块用于在解密运算模块进行解密运算的同时,对所述DTLS加密密文进行认证运算,计算得到HMAC值; 所述多选一选择器用于根据解密运算模块解密出的补齐字段从多个认证运算模块计算得出的HMAC值中选择出本地HMAC值; 所述解密认证模块用于将所述本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。7.根据权利要求6所述的降低DTLS解密时延的装置,其特征在于,所述解密运算模块进行解密运算的字段为= DTLS加密密文中IV字段后的CAPWAP首部、CAPWAP有效数据和HMAC字段。8.根据权利要求6所述的降低DTLS解密时延的装置,其特征在于,每个所述认证运算模块根据对应的一个补齐字段的长度更新DTLS加密密文中的DTLS首部,并将得到的DTLS首部与DTLS加密密文中的CAPWAP首部、CAPWAP有效数据进行一次认证运算,从而得到相应的HMAC 值。9.根据权利要求8所述的降低DTLS解密时延的装置,其特征在于,所述认证运算模块为I?16个。10.根据权利要求6所述的降低DTLS解密时延的装置,其特征在于,所述解密运算模块和认证运算模块的字节数相同,且两者进行的运算时间相同。
【专利摘要】本发明揭示了一种降低DTLS解密时延的方法和装置,方法包括:对DTLS加密密文进行解密运算,获得解密后明文的补齐字段;在解密运算的同时对DTLS加密密文进行认证运算,计算得到多个HMAC值;根据解密后的补齐字段从多个HMAC值中选择出本地HMAC值;将本地HMAC值与报文中携带的HMAC字段进行比较,若相等,则解密成功。本发明一方面减小了DTLS解密处理时间,增加了芯片对CAPWAP密文的处理带宽;另一方面减少了芯片存储区域,降低了芯片成本。
【IPC分类】H04L9/06, H04L9/32
【公开号】CN105591752
【申请号】CN201511022107
【发明人】马千里, 方沛昱, 夏杰
【申请人】盛科网络(苏州)有限公司
【公开日】2016年5月18日
【申请日】2015年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1