一种适用于在线身份认证的流控机制的制作方法

文档序号:11156675阅读:245来源:国知局

本发明涉及信息安全技术领域,具体地,涉及一种适用于在线身份认证的流控机制。



背景技术:

为了确保站点间访问的安全性,在目前互联网通信进程中的普遍做法是:先依靠拦截器拦截URL(Uniform Resoure Locator,统一资源定位器)地址,根据客户端要访问的文件资源权限,转发到用户登录流程,然后在用户输入身份凭证相关信息(例如账户和账户密码等)后,由认证服务器进行认证匹配,如果认证成功则会在客户端与服务端之间建立内存化的授权资源共享对象(例如Session对象等),并将授权资源共享对象的一部分信息写入到客户端的临时缓存文件(例如Cookies文件)中。但是由于缺乏对在线身份认证进程(即用户登录流程)进行严格地流程管控以及对授权资源共享对象进行严格的读写管控,使得黑客能够利用HTTP协议(HyperText Transfer Protocol,超文本传输协议)无状态即无连接的特性,并使用从空口拦截获取的授权资源共享对象或非法侵入读取的临时缓存文件来强行冒充合法用户的身份,达到中间人攻击的目的,从而使得现行在线身份认证进程存在一定的安全隐患。



技术实现要素:

针对前述现有技术的问题,本发明提供了一种适用于在线身份认证的流控机制,其针对在线身份认证进程提出了一种严格的流程管控方法,即在锁定标记客户端浏览器后,对通信会话中的Session对象进行了严格的读写管控以及对Cookies内容进行严格地验证管控,从而即使在出现SessionID或Coolies内容等信息泄露的情况下,也能够杜绝黑客利用这些资源冒充合法用户的身份,防止造成用户信息的进一步泄露,进而极大地降低了信息泄露及黑客攻击的可能性,保障了在线身份认证进程的安全。

本发明采用的技术方案,提供了一种适用于在线身份认证的流控机制,包括如下步骤: S101.业务服务器在客户端浏览器打开业务首页时,生成锁定该客户端浏览器的主SessionID,并创建与所述主SessionID对应的主Session对象,然后一方面将所述主SessionID反馈至该客户端浏览器,另一方面将所述主SessionID及对应的所述主Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第一方式进行托管:存储所述主Session对象,然后将所述主SessionID和所述主Session对象的第一存储地址添加到读写白名单表中,然后在成功验证该客户端浏览器的身份凭证后且在所述主Session对象销毁前,许可该客户端浏览器通过业务服务器间接地对所述读写白名单表进行查表,并在使用所述主SessionID获取对应的所述第一存储地址后,根据所述第一存储地址对所述主Session对象进行数据读取和/或数据写入;S102.认证服务器在该客户端浏览器打开登录页面时,生成锁定该客户端浏览器的认证SessionID,并创建与所述认证SessionID对应的认证Session对象,然后一方面将所述认证SessionID反馈至该客户端浏览器,另一方面将所述认证SessionID及对应的所述认证Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第二方式进行托管:存储所述认证Session对象,然后将所述认证SessionID和所述认证Session对象的第二存储地址添加到所述读写白名单表中,并在表中关联所述主SessionID和所述认证SessionID,然后在成功验证该客户端浏览器的身份凭证后且在所述认证Session对象销毁前,许可该客户端浏览器通过认证服务器间接地对所述读写白名单表进行查表,并在使用所述认证SessionID获取对应的所述第二存储地址后,根据所述第二存储地址对所述认证Session对象进行数据读取;S103.业务服务器在首次成功验证该客户端浏览器的身份凭证后,生成锁定该客户端浏览器的Cookies内容,然后将所述Cookies内容传送至流控寄存服务器,由流控寄存服务器按照如下第三方式进行托管:一方面应用摘要算法获取所述Cookies内容的第一摘要,然后使用签名私钥对所述第一摘要进行数字签名,得到所述Cookies内容的摘要密文,最后在保存所述Cookie内容及验签公钥的临时对应关系后,将封装有所述Cookies内容和所述摘要密文的Cookies对象通过业务服务器反馈至该客户端浏览器,其中,所述签名私钥和所述验签公钥为一对非对称公私钥,另一方面使用所述验签公钥对来自业务服务器且由该客户端浏览器上传的Cookies对象进行验签,若验签通过,则向业务服务器反馈对该客户端浏览器的身份凭证二次认证成功信息,否则向业务服务器反馈对该客户端浏览器的身份凭证二次认证失败信息。

