一种检测报文丢失的方法、装置、系统及存储介质与流程

专利2022-06-29  89


本发明涉及互联网技术领域,特别涉及一种检测报文丢失的方法、装置、系统及存储介质。



背景技术:

在《ipsecvpn技术规范》中定义了基于国密算法的密钥交换协议;在该密钥交换协议中规定了利用加密、签名分离的双国密证书进行密钥协商和身份认证;利用双国密证书进行密钥协商和身份认证,在增强了密钥交换协议的安全性的同时,也增加了协商报文的长度,协商报文非常容易超过接口mtu(maximumtransmissionunit,最大传输单元)而造成ip层分片;由于分片网络中的一些防火墙会认为分片报文是分片攻击而阻止分片报文通过,如果响应方不能获取所有的分片报文,密钥协商无法成功,从而导致ipsec(internetprotocolsecurity,互联网安全协议)隧道无法建立;在密钥协商中,经常会出现协商大报文,但是由于国密网络的特殊性,相关ip不允许ping(packetinternetgroper,因特网包探索器)探测,因此无法对分片报文丢弃的情况进行排查;在现有的技术规范中也未对这种因ip层分片而导致分片报文丢失的情况提供相应的处理建议;因此,如何在国密vpn(virtualprivatenetwork,虚拟专用网络)密钥协商过程中检测出是否存在分片报文丢失的情况成为本领域技术人员亟需解决的技术问题。



技术实现要素:

本发明的目的在于提供一种检测报文丢失的方法、装置、系统及存储介质,能够在密钥协商过程中检测出是否存在分片报文丢失的情况。

根据本发明的一个方面,提供了一种检测报文丢失的方法,所述方法包括:

在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

可选的,在所述构建检测报文的步骤之前,所述方法还包括:

向所述响应方发送所述第一协商报文,并判断在设定时间内是否接收到由所述响应方发送的响应报文;

在未收到所述响应报文的情况下,判断所述第一协商报文的长度是否大于预设阈值;

若是,则构建所述检测报文;若否,则将所述第一协商报文重新发送至所述响应方。

可选的,在所述将所述第一协商报文和所述检测报文发送至所述响应方的步骤之前,所述方法还包括:

利用来自所述响应方的加密证书公钥对所述检测报文进行数字信封封装。

为了实现上述目的,本发明还提供一种检测报文丢失的方法,所述方法包括:

在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

从所述检报文中解析出所述第一特征值;

判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

可选的,所述从所述检报文中解析出所述第一特征值的步骤,具体包括:

利用加密证书私钥解密所述检测报文的数字信封封装,以得到所述检测报文中的第一特征值。

可选的,所述方法还包括:

利用签名证书对所述第一特征值与所述第二特征值是否一致的判断结果进行签名,并将签名后的判断结果添加到检测响应报文中;

将所述检测响应报文发送至所述发起方。

为了实现上述目的,本发明还提供一种检测报文丢失的装置,所述装置包括:

构建模块,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

第一计算模块,用于利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

发送模块,用于将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

为了实现上述目的,本发明还提供一种检测报文丢失的装置,所述装置包括:

接收模块,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

第二计算模块,用于将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

解析模块,用于从所述检报文中解析出所述第一特征值;

判断模块,用于判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

为了实现上述目的,本发明还提供一种检测报文丢失的系统,所述系统包括:发起方和响应方;

所述发起方,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;将所述第一协商报文和所述检测报文发送至所述响应方;

所述响应方,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的;将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;从所述检报文中解析出所述第一特征值;判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的检测报文丢失的方法的步骤。

本发明提供的检测报文丢失的方法、装置、系统及存储介质,当发起方启动报文重传时,会在发送第一协商报文的同时发送一个检测报文,以检测第一协商报文在传输过程中是否存在因分片报文丢失而导致的响应方接收不到第一协商报文的情况;若第一协商报文过大,则在传输过程中会经过ip层分片,从而将第一协商报文拆分为多个分片报文;通过本实施例,发起方和响应方均会通过检测报文检测出是否存在分片报文丢失的情况,若出现分片报文丢失的情况,双方可以选择主动终止密钥协商。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为实施例一提供的检测报文丢失的方法的一种可选的流程示意图;

图2为实施例二提供的检测报文丢失的方法的一种可选的流程示意图;

图3为实施例三提供的检测报文丢失的装置的一种可选的组成结构示意图;

图4为实施例四提供的检测报文丢失的装置的一种可选的组成结构示意图;

图5为实施例六提供的计算机设备的一种可选的硬件架构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图对本发明提供的检测报文丢失的方法、装置、系统及存储介质。

