一种web应用的登录认证方法及系统技术方案

技术编号:9671330 阅读:87 留言:0更新日期:2014-02-14 18:28
本发明专利技术公开一种web应用的登录认证方法,包括:收到用户的登录请求后,浏览器利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器根据保存的用户信息和收到的认证信息,进行登录认证;本发明专利技术还提供一种web应用的登录认证系统。根据本发明专利技术的技术方案,能够防止数据篡改、窃听攻击、小数攻击、字典攻击、重放攻击和拒绝服务攻击。

【技术实现步骤摘要】
一种web应用的登录认证方法及系统
本专利技术涉及互联网技术,尤其涉及一种web应用的登录认证方法及系统。
技术介绍
随着互联网技术的飞速发展,web应用不断普及,实现基于web应用的登录认证时,用户信息的安全性变得越来越重要。传统的web应用的登录认证,是将用户输入的身份信息和密码传到web服务器,通过与web服务器存储的数据进行比对,来确认用户身份的合法性。目前这种web应用的登录认证方法存在致命的缺陷,身份信息和密码容易被窃取,从而招致攻击者的重放攻击。针对这种缺陷,现有技术中,存在以下几种解决方案:第一种,采用基于证书的数字签名认证技术保护用户信息,虽然安全性较高,但必须以完善的公用证书系统为基础,因此技术实现较复杂,成本较高,仅适用于大型的网络应用系统。第二种,是采用传统的动态口令(OTP,One-TimePassword)机制在登录认证过程中加入不确定因素,使用户每次登录时传送的密码都不同,从而提高用户信息的安全性。但是现有的一次性密码机制越来越多地暴露出易被猜测、被篡改和被分析等脆弱性。例如,挑战/响应机制中,密码以某种形式静态存储在服务器,容易被分析;用户登录认证时需要利用安全套接层(SSL,SecureSocketsLayer)等额外保护措施,而SSL需要花费较高的费用去购买,给用户带来经济负担,同时影响系统认证处理性能。第三种,是采用口令序列机制,这种方法容易受到小数攻击。由于这种机制中,机制种子值和迭代值都是以明文传输,攻击者利用假冒服务器可以窃听这2个值,将窃到的迭代值修改为较小的值发送给用户,用户使用攻击者发来的种子值和较小迭代值计算出动态口令传送给服务器。此时,攻击者截获这个动态口令,并使用已知哈希算法依次计算较大迭代值的动态口令,从而获得用户后继的一系列口令。另外,这种机制浏览器侧需要多次计算hash值,计算量较大。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种web应用的登录认证方法及系统,能够防止数据篡改、窃听攻击、小数攻击、字典攻击、重放攻击和拒绝服务攻击。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供一种web应用的登录认证系统,包括:浏览器、web服务器;其中,浏览器,用于收到用户的登录请求后,利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器,用于根据保存的用户信息和收到的认证信息,进行登录认证。上述系统中,该系统还包括:用户身份数据库;其中,所述浏览器,还用于利用web服务器提供的两个随机数得到认证信息之前,接收用户注册web应用的请求,将注册时的用户数据发送给web服务器;所述web服务器,还用于利用随机数对收到的用户数据进行初始化;所述用户身份数据库,用于保存初始化后得到的用户信息。上述系统中,所述web服务器,还用于更新用户身份数据库中原先保存的用户信息。本专利技术还提供一种web应用的登录认证方法,包括:收到用户的登录请求后,浏览器利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器根据保存的用户信息和收到的认证信息,进行登录认证。上述方法中,所述浏览器利用web服务器提供的两个随机数得到认证信息之前,该方法还包括:浏览器接收用户注册web应用的请求,将注册时的用户数据发送给web服务器;web服务器利用随机数对收到的用户数据进行初始化,并保存初始化后得到的用户信息。上述方法中,所述用户数据至少包括用户身份标识UID和初始密码P。上述方法中,所述web服务器利用随机数对收到的用户数据进行初始化,并保存初始化后得到的用户信息为:利用公式H_UID=SHA1(UID+key),计算虚拟账号H_UID;其中,SHA1表示利用哈希算法计算虚拟账号H_UID;key为web服务器存储的总密钥;利用公式H_PWD=SHA1(SHA1(UID+R1+P))计算虚拟密码H_PWD;其中,R1为web服务器随机产生的随机数;将初始化处理后得到的用户信息发送给用户身份数据库进行保存;所述用户信息包括用户身份标识UID、虚拟账号H_UID、随机数R1、虚拟密码H_PWD。上述方法中,所述浏览器利用web服务器提供的两个随机数得到认证信息为:浏览器向web服务器请求webURL登录页面,web服务器将生成的随机数R、总密钥key与webURL登录页面发送给浏览器;浏览器根据用户输入的用户身份标识UID和收到的总密钥key,利用公式H_UID=SHA1(UID+key)计算虚拟账号H_UID,并将计算出的虚拟账号H_UID发送给web服务器;web服务器根据收到的虚拟账号H_UID,从用户身份数据库获取与所述虚拟账号H_UID对应的随机数R1,将所述随机数R1返回给浏览器;浏览器根据用户输入的初始密码、随机数R、随机数R1以及用户身份标识UID,利用公式h1=SHA1(UID+R1+P)、h2=SHA1(SHA1(UID+R+P))、h3=SHA1(h1+R+h2),计算认证信息;所述认证信息包括虚拟密码h1、虚拟密码h2和校验码h3。上述方法中,所述web服务器根据保存的用户信息和收到的认证信息,进行登录认证为:web服务器根据收到的认证信息中的虚拟密码h1、虚拟密码h2以及先前产生的随机数R,利用公式h3=SHA1(h1+R+h2)计算校验码h3,将计算出的h3与认证信息中的校验码h3进行比对,计算出的校验码h3与收到的认证信息中的校验码h3相同时,完整性的认证成功;完整性的认证成功后,从用户身份数据库中获取用户信息,再根据虚拟密码h1,利用公式H_PWD=SHA1(h1)计算虚拟密码H_PWD,计算出的虚拟密码H_PWD与获取的用户信息中的虚拟密码H_PWD相同时,登录认证成功,向浏览器返回登录认证成功的响应。上述方法中,该方法还包括:web服务器更新原先保存的用户信息。上述方法中,所述web服务器更新原先保存的用户信息为:登录认证成功后,web服务器刷新用户身份数据库中原先保存的用户信息,用随机数R和虚拟密码h2分别替换用户身份数据库中原先保存的用户信息中的随机数R1和虚拟密码H_PWD。本专利技术提供的web应用的登录认证方法及系统,收到用户的登录请求后,浏览器利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器根据保存的用户信息和收到的认证信息,进行登录认证,如此,利用两个随机数参与用户登录认证过程,能够防止数据篡改、窃听攻击、小数攻击、字典攻击、重放攻击和拒绝服务攻击。此外,用户身份标识和初始密码不在网络进行直接传输,数据库不保存静态密码,仅保存根据随机数计算的动态虚拟密码,能够提高用户信息的安全性,而且系统开销少,适合轻量级的用户进行登录认证,满足用户对web应用的安全认证的需求。附图说明图1是本专利技术实现web应用的登录认证系统的结构示意图;图2是本专利技术实现web应用的登录认证方法的流程示意图。具体实施方式本专利技术的基本思想是:收到用户的登录请求后,浏览器利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器根据保存的用户信息和收到的认证信息,进行登录认证。下面通过附图及具体实施例本文档来自技高网
...

