加密装置、解密装置及判断报文是否要加密或解密的方法与流程

文档序号:15624928发布日期:2018-10-09 22:44阅读:382来源:国知局

本发明涉及通信技术领域,特别涉及一种加密装置、解密装置及判断报文是否要加密或解密的方法。



背景技术:

随着计算机网络的不断发展,全球信息化已经成为人类发展的大趋势。但由于计算机网络具有联接形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络易受黑客、怪客、恶意软件和其他不轨的攻击,所以网上信息的安全和保密是一个至关重要的问题。而保障信息安全的最常用方法就是对传输信息进行加密,即在信源处利用特定的加密算法进行信息加密,传输加密后的信息,然后在接收端进行信息的解密,最终获取信息的真实内容。这样即使信息在传输过程中被窃取,也能够保证信息的安全性。

图1为现有的数据传输加解密方法示意图。参见图1,同一个网络的发送端共享一个加密机,当某一个发送端发送数据时,加密机根据报文的五元组信息提取需要进行加密的报文,加密后发送到外部网络;在接收端,解密机根据报文的五元组信息提取加密后的报文进行解密,发送给相应的接收端。

由于加密机只根据五元组或七元组信息识别报文(所述五元组信息包括源ip地址、源端口、目的ip地址、目的端口和协议号;所述七元组信息包括接口索引、源ip地址、源端口号、目的ip地址、目的端口号、协议号和服务类型(tos)),而且不同的应用产生的报文源端口和目的端口覆盖范围广,甚至有端口复用的情况,这样导致同一个终端产生的绝大部分报文五元组或七元组信息相似。因此,加密机基本上对某个发送端产生的所有报文都执行了加密操作;同样的,解密机基本上对该发送端产生的所有报文执行了解密操作。

由此可见,现有的数据传输加解密方法使用报文五元组或七元组信息匹配,过于简单,匹配粒度太大,导致大量安全级别低的网络数据也执行了加密操作,大大增加了不必要的资源消耗和时间浪费。

此外,随着网络应用层出不穷,对等网络(peertopeer,p2p)、网络游戏、iptv、webtv等新兴业务,占用了互联网大部分带宽,实际上,用户对该部分数据,完全没有数据安全性的要求;而用户关心的重要数据,如邮件、账号登陆、文件传输等,真正需要保证传输安全的流量则占比很小。此时,加解密的性能已经成为数据传输速率的一个瓶颈,因此,寻找一个既能保证数据传输安全又可以快速加解密的方法迫在眉睫。



技术实现要素:

为了解决上述技术问题,本发明提供了一种加密装置、解密装置及判断报文是否要加密或解密的方法,能够有效提升数据传输时加解密的效率。

为了达到本发明目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种加密装置,包括第一检测模块和加密模块,其中,

所述第一检测模块,用于对报文进行深度报文检测分析,根据分析结果判断其是否需要加密,将需要加密的报文发送至加密模块;

所述加密模块,用于接收需要加密的报文并对其进行加密。

进一步地,所述加密模块还用于:为加密后的报文打上加密标签。

进一步地,所述加密模块为加密后的报文打上加密标签,具体为:设置报文的vlanpriority字段和/或dscp字段为预先约定的值。

进一步地,所述第一检测模块对报文进行深度报文检测分析,具体为:通过与预先存储的协议特征库进行匹配,确定报文的业务类型。

本发明实施例还提供了一种解密装置,包括第三检测模块和第二解密模块,其中,

所述第三检测模块,用于检测报文是否携带加密标签,如果携带加密标签,判断报文为密文,将其发送至第二解密模块;

所述第二解密模块,用于接收来自第三检测模块的密文,并对其进行解密。

本发明实施例还提供了一种判断报文是否要加密的方法,包括:

对报文进行深度报文检测分析;

根据分析结果判断其是否需要加密;

对需要加密的报文进行加密。

进一步地,所述方法还包括:为加密后的报文打上加密标签。