优化的,在所述第一方式托管中还包括:在客户端浏览器关闭时或在所述主Session对象的闲置时长超过预设阈值时,销毁所述主Session对象,并在所述读写白名单表中清除所述主SessionID和所述主Session对象的第一存储地址。

优化的,在所述第二方式托管中还包括:在首次成功验证该客户端浏览器的身份凭证后,使所述认证Session对象处于写锁定状态。

优化的,在所述第二方式托管中还包括:在所述主Session对象被销毁时或在该客户端浏览器退出登录时,销毁所述认证Session对象,并在所述读写白名单表中清除所述认证SessionID和所述认证Session对象的第二存储地址。

优化的,在所述第三方式托管中的验签步骤包括如下:一方面应用摘要算法获取所述Cookies对象中Cookies内容的第二摘要,另一方面根据所述Cookies对象中Cookies内容从所述临时对应关系中查找到对应的所述验签公钥,然后使用所述验签公钥对所述Cookies对象中摘要密文进行解密,得到解密摘要,最后对比两份摘要是否相同,若相同,则验签通过,否则验签不通过。

优化的,根据客户端浏览器的浏览器信息和打开相应页面的时间戳生成锁定该客户端浏览器的主SessionID和/或认证SessionID,其中,所述浏览器信息包含浏览器类型和版本号。

优化的,在所述步骤S103之后还包括步骤如下:S104.业务服务器在认证服务器发起数据同步请求时,生成数据同步SessionID,并创建与所述数据同步SessionID对应的数据同步Session对象,然后一方面将所述数据同步SessionID反馈至该认证服务器,另一方面将所述数据同步SessionID及对应的所述数据同步Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第四方式进行托管:存储所述数据同步Session对象,然后将所述数据同步SessionID和所述数据同步Session对象的第四存储地址添加到所述读写白名单表中,并在表中关联所述主SessionID和所述数据同步SessionID,然后在所述数据同步Session对象销毁前,许可业务服务器对所述读写白名单表进行查表,并在使用所述数据同步SessionID获取对应的所述第四存储地址后,根据所述第四存储地址对所述数据同步Session对象进行一次数据读取。

进一步优化的,在所述第四方式托管中还包括:在业务服务器与该认证服务器之间完成数据同步后,销毁所述数据同步Session对象,并在所述读写白名单表中清除所述数据同步SessionID和所述数据同步Session对象的第四存储地址。

综上,采用本发明所提供的一种适用于在线身份认证的流控机制,具有如下有益效果:(1)该方法针对在线身份认证进程提出了一种严格的流程管控方法,即在锁定标记客户端浏览器后,对通信会话中的Session对象进行了严格的读写管控以及对Cookies内容进行严格地验证管控,从而即使在出现SessionID或Coolies内容等信息泄露的情况下,也能够杜绝黑客利用这些资源冒充合法用户的身份,防止造成用户信息的进一步泄露,进而极大地降低了信息泄露及黑客攻击的可能性,保障了在线身份认证进程的安全;(2)在流程控制过程中,规定了多种不同阶段会话的Session对象读写规则,极大的提高了在线身份认证进程的安全;(3)创新地提出了在线身份认证进程的流程管控技术,使得登录认证流程的细节更加规范化,填补了当前技术的空白。

具体实施方式

以下将通过实施例方式详细地描述本发明提供的适用于在线身份认证的流控机制。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。

