本发明涉及一种数据安全加密领域,尤其涉及一种防中间人的加密流程技术。
背景技术:
1、目前在客户端和服务器之间的数据通讯,往往都是通过https证书加密的方式来进行的,而一般的情况下都会对客户端发送的请求以及服务器发回的数据进行加密,以保障数据的安全,但是现有的http协议存在较高的受攻击风险,很容易被攻击者截获请求以及发回的数据。
2、为了解决上述问题,现有的解决方法是通过对请求或者响应包进行加密,而在加密方法中,为了保证安全性,往往是通过非对称加密的方式,又或者是在一层非对称加密的基础上,再通过添加时间戳和约定好的字符串的方式来再次进行一次非对称加密,这种方式虽然具有非对称加密带来的强大的安全性和不可破解性,但却依旧存在一定的弊端,特别是在对响应时间的影响上,由于非对称加密的复杂性,其加密和解密的时间会更久,因此无法完全杜绝丢包的问题,同时过长的响应时间也会导致增加了时间戳加密的非对称加密方式的时间戳过期,导致无法顺利进行数据传输的问题。
3、而另一方面,如果采用对称加密,尽管可以解决响应响应速度上的问题,但安全性又有很大的漏洞,容易发生破解了单个响应包就导致所有响应包遭到破解的问题。
4、为了解决上述的技术问题,本方案设计了一种防中间人的加密流程技术。
技术实现思路
1、为了解决上述技术问题,本发明实施例提供了一种防中间人的加密流程技术,包括以下步骤:
2、步骤s1:客户端生成随机的字符串并作为解密第一参数,同时通过非可逆算法对当前的时间戳进行加密生成解密第二参数,将所述解密第一参数和解密第二参数结合生成本地解密密钥;
3、步骤s2:客户端发送经过非对称加密的字符串到所述服务端,所述服务端使用非对称私钥进行解密得到所述字符串并作为加密第一参数,同时服务端通过非可逆算法对时间戳加密得到加密第二参数;
4、步骤s3:服务端将加密第一参数和加密第二参数进行对称加密生成加密密钥,同时使用所述加密密钥对相应进行加密。
5、步骤s4:服务端发回经过步骤s2、s3加密的响应包,并由所述客户端接收,所述客户端通过所述步骤s1生成的本地解密密钥对响应包进行解密。
6、其中,所述步骤s2中的非可逆算法为md5加密。
7、其中,所述时间戳可以是通过自定义时间软件生成的时间戳或者是经过二次加工的时间戳。
8、其中,所述时间戳仅采用前8位进行非可逆算法的加密。
9、其中,所述步骤s1中客户端还会生成备用密钥,所述备用密钥的生成步骤如下:
10、步骤s11:客户端生成随机的字符串并作为备用密钥第一参数,同时客户端获取所述时间戳的前8位,并在时间戳的位数上加一;
11、步骤s12:客户端通过非可逆算法对增加了一个单位的时间戳进行加密,并将加密结果作为备用密钥第二参数;
12、步骤s13:客户端将备用密钥第一参数和备用密钥第二参数进行对称加密并生成备用密钥。
13、其中,所述的随机字符串的长度大于六位。
14、其中,用于生成所述解密第二参数的时间戳和用于生成加密第二参数的时间戳都具有前缀,所述前缀为客户端与服务端绑定的通信识别码。
15、其中,所述通信识别码可定期进行更新。
16、实施本发明实施例,具有如下有益效果:①加密密钥中包含非了采用非对称加密的加密第一参数,以及对时间戳进行非可逆加密后生成的加密第二参数,进而其加密密钥的安全性更高,很难破解,同时由于利用该加密密钥对响应包进行的是对称加密,进而服务端的加密过程可以达到毫秒级。②由于时间戳采用的是前八位,且客户端会同步生成备用密钥,进而即使当客户端的请求发送到所述服务端时发生了延迟,导致时间戳失效,其服务端发回的延后的时间戳加密的响应包时,客户端也可以利用备用密钥进行解密,如此使得客户端和服务端的通讯时间具有一定的宽裕量。
1.一种防中间人的加密流程技术,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,所述步骤s2中的非可逆算法为md5加密。
3.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,所述时间戳可以是通过自定义时间软件生成的时间戳或者是经过二次加工的时间戳。
4.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,所述时间戳仅精确到分钟单位。
5.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,所述步骤s1中客户端还会生成备用密钥,所述备用密钥的生成步骤如下:
6.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,所述的随机字符串的长度为6~100位。
7.根据权利要求1所述的一种防中间人的加密流程技术,其特征在于,用于生成所述解密第二参数的时间戳和用于生成加密第二参数的时间戳都具有前缀,所述前缀为客户端与服务端绑定的通信识别码。
8.根据权利要求7所述的一种防中间人的加密流程技术,其特征在于,所述通信识别码可定期进行更新。