进一步地,所述为加密后的报文打上加密标签,具体为:设置报文的vlanpriority字段和/或dscp字段为预先约定的值。

进一步地,所述对报文进行深度报文检测分析,具体为:通过与预先存储的协议特征库进行匹配,确定报文的业务类型。

本发明实施例还提供了一种判断报文是否要解密的方法,包括:

检测报文是否携带加密标签;

如果携带加密标签,判断报文为密文,对其进行解密。

本发明的技术方案,具有如下有益效果:

本发明提供的加密装置、解密装置及判断报文是否要加密或解密的方法,通过对报文进行深度报文检测分析,判断其是否需要进行加解密操作,在保证信息同样安全的前提下,大大减少了加解密的工作量,从而有效的提升了加解密的效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有的数据传输加解密方法示意图;

图2为本发明第一实施例的加密装置的结构示意图;

图3为本发明第二实施例的加密装置的结构示意图;

图4为本发明第一实施例的解密装置的结构示意图;

图5为本发明第二实施例的解密装置的结构示意图;

图6为本发明第三实施例的解密装置的结构示意图;

图7为本发明第四实施例的解密装置的结构示意图;

图8为本发明第一实施例的判断报文是否要加密的方法的流程示意图;

图9为本发明第一实施例的判断报文是否要解密的方法的流程示意图;

图10为本发明第二实施例的判断报文是否要解密的方法的流程示意图;

图11为本发明的加解密装置的一种实际应用场景示意图;

图12为本发明的加解密装置的一种实际应用场景的消息交互流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

参照图2,本发明实施例提供了一种加密装置,包括第一检测模块和加密模块,其中,

第一检测模块,用于对报文进行深度报文检测(deeppacketinspection,dpi)分析,根据分析结果判断其是否需要加密,将需要加密的报文发送至加密模块;

加密模块,用于接收需要加密的报文并对其进行加密。

进一步地,所述加密模块还用于:为加密后的报文打上加密标签。

值得说明的是,本发明中所述的加密标签,可以设置在报文中的任意位置,例如应用层载荷的末尾或者报文头部;当设置在报文头部时,可以使用报文头部的tcp/ip协议的保留字段,或者可以通过复用报文头部的tcp/ip协议的已使用字段。

进一步地,所述加密标签存放的位置是可配置的。

具体地,根据不同的通信协议及传输场景,可以将加密标签放在不同的位置,以适应各种组网环境。例如,在不带vlan(virtuallocalareanetwork)的环境中,可以把加密标签放在ip头部的id字段、tos字段、flags字段、option字段等等;在带vlan的环境中,可以将加密标签设置在802.1q帧头位置,如vlanpri(priority)字段等等。

进一步地,所述第一检测模块,对报文进行深度报文检测分析,具体为:通过与预先存储的协议特征库进行匹配,确定报文的业务类型。

需要说明的是,不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的bit序列。基于“特征字”的识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定报文的业务类型。例如,bittorrent协议的识别,通过反向工程的方法对其对等协议进行分析,所谓对等协议指的是peer与peer之间交换信息的协议。对等协议由一个握手开始,后面是循环的消息流,每个消息的前面,都有一个数字来表示消息的长度。在其握手过程中,首先是先发送19,跟着是字符串“bittorrentprotocol”。那么“19bittorrentprotocol”就是bittorrent的“特征字”。

进一步地,所述第一检测模块,对报文进行深度报文检测分析,具体为:通过检测报文的控制流,确定报文的业务类型。

需要说明的是,某些业务的控制流和业务流是分离的,业务流没有任何特征,这种情况下,就需要先识别出控制流,并根据控制流的协议进行解析,从协议内容中识别出相应的业务流。例如,sip、h323协议都属于这种类型。sip/h323通过信令交互过程,协商得到其数据通道,一般是rtp格式封装的语音流。也就是说,纯粹检测rtp流并不能得出这条rtp流是那通过哪种协议建立的,只有通过检测sip/h323的协议交互,才能确定报文的业务类型。

