一种网络通信的动态加密与解密方法技术

技术编号:19126245 阅读:51 留言:0更新日期:2018-10-10 07:41
本发明专利技术提供了一种网络通信的动态加密与解密方法,所述网络通信的动态加密方法包括:根据固定字符及时间戳动态生成签名源数据;随机生成一密钥种子与一混淆值种子;根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到签名加密数据;利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据发送至服务器。

【技术实现步骤摘要】
一种网络通信的动态加密与解密方法
本专利技术涉及网络通信领域,尤指一种网络通信的动态加密与解密方法。
技术介绍
目前在各行各业中都广泛使用计算机网络通信技术,计算机网络已成为人们生活中不可或缺的重要内容,人们对计算机网络的依赖性不断提高,计算机网络通信的安全性受到越来越多的关注。数据加密技术是保障计算机网络通信安全的重要技术手段和防护策略,利用数据加密技术不仅可以有效地确保数据的完整性和保密性,提高信息的安全系数,而且还能够确保计算机网络通信技术的健康有序发展。现有技术中,客户端与服务器端需要提前约定好加解密的密钥、加解密的混淆值以及加密的算法,当客户端需要发送请求时,客户端利用这些之前约定好的加密的密钥、混淆值、以及加密算法对请求的数据进行加密,加密后发送给服务器,服务器收到请求的数据后再利用约定好的算法、密钥、混淆值进行解密。在此技术方案的实现中要保证密钥、混淆值、以及加密算法的安全性,只有有效的确保了密钥的安全性,才能确保对称式加密方法能够有效的进行运用,确保网络通信信息的安全。一旦密钥的安全得不到有效的保障,那么对称式加密的重要作用也就失去了具体的作用,所以存在的较高被破解的风险。此外,现有技术中还可以直接使用ssl进行通讯,从可信任的第三方购买硬件key,再利用第三方的工具进行服务器和客户端的各类证书的生成,并且将客户端的证书写入key中,客户端和服务器端进行通讯时首先需要校验证书的合法性,并使用key中的密钥对数据进行加密,加密后的数据发送给服务器端。在此技术方案的实现中首先第三方的CA一定是可信的,并且第三方也要是安全的,对硬件key的依赖性很强,可能某些场景不是很适用,因为带了一个小硬件,可能存在丢失、损坏的可能,丢失损坏后则必须要更换,硬件需要采购,采购就需要有成本投入,特别是当客户端很多,并且发放不易的地方成本投入很高。
技术实现思路
为了解决目前网络通信安全性差、适用性低及成本高等问题,本专利技术实施例提供一种网络通信的动态加密与解密方法。其中,本专利技术实施例提供一种网络通信的动态加密方法,所述方法包括:根据固定字符及时间戳动态生成签名源数据;随机生成一密钥种子与一混淆值种子;根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到签名加密数据;利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据发送至服务器。本专利技术实施例还提供一种网络通信的动态解密方法,所述方法包括:接收客户端发送的时间戳、第一密钥种子、第一混淆值种子、第一签名加密数据与请求加密数据;根据所述第一密钥种子在密钥池中获取第一密钥,并根据所述第一混淆值种子在混淆值池中获取第一混淆值;根据固定字符与所述时间戳生成一签名源数据,根据所述第一密钥、所述第一混淆值,利用加密算法池中的算法分别对所述签名源数据进行加密,并对加密后的签名数据进行签名,得到多个第二签名加密数据;依次判断所述第一签名加密数据与各所述第二签名数据是否一致;在所述第一签名加密数据与所述第二签名数据一致时,将所使用的所述加密算法池中的算法作为加密算法;利用所述加密算法,根据所述第一密钥及第一混淆值对所述请求加密数据进行解密,得到请求源数据;根据所述请求源数据生成一回包源数据,并将所述回包源数据发送给所述客户端。本专利技术实施例还提供一种客户端,所述客户端包括:签名源数据模块,用于根据固定字符及时间戳动态生成签名源数据;种子选取模块,用于随机生成一密钥种子与一混淆值种子;参数选取模块,用于根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;签名源数据加密模块,用于在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到第一签名加密数据;请求源数据加密模块,用于利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;发送模块,用于将所述时间戳、所述密钥种子、所述混淆值种子、所述第一签名加密数据与所述请求加密数据发送至服务器。本专利技术实施例还提供一种服务器,所述服务器包括:数据接收模块,用于接收客户端发送的时间戳、第一密钥种子、第一混淆值种子、第一签名加密数据与请求加密数据;参数选取模块,用于根据所述第一密钥种子在密钥池中获取第一密钥,并根据所述第一混淆值种子在混淆值池中获取第一混淆值;签名源数据加密模块,用于根据固定字符与所述时间戳生成一签名源数据,根据所述第一密钥、所述第一混淆值,利用加密算法池中的算法分别对所述签名源数据进行加密,并对加密后的签名数据进行签名,得到多个第二签名加密数据;判断模块,用于依次判断所述第一签名加密数据与各所述第二签名数据是否一致;算法选取模块,用于在所述第一签名加密数据与所述第二签名数据一致时,将所使用的所述加密算法池中的算法作为加密算法;解密模块,用于利用所述加密算法,根据所述第一密钥及第一混淆值对所述请求加密数据进行解密,得到请求源数据;发送模块,用于根据所述请求源数据生成一回包源数据,并将所述回包源数据发送给所述客户端。本专利技术通过在网络通信时,利用动态加密解密的方式,使得通信双方使用的密钥、加密算法等重要信息具有极大的随机性,在保证不影响通信效率的同时,极大的提高了通信的安全性,有效的降低了成本,并且在各种网络通信场景下的均具有良好的适用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一种网络通信的动态加密方法的流程图;图2为本专利技术实施例一种网络通信的动态解密方法的流程图;图3为本专利技术实施例一种客户端的结构示意图;图4为本专利技术实施例一种服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示为本专利技术实施例一种网络通信的动态加密方法的流程图,图中所示方法包括:步骤S11,根据固定字符及时间戳动态生成签名源数据;步骤S12,随机生成一密钥种子与一混淆值种子;步骤S13,根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;步骤S14,在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到签名加密数据;步骤S15,利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;步骤S16,将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密本文档来自技高网
...
一种网络通信的动态加密与解密方法