实施例一

本发明实施例提供了一种检测报文丢失的方法,应用于国密vpn密钥协商过程中的发起方,如图1所示,该方法具体包括以下步骤:

步骤s101:在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况。

其中,所述第一协商报文是用于在发起方与响应方之间进行密钥协商的报文,由于在国密标准中需要使用双国密证书进行密钥协商,所以会造成第一协商报文过大的情况;若第一协商报文超过接口mtu,则会导致ip层分片,从而将第一协商报文拆分为多个分片报文。

具体的,在所述构建检测报文的步骤之前,所述方法还包括:

向所述响应方发送所述第一协商报文,并判断在设定时间内是否接收到由所述响应方发送的响应报文;

在未收到所述响应报文的情况下,判断所述第一协商报文的长度是否大于预设阈值;

若是,则构建所述检测报文;若否,则将所述第一协商报文重新发送至所述响应方。

在现有技术中,在发起方向响应方发送用于密钥协商的第一协商报文之后,如果在设定时间内没有收到响应方的响应报文,则发起方会启动报文重传,如果重传次数达到预设阈值且仍没有收到响应方的响应报文,则双方会终止密钥协商。在本实施例中,当发起方启动报文重传时,会在发送第一协商报文的同时发送一个检测报文,以检测第一协商报文在传输过程中是否存在因分片报文丢失而导致的响应方接收不到第一协商报文的情况。

进一步的,在步骤s101之前,所述方法还包括:

定义检测报文标识vendorid,发起方在向响应方发送的第一条报文中携带所述检测报文标识,以表征发起方支持所述检测报文丢失的方法;若响应方也支持所述检测报文丢失的方法,则响应方在向发起方发送的第一条报文中也携带所述检测报文标识,以协商双方确认支持所述检测报文丢失的方法。

步骤s102:利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中。

优选的,所述预设算法是发起方与响应方同时支持的哈希算法;在发起方与响应方进行密钥协商的过程中,发起方在向响应方发送的第一个协商报文中会包含安全联盟载荷sa,在该安全联盟载荷sa中包括发起方支持的哈希算法,响应方根据该安全联盟载荷sa以及自身支持的哈希算法,从该安全联盟载荷sa中确定出后期协商过程中所使用的哈希算法,以通过确定出的哈希算法计算出第一协商报文的第一特征值。

步骤s103:将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

在本实施例中由于在检测报文中只包含有第一特征值,所以检测报文足够小,在传输过程中不会引起ip层分片。但是,若第一协商报文过大,则在传输过程中会经过ip层分片,从而将第一协商报文拆分为多个分片报文。此外,当响应方接收到多个分片报文时,会将接收到的多个分片报文组成第二协商报文,在本实施例中若在传输过程中存在分片报文丢失的情况,则第一协商报文的第一特征值与第二报文的第二特征值不一致,即第一协商报文未被响应方收到;若在传输过程中不存在分片报文丢失的情况,则第一协商报文的第一特征值与第二报文的第二特征值一致。

具体的,在所述将所述第一协商报文和所述检测报文发送至所述响应方的步骤之前,所述方法还包括:

利用来自所述响应方的加密证书公钥对所述检测报文进行数字信封封装。

在实际应用中,在响应方向发起方发送的第一个协商报文中会携带响应方的加密证书和签名证书,因此,发起方在接收到该协商报文后,可以对后续发送的协商报文进行数字信封封装,以防止协商报文被伪造。

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

接收由所述响应方发送来的检测响应报文;其中,所述检测响应报文包括:所述第一特征值与所述第二特征值是否一致的判断结果。

通过本实施例,发起方和响应方均会通过检测报文检测出是否存在分片报文丢失的情况,若出现分片报文丢失的情况,双方可以选择主动终止密钥协商。

实施例二

本发明实施例提供了一种检测报文丢失的方法,应用于国密vpn密钥协商过程中的响应方,如图2所示,该方法具体包括以下步骤:

步骤s201:在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值。

其中,所述第一协商报文是用于在发起方与响应方之间进行密钥协商的报文,由于在国密标准中需要使用双国密证书进行密钥协商,所以会造成第一协商报文过大的情况;若第一协商报文超过接口mtu,则会导致ip层分片,从而将第一协商报文拆分为多个分片报文;

所述检测报文用于检测所述第一协商报文在传输过程中是否存在因分片报文丢失而导致的响应方接收不到所述第一协商报文的情况。

