一种基于令牌的网页认证登陆方法

文档序号:7693579阅读:553来源:国知局
专利名称:一种基于令牌的网页认证登陆方法
技术领域
本发明涉及一种基于令牌的网络登录方法,主要是为在Web应用中为用户提供强身份认证,降低因传统静态ロ令的弱抗暴力破解、网络劫持等给用户账户安全带来的风险。
背景技术
目前基于USB的强身份认证产品主要是基于公钥技术(PKI),PKI公钥基础设置通过公开密钥技术和数字证书来确保用户信息的安全及验证证书持有者的身份。但是,PKI在提供强身份认证的同时也因其繁琐的实施过程和维护管理増加着用户的经济成本。 动态ロ令技术是强身份认证的另ー个主要技木,动态ロ令因其抗暴力破解、抗偷看及抗劫持等一系列优点得到越来越广泛的应用。目前,较为常见是的是同时使用PKI技术的基于USB的身份认证产品和动态ロ令双因素(多因素)身份认证产品,根据这些方法和技术,其具有抗偷看、抗劫持和抗暴力破解等技术优点。但是,采取这种方法的话,在实践之中存在着下面所述的缺点
第一,实施与维护成本很高;
第二,由于PKI的证书很少有更新,因此,其在使用超过一定时限安全性会降低,存在着较大的安全隐患;
第三,上述方法,尤其是在Web应用中,其应用方式和作用效果依赖于特定的网络浏览器,并且,其应用平台也比较单ー;
第四,如果采取OTP令牌的话,其会因使用自带电池使用寿命受限制,并且,由于所述OTP令牌没有与PC连接,因此其信息交互形式単一。

发明内容
本发明针对现有的技术缺点而提出,提供了一种基于令牌的网页登录方法,所述系统能够在Web应用中为用户提供强身份认证,降低因传统静态ロ令的弱抗暴力破解、网络劫持等给用户账户安全带来的风险。本发明解决上述技术问题所采取的技术方案如下面所描述
ー种上述登陆系统的登陆方法,包括以下步骤
(1)令牌向客户端应用程序反馈Web应用主页、用户ID信息;
(2)客户端应用程序向Web服务器发送用户登录身份认证请求;
(3)Web服务器查询数据库,确认用户的存在性、用户当前是否被激活,并将反馈结果返回给所述客户端桌面程序;
(4)所述客户端桌面程序将将用户ID、Web应用主页和挑战的应答组织成ー个Web地址,客户端应用程序调用浏览器,将前面组织好的地址作为參数发送给浏览器;
(5)浏览器访问Web服务器,将用户ID、响应信息发送给Web服务器;(6)所述WEB服务器查询数据库获得浏览器提交的用户ID对应的信息,更新并完成用户身份认证过程。进ー步地,优选的方法是,在所述令牌之中,应用HMAC-FNV算法将令牌内部存储的用户唯一的密钥信息、令牌从客户端应用程序接收到的挑战信息加密的结果反馈给客户端应用程序。本发明在采取了上述技术方案以后,由于采取了 HMAC-FNV算法(FNV改进算法)对数据进行加密,并且,在浏览器、Web服务器及令牌之间添加了客户端桌面程序作为协调组件,屏蔽令牌对特定浏览器的依赖,具有实现范围广、能够在Web应用中为用户提供强身份认证,降低因传统静态ロ令的弱抗暴力破解、网络劫持等给用户账户安全带来的风险的技术优点,具有较好的技术效果。