【技术保护点】
一种web应用的登录认证系统,其特征在于,该系统包括:浏览器、web服务器;其中,浏览器,用于收到用户的登录请求后,利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器,用于根据保存的用户信息和收到的认证信息,进行登录认证。

【技术特征摘要】
1.一种web应用的登录认证系统,其特征在于,该系统包括:浏览器、web服务器;其中,浏览器,用于收到用户的登录请求后,利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器,用于根据保存的用户信息和收到的认证信息,进行登录认证;所述web服务器,还用于更新用户身份数据库中原先保存的用户信息;其中,所述web服务器更新用户身份数据库中原先保存的用户信息为:登录认证成功后,web服务器刷新用户身份数据库中原先保存的用户信息,用随机数R和虚拟密码h2分别替换用户身份数据库中原先保存的用户信息中的随机数R1和虚拟密码H_PWD;其中,虚拟密码h2是所述浏览器根据用户输入的初始密码P、随机数R以及用户身份标识UID利用公式h2=SHA1(SHA1(UID+R+P))计算得出的,虚拟密码H_PWD是所述浏览器根据用户输入的初始密码P、随机数R1以及用户身份标识UID利用公式H_PWD=SHA1(SHA1(UID+R1+P))计算得出的,其中随机数R和R1是web服务器产生的。2.根据权利要求1所述的系统,其特征在于,该系统还包括:用户身份数据库;其中,所述浏览器,还用于利用web服务器提供的两个随机数得到认证信息之前,接收用户注册web应用的请求,将注册时的用户数据发送给web服务器;所述web服务器,还用于利用随机数对收到的用户数据进行初始化;所述用户身份数据库,用于保存初始化后得到的用户信息。3.一种web应用的登录认证方法,其特征在于,该方法包括:收到用户的登录请求后,浏览器利用web服务器提供的两个随机数得到认证信息,并将所述认证信息发送给web服务器;web服务器根据保存的用户信息和收到的认证信息,进行登录认证;web服务器更新原先保存的用户信息;所述web服务器更新原先保存的用户信息为:登录认证成功后,web服务器刷新用户身份数据库中原先保存的用户信息,用随机数R和虚拟密码h2分别替换用户身份数据库中原先保存的用户信息中的随机数R1和虚拟密码H_PWD;其中,虚拟密码h2是所述浏览器根据用户输入的初始密码P、随机数R以及用户身份标识UID利用公式h2=SHA1(SHA1(UID+R+P))计算得出的,虚拟密码H_PWD是所述浏览器根据用户输入的初始密码P、随机数R1以及用户身份标识UID利用公式H_PWD=SHA1(SHA1(UID+R1+P))计算得出的,其中随机数R和R1是web服务器产生的。4.根据权利要求3所述的方法,其特征在于,所述浏览器利用web服务器提供的两个随机数得到认证信息之前,该方法还包括:浏览器接收用户注册we...

【专利技术属性】
技术研发人员:李勇
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:

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

1