优选的,所述预设算法是发起方与响应方同时支持的哈希算法;在发起方与响应方进行密钥协商的过程中,发起方在向响应方发送的第一个协商报文中会包含安全联盟载荷sa,在该安全联盟载荷sa中包括发起方支持的哈希算法,响应方根据该安全联盟载荷sa以及自身支持的哈希算法,从该安全联盟载荷sa中确定出后期协商过程中所使用的哈希算法,以通过确定出的哈希算法计算出第一协商报文的第一特征值。

进一步的,在步骤s201之前,所述方法还包括:

定义检测报文标识vendorid,发起方在向响应方发送的第一条报文中携带所述检测报文标识,以表征发起方支持所述检测报文丢失的方法;若响应方也支持所述检测报文丢失的方法,则响应方在向发起方发送的第一条报文中也携带所述检测报文标识,以协商双方确认支持所述检测报文丢失的方法。

步骤s202:将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值。

步骤s203:从所述检报文中解析出所述第一特征值。

具体的,步骤s203,包括:

利用加密证书私钥解密所述检测报文的数字信封封装,以得到所述检测报文中的第一特征值。

在本实施例中,通过对所述检测报文进行数字信封封装,以防止所述检测报文被伪造。

步骤s204:判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

在本实施例中由于在检测报文中只包含有第一特征值,所以检测报文足够小,在传输过程中不会引起ip层分片。但是,若第一协商报文过大,则在传输过程中会经过ip层分片,从而将第一协商报文拆分为多个分片报文。此外,当响应方接收到多个分片报文时,会将接收到的多个分片报文组成第二协商报文,在本实施例中若在传输过程中存在分片报文丢失的情况,则第一协商报文的第一特征值与第二报文的第二特征值不一致,即第一协商报文未被响应方收到;若在传输过程中不存在分片报文丢失的情况,则第一协商报文的第一特征值与第二报文的第二特征值一致。

具体的,所述方法还包括:

利用签名证书对所述第一特征值与所述第二特征值是否一致的判断结果进行签名,并将签名后的判断结果添加到检测响应报文中;

将所述检测响应报文发送至所述发起方。

在本实施例中,通过对判断结果进行签名以保证数据来源的可靠性。通过本实施例,发起方和响应方均会通过检测报文检测出是否存在分片报文丢失的情况,若出现分片报文丢失的情况,双方可以选择主动终止密钥协商。

实施例三

本发明实施例提供了一种检测报文丢失的装置,应用于国密vpn密钥协商过程中的发起方,如图3所示,该装置具体包括以下组成部分:

构建模块301,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

第一计算模块302,用于利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

发送模块303,用于将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

具体的,所述装置还包括:

重发模块,用于向所述响应方发送所述第一协商报文,并判断在设定时间内是否接收到由所述响应方发送的响应报文;在未收到所述响应报文的情况下,判断所述第一协商报文的长度是否大于预设阈值;若是,则触发构建模块301;若否,则将所述第一协商报文重新发送至所述响应方。

进一步的,发送模块303,具体用于:

在所述将所述第一协商报文和所述检测报文发送至所述响应方之前,利用来自所述响应方的加密证书公钥对所述检测报文进行数字信封封装。

实施例四

本发明实施例提供了一种检测报文丢失的装置,应用于国密vpn密钥协商过程中的响应方,如图4所示,该装置具体包括以下组成部分:

接收模块401,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

第二计算模块402,用于将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

解析模块403,用于从所述检报文中解析出所述第一特征值;

判断模块404,用于判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

具体的,解析模块403,用于:

利用加密证书私钥解密所述检测报文的数字信封封装,以得到所述检测报文中的第一特征值。

进一步的,所述装置还包括:

响应模块,用于利用签名证书对所述第一特征值与所述第二特征值是否一致的判断结果进行签名,并将签名后的判断结果添加到检测响应报文中;将所述检测响应报文发送至所述发起方。

实施例五

本发明实施例提供了一种检测报文丢失的系统,该系统包括:发起方和响应方;

所述发起方,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;将所述第一协商报文和所述检测报文发送至所述响应方;

所述响应方,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的;将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;从所述检报文中解析出所述第一特征值;判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

实施例六