下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。 图I是本发明基于令牌的网络登陆方法所采用的系统的框架示意图。图2是本发明基于令牌的网络登陆方法的流程图。
具体实施例方式下面结合附图和具体实施例来对本发明进行详细的描述。图I是本发明基于令牌的网络登陆方法所采用的系统的框架示意图。如图所示,基于令牌的网络登陆方法所采用的系统,主要由下列组件构成WEB浏览器;令牌,所述令牌用于存储用户的认证信息以及各种密码信息;
WEB服务器和数据库,并且,所述WEB服务器的根目录设置有所述数据库的脚本,所述WEB服务器与所述数据库连接在一起;以及,客户端桌面程序,所述客户端桌面程序读取令牌中的用户信息并完成用户的认证过程,之后将用户的访问请求发送给WEB服务器,所述WEB服务器查询数据库,从而实现用户的网页认证登陆过程。其中,所述客户端桌面程序起到了ー个交互界面的作用,并且,其内部设置有多个功能単元,并且,设置在浏览器和WEB服务器以及令牌之间,起到了一个信息协调功能层的作用,进而屏蔽了对特定浏览器的依赖,具有比较好的访问技术效果。并且,所述WEB浏览器连接所述客户端桌面程序,并且,所述客户端应用程序将用户ID、Web应用主页和挑战的应答组织成ー个Web地址,并将所述地址作为參数发送到所述WEB浏览器之中。同吋,所述令牌内部采取HMAC-FNV算法或者其他任意哈希算法加密处理,这样的话,能够获得较好的加密效果。一般地,所述令牌中保存有每个用户特有的一段机密信息、用户ID、用户PIN码摘要、欲保护Web主页地址,并且,在所述令牌中实现了用于PIN码比对使用的MD5哈希算法(Hash)和用于产生认证响应的HMAC-FNV算法(FNV改进算法)。所述的HMAC-FNV算法具体描述如下
其中,各个符号的代表含义如下
Si 加密结果影响因素s2 加密内容 ret中间结果 算法本体部分
FNVINIT FNV算法使用的初始化常数(0x811c9dc5)
Truncate截断运算符 Skey用户密钥
schalIenge服务器的挑战信息
算法定义HMAC-FNV = truncate (FNV(sl, FNV(s2, FNVINIT)))
Stepl: ret=FNV(s2, FNVINIT) Step2: ret=FNV(sl, ret)
Step3: ret=truncate (ret)
Step4:返回结果ret
此外,在所述客户端桌面程序之中还设置有对服务器访问的身份认证模块,所述身份认证模块在发送登录请求的同时发送ー个对Web服务器的挑战信息。通过HTTP协议和USB设备实现挑战应答机制,为Web应用提供强身份认证保护效果。首先,利用产品发行包帯的sql (数据库操作语言)脚本在欲保护的Web服务器使用的数据库服务上创建TokenLite Web Authentication System使用的数据库;接着,将产品发行包中服务端脚页拷贝至Web应用目录中;其次,配置服务端脚本使用的数据库信息(数据库名称、数据库服务器地址、用于连接数据库的用户名、登录数据库的密码);接着,利用令牌初始化工具(TokenLite Init Tool)为用户初始化令牌(初始化令牌中用户ID、用户密钥、Web主页、用户PIN码);接着,为用户发放令牌和客户端桌面应用程序(TokenLite Daemon Tool);最后,用户只需要通过将令牌通过USB与运行客户端桌面应用程序的计算链接输入正确的用户PIN码,便可登录到Web应用,将令牌从计算机移除退出Web应用。下面我们结合图I和图2对本发明所述的登陆方法进行详细的描述。如图所示,所述方法包括如下的步骤
步骤I :用户将令牌通过USB与计算机链接;
步骤2 :客户端桌面程序向用户显示要求用户输入用户PIN的界面;
步骤3 :用户输入正确的用户PIN码;其中,被设置成如果用户输入错误的PIN码会有错误提示,连续3次输入错误用户PIN码进一歩的操作将被拒绝;
步骤4 :客户端桌面程序将用户PIN码反馈后发送给令牌;
步骤5 :令牌在内部完成用户PIN码的验证,向客户端桌面程序返回用户PIN码验证结果;
步骤6 :如果用户PIN码验证成功,客户端应用程序向令牌请求Web应用主页、用户ID等相关信息;
步骤7 :令牌向客户端应用程序反馈Web应用主页、用户ID信息;
步骤8 :客户端应用程序向Web服务器发送用户登录身份认证请求;
并且,其中,我们可以在客户端桌面程序可以添加对服务器的身份认证模块,并且,在发送登录请求的同时发送ー个对Web服务器的挑战信息。
步骤9 ffeb服务器查询数据库,确认用户的存在性、用户当前是否被激活;
步骤10:若用户存在并且已经处于激活状态,Web服务器产生一个用于本次登录的随
机数作为挑战发送给客户端桌面程序,将随机数挑战信息更新至数据库;否则,发送拒绝信息给客户端桌面程序。并且,如果客户端桌面程序需要对Web服务器进行身份认证,则Web服务器需要利用HMAC-FNV算法对客户提交的挑战信息和用户ID对应的密钥信息加密产生对客户挑战的应答结果反馈给客户端桌面程序;
步骤11 :若Web服务器返回错误信息,桌面应用程序向用户显示此错误信息;
其中,需要注意的是,如果Web服务器返回随机数作为挑战,桌面应用程序将挑战信息发送给令牌; 步骤12 :令牌在内部利用HMAC-FNV算法将令牌内部存储的用户唯一的密钥信息、令牌从客户端应用程序接收到的挑战信息加密的结果反馈给客户端应用程序;
步骤13 :客户端应用程序将令牌反馈的加密结果作为对Web服务器本次挑战的应答,将用户ID、Web应用主页和挑战的应答组织成ー个Web地址.客户端应用程序调用浏览器,将前面组织好的地址作为參数发送给浏览器;
步骤14 :浏览器访问Web服务器,将用户ID、响应信息发送给Web服务器;
步骤15 =Web服务器查询数据库获得浏览器提交的用户ID对应的用户唯一的密钥、挑战信息和超时标记信息,若挑战信息超时则本次认证失败,Web服务器向客户端应用程序返回错误提示,客户需要重新开始登录过程;
否则Web服务器使用HMAC-FNV算法将用户密钥和挑战信息加密,将加密结果与用户提交的响应信息比对,不同则Web服务器向客户端桌面程序反馈错误信息;
如果两者对应相同的话,则更新该用户Session,完成用户身份认证;
步骤16 :并且,在此后,所述Web服务器更新数据库中对应用户ID的挑战信息字段(使挑战信息不可用)。一般来说,本发明所要包括的关键技术要点在于以下几种
第一,HMAC-FNV算法(FNV改进算法);
第二,在浏览器、Web服务器及令牌之间添加信息协调功能层(客户端桌面程序),屏蔽令牌对特定浏览器的依赖;
第三,通过HTTP协议和USB设备实现挑战应答机制,为Web应用提供强身份认证保护;并且,我们在进行计算响应信息时可以选择其他哈希算法,同样能够实现本发明类似的技术效果。本发明在采取了上述技术方案以后,由于采取了 HMAC-FNV算法(FNV改进算法)对数据进行加密,并且,在浏览器、Web服务器及令牌之间添加了客户端桌面程序作为协调组件,屏蔽令牌对特定浏览器的依赖,具有实现范围广、能够在Web应用中为用户提供强身份认证,降低因传统静态ロ令的弱抗暴力破解、网络劫持等给用户账户安全带来的风险的技术优点,具有较好的技术效果。需要注意的是,上述具体实施例仅仅是示例性的,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。
本领域技术人员应该明白,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本发明的 保护范围由权利要求及其等同物限定。
权利要求
1.一种基于令牌的网页认证登陆方法,包括下列步骤 (1)令牌向客户端应用程序反馈Web应用主页、用户ID信息; (2)客户端应用程序向Web服务器发送用户登录身份认证请求; (3)Web服务器查询数据库,确认用户的存在性、用户当前是否被激活,并将反馈结果返回给所述客户端桌面程序; (4)所述客户端桌面程序将将用户ID、Web应用主页和挑战的应答组织成一个Web地址,客户端应用程序调用浏览器,将前面组织好的地址作为参数发送给浏览器; (5)浏览器访问Web服务器,将用户ID、响应信息发送给Web服务器; (6)所述WEB服务器查询数据库获得浏览器提交的用户ID对应的信息,更新并完成用户身份认证过程。
2.根据权利要求I所述的基于令牌的网页认证登陆方法,其特征在于,在步骤(3)中,若用户不存在或者未激活,则所述Web服务器发送拒绝信息给客户端桌面程序。
3.根据权利要求I所述的基于令牌的网页认证登陆方法,其特征在于,还包括有数据库以及令牌初始化步骤。
4.根据权利要求I所述的基于令牌的网页认证登陆方法,其特征在于,在所述令牌之中,应用HMAC-FNV算法将令牌内部存储的用户唯一的密钥信息、令牌从客户端应用程序接收到的挑战信息加密的结果反馈给客户端应用程序。
全文摘要
本发明公开了一种基于令牌的网页认证登陆方法,包括下列步骤(1)令牌向客户端应用程序反馈Web应用主页、用户ID信息;(2)客户端应用程序向Web服务器发送用户登录身份认证请求;(3)Web服务器查询数据库,确认用户的存在性、用户当前是否被激活,并将反馈结果返回给所述客户端桌面程序;(4)所述客户端桌面程序将将用户ID、Web应用主页和挑战的应答组织成一个Web地址,客户端应用程序调用浏览器,将前面组织好的地址作为参数发送给浏览器;(5)浏览器访问Web服务器,将用户ID、响应信息发送给Web服务器;(6)所述WEB服务器查询数据库获得浏览器提交的用户ID对应的信息,更新并完成用户身份认证过程。本发明具有降低风险的技术优点。
文档编号H04L29/06GK102833213SQ20111015890
公开日2012年12月19日 申请日期2011年6月14日 优先权日2011年6月14日
发明者邹芬 申请人:赛酷特(北京)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1