一种用于实现服务端和客户端之间的通信信道动态加密方法,所述方法包括:分别在服务端和客户端建立密匙库;客户端随机选择第一加密方案建立与服务端之间的通信连接;服务端解密并校验客户端建立通信时传来的认证信息;服务端验证比对客户端的密匙库版本号决定是否更行客户端的密匙库;服务端随机分配第二加密方案对客户端登陆服务端的鉴权信息进行加密;以及服务端随机分配第三加密方案对通信数据进行加密。本发明专利技术的通信信道动态加密方法的每一次数据交互都是加密的。在服务端分配第三加密方案前,只需在信道上传递加密方案而不是具体的密钥;在服务端分配第三加密方案后,加密方案已绑定到双方会话中,只需传递加密后的通信数据即可。
【技术实现步骤摘要】
通信信道动态加密方法
本专利技术涉及基于通信信道加密技术,尤其涉及一种通信信道动态加密方法。
技术介绍
目前的网络产品都是以客户端/服务端的模式为主,服务端由运营商管理,客户端安装在用户的电脑上。客户端与服务端的交流完全依赖于数据包的通讯。很多网络产品都会把客户端与服务端之间通讯的数据包加密。这样虽然能防止数据包被盗用,但是由于客户端中的加密算法是固定写死的,因此破解者只要分析出客户端中的固定加密算法,就可以伪装客户端或服务端的一方发送数据包给另一方进行欺骗;也可以位于客户端与服务端中间的节点拦截通讯的数据包、解密还原、伪造更改数据、再加密后发送出去而不被发现。由于服务端与客户端都无法判断数据包是否从真实合法的另一方发送过来的,所以,普通的加密技术都无法从根本上解决网络产品的数据通讯安全问题,这极大地影响了网络环境健康发展。
技术实现思路
鉴于以上内容,有必要提供一种通信信道动态加密方法,可有效的保护网络通信的安全。一种用于实现服务端和客户端之间的通信信道动态加密方法,其特征在于,所述方法包括:分别在服务端和客户端建立密匙库;客户端随机选择第一加密方案建立与服务端之间的通信连接;服务端解密并校验客户端建立通信时传来的认证信息;服务端验证比对客户端的密匙库版本号决定是否更行客户端的密匙库;服务端随机分配第二加密方案对客户端登陆服务端的鉴权信息进行加密;以及服务端随机分配第三加密方案对通信数据进行加密。作为上述技术方案的进一步改进,所述第二加密方案为非对称加密方案。作为上述技术方案的进一步改进,所述第三加密方案为对称加密方案。作为上述技术方案的进一步改进,对称加密方案包括压缩方案和序列化方案。作为上述技术方案的进一步改进,服务端的密钥库包括多个版本,客户端的密钥库仅有一个版本。作为上述技术方案的进一步改进,所述认证信息包括密钥库版本号、密钥库摘要和系统时间。作为上述技术方案的进一步改进,所述系统时间包括第一系统时间和第二系统时间。作为上述技术方案的进一步改进,所述第一系统时间为客户端随机选择第一加密方案建立与服务端之间的通信连接时的系统时间,所述第二系统时间为验证更新客户端的密匙库版本后,客户端向服务端请求第二加密方案的系统时间。作为上述技术方案的进一步改进,如果客户端与服务端之间的通信信道断开重新连接,客户端随机选择第一加密方案重新建立与服务端之间的通信连接。作为上述技术方案的进一步改进,服务端预先设定第三加密方案对应的超时时间,客户端与服务端同时把第三加密方案和超时时间绑定到通信会话,服务端在超时时间过后的随机空闲时间点,重新给客户端随机分配第三加密方案。相较于现有技术,本专利技术的通信信道动态加密方法不仅可以有效的保护网络通信的安全,还具有如下优点:1.服务端有所有版本的密钥库,客户端有自己的某一个版本的密钥库,可以避开与jdk中keystore的耦合;2.每次通信信道建立时,服务端给每个客户端随机分配一种不同的加密方案,可以达到不同信道动态加密效果;3.密钥库依据版本号做升级和维护,比较方便、扩展性强,并且每次建立通信信道前采用加密哈希功能,侦测客户端密钥库的数据是否篡改;4.服务端与客户的每一次数据交互都是加密的,并且只需在信道上传递加密方案而不是具体的密钥,另外用户鉴权信息与通信数据信息采用不同的加密方案也更加安全;5.通过设置信道中加密方案的超时时间,加密方案超时后,在随后一个不确定的信道空闲时间点,由服务端给客户端重新分配加密方案(包括压缩方案、序列化方案等),可以达到相同信道动态加密效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是本专利技术通信信道动态加密方法的较佳实施方式的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术。如图1所示,是本专利技术通信信道动态加密方法的较佳实施方式的流程图。所述方法用于通信领域实现服务端和客户端建立可靠的通信连接。所述方法具体包括如下步骤。步骤S01,分别在服务端和客户端建立密匙库。具体地,服务端包括所有版本的多个密钥库,客户端仅有某一个版本的密钥库,避开与jdk中keystore的耦合。步骤S02,客户端随机选择第一加密方案建立与服务端之间的通信连接。具体地,客户端与服务端建立通信连接,从客户端的密匙库中随机选择第一加密方案对多个认证信息以及客户端的当前第一系统时间(客户端随机选择第一加密方案建立与服务端之间的通信连接的系统时间)加密后传给服务端。一实施方式中,通过加载本地配置信息(服务端IP、端口),建立与客户端与服务端的TCP网络连接。连接建立后,客户端从本地密钥库随机选择一种加密方案(即第一加密方案),将客户端的密钥库版本号、密钥库摘要、第一系统时间(即客户端与服务端建立通信的当前系统时间)等认证信息进行加密,并连同第一加密方案一起传给服务端。步骤S03,服务端解密并校验客户端建立通信时传来的认证信息。具体地,服务端对客户端进行密钥库的完整性和合法性检验,服务端同时记录客户端发过来的第一系统时间,所述第一系统时间后续步骤中做验证过程耗时合理性分析会用到。一实施方式中,服务端通过客户端传递过来的第一加密方案从服务端的密钥库取得对应的解密方案,对认证信息进行解密。通过获取到发过来的客户端的密匙库的版本号找到服务端的对应的密钥库,并对其进行信息摘要,然后把服务端的摘要和客户端的摘要,进行比对,防止客户端摘要密码库的篡改。步骤S04,验证跟新客户端的密匙库版本。具体地,服务端验证比对客户端的密匙库版本号决定是否更行客户端的密匙库,,服务端对接收的多个认证信息认证成功后进一步验证客户端的密匙库版本,并判断是否在线更新客户端的密匙库和认证信息。如果发现服务端的密钥库版本号高于客户端的密匙库的版本号,服务端触发密钥库更新,并在线更新客户端的密匙库。更新后,客户端重新获取密钥库摘要等认证信息,再次执行步骤S02进行完整性检验。如果服务端认证失败,则断开客户端连接,释放网络资源。如果认证成功且发现服务端的密钥库版本号相同于客户端的密匙库的版本号,则执行后续步骤S041。步骤S041,判断过程耗时是否合理。具体地,客户端向服务端发送第二加密方案请求信息(包括版本号、第二系统时间等),请求第二加密方案。服务端根据接收到的第一系统时间和第二系统时间二者之间的时间差进行过程耗时合理性分析(如:执行了版本库更新过程,则过程耗时会长一些),如果耗时在合理范围内,则执行步骤S05,如果耗时不正常则重新执行步骤S02。步骤S05,服务端随机分配第二加密方案(即用户鉴权加密方案)对客户端登陆服务端的鉴权信息进行加密。具体地,耗时合理性分析成功后,服务端给客户端随机分配第二加密方案用于对客户端登陆服务端的鉴权信息进行加密;客户端使用第二加密方案对用户名本文档来自技高网...
【技术保护点】
一种用于实现服务端和客户端之间的通信信道动态加密方法,其特征在于,所述方法包括:分别在服务端和客户端建立密匙库;客户端随机选择第一加密方案建立与服务端之间的通信连接;服务端解密并校验客户端建立通信时传来的认证信息;服务端验证比对客户端的密匙库版本号决定是否更行客户端的密匙库,;服务端随机分配第二加密方案对客户端登陆服务端的鉴权信息进行加密;以及服务端随机分配第三加密方案对通信数据进行加密。
【技术特征摘要】
1.通信信道动态加密方法,其特征在于,所述方法包括:分别在服务端和客户端建立密匙库;客户端随机选择第一加密方案建立与服务端之间的通信连接;服务端解密并校验客户端建立通信时传来的认证信息,认证信息包括密钥库版本号、密钥库摘要和系统时间;所述系统时间包括第一系统时间和第二系统时间;所述第一系统时间为客户端随机选择第一加密方案建立与服务端之间的通信连接时的系统时间,所述第二系统时间为客户端向服务端请求第二加密方案的系统时间;服务端验证比对客户端的密匙库版本号决定是否更新客户端的密匙库;服务端随机分配第二加密方案对客户端登陆服务端的鉴权信息进行加密;以及服务端随机分配第三加密方案对通信数据进行加密;服务端预先设定第三加密方案对应的...
【专利技术属性】
技术研发人员:肖根元,刘靖,林晨,曹志军,蔡大军,
申请(专利权)人:深圳天源迪科信息技术股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。