HTTP协议下可变密钥加密的安全登录方法技术

技术编号:11383336 阅读:203 留言:0更新日期:2015-05-01 08:03
本发明专利技术涉及HTTP协议下可变密钥加密的安全登录方法,步骤如下:服务端根据客户端的登录验证请求生成临时密钥K,将临时密钥传回客户端并缓存在服务端;客户端根据明文密码与临时密钥加密生成用户信息摘要数据Hp1;服务端根据登录验证请求查询是否存在IP为键值的临时密钥K,若不存在则判定登录验证失败;若存在则查询服务端用户密码,根据服务端用户密码与临时密钥生成服务端信息摘要数据Hp2,将Hp2与Hp1比较,判定登录验证失败或通过。本发明专利技术密钥和数据都是动态变化的,非法第三方无法推算出当前登录所用的密码数据,解决现有技术登录验证时密码容易泄露或被伪造等而安全性低的技术问题。

【技术实现步骤摘要】

本专利技术涉及信息安全
,具体涉及HTTP协议下可变密钥加密的安全登录方法
技术介绍
HTTP协议传输数据是一种明文的方式,通常在处理用户登录时,客户端通过一些Hash算法把密码等安全级别高的信息加密后传递给服务端,服务端接收到加密的数据和数据库中保存的经过同样Hash算法加密的数据相比较来完成一次登录验证。这种方式虽然也对密码做了加密,但是在客户端和服务端的加密算法是一样的,传输过程中也是明文,就像给密码穿了件衣服而已,而且这件衣服在每次登录的时候都是不换的。这样一来,登录的安全性也就打了折扣。
技术实现思路
为了实现更加安全可靠的登录验证,解决现有技术登录验证时密码容易泄露或被伪造等而安全性低的技术问题,本专利技术提供HTTP协议下可变密钥加密的安全登录方法,该方法采用可变密钥加密的方式,密钥和数据都是动态变化的,非法第三方无法推算出当前登录所用的密码数据,极大地提高了安全性。本专利技术采用如下技术方案:本专利技术HTTP协议下可变密钥加密的安全登录方法,包括以下步骤:S1、客户端发起的登录验证请求;S2、服务端根据登录验证请求生成临时密钥K,将临时密钥传回客户端,并以客户端IP地址作为键值缓存临时密钥在服务端缓存中;S3、客户端根据输入的明文密码与临时密钥K,加密生成用户信息摘要数据Hp1,把Hp1传给服务端;S4、服务端根据登录验证请求,从服务端缓存中查询是否存在IP为键值的临时密钥K,若不存在临时密钥则判定登录验证失败;若存在临时密钥,则查询服务端用户密码,根据服务端用户密码与临时密钥K生成服务端信息摘要数据Hp2,将Hp2与Hp1比较,判定登录验证失败或通过。优选地,所述步骤S2服务端从登录验证请求中获取登录验证请求会话的客户端IP地址和发起当前登录验证请求时的时间戳数据Ts,通过算法K=GetKey(IP,Ts)生成临时密钥K。优选地,所述步骤S2服务端对临时密钥K的缓存设置有效期Exp。优选地,所述步骤S3客户端首先将输入的明文密码加密成客户端用户密码P1,再根据客户端用户密码P1和临时密钥K生成用户信息摘要数据Hp1。优选地,所述步骤S4服务端从登录验证请求中获取登录验证请求的客户端IP地址、用户名及用户信息摘要数据Hp1。优选地,所述步骤S4服务端根据登录验证请求获取用户名,若服务端缓存中存在临时密钥,则根据用户名从数据库中查询服务端用户密码。与现有技术相比,本专利技术具有如下优点及有益效果:本专利技术在服务端生成的动态密钥,是一个有时效性,具有生命周期的密钥。如果在登录过程中发生一些数据劫持、数据伪造时,劫持者(即非法第三方)只能拿到随机密钥或者经过加密后的数据,由于密钥和数据都是动态变化的,所以劫持者没法伪造出一致的响应,也就没有办法推算出真正的密码数据,从而使登录验证的安全性得到了最大的保证。附图说明图1是临时密钥的生成过程;图2是客户端加密登录数据的流程;图3是服务端解析验证登录数据的流程。图中各参数说明如下:K:登录验证请求时,服务端生成的临时密钥;IP:发起登录验证请求的客户端IP地址;Ts:发起登录验证请求时的时间戳;Exp:临时密钥缓存的有效期;P:用户明文密码;P1:客户端经MD5加密的用户密码;P2:服务端存储的经MD5加密的用户密码;Hp1:哈希加密的用户信息摘要数据;Hp2:哈希加密的服务器信息摘要数据。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不局限于此。实施例在本实施例中,HTTP协议下可变密钥加密的安全登录方法,包括以下步骤:1)客户端发起的登录验证请求,服务端根据登录验证请求生成临时密钥,将临时密钥传回客户端,并以客户端IP地址作为键值缓存临时密钥在服务端缓存中。参见图1,当客户端发起登录验证请求时,服务端接收到请求,获取发起当前登录验证请求会话的客户端IP地址(IP),作为生成临时密钥的第一个参数,同时获取发起当前登录验证请求时的时间戳数据(Ts),作为生成临时密钥的第二个参数,通过密钥生成算法K=GetKey(IP,Ts),得到一个经base64编码处理过的临时密钥K,然后将临时密钥通过响应流传递回客户端,同时用IP作为键值,把K缓存在服务端缓存(webcache)中,并设置临时密钥K缓存的有效期(Exp)。2)客户端将输入的明文密码加密成客户端用户密码P1,再根据客户端用户密码P1与临时密钥K加密生成用户信息摘要数据Hp1,把Hp1传给服务端。如图2所示,客户端获取用户输入的明文密码P后,把明文密码经过MD5加密算法P1=MD5(P)处理,得到经MD5加密后的客户端用户密码P1作为生成客户端加密数据的一个消息参数,临时密钥K作为算法的密钥参数,通过密钥相关的哈希加密算法生成最终的哈希加密用户信息摘要数据Hp1=HMAC(P1,K)。客户端在提交登录验证请求时,把经过哈希加密的用户信息摘要数据Hp1传给服务端。3)服务端根据登录验证请求,从服务端缓存中查询是否存在IP为键值的临时密钥K,解析登录验证请求,判定登录验证失败或通过。服务端接收到登录验证请求后,首先获取登录验证请求的客户端IP地址、用户名、用户信息摘要数据Hp1,并从服务端缓存中查询是否存在IP为键值的临时密钥K,如果不存在,说明临时密钥过期,直接返回登录验证失败信息。如果存在该临时密钥,根据用户名从数据库中查询出保存的经过MD5加密的服务端用户密码P2,通过密钥相关的哈希加密算法生成最终的哈希加密服务端信息摘要数据Hp2=HMAC(P2,K);其中服务端用户密码P2是在用户注册帐号时服务端经过MD5加密生成并存储在数据库中的用户密码。将服务端生成的信息摘要数据Hp2与客户端传递过来的摘要数据Hp1做比较。不一致,则判定登录验证失败;一致,则判定登录验证通过。上述实施例为本专利技术的一种实施方式,但本专利技术的实施方式并不限定与此,从事该领域技术人员在未背离本专利技术精神和原则下所做的任何修改、替换、改进,均包含在本专利技术的保护范围内。本文档来自技高网...