实施例一

本实施例提供的所述适用于在线身份认证的流控机制,包括如下步骤。

S101.业务服务器在客户端浏览器打开业务首页时,生成锁定该客户端浏览器的主SessionID,并创建与所述主SessionID对应的主Session对象,然后一方面将所述主SessionID反馈至该客户端浏览器,另一方面将所述主SessionID及对应的所述主Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第一方式进行托管:存储所述主Session对象,然后将所述主SessionID和所述主Session对象的第一存储地址添加到读写白名单表中,然后在成功验证该客户端浏览器的身份凭证后且在所述主Session对象销毁前,许可该客户端浏览器通过业务服务器间接地对所述读写白名单表进行查表,并在使用所述主SessionID获取对应的所述第一存储地址后,根据所述第一存储地址对所述主Session对象进行数据读取和/或数据写入。

在所述步骤S101中,所述业务服务器用于为访问用户提供各种业务服务,例如提供业务首页、登录页面、用户查阅页面及操作页面等,例如WEB服务器。所述客户端浏览器为在客户端设备(例如智能手机或电脑等)上运行的网页浏览器,例如IE浏览器或UC浏览器等。用户在启动客户端浏览器后可访问业务服务器,请求业务服务器提供业务首页内容以便用户使用,业务服务器在接收本次请求消息后,反馈对应的响应消息(本次请求成功消息或本次请求失败消息)。所述主SessionID为在客户端浏览器与业务服务器之间建立本次主会话的会话标志,其以加载在前述响应消息的消息头中的方式反馈至该客户端浏览器,而客户端浏览器在接收到所述主SessionID后,将所述主SessionID存储在本地的临时缓存文件中,以便在后续与业务服务器的会话过程中对该客户端浏览器进行识别。为了准确地对客户端浏览器进行识别,优化的,根据客户端浏览器的浏览器信息和打开业务首页的时间戳生成锁定该客户端浏览器的主SessionID,其中,所述浏览器信息可以但不限于包含浏览器类型(例如IE浏览器、火狐浏览器、UC浏览器和360浏览器等)和版本号。

在所述步骤S101中,所述主Session对象用于保存该客户端浏览器与业务服务器之间主会话所需的属性以及配置信息,例如该客户端浏览器的IP地址、会话超时时间、会话结束激励事件等。业务服务器在得到所述主SessionID和所述主Session对象后,通过信任的局域网络将它们集中传送至流控寄存服务器进行全权托管。通过流控寄存服务器对所述主Session对象进行前述第一方式的托管,只允许同一个且成功通过身份认证的客户端浏览器通过业务服务器对所述主Session对象中的数据进行读取或改写作业,如此可杜绝冒充该客户端浏览器的第三方浏览器使用相同的所述主SessionID骗取所述主Session对象中的关键数据,防止用户信息出现进一步的信息泄露。此外优化的,在所述第一方式托管中还包括:在客户端浏览器关闭时或在所述主Session对象的闲置时长超过预设阈值时,销毁所述主Session对象,并在所述读写白名单表中清除所述主SessionID和所述主Session对象的第一存储地址。如此可以在结束主会话或者默认主会话已结束时,及时清除流控寄存服务器中的无效数据,节省存储资源及管理资源。

S102.认证服务器在该客户端浏览器打开登录页面时,生成锁定该客户端浏览器的认证SessionID,并创建与所述认证SessionID对应的认证Session对象,然后一方面将所述认证SessionID反馈至该客户端浏览器,另一方面将所述认证SessionID及对应的所述认证Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第二方式进行托管:存储所述认证Session对象,然后将所述认证SessionID和所述认证Session对象的第二存储地址添加到所述读写白名单表中,并在表中关联所述主SessionID和所述认证SessionID,然后在成功验证该客户端浏览器的身份凭证后且在所述认证Session对象销毁前,许可该客户端浏览器通过认证服务器间接地对所述读写白名单表进行查表,并在使用所述认证SessionID获取对应的所述第二存储地址后,根据所述第二存储地址对所述认证Session对象进行数据读取。

