一种网络数据包加密方法、解密方法及相关装置与流程

文档序号:18040386发布日期:2019-06-28 23:57阅读:393来源:国知局
一种网络数据包加密方法、解密方法及相关装置与流程

本申请涉及计算机技术领域,特别涉及一种网络数据包加密方法、网络数据包解密方法、网络数据包加密装置、网络数据包解密装置、计算机设备以及计算机可读存储介质。



背景技术:

随着信息技术的不断发展,在数据传输安全方面出现了不同的数据安全方案。目前,通常采用密钥对数据进行加密,以便保证数据的安全性。

在目前的现有技术中,当密钥随着安全情况发生变化时,需要对其他数据更新不同的密钥,就需要将新的密钥发送至其他设备中。但是,在密钥发送的过程中存在密钥被盗取的情况,影响后续设备的安全性。也即是,密钥由于时效问题需要对密钥进行同步操作,以便保证密钥不失效,不过期。但是,目前对密钥的传输过程还是对密钥加密后传输,虽然现有技术中对其进行了加密操作,但是密钥还存在被截获的风险,使密钥同步失效。

因此,如何更安全的保证密钥的时效性是本领域技术人员关注的重点问题。



技术实现要素:

本申请的目的是提供一种网络数据包加密方法、网络数据包解密方法、网络数据包加密装置、网络数据包解密装置、计算机设备以及计算机可读存储介质,通过第一密钥参数和第二密钥参数生成密钥,避免密钥在传输中被盗取,提高数据加解密过程的安全性。

为解决上述技术问题,本申请提供一种网络数据包加密方法,包括:

获取本地预存的第一密钥参数;

将待发送数据包的特征数据作为第二密钥参数;

根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥;

根据所述密钥对所述待发送数据包进行加密。

可选的,将待发送数据包的特征数据作为第二密钥参数,包括:

将所述待发送数据包的报文参数数据作为所述第二密钥参数。

可选的,将待发送数据包的特征数据作为第二密钥参数,包括:

将所述待发送数据包的正文进行特征数据变换,得到变换结果;

将所述变换结果作为所述第二密钥参数。

可选的,根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥,包括:

根据整合算法对所述第一密钥参数和所述第二密钥参数进行计算,得到完整密钥参数;

根据密钥算法对所述完整密钥参数进行计算,得到所述密钥。

本申请还提供一种网络数据包解密方法,包括:

获取本地预存的第一密钥参数;

将接收到的数据包的特征数据作为第二密钥参数;

根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥;

根据所述密钥对所述数据包进行解密。

可选的,将接收到的数据包的特征数据作为第二密钥参数,包括:

将接收到的数据包的报文参数数据作为第二密钥参数。

本申请还提供一种网络数据包加密装置,包括:

第一密钥参数获取模块,用于获取本地预存的第一密钥参数;

第二密钥参数获取模块,用于将待发送数据包的特征数据作为第二密钥参数;

密钥获取模块,用于根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥;

加密模块,用于根据所述密钥对所述待发送数据包进行加密。

本申请还提供一种网络数据包解密装置,包括:

第一密钥参数获取模块,用于获取本地预存的第一密钥参数;

第二密钥参数获取模块,用于将接收到的数据包的特征数据作为第二密钥参数;

密钥获取模块,用于根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥;

解密模块,用于根据所述密钥对所述数据包进行解密。

本申请还提供一种计算机设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的网络数据包加密方法的步骤和/或网络数据包解密方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的网络数据包加密方法的步骤和/或网络数据包解密方法的步骤。

本申请所提供的一种网络数据包加密方法,包括:获取本地预存的第一密钥参数;将待发送数据包的特征数据作为第二密钥参数;根据预设规则对所述第一密钥参数和所述第二密钥参数进行密钥生成处理,得到密钥;根据所述密钥对所述待发送数据包进行加密。

通过使用本地预存的第一密钥参数和在网络中传输的第二密钥参数在本地生成密钥,也就是通过本地生成的方式在数据加密方和数据解密方之间同步密钥,而不是通过网络将密钥传输至数据加密方法或数据解密方,避免在网络中将密钥进行传输,使密钥无法在传输过程中被盗取,并且,第一密钥参数为预存在本地的数据,第二密钥参数为每次发送的待发送数据包的特征数据,每一次发送的特征数据均不相同,使得每次发送数据包均会更换密钥,实现对密钥进行实时更新,保持密钥的时效性,提高加密过程的安全性。同时,将待发送数据包的特征数据作为第二密钥参数,降低从待发送数据包中获取第二密钥参数的难度,以便将该方法直接实施在现有的数据包传输过程中,操作更加便利。

本申请还提供一种网络数据包加密装置、网络数据包解密装置、计算机设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种网络数据包加密方法的流程图;