进一步地,参照图3,所述加密装置还包括发送模块,其中,

所述第一检测模块,还用于:将不需要加密的报文发送至发送模块;

所述加密模块,还用于:将加密后的报文发送至发送模块;

所述发送模块,用于接收来自第一检测模块和加密模块的报文,并将其发送至通信对端。

参照图4,本发明实施例还提供了一种解密装置,包括第二检测模块和第一解密模块,其中,

所述第二检测模块,用于对报文进行深度报文检测分析,根据分析结果判断其是否为密文,如果是,将其发送至第一解密模块;

所述第一解密模块,用于接收来自第二检测模块的密文,并对其进行解密。

进一步地,参照图5,所述解密装置还包括第一接收模块,其中,

所述第二检测模块,还用于:如果报文不是密文,将其发送至第一接收模块;

所述第一解密模块,还用于:将解密后的报文发送至第一接收模块;

所述第一接收模块,用于接收来自第二检测模块和第一解密模块的报文。

参照图6,本发明实施例还提供了一种解密装置,包括第三检测模块和第二解密模块,其中,

所述第三检测模块,用于检测接收的报文是否携带加密标签,如果携带加密标签,判断接收的报文为密文,将其发送至第二解密模块;

所述第二解密模块,用于接收来自第三检测模块的密文,并对其进行解密。

值得说明的是,本发明中所述的加密标签,可以设置在报文中的任意位置,例如应用层载荷的末尾或者报文头部;当设置在报文头部时,可以使用报文头部的tcp/ip协议的保留字段,或者可以通过复用报文头部的tcp/ip协议的已使用字段。

进一步地,所述加密标签存放的位置是可配置的。

具体地,根据不同的通信协议及传输场景,可以将加密标签放在不同的位置,以适应各种组网环境。例如,在不带vlan(virtuallocalareanetwork)的环境中,可以把加密标签放在ip头部的id字段、tos字段、flags字段、option字段等等;在带vlan的环境中,可以将加密标签设置在802.1q帧头位置,如vlanpri(priority)字段等等。

进一步地,参照图7,所述解密装置还包括第二接收模块,其中,

所述第三检测模块,还用于:如果报文不是密文,将其发送至第二接收模块;

所述第二解密模块,还用于:将解密后的报文发送至第二接收模块;

所述第二接收模块,用于接收来自第三检测模块和第二解密模块的报文。

参照图8,本发明实施例还提供了一种判断报文是否要加密的方法,包括如下步骤:

对报文进行深度报文检测分析;

根据分析结果判断其是否需要加密;

对需要加密的报文进行加密。

进一步地,所述方法还包括:为加密后的报文打上加密标签。

值得说明的是,本发明中所述的加密标签,可以设置在报文中的任意位置,例如应用层载荷的末尾或者报文头部;当设置在报文头部时,可以使用报文头部的tcp/ip协议的保留字段,或者可以通过复用报文头部的tcp/ip协议的已使用字段。

进一步地,所述加密标签存放的位置是可配置的。

具体地,根据不同的通信协议及传输场景,可以将加密标签放在不同的位置,以适应各种组网环境。例如,在不带vlan(virtuallocalareanetwork)的环境中,可以把加密标签放在ip头部的id字段、tos字段、flags字段、option字段等等;在带vlan的环境中,可以将加密标签设置在802.1q帧头位置,如vlanpri(priority)字段等等。

进一步地,对报文进行深度报文检测分析,具体为:通过与预先存储的协议特征库进行匹配,确定报文的业务类型。

需要说明的是,不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的bit序列。基于“特征字”的识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定报文的业务类型。例如,bittorrent协议的识别,通过反向工程的方法对其对等协议进行分析,所谓对等协议指的是peer与peer之间交换信息的协议。对等协议由一个握手开始,后面是循环的消息流,每个消息的前面,都有一个数字来表示消息的长度。在其握手过程中,首先是先发送19,跟着是字符串“bittorrentprotocol”。那么“19bittorrentprotocol”就是bittorrent的“特征字”。