在所述步骤S102中,客户端浏览器在成功访问业务首页后(即在建立主会话之后),可进一步请求业务服务器提供登录页面内容,以便用户导入身份凭证信息(例如账户和账户密码等)并在认证服务器处完成身份认证后,进而使用为用户所私有的用户查阅页面及操作页面等,认证服务器在通过业务服务器间接地接收到本次认证请求消息后,间接地反馈对应的认证响应消息(本次认证请求成功消息或本次认证请求失败消息)。所述认证SessionID为在客户端浏览器与认证服务器之间建立本次认证会话的会话标志,其以加载在前述认证响应消息的消息头中的方式反馈至该客户端浏览器,而客户端浏览器在接收到所述认证SessionID后,将所述认证SessionID存储在本地的临时缓存文件中,以便在后续与认证服务器的认证会话过程中对该客户端浏览器进行识别。为了准确地对客户端浏览器进行识别,与所述主SessionID一样优化的,根据客户端浏览器的浏览器信息和打开登录首页的时间戳生成锁定该客户端浏览器的认证SessionID,其中,所述浏览器信息可以但不限于包含浏览器类型(例如IE浏览器、火狐浏览器、UC浏览器和360浏览器等)和版本号。

在所述步骤S102中,所述认证Session对象用于保存该客户端浏览器与业务服务器之间认证会话所需的属性以及配置信息,例如该客户端浏览器的IP地址、会话超时时间、会话结束激励事件等。认证服务器在得到所述认证SessionID和所述认证Session对象后,同样通过信任的局域网络将它们集中传送至流控寄存服务器进行全权托管。通过流控寄存服务器对所述认证Session对象进行前述第二方式的托管,只允许同一个客户端浏览器在认证会话过程中通过认证服务器对所述认证Session对象中的数据进行读取或改写作业,同时在成功完成身份认证后,只允许同一个且成功通过身份认证的客户端浏览器通过认证服务器对所述认证Session对象中的数据进行读取作业,如此可杜绝冒充该客户端浏览器的第三方浏览器使用相同的所述认证SessionID骗取所述认证Session对象中的关键数据,防止用户信息出现进一步的信息泄露。为了进一步防止篡改所述认证Session对象中的数据,优化的,在所述第二方式托管中还包括:在首次成功验证该客户端浏览器的身份凭证后,使所述认证Session对象处于写锁定状态。此外优化的,在所述第二方式托管中还包括:在所述主Session对象被销毁时或在该客户端浏览器退出登录时,销毁所述认证Session对象,并在所述读写白名单表中清除所述认证SessionID和所述认证Session对象的第二存储地址。如此可以在结束主会话或者退出登录时,及时清除流控寄存服务器中的无效数据,节省存储资源及管理资源,并可确保所述认证Session对象只存在主会话内。

S103.业务服务器在首次成功验证该客户端浏览器的身份凭证后,生成锁定该客户端浏览器的Cookies内容,然后将所述Cookies内容传送至流控寄存服务器,由流控寄存服务器按照如下第三方式进行托管:一方面应用摘要算法获取所述Cookies内容的第一摘要,然后使用签名私钥对所述第一摘要进行数字签名,得到所述Cookies内容的摘要密文,最后在保存所述Cookie内容及验签公钥的临时对应关系后,将封装有所述Cookies内容和所述摘要密文的Cookies对象通过业务服务器反馈至该客户端浏览器,其中,所述签名私钥和所述验签公钥为一对非对称公私钥,另一方面使用所述验签公钥对来自业务服务器且由该客户端浏览器上传的Cookies对象进行验签,若验签通过,则向业务服务器反馈对该客户端浏览器的身份凭证二次认证成功信息,否则向业务服务器反馈对该客户端浏览器的身份凭证二次认证失败信息。