图2为本申请实施例所提供的一种网络数据包解密方法的流程图;

图3为本申请实施例所提供的一种网络数据包加密装置的结构示意图;

图4为本申请实施例所提供的一种网络数据包解密装置的结构示意图;

图5为本申请实施例所提供的一种计算机设备的结构示意图。

具体实施方式

本申请的核心是提供一种网络数据包加密方法、网络数据包解密方法、网络数据包加密装置、网络数据包解密装置、计算机设备以及计算机可读存储介质,通过第一密钥参数和第二密钥参数生成密钥,避免密钥在传输中被盗取,提高数据加解密过程的安全性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在目前的现有技术中,当密钥随着安全情况发生变化时,需要对其他数据更新不同的密钥,就需要将新的密钥发送至其他设备中。但是,在密钥发送的过程中存在密钥被盗取的情况,影响后续设备的安全性。也即是,密钥由于时效问题需要对密钥进行同步操作,以便保证密钥不失效,不过期。但是,目前对密钥的传输过程还是对密钥加密后传输,虽然现有技术中对其进行了加密操作,但是密钥还存在被截获的风险,使密钥同步失效。

因此,本申请提供一种网络数据包加密方法,通过使用本地预存的第一密钥参数和在网络中传输的第二密钥参数在本地生成密钥,也就是通过本地生成的方式在数据加密方和数据解密方之间同步密钥,而不是通过网络将密钥传输至数据加密方法或数据解密方,避免在网络中将密钥进行传输,使密钥无法在传输过程中被盗取,并且,第一密钥参数为预存在本地的数据,第二密钥参数为每次发送的待发送数据包的特征数据,每一次发送的特征数据均不相同,使得每次发送数据包均会更换密钥,实现对密钥进行实时更新,保持密钥的时效性,提高加密过程的安全性。同时,将待发送数据包的特征数据作为第二密钥参数,降低从待发送数据包中获取第二密钥参数的难度,以便将该方法直接实施在现有的数据包传输过程中,操作更加便利。

请参考图1,图1为本申请实施例所提供的一种网络数据包加密方法的流程图。

本实施例中,该网络数据包加密方法可以包括:

s101,获取本地预存的第一密钥参数;

本步骤旨在从本地获取到预存的第一密钥参数。

其中,该第一密钥为在网络通信的各个设备中预存的参数碎片,是计算出密钥的一部分。该第一密钥参数可以是当各个设备出厂时就预置在设备中的数据,还可以根据可靠的数据传输保存在设备中的数据,也可以是使用特定算法计算出的,具有一定规律的数据。可见,本步骤中的第一密钥参数的获取方式并不唯一,可以根据实际的应用情况选择合适的获取方式,在此不做具体限定。

进一步的,该第一密钥参数可以按照预设周期进行更新,也可以固定在一段时间内不进行更换。而无论第一密钥参数以何种方式进行更新,在加密和解密过程中的密钥都会随着第二密钥参数的变化而变化,从而使密钥不断进行更新。

s102,将待发送数据包的特征数据作为第二密钥参数;

在s101的基础上,本步骤旨在将待发送数据包的特征数据作为第二密钥参数。一般的,需要对数据包进行加密的阶段是将数据包进行发送的阶段,因此,本步骤中是对待发送数据包进行操作。当然,也可以对任何需要加密的数据包进行操作,本步骤中并不限定。

并且,每一次发送的待发送数据包的特征数据都会发生变化,也就是说每次进行网络数据包加密时的第二密钥参数并不相同。并且,进行加密的密钥是通过第一密钥参数和第二密钥参数同时处理计算得到的。因此,每次进行加密时的密钥也不相同。保证了每个发送数据的密钥都会进行更新,并且每次更新都无需发送密钥,提高了安全性,同时降低了网络资源的消耗。

其中,在一个数据包中可以选择作为第二密钥参数的数据,可以是数据包的报头信息,也可以是数据包内的数据,还可以是数据包中的特征数据,例如ip、mac、端口号、包号等。可见,本实施例中选用的第二密钥参数并不唯一,可以根据实际应用情况选择合适的特征数据,

需要说明的是,本实施例中s101和s102的执行顺序先后并没有要求,本实施例中是说明了一种执行顺序,还可以选择其他任意一种执行顺序执行s101和s102,在此不做具体限定。

可选的,本步骤可以包括:

将待发送数据包的报文参数数据作为第二密钥参数。

可见,本可选方案中是将待发送数据包的报文参数作为第二密钥参数。该报文参数数据也就是,形成待发送数据包的特征数据。随着每一次发送数据,该报文参数数据就会发生变化,使得第二密钥参数也会不同,最后使得密钥也会发生变化,提高数据加密的安全性。

可选的,本步骤可以包括:

步骤一,将待发送数据包的正文进行特征数据变换,得到变换结果;