本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备50至少包括但不限于:可通过系统总线相互通信连接的存储器501、处理器502。需要指出的是,图5仅示出了具有组件501-502的计算机设备50,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器501(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备50的内部存储单元,例如该计算机设备50的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备50的外部存储设备,例如该计算机设备50上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器501还可以既包括计算机设备50的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备50的操作系统和各类应用软件。此外,存储器501还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器502在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备50的总体操作。

具体的,在本实施例中,处理器502用于执行处理器502中存储的检测报文丢失的方法的程序,所述检测报文丢失的方法的程序被执行时可以实现如下步骤:

在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。

进一步的,在本实施例中,处理器502还用于执行处理器502中存储的检测报文丢失的方法的程序,所述检测报文丢失的方法的程序被执行时可以实现如下步骤:

在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

从所述检报文中解析出所述第一特征值;

判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

上述方法步骤的具体实施例过程可参见第二实施例,本实施例在此不再重复赘述。

实施例七

本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现如下方法步骤:

在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。

此外,所述计算机程序被处理器执行时还可以实现如下方法步骤:

在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

从所述检报文中解析出所述第一特征值;

判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

上述方法步骤的具体实施例过程可参见第二实施例,本实施例在此不再重复赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种检测报文丢失的方法,其特征在于,所述方法包括:

在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

2.根据权利要求1所述的检测报文丢失的方法,其特征在于,在所述构建检测报文的步骤之前,所述方法还包括:

向所述响应方发送所述第一协商报文,并判断在设定时间内是否接收到由所述响应方发送的响应报文;

在未收到所述响应报文的情况下,判断所述第一协商报文的长度是否大于预设阈值;

若是,则构建所述检测报文;若否,则将所述第一协商报文重新发送至所述响应方。

3.根据权利要求1所述的检测报文丢失的方法,其特征在于,在所述将所述第一协商报文和所述检测报文发送至所述响应方的步骤之前,所述方法还包括:

利用来自所述响应方的加密证书公钥对所述检测报文进行数字信封封装。

4.一种检测报文丢失的方法,其特征在于,所述方法包括:

在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

从所述检报文中解析出所述第一特征值;

判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

5.根据权利要求4所述的检测报文丢失的方法,其特征在于,所述从所述检报文中解析出所述第一特征值的步骤,具体包括:

利用加密证书私钥解密所述检测报文的数字信封封装,以得到所述检测报文中的第一特征值。

6.根据权利要求4所述的检测报文丢失的方法,其特征在于,所述方法还包括:

利用签名证书对所述第一特征值与所述第二特征值是否一致的判断结果进行签名,并将签名后的判断结果添加到检测响应报文中;

将所述检测响应报文发送至所述发起方。

7.一种检测报文丢失的装置,其特征在于,所述装置包括:

构建模块,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过ip层分片后得到的多个分片报文是否出现丢失的情况;

第一计算模块,用于利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;

发送模块,用于将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出与所述第二协商报文具有唯一映射关系的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

8.一种检测报文丢失的装置,其特征在于,所述装置包括:

接收模块,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的,所述检测报文包含利用预设算法计算出的与所述第一协商报文具有唯一映射关系的第一特征值;

第二计算模块,用于将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;

解析模块,用于从所述检报文中解析出所述第一特征值;

判断模块,用于判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

9.一种检测报文丢失的系统,其特征在于,所述系统包括:发起方和响应方;

所述发起方,用于在基于国密算法的密钥协商过程中,当向响应方发送第一协商报文时,构建检测报文;利用预设算法对所述第一协商报文进行计算,获得与所述第一协商报文具有唯一映射关系的第一特征值,并将所述第一特征值添加到所述检测报文中;将所述第一协商报文和所述检测报文发送至所述响应方;

所述响应方,用于在基于国密算法的密钥协商过程中,接收来自发起方的多个分片报文以及检测报文;其中,所述多个分片报文是对来自所述发起方的第一协商报文进行ip层分片后得到的;将所述多个分片报文组装成第二协商报文,并利用所述预设算法对所述第二协商报文进行计算,获得与所述第二协商报文具有唯一映射关系的第二特征值;从所述检报文中解析出所述第一特征值;判断所述第一特征值与所述第二特征值是否一致,若不一致,则判定存在分片报文丢失的情况。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。

技术总结
本发明公开了一种检测报文丢失的方法、装置、系统及存储介质,所述方法包括:当向响应方发送第一协商报文时,构建检测报文;其中,所述检测报文用于检测所述第一协商报文在传输过程中经过IP层分片后得到的多个分片报文是否出现丢失的情况;利用预设算法对所述第一协商报文进行计算,获得所述第一协商报文的第一特征值,并将所述第一特征值添加到所述检测报文中;将所述第一协商报文和所述检测报文发送至所述响应方,以供所述响应方将接收到的所述第一协商报文的多个分片报文组装成第二协商报文,并利用所述预设算法计算出所述第二协商报文的第二特征值,通过判断所述第一特征值与所述第二特征值是否一致以判断是否存在分片报文丢失的情况。

技术研发人员:傅旭明
受保护的技术使用者:奇安信科技集团股份有限公司;网神信息技术(北京)股份有限公司
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20331.html

最新回复(0)