在所述步骤S103中,所述Cookies内容用于存储标定该客户端浏览器的有效身份认证信息,例如该客户端浏览器的浏览器信息、账户及账户密码、登录有效期及登录状态等内容。通过流控寄存服务器对所述Cookies内容进行前述第二方式的托管,可以通过数字签名及验签方式验证所述Cookies内是否被非法篡改,进而快速安全地进行身份凭证二次认证,在身份凭证二次认证成功后,业务服务器可与该客户端浏览器建议新的主会话,并许可为该客户端浏览器提供为用户所私有的用户查阅页面及操作页面等,否则禁止前述许可。此外优化的,在所述第三方式托管中的验签步骤包括如下:一方面应用摘要算法获取所述Cookies对象中Cookies内容的第二摘要,另一方面根据所述Cookies对象中Cookies内容从所述临时对应关系中查找到对应的所述验签公钥,然后使用所述验签公钥对所述Cookies对象中摘要密文进行解密,得到解密摘要,最后对比两份摘要是否相同,若相同,则验签通过,否则验签不通过。

优化的,在所述步骤S103之后还包括步骤如下:S104.业务服务器在认证服务器发起数据同步请求时,生成数据同步SessionID,并创建与所述数据同步SessionID对应的数据同步Session对象,然后一方面将所述数据同步SessionID反馈至该认证服务器,另一方面将所述数据同步SessionID及对应的所述数据同步Session对象传送至流控寄存服务器,由流控寄存服务器按照如下第四方式进行托管:存储所述数据同步Session对象,然后将所述数据同步SessionID和所述数据同步Session对象的第四存储地址添加到所述读写白名单表中,并在表中关联所述主SessionID和所述数据同步SessionID,然后在所述数据同步Session对象销毁前,许可业务服务器间接地对所述读写白名单表进行查表,并在使用所述数据同步SessionID获取对应的所述第四存储地址后,根据所述第四存储地址对所述数据同步Session对象进行一次数据读取。

在步骤S104中,所述认证服务器用于为业务服务器提供身份凭证的认证服务,例如3A服务器。所述数据同步SessionID为在认证服务器与业务服务器之间建立本次数据同步会话的会话标志,以便在后续与业务服务器的认证会话过程中对该认证服务器进行识别。所述数据同步Session对象用于保存该认证服务器与业务服务器之间认证会话所需的属性以及配置信息,例如该认证服务器的IP地址、会话超时时间、会话结束激励事件等。此外,进一步优化的,在所述第四方式托管中还包括:在业务服务器与该认证服务器之间完成数据同步后,销毁所述数据同步Session对象,并在所述读写白名单表中清除所述数据同步SessionID和所述数据同步Session对象的第四存储地址。如此可以在结束数据同步会话时,及时清除流控寄存服务器中的无效数据,节省存储资源及管理资源。

综上,本实施例所提供的适用于在线身份认证的流控机制,具有如下有益效果:(1)该方法针对在线身份认证进程提出了一种严格的流程管控方法,即在锁定标记客户端浏览器后,对通信会话中的Session对象进行了严格的读写管控以及对Cookies内容进行严格地验证管控,从而即使在出现SessionID或Coolies内容等信息泄露的情况下,也能够杜绝黑客利用这些资源冒充合法用户的身份,防止造成用户信息的进一步泄露,进而极大地降低了信息泄露及黑客攻击的可能性,保障了在线身份认证进程的安全;(2)在流程控制过程中,规定了多种不同阶段会话的Session对象读写规则,极大的提高了在线身份认证进程的安全;(3)创新地提出了在线身份认证进程的流程管控技术,使得登录认证流程的细节更加规范化,填补了当前技术的空白。

如上所述,可较好地实现本发明。对于本领域的技术人员而言,根据本发明的教导,设计出不同形式的适用于在线身份认证的流控机制并不需要创造性的劳动。在不脱离本发明的原理和精神的情况下对这些实施例进行变化、修改、替换、整合和变型仍落入本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1