步骤二,将变换结果作为第二密钥参数。

可见,可选方案中是将数据包的正文进行变换结果计算,得到的变换结果再作为该第二密钥参数。由于正文的长度不受控制,所以将正文计算为长度固定的变换结果。以便可以获取到第二密钥参数。

其中,进行的特征数据变换处理可以是哈希运算,也可以是加解密运算,还可以是异或运算。可见,本步骤中对正文进行的特征数据变换并不唯一,在此不做具体限定。

s103,根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;

在s102的基础上,本步骤旨在对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥。

其中,预设规则是指可以根据不同的方式,对第一密钥参数和第二密钥参数进行计算,得到密钥。也就是说,本步骤中进行密钥生成处理的方式可以是固定的方式,还可以是根据情况选择的密钥生成方式,也可以是多个密钥生成方式进行选择再处理。可见,本步骤中对第一密钥参数和第二密钥参数进行密钥生成处理的方式,并不唯一在此不做具体限定。

可选的,本步骤可以包括:

步骤一,根据整合算法对第一密钥参数和第二密钥参数进行计算,得到完整密钥参数;

步骤二,根据密钥算法对完整密钥参数进行计算,得到密钥。

可见,本可选方案中首先是根据整合算法将第一密钥参数和第二密钥参数整合为完整密钥参数,最后再根据密钥算法对该完整密钥参数进行计算,得到该密钥。也就是说,本可选方案中通过两个不同的算法进行计算,才得到最后的密钥。并且,两种算法各不相同,增加了密钥被恶意破解的难度,提高加密的安全性。

s104,根据密钥对待发送数据包进行加密。

在s103的基础上,本步骤旨在根据密钥对该待发送数据包进行加密。

由于每次发送的待发送数据包的特征数据并不相同,每次待发送数据包进行加密的密钥也不相同,相当于是每次发送数据都对密钥进行了一次更新。并且,没有将密钥进行传输,避免密钥被泄漏的可能性。

综上,本实施例通过使用本地预存的第一密钥参数和在网络中传输的第二密钥参数在本地生成密钥,也就是通过本地生成的方式在数据加密方和数据解密方之间同步密钥,而不是通过网络将密钥传输至数据加密方法或数据解密方,避免在网络中将密钥进行传输,使密钥无法在传输过程中被盗取,并且,第一密钥参数为预存在本地的数据,第二密钥参数为每次发送的待发送数据包的特征数据,每一次发送的特征数据均不相同,使得每次发送数据包均会更换密钥,实现对密钥进行实时更新,保持密钥的时效性,提高加密过程的安全性。同时,将待发送数据包的特征数据作为第二密钥参数,降低从待发送数据包中获取第二密钥参数的难度,以便将该方法直接实施在现有的数据包传输过程中,操作更加便利。

上一实施例主要是对如何进行加密进行说明,以下通过一个实施例对如何进行网络数据包解密进行说明。

请参考图2,图2为本申请实施例所提供的一种网络数据包解密方法的流程图。

本实施例中,该方法可以包括:

s201,获取本地预存的第一密钥参数;

s202,将接收到的数据包的特征数据作为第二密钥参数;

可选的,本步骤可以包括:

将接收到的数据包的报文参数数据作为第二密钥参数。

s203,根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;

s204,根据密钥对数据包进行解密。

可见,本实施例中当需要对数据包进行解密时,也就是对接收到的数据包进行解密处理时,首先从本地获取到预存的第一密钥参数,然后从接收到的数据包中获取到第二密钥参数,以便从第一密钥参数和第二密钥参数中生成密钥,最后根据密钥对数据包进行解密处理,得到最终的数据。很显然,在对数据包进行解密的过程中也是将第一密钥参数和第二密钥参数中获取到的密钥,由于密钥是根据预存的第一密钥参数和数据包中本来发送来的第二密钥参数中获取到的,无需向数据接收端发送密钥,避免密钥被盗取的情况,提高数据的安全性。

下面对本申请实施例提供的一种网络数据包加密装置进行介绍,下文描述的一种网络数据包加密装置与上文描述的一种网络数据包加密方法可相互对应参照。

请参考图3,图3为本申请实施例所提供的一种网络数据包加密装置的结构示意图。

本实施例中,该装置可以包括:

第一密钥参数获取模块110,用于获取本地预存的第一密钥参数;

第二密钥参数获取模块120,用于将待发送数据包的特征数据作为第二密钥参数;

密钥获取模块130,用于根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;

加密模块140,用于根据密钥对待发送数据包进行加密。

