一种分片报文传输方法和网络设备与流程

文档序号:14723317发布日期:2018-06-18 12:11阅读:272来源:国知局

本发明涉及互联网通信技术领域,尤其涉及一种分片报文传输方法和网络设备。



背景技术:

随着互联网发展越来越迅猛,网络的安全性越来越受到重视,如何保证网络中的信息不被篡改、窃取,保证数据的完整性,增强网络的安全性问题,已迫在眉睫。

网络设备作为互联网攻击的一个重要目标,如何监控网络设备的流量成为一个重要课题。网络设备自身篡改或自发的异常报文流量,很容易造成泄密,现有技术中几乎无检测异常报文流量的方法,只是对报文进行加密保护防止泄密,但也无法完全杜绝被窃取破解泄密的可能性。同时,由于现有技术无法检测异常报文流量,也就无法对异常报文流量进行控制。针对该问题,网络设备需要对报文进行数字签名。

数字签名也称电子签名,如同出示手写签名一样,能起到电子文件认证、核准和生效的作用。数字签名的主要功能是:首先,能确定消息确实是由发送方签名并发出来的,因为第三方没有签名密钥,无法伪造发送方的签名。其次,数字签名能确定消息的完整性。因为一个文件的数字签名代表了该文件的特征,如果文件发生改变,数字签名的值也将发生变化,不同的文件将得到不同的数字签名。

数字签名的实现方式是,把哈希函数和公开密钥算法结合起来,发送方从报文文本中提取部分或全部信息,并用签名密钥对这些信息进行签名,形成发送方的数字签名;然后,将这个数字签名作为报文的一部分和报文一起发送给报文的接收方。报文的接收方首先从接收到的报文中提取出该报文的数字签名,然后用解签名密钥来对报文中附加的数字签名进行解签名验证。如果验证成功,那么接收方就能确认该数字签名是发送方的。其中,发送方使用的签名密钥和接收方使用的解签名密钥可以相同,即对称密钥技术,也可以不同,是一对公钥和私钥,私钥签名,公钥解签名验证,即非对称密钥技术。

虽然现有网络中网络设备会对报文进行签名加密,增加了网络安全性,但是现有签名加密方法一般将签名信息存放在报文的负载中,在报文传输过程中不具备解签名功能的中间设备会根据自身流量对报文进行再次分片或重组,这样会导致在目的设备在解签名和报文重组后无法获取正确的报文数据。



技术实现要素:

本发明要解决的主要技术问题是,提供一种分片报文传输方法和网络设备,能够解决采用现有签名加密方法增加网络安全性会存在目的设备在解签名和报文重组后无法获取正确的报文数据的技术问题。

为解决上述技术问题,本发明提供一种分片报文传输方法,包括如下步骤:

当经过网络设备的分片报文需要签名时,获取所述分片报文的特征值;

根据签名密钥对所述特征值进行签名,并将签名信息存放在所述分片报文首部;

将签名后的所述分片报文发送出去。

进一步地,所述将签名信息存放在所述分片报文首部的步骤包括:将所述签名信息存放在所述分片报文首部的标识字段中。

进一步地,在将签名信息存放在所述分片报文首部之后,将签名后的所述分片报文发送出去之前,所述方法还包括:

重新计算填写所述分片报文首部的校验和。

进一步地,所述获取所述分片报文的特征值的步骤包括:

从所述分片报文中提取特征元素,根据所述特征元素获取所述分片报文的特征值;

或者

分别从隶属于同一个报文的至少两个需要签名的分片报文中提取特征元素,根据提取的特征元素获取所述分片报文的特征值。

进一步地,所述从所述分片报文中提取特征元素,根据所述特征元素获取所述分片报文的特征值的步骤包括:

从所述分片报文中提取源地址和目的地址,根据所述源地址和目的地址获取所述分片报文的特征值。

进一步地,所述方法还包括:

当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;

根据解签名密钥对所述签名信息进行解签名验证,若验证成功,则将所述分片报文发送出去。

进一步地,所述从所述分片报文首部提取签名信息的步骤包括:从所述分片报文首部的标识字段中提取签名信息。

进一步地,所述从所述分片报文首部提取签名信息的步骤包括:

在隶属于同一个报文的至少两个需要解签名的分片报文达到所述网络设备之后,从所述分片报文首部的标识字段中提取签名信息。