【技术保护点】
1.一种网络通信的动态加密方法,其特征在于,所述方法包括:根据固定字符及时间戳动态生成签名源数据;随机生成一密钥种子与一混淆值种子;根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到签名加密数据;利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据发送至服务器。

【技术特征摘要】
1.一种网络通信的动态加密方法,其特征在于,所述方法包括:根据固定字符及时间戳动态生成签名源数据;随机生成一密钥种子与一混淆值种子;根据所述密钥种子在密钥池中获取一密钥,并根据所述混淆值种子在混淆值池中获取一混淆值;在加密算法池中随机选取一加密算法,利用所述加密算法,根据所述密钥及混淆值,对所述签名源数据进行加密,并对加密后的签名源数据进行签名,得到签名加密数据;利用所述加密算法,根据所述密钥及混淆值对请求源数据进行加密,得到一请求加密数据;将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据发送至服务器。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据预定义规则生成所述密钥池与所述混淆值池。3.根据权利要求1所述的方法,其特征在于,所述在加密算法池中随机选取一加密算法之前,校验并加载所述加密算法池中所有的加密算法。4.根据权利要求1所述的方法,其特征在于,将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据发送至服务器,包括:根据HTTP协议,将所述时间戳、所述密钥种子、所述混淆值种子、所述签名加密数据与所述请求加密数据转换为发送数据;将所述时间戳、所述密钥种子、所述混淆值种子与所述签名加密数据设置于所述发送数据的请求头中,并将所述请求加密数据设置于所述发送数据的请求体中;将所述发送数据发送至服务器。5.一种网络通信的动态解密方法,其特征在于,所述方法包括:接收客户端发送的时间戳、第一密钥种子、第一混淆值种子、第一签名加密数据与请求加密数据;根据所述第一密钥种子在密钥池中获取第一密钥,并根据所述第一混淆值种子在混淆值池中获取第一混淆值;根据固定字符与所述时间戳生成一签名源数据,根据所述第一密钥、所述第一混淆值,利用加密算法池中的算法分别对所述签名源数据进行加密,并对加密后的签名数据进行签名,得到多个第二签名加密数据;依次判断所述第一签名加密数据与各所述第二签名数据是否一致;在所述第一签名加密数据与所述第二签名数据一致时,将所使用的所述加密算法池中的算法作为加密算法;利用所述加密算法,根据所述第一密钥及第一混淆值对所述请求加密数据进行解密,得到请求源数据;根据所述请求源数据生成一回包源数据,并将所述回包源数据发送给所述客户端。6.根据权利要求5所述的方法,其特征在于,在将所述回包源数据发送给所述客户端之前,根据所述加密算法、第一密钥与第一混淆值,对所述回包源数据进行加密。7.根据权利要求5所述的方法,其特征在于,在将所述回包源数据发送给所述客户端之前,随机选取第二密钥种子与第二混淆值种子,根据所述第二密钥种子在密钥池中获取第二密钥,根据所述的第二混淆值种子在混淆值池中获取第二混淆值;根据所述加密算法,利用所述第二密钥及第二混淆值,对所述回包源数据进行加密。8.根据权利要求7所述的方法,其特征在于,所述将所述回包源数据发送给所述客户端包括:根据HTTP协议,将所述第二密钥种子、所述第二混淆值种子与所述加密后的回包源数据转换为返回数据;所述第二密钥种子与所述第二混淆值种子设置于所述返回数据的请求头中,并将所述加密后的回包源数据设置于所述返回数据的请求体中。9.根据权利要求5所述的方法,其特征在于,所述方法还包括在加密算法池中随机选取一加密算法作为约定加密算法,将所述约定加密算法发送给所述客户端。10.一种客户端,其特征在于,所述客户端包括:签名源数据模块,用于根据固定字符及时间戳动态生成签名源数据;种子选取模块,用于随机生成一密钥种子与一混淆值种子;参...

【专利技术属性】
技术研发人员:曾修建谢闯胡刚罗春水沈滨王彤
申请(专利权)人:中体彩科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1