【技术保护点】
HTTP协议下可变密钥加密的安全登录方法,其特征在于,包括以下步骤:S1、客户端发起的登录验证请求;S2、服务端根据登录验证请求生成临时密钥K,将临时密钥传回客户端,并以客户端IP地址作为键值缓存临时密钥在服务端缓存中;S3、客户端根据输入的明文密码与临时密钥K,加密生成用户信息摘要数据Hp1,把Hp1传给服务端;S4、服务端根据登录验证请求,从服务端缓存中查询是否存在IP为键值的临时密钥K,若不存在临时密钥则判定登录验证失败;若存在临时密钥,则查询服务端用户密码,根据服务端用户密码与临时密钥K生成服务端信息摘要数据Hp2,将Hp2与Hp1比较,判定登录验证失败或通过。

【技术特征摘要】
1.HTTP协议下可变密钥加密的安全登录方法,其特征在于,包括以下步骤:S1、客户端发起的登录验证请求;S2、服务端根据登录验证请求生成临时密钥K,将临时密钥传回客户端,并以客户端IP地址作为键值缓存临时密钥在服务端缓存中;S3、客户端根据输入的明文密码与临时密钥K,加密生成用户信息摘要数据Hp1,把Hp1传给服务端;S4、服务端根据登录验证请求,从服务端缓存中查询是否存在IP为键值的临时密钥K,若不存在临时密钥则判定登录验证失败;若存在临时密钥,则查询服务端用户密码,根据服务端用户密码与临时密钥K生成服务端信息摘要数据Hp2,将Hp2与Hp1比较,判定登录验证失败或通过。2.根据权利要求1所述的安全登录方法,其特征在于,所述步骤S2服务端从登录验证请求中获取登录验证请求会话的客户端IP地址和发起当前登录验证请求时的时间戳数据Ts,通过算法K=GetKey(IP,Ts)生成临时密钥K。3.根据权利要求1所述的安全登录方法,其特征在于,所述步骤S2服务端对临时密钥K的缓存设置有效期Exp。4.根据权利要求1所述的安全登录方法,其特征...

【专利技术属性】
技术研发人员:傅志山
申请(专利权)人:中復保有限公司
类型:发明
国别省市:中国香港;81

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

1