同样为了解决上述的技术问题,本发明还提供了一种分片报文传输方法,包括如下步骤:

当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;

根据解签名密钥对所述签名信息验证进行解签名验证,若验证成功,则将所述分片报文发送出去。

进一步地,所述从所述分片报文首部提取签名信息的步骤包括:

在隶属于同一个报文的至少两个需要解签名的分片报文达到所述网络设备之后,从所述分片报文首部的标识字段中提取签名信息。

进一步地,所述从所述分片报文首部提取签名信息的步骤包括:从所述分片报文首部的标识字段中提取签名信息。

进一步地,所述方法还包括:当验证失败时,丢弃所述分片报文。

同样为了解决上述的技术问题,本发明还提供了一种网络设备,包括:签名模块和报文发送模块;

所述签名模块,用于当经过网络设备的分片报文需要签名时,获取所述分片报文的特征值;以及根据签名密钥对所述特征值进行签名,并将签名信息存放在所述分片报文首部;

所述报文发送模块,用于将签名后的所述分片报文发送出去。

进一步地,所述网络设备还包括:解签名模块;

所述解签名模块,用于当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;以及根据解签名密钥对所述签名信息进行解签名验证,若验证成功,则将所述分片报文发送给所述报文发送模块;

所述报文发送模块,还用于将所述解签名模块传输来的所述分片报文发送出去。

同样为了解决上述的技术问题,本发明还提供了另一种网络设备,包括:解签名模块和报文发送模块;

所述解签名模块,用于所述解签名模块,用于当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;以及根据解签名密钥对所述签名信息进行解签名验证;

所述报文发送模块,用于将所述解签名模块传输来的所述分片报文发送出去。

本发明的有益效果是:

本发明提供了一种分片报文传输方法和网络设备,具体地,本发明分片报文传输方法包括:当经过网络设备的分片报文需要签名时,获取所述分片报文的特征值;根据签名密钥对所述特征值进行签名,并将签名信息存放在所述分片报文首部;将签名后的所述分片报文发送出去;本发明的方法可以通过对报文首部的复用,在不影响网络中其他基础设施功能的基础上,对网络中传输的分片数据报文进行了安全性的签名,提高了网络安全性;另一方面,本发明方法将签名信息放在报文首部而不是报文负载中,由于在报文传输过程中间设备仅仅根据自身流量对报文负载进行再次分片,并不涉及报文首部,因此目的设备在解签名和报文重组后可以获取正确的报文数据。

附图说明

图1为本发明实施例一提供的一种分片报文传输方法的流程示意图;

图2为本发明实施例一提供的一种IP首部结构示意图;

图3为本发明实施例二提供的一种分片报文传输方法的流程示意图;

图4为本发明实施例三提供的一种网络设备的结构示意图;

图5为本发明实施例三提供的一种分片报文传输方法的流程示意图;

图6为本发明实施例三提供的另一种分片报文传输方法的流程示意图;

图7为本发明实施例四提供的一种网络设备的结构示意图;

图8为本发明实施例四提供的一种分片报文传输方法的流程示意图;

图9为本发明实施例四提供的另一种分片报文传输方法的流程示意图;

图10为本发明实施例五提供的第一种网络设备的结构示意图;

图11为本发明实施例五提供的第二种网络设备的结构示意图;

图12为本发明实施例五提供的第三种网络设备的结构示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例一:

考虑到采用现有签名加密方法增加网络安全性会存在目的设备在解签名和报文重组后无法获取正确的报文数据的技术问题;本实施例提供了一种分片报文传输方法,如图1所示,可以应用于分片报文的发送端,包括如下步骤:

步骤101:当经过网络设备的分片报文需要签名时,获取所述分片报文的特征值。

具体地,本步骤中获取特征值的方式可以包括以下两种之一:

第一种,从所述分片报文中提取特征元素,根据所述特征元素获取所述分片报文的特征值。

在该种方式下,可以将提取的特征元素直接作为特征值,也可以对提取的特征元素进行处理,将处理后的特征元素作为特征值。

优先地,该种方式下提取的特征元素可以包括:源地址和目的地址。

第二种,分别从隶属于同一个报文的至少两个需要签名的分片报文中提取特征元素,根据提取的特征元素获取所述分片报文的特征值。