进一步地,对报文进行深度报文检测分析,具体为:通过检测报文的控制流,确定报文的业务类型。

需要说明的是,某些业务的控制流和业务流是分离的,业务流没有任何特征,这种情况下,就需要先识别出控制流,并根据控制流的协议进行解析,从协议内容中识别出相应的业务流。例如,sip、h323协议都属于这种类型。sip/h323通过信令交互过程,协商得到其数据通道,一般是rtp格式封装的语音流。也就是说,纯粹检测rtp流并不能得出这条rtp流是那通过哪种协议建立的,只有通过检测sip/h323的协议交互,才能确定报文的业务类型。

进一步地,所述方法还包括:将不需要加密的报文或加密后的报文发送至通信对端。

参照图9,本发明实施例还提供了一种判断报文是否要解密的方法,包括如下步骤:

对报文进行深度报文检测分析,根据分析结果判断其是否为密文;

如果是密文,对其进行解密。

进一步地,所述方法还包括:将解密后的报文或非密文的报文,发送至相应的接收端。

参照图10,本发明实施例还提供了一种判断报文是否要解密的方法,包括如下步骤:

检测接收的报文是否携带加密标签;

如果携带加密标签,判断接收的报文为密文,对其进行解密。

值得说明的是,本发明中所述的加密标签,可以设置在报文中的任意位置,例如应用层载荷的末尾或者报文头部;当设置在报文头部时,可以使用报文头部的tcp/ip协议的保留字段,或者可以通过复用报文头部的tcp/ip协议的已使用字段。

进一步地,所述加密标签存放的位置是可配置的。

具体地,根据不同的通信协议及传输场景,可以将加密标签放在不同的位置,以适应各种组网环境。例如,在不带vlan(virtuallocalareanetwork)的环境中,可以把加密标签放在ip头部的id字段、tos字段、flags字段、option字段等等;在带vlan的环境中,可以将加密标签设置在802.1q帧头位置,如vlanpri(priority)字段等等。

进一步地,所述方法还包括:将解密后的报文或非密文的报文,发送至相应的接收端。

本发明的一具体实施场景如图11所示,假设本实例中安全级别高的数据报文为邮件数据,其余的数据报文则没有安全性方面的要求,在发送端与加密机之间设置第一检测模块,所述第一检测模块具备深度报文检测dpi功能;在解密机之前设置第三检测模块,所述第三检测模块具备加密标签检测功能。

值得说明的是,本发明中第一检测模块的深度报文检测dpi功能,决定了本发明加解密的性能。通过对市场上几款主流dpi产品和组件进行大量的实验,证明现有的dpi产品和组件对协议报文以及关键字识别准确率接近100%,能够确保所有的重要数据都经过加密操作后再进行传输。

具体消息交互流程如图12,主要包括以下步骤:发送端通过第一检测模块对报文进行深度报文检测分析,根据分析结果判断其是否需要加密,然后对需要加密的报文(安全级别高的数据流量,如邮件应用数据、账号登陆、文件传输等)进行加密并打上加密标签,再发送至通信对端;对不需要加密的报文(安全等级一般的数据流量,如娱乐、新闻等),直接发送至通信对端。

在接收端,检测接收的报文是否携带加密标签,如果接收的报文携带加密标签,判断接收的报文是加密后的安全级别高的数据流量,对其进行解密,然后转发至接收端;对没有携带加密标签的报文,表示报文是未加密的安全等级一般的数据流量,直接转发至接收端。

值得说明的是,本发明的第一检测模块对报文进行深度报文检测分析,这个过程虽然也会耗时,但是通过大量的实验验证,dpi检测的效率比常规加密算法效率高出1到3个数量级,而安全级别高的数据通常在所有的传输数据中占比很小,与加密操作相比,整个过程会高效至少一个数量级以上。因此,本发明实例能够在保证用户重要数据传输安全的情况下,通过减少加解密的工作量,极大的提高对数据加解密的效率。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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