本申请所提供的网络数据包加密装置,通过使用本地预存的第一密钥参数和在网络中传输的第二密钥参数在本地生成密钥,也就是通过本地生成的方式在数据加密方和数据解密方之间同步密钥,而不是通过网络将密钥传输至数据加密方法或数据解密方,避免在网络中将密钥进行传输,使密钥无法在传输过程中被盗取,并且,第一密钥参数为预存在本地的数据,第二密钥参数为每次发送的待发送数据包的特征数据,每一次发送的特征数据均不相同,使得每次发送数据包均会更换密钥,实现对密钥进行实时更新,保持密钥的时效性,提高加密过程的安全性。同时,将待发送数据包的特征数据作为第二密钥参数,降低从待发送数据包中获取第二密钥参数的难度,以便将该方法直接实施在现有的数据包传输过程中,操作更加便利。

在一些具体的实施例中,第二密钥参数获取模块120具体用于将待发送数据包的报文参数数据作为第二密钥参数。

在一些具体的实施例中,第二密钥参数获取模块120具体用于将待发送数据包的正文进行特征数据变换,得到变换结果;将变换结果作为第二密钥参数。

在一些具体的实施例中,密钥获取模块130具体用于根据整合算法对第一密钥参数和第二密钥参数进行计算,得到完整密钥参数;根据密钥算法对完整密钥参数进行计算,得到密钥。

下面对本申请实施例提供的一种网络数据包解密装置进行介绍,下文描述的一种网络数据包解密装置与上文描述的一种网络数据包解密方法可相互对应参照。

请参考图4,图4为本申请实施例所提供的一种网络数据包解密装置的结构示意图。

本实施例中,该装置可以包括:

第一密钥参数获取模块210,用于获取本地预存的第一密钥参数;

第二密钥参数获取模块220,用于将接收到的数据包的特征数据作为第二密钥参数;

密钥获取模块230,用于根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;

解密模块240,用于根据密钥对数据包进行解密。

本申请所提供的网络数据包解密装置,当需要对数据包进行解密时,也就是对接收到的数据包进行解密处理时,首先从本地获取到预存的第一密钥参数,然后从接收到的数据包中获取到第二密钥参数,以便从第一密钥参数和第二密钥参数中生成密钥,最后根据密钥对数据包进行解密处理,得到最终的数据。很显然,在对数据包进行解密的过程中也是将第一密钥参数和第二密钥参数中获取到的密钥,由于密钥是根据预存的第一密钥参数和数据包中本来发送来的第二密钥参数中获取到的,无需向数据接收端发送密钥,避免密钥被盗取的情况,提高数据的安全性。

在一些具体的实施例中,第二密钥参数获取模块220具体用于将接收到的数据包的报文参数数据作为第二密钥参数。

下面对本申请实施例提供的计算机设备进行介绍,下文描述的计算机设备与上文描述的网络数据包加密方法和网络数据包解密方法可相互对应参照。

请参考图5,图5为本申请实施例所提供的一种计算机设备的结构示意图,该车辆速度控制设备可以包括:

存储器11,用于存储计算机程序;

处理器12,用于执行上述存储器11存储的计算机程序时可实现如下步骤:

获取本地预存的第一密钥参数;将待发送数据包的特征数据作为第二密钥参数;根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;根据密钥对待发送数据包进行加密。

和/或如下步骤:

获取本地预存的第一密钥参数;将接收到的数据包的特征数据作为第二密钥参数;根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;根据密钥对数据包进行解密。

本实施例中,处理器12执行存储器11中保存的计算机子程序时,可以具体实现以下步骤:将待发送数据包的报文参数数据作为第二密钥参数。

本实施例中,处理器12执行存储器11中保存的计算机子程序时,可以具体实现以下步骤:将待发送数据包的正文进行特征数据变换,得到变换结果;将变换结果作为第二密钥参数。

本实施例中,处理器12执行存储器11中保存的计算机子程序时,可以具体实现以下步骤:根据整合算法对第一密钥参数和第二密钥参数进行计算,得到完整密钥参数;根据密钥算法对完整密钥参数进行计算,得到密钥。

对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序,其中,计算机程序被处理器执行时可实现如下步骤:

获取本地预存的第一密钥参数;将待发送数据包的特征数据作为第二密钥参数;根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;根据密钥对待发送数据包进行加密。

和/或如下步骤:

获取本地预存的第一密钥参数;将接收到的数据包的特征数据作为第二密钥参数;根据预设规则对第一密钥参数和第二密钥参数进行密钥生成处理,得到密钥;根据密钥对数据包进行解密。

在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将待发送数据包的报文参数数据作为第二密钥参数。

在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将待发送数据包的正文进行特征数据变换,得到变换结果;将变换结果作为第二密钥参数。

在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据整合算法对第一密钥参数和第二密钥参数进行计算,得到完整密钥参数;根据密钥算法对完整密钥参数进行计算,得到密钥。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请提供的计算机可读存储介质的具体介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种网络数据包加密方法、网络数据包解密方法、网络数据包加密装置、网络数据包解密装置、计算机设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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