具体地,可以在隶属于同一个报文的至少两个需要签名的分片报文达到网所述网络设备之后,从该至少两个分片报文中分别提取特征元素,然后根据特征元素生成特征值。优先地,可以分别从该至少两个分片报文中提取不同的特征元素,例如从第一个分片报文中提取特征元素1、从第二个分片报文中提取特征元素2……从第n个分片报文中提取特征元素n。该种方式可以从多个分片报文中提取不同特征元素,然后将提取的不同特征元素组成特征值。

该种方式下,特征元素可以包括:源地址、目的地址、报文协议、报文负载等等。

优先地,第二种方式可以为:分别从同一个报文需要签名的全部分片报文中提取特征元素,然后根据特征元素获取特征值。例如可以缓存达到同一个报文需要签名的分片报文,在缓存完同一个报文需要签名的所有分片报文之后,分别从各分片报文中提取特征元素,然后根据提取的特征元素获取所述分片报文的特征值。

步骤102:根据签名密钥对所述特征值进行签名,并将签名信息存放在所述分片报文首部。

优先地,本实施例可以将签名信息存在分片报文首部的标识字段中。

具体地,在同一个报文需要签名的全部分片报文到达所述网络设备之后,可以从全部分片报文中提取分片报文的特征值,然后使用签名密钥对所述特征值进行签名,最后将签名信息置于每个需要签名的分片报文首部的标识字段中。此时,每个分片报文的首部标识字段是相同的。

在本实施例中每个分片报文均有自己的报文首部,例如互联网协议允许IP数据包分片,当数据包比链路最大传输单元(MTU,MaximumTransmissionUnit)大时,就可以被分解为很多的足够小片段,以便能够在其上进行传输。当IP数据包被分片后,每一片都成为一个分组,具有自己的IP首部,并在选择路由时与其他分组独立。这样,当数据包的所有片到达接收端时有可能会失序,但是在IP首部(如图2所示)中有足够的信息可以让接收端正确的组装这些数据包分片。

对于发送端发送的每份IP数据包来说,其“标识”字段都包含一个唯一值,表示该数据包的唯一性,该值在数据报分片时被复制到每个片中。“标记”字段的第一个比特为保留位;第二个比特表示“不允许分片”,当该比特置1时,报文不允许分片;第三个比特表示“更多分片”,除了最后一片置0外,其他每个组成数据报的片都要把该比特置1。“片偏移”字段指的是该片偏移原始数据报开始处的位置。另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。

步骤103:将签名后的所述分片报文发送出去。

本实施例的方法可以通过对报文首部的复用,在不影响网络中其他基础设施功能的基础上,对网络中传输的分片数据报文进行了安全性的签名,提高报文的抗伪造型,提高了网络安全性;另一方面,本发明方法将签名信息放在报文首部而不是报文负载中,由于在报文传输过程中间设备仅仅根据自身流量对报文负载进行再次分片,并不涉及报文首部,因此在目的设备在解签名和报文重组后可以获取正确的报文数据。

优先地,本实施例方法还可以包括:当经过网络设备的分片报文不需要签名时,直接将该分片报文发送出去。

具体地,本实施例方法在步骤102和步骤103之间,还可以包括:重新计算填写所述分片报文首部的校验和。

在上述内容基础上,本实施例的分片报文传输方法,还可以包括:

当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;

根据解签名密钥对所述签名信息进行解签名验证,若验证成功,则将所述分片报文发送出去。

在分片报文的签名信息存放在首部的标识字段情况下,本实施例方法中从所述分片报文首部提取签名信息包括:从所述分片报文首部的标识字段中提取签名信息。

优先地,本实施例方法可以在隶属于同一个报文的至少两个需要解签名的分片报文达到所述网络设备之后,从所述分片报文首部的标识字段中提取签名信息;具体地,本实施例方法可以在同一个报文需要解签名的全部分片报文达到所述网络设备之后,从所述分片报文首部提取签名信息。也就是说,在网络设备接收到一个报文需要解签名的全部分片报文时,才从分片报文的标识字段中提取签名信息,然后使用解签名密钥对该签名信息进行解签名验证。

在本实施例中如果验证通过,则将该分片报文发送出去,如果验证失败,说明分片签名报文被篡改或不完整,不是原始分片签名报文,则需要丢弃分片签名报文。

本实施例中所述签名密钥和所述解签名密钥可以相同,也可以不同,如果所述签名密钥和所述解签名密钥不同,则可以增加一台密钥管理设备,用来完成所述网络设备的密钥协商分发和密钥管理功能,本方法中不需赘述此功能。

实施例二:

本实施例提供了一种分片报文发送方法,可以应用于分片报文的接收端,如图3所示,包括如下步骤:

步骤301:当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息。

在签名信息存放在报文首部的标识字段时,本步骤需要从分片报文首部的标识字段中提取签名信息。

优先地,本实施例方法可以在隶属于同一个报文的至少两个需要解签名的分片报文达到所述网络设备之后,从所述分片报文首部提取签名信息;例如在同一个报文需要解签名的全部分片报文达到所述网络设备之后,从所述分片报文首部提取签名信息。

具体地,在网络设备中缓存接收到需要解签名的分片报文,在缓存完同一个报文需要解签名的全部分片报文时,开始进行解签名,具体地,从分片报文首部或者首部的标识字段中提取签名信息,然后利用解签名密钥进行解签名验证。

步骤302:根据解签名密钥对所述签名信息验证进行解签名验证,若验证成功,则将所述分片报文发送出去。

本实施例方法可以与实施例一图1所示的方法对应,与图1所述的方法配合实现在不影响网络中其他基础设施功能的基础上,对网络中传输的分片数据报文进行了安全性的签名,提高报文的抗伪造型,提高了网络安全性;使得分片报文能够在网络中重组。

优先地,本实施例方法还可以包括:当验证失败时,丢弃所述分片报文。

实施例三:

如图4所示,本实施例提供一种网络设备,包括:

报文收发模块,用于接收和发送经过所述网络设备的所有数据报文;

策略模块,用于判断经过所述网络设备的报文是否需要所述签名或所述解签名;

签名模块,用于保存签名密钥,对所述需要签名的报文进行所述签名;

解签名模块,用于保存解签名密钥,对所述需要解签名的报文进行所述解签名。

如图5所示,本实施例提供了一种网络设备中的分片报文传输方法,包括以下步骤:

步骤501:分片报文进入网络设备;

步骤502:网络设备的报文收发模块将分配报文发送给策略模块;

步骤503:策略模块判断分片报文是否需要签名,如果不需要签名,则执行步骤504,如果需要签名,则执行步骤506;

步骤504:策略模块将分片报文发送给报文收发模块;

步骤505:报文收发模块转发分片报文;

步骤506:策略模块将分片报文发送给签名模块;

步骤507:签名模块根据分片报文的源地址和目的地址获取特征值;

步骤508:签名模块使用签名密钥对特征值进行签名;

步骤509:签名模块将签名置于分片报文的“标识”字段,并重新计算填写“校验和”字段;

步骤510:签名模块将签名后的分片签名报文发送给报文收发模块;

步骤511:报文收发模块将签名后的分片签名报文转发出去。

如图6所示,本实施例提供了一种网络设备中的分片报文传输方法,还包括以下步骤:

步骤601:分片报文进入网络设备;

步骤602:网络设备的报文收发模块将分配报文发送给策略模块;

步骤603:策略模块判断分片报文是否需要解签名,如果不需要签名,则执行步骤604,如果需要签名,则执行步骤606;

步骤604:策略模块将分片报文发送给报文收发模块;

步骤605:报文收发模块转发分片报文;

步骤606:策略模块将分片签名报文发送给解签名模块;

步骤607:解签名模块提取分片签名报文的“标识”字段;

步骤608:解签名模块使用解签名密钥对分片签名报文的“标识”字段进行解签名验证;

步骤609:解签名模块检查解签名验证是否通过,如果不通过,则执行步骤610,如果通过,则执行步骤611;

步骤610:解签名验证失败,说明分片签名报文被篡改或不完整,不是原始分片签名报文,则解签名模块丢弃分片签名报文;

步骤611:解签名模块将分片签名报文发送给报文收发模块;

步骤612:报文收发模块将分片签名报文转发出去。

实施例四:

本实施例提供了一种网络设备,如图7所示,包括:

报文收发模块,用于接收和发送经过所述网络设备的所有数据报文;

策略模块,用于判断经过所述网络设备的报文是否需要所述签名或所述解签名;

签名模块,用于保存签名密钥,对所述需要签名的报文进行所述签名;

解签名模块,用于保存解签名密钥,对所述需要解签名的报文进行所述解签名;

报文缓存模块,用于缓存等待签名或解签名的分片报文;

如图8所示,本实施例提供了一种网络设备中的分片报文传输方法,包括以下步骤:

步骤701:分片报文进入网络设备;

步骤702:网络设备的报文收发模块将分配报文发送给策略模块;

步骤703:策略模块判断分片报文是否需要签名,如果不需要签名,则执行704,如果需要签名,则执行步骤706;

步骤704:策略模块将分片报文发送给报文收发模块;

步骤705:报文收发模块转发分片报文;

步骤706:策略模块将分片报文发送给签名模块;

步骤707:签名模块将分片报文保存在报文缓存模块;

步骤708:等待同一报文的全部分片到达网络设备的报文缓存模块;

步骤709:签名模块从全部分片报文中提取特征值;

具体地,分别从各分片报文中提取不同的特征元素,然后根据提取的特征元素获取特征值;

步骤710:签名模块使用签名密钥对特征值进行签名;

步骤711:签名模块将签名置于全部分片报文的“标识”字段,并重新计算填写每一个分片报文“校验和”字段;

步骤712:签名模块将签名后的分片签名报文发送给报文收发模块;

步骤713:报文收发模块将签名后的分片签名报文转发出去;

如图9所示,本实施例提供了一种网络设备中的分片报文传输方法,还包括以下步骤:

步骤801:分片报文进入网络设备;

步骤802:网络设备的报文收发模块将分配报文发送给策略模块;

步骤803:策略模块判断分片报文是否需要解签名,如果不需要签名,则执行步骤804,如果需要签名,则执行步骤806;

步骤804:策略模块将分片报文发送给报文收发模块;

步骤805:报文收发模块转发分片报文;

步骤806:策略模块将分片签名报文发送给解签名模块;

步骤807:策略模块将分片签名报文保存在报文缓存模块;

步骤808:等待同一报文的全部分片签名报文到达报文缓存模块;

步骤809:解签名模块提取分片签名报文的“标识”字段;

步骤810:解签名模块使用解签名密钥对分片签名报文的“标识”字段进行解签名验证;

步骤811:解签名模块检查解签名验证是否通过,如果不通过,则执行步骤812,如果通过,则执行步骤813;

步骤812:解签名验证失败,说明分片签名报文被篡改或不完整,不是原始分片签名报文,则解签名模块丢弃分片签名报文;

步骤813:解签名模块将分片签名报文发送给报文收发模块;

步骤814:报文收发模块将分片签名报文转发出去。

从上述实施例可以看出,相对于现有技术,上述实施例中提供的一种网络设备中的分片报文传输方法,通过对报文IP首部“标识”字段的复用,在不影响网络中其他基础设施功能的基础上,对网络中传输的分片数据报文进行了安全性的签名,让签名后的分片报文可以在网络中正常传输、重组,提高了网络的安全性。

实施例五:

本实施例提供了一种网络设备,如图10所示,包括:签名模块和报文发送模块;

所述签名模块,用于当经过网络设备的分片报文需要签名时,获取所述分片报文的特征值;以及根据签名密钥对所述特征值进行签名,并将签名信息存放在所述分片报文首部;

所述报文发送模块,用于将签名后的所述分片报文发送出去。

如图11所示,优先地,本实施例的网络设备,还可以包括:解签名模块;

所述解签名模块,用于当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;以及根据解签名密钥对所述签名信息进行解签名验证,若验证成功,则将所述分片报文发送给所述报文发送模块;

所述报文发送模块,还用于将所述解签名模块传输来的所述分片报文发送出去。

本实施例提供的网络设备,可以通过对报文首部的复用,在不影响网络中其他基础设施功能的基础上,对网络中传输的分片数据报文进行了安全性的签名,提高报文的抗伪造型,提高了网络安全性;另一方面,由于每个分片报文的首部会在足够信息让接收端重组分片报文,签名后的分片报文可以在网络中正常传输、重组,保护了报文的完整性。

如图12所示,本实施例还提供了另一种网络设备,包括:解签名模块和报文发送模块;

所述解签名模块,用于所述解签名模块,用于当经过网络设备的分片报文需要解签名时,从所述分片报文首部提取签名信息;以及根据解签名密钥对所述签名信息进行解签名验证;

所述报文发送模块,用于将所述解签名模块传输来的所述分片报文发送出去。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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