登录凭证校验方法、装置与流程

文档序号:12493704阅读:211来源:国知局
登录凭证校验方法、装置与流程

本发明涉及计算机技术领域,更具体地,涉及一种登录凭证校验方法、装置。



背景技术:

OAuth(Open Authorization)协议为用户资源的授权提供了一个安全的、开放而又简易的标准。一方面,OAuth是安全的,其与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,同时允许用户让第三方应用访问该用户在某一网站上存储的私密的资源,如照片,视频,联系人列表等;另一方面,OAuth也是开放的,任何第三方都可以使用OAuth认证服务,任何服务提供商都可以实现自身的OAuth认证服务;另一方面,OAuth也是易实现的,业界提供了OAuth的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAuth认证服务,这些都足以说明OAuth标准逐渐成为开放资源授权的标准。

OAuth强大的兼容性令其迅速普遍开来,然而OAuth也存在安全隐患。一方面,在OAuth认证过程以及Open API调用过程中,多次会用到appid,appkey,access token等参数,需要把这些值存储起来,开发人员很容易想到用session,即时域来存储当前的登陆态,而Session是局限的,例如,目前第三方平台(QQ、微信)通过OAuth登陆后,当访问服务器的时候,服务器创建session来保存账号信息等,当结束服务器访问的时候,session就会销毁,同时用户访问的数据也不会保存。另一方面,子域名之间的session信息是不允许共享的。如果存在多个子域名,则有可能引发如下情况:在登录过程用到了www.a.com,而在回调地址用到了www.i.a.com,由于session信息不能在两个子域名之间共享,导致用户访问回调地址出错。



技术实现要素:

鉴于上述问题,本发明提出了一种登陆凭证校验方法,而在用户通过OAuth首次成功登录第一服务器后保存第一登录凭证的加密数据包一段时间,当用户再次登录时,可以根据加密数据包快速登录。

第一方面,本发明提供一种登录凭证校验方法,包括如下步骤:

响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,解析该登录请求以获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包;

解密所述加密数据包以获取所述第一凭证信息,所述第一凭证信息包括用户标识信息、用户身份认证信息、第一客户端设备信息及第一服务器生成的第一权限信息;

发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息合法时建立第一客户端和本服务器的合法连接。

具体地,本服务器和所述第一服务器之间建立有通讯协议,以使本服务器和第一服务器共用凭证信息。在服务器之间通过安全通讯协议来保证两个服务器共用凭证信息,防止非法服务器盗取用户标识信息。

具体地,所述第一客户端设备信息表征设备的唯一ID信息,所述第一凭证信息与该第一客户端设备绑定,该第一凭证信息仅能用于该设备登录本服务器。所述凭证信息由第一服务器生成,并且包括第一客户端设备信息,与第一客户端信息进行绑定,保证该第一凭证信息只能支持该第一客户端登录服务器,保证登录安全性。

具体地,所述校验方法还包括后序步骤:

响应于第一客户端和本服务器的连接状态,生成第二权限信息;

整合所述第一客户端设备信息、所述用户身份认证信息、用户标识信息和所述第二权限信息成第二凭证信息;

加密所述第二凭证信息并打包,以生成第二加密数据包;

发送所述第二加密数据包至第一客户端。

具体地,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法算法加密所述第二凭证信息,其加密步骤具体包括:

填充所述第二凭证信息至预设字节长度在填充后的第二凭证信息后添加长度信息;

按预设组数对所述填充后的第二凭证信息分组;

采用四个链接变量进行四轮循环运算,所述循环运算的次数为预设组数。

MD5算法加密具有容易计算、抗修改性、压缩性和强抗碰撞性等特性,其利于信息的加密。

进一步地,所述第一客户端成功登录第一服务器而取得第一凭证信息的加密数据包的步骤具体包括:

获取由第一服务器根据用户在第一客户端输入的正确账号、正确密码生成的所述第一凭证信息;

加密所述第一凭证信息成加密数据包;

发送所述加密数据包至第一客户端以保存预设时间段,以用于所述第一客户端在该预设时间段内重复登录本服务器。

进一步地,通过第二客户端登录所述第一服务器并修改用户密码的方法废除所述第一客户端在所述预设时间段内重复登录本服务器的权限。本发明提供了采用第二客户端登录第一服务器改密的方法废除原有的第一凭证信息的机制,以防止在第一客户端丢失时盗取设备的登录信息。

进一步地,所述第一客户端在所述预设时间段内重复登录本服务器的权限被废除后,本服务器禁止所述第一客户端登录本服务器,具体步骤包括如下:

响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,获取由所述第一客户端成功登录第一服务器而取得的第一凭证信息的加密数据包;

解密所述加密数据包以获取所述第一凭证信息;

发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息不合法时反馈登录失败信息至所述第一客户端。

进一步地,所述第二客户端登录所述第一服务器并修改用户密码的步骤具体包括:

获取由所述第一服务器根据用户在第二客户端输入的用户账号、修改密码生成的第三凭证信息;

响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,反馈登录权限废除的信息至所述第一客户端。

进一步地,还包括后序步骤:

所述第一服务器根据修改的密码生成的第三凭证信息发送至所述第二客户端以保存预设时间段,以用于所述第二客户端在该预设时间段内重复登录本服务器。

第二方面,本发明提供了一种登录凭证校验装置,该登录凭证校验装置具有实现上述第一方面中登录凭证校验方法行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。该登录凭证校验装置包括如下各模块:

获取模块,用于响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,解析该登录请求以获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包;

解密模块,用于解密所述加密数据包以获取所述第一凭证信息,所述第一凭证信息包括用户标识信息、用户身份认证信息、第一客户端设备信息及第一服务器生成的第一权限信息;

校验模块,用于发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息合法时建立第一客户端和本服务器的合法连接。

第三方面,本发明实施例提供了一种计算机存储介质,用于储存为上述登录凭证校验装置所用的计算机软件指令,其包含用于执行上述方面为登录凭证校验装置所设计的程序。

相对于现有技术,本发明提供的方案,而在用户通过OAuth首次成功登录第一服务器后保存第一登录凭证的加密数据包一段时间,当用户再次登录时,可以根据加密数据包快速登录。一方面,第一客户端账号信息也被加密打包到第一登录凭证的加密数据包中,在使用第一凭证信息登录时也同时检验第一端客户端设备信息,而保存在第一客户端的第一凭证信息的加密数据包仅用于该第一客户端登录,避免了跨设备登录,进一步提升了登录安全性;一方面,用户可以采用同一个保存在本地的加密数据包登录不同的服务器,方便快捷。另外,对所述凭证信息进行了加密、解密设计,进一步保证了信息安全性,保证了信息安全。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一个实施例的登录凭证校验方法流程图。

图2示出了根据本发明一个实施例的登录凭证校验方法后序步骤流程图。

图3示出了根据本发明一个实施例的根据MD5算法加密所述第二凭证信息的加密步骤流程图。

图4示出了根据本发明一个实施例的第一客户端成功登录第一服务器而取得第一凭证信息的加密数据包的流程图。

图5示出了根据本发明一个实施例的本服务器禁止所述第一客户端登录本服务器。

图6示出了根据本发明一个实施例的第二客户端登录所述第一服务器并修改用户密码流程图。

图7示出了根据本发明一个实施例的登录凭证校验装置框图。

图8示出了根据本发明另一个实施例的登录凭证登录流程。

图9示出了根据本发明另一个实施例的修改密码及相关流程。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所述的“用户标识信息”,即openid信息,openid信息是由用户通过OAuth2.0登录第一服务器而获得的,在用户欲登录本服务器时,本服务器在经过用户许可后通过授权界面,同时也获得用户的openid,由于其是由用户注册并登录第一服务器而获得,因此将该信息作为第一凭证信息的一部分加密到第一凭证信息的加密数据包中,进一步的保障了登录的安全性。

本发明所述的“用户身份认证信息”,即UID(User Identification),用户身份证明。用户在注册后,系统会自动分配一个UID的数值,即为该专属用户编号。比如,甲在论坛注册后获得UID23,也有可能是其他,这个是整个论坛系统自动分配的专用于为用户甲服务的。

本发明所述的“第一客户端设备信息”,所述第一客户端设备信息表征设备的唯一ID信息,所述第一凭证信息与该第一客户端设备绑定,该第一凭证信息仅能用于该设备登录本服务器,而不能用于其他设备登录本服务器。

本发明所述的“第一权限信息”,为用户成功登录第一服务器,由第一服务器生成的access token,即令牌信息/权限信息,由于OAuth在客户端与服务器之间设置了一个授权层(authorization layer)。客户端通过令牌(assess token)登录授权层,进而采用同一令牌登录不同的服务器,服务器则根据令牌的权限范围和有效期向客户端开放资源。同理,所述“第二权限信息”是由本服务器生成。

本发明所述的“合法连接”,是指第一客户端所提供的第一凭证信息在经过第一服务器校验合法时,即正确时,建立本服务器与所述第一客户端的合法连接,当建立合法连接后,第一客户端可以访问本服务器,并合法获取本服务器所提供的资源。

本发明所述的“预设时间段”是指所述加密数据包预保存的时间段,该预设时间段受限于access token权限的有效期,当access token权限的有效期到达时,即使保留了所述第一凭证信息的加密数据包,也无法再适用该加密数据包重复登录本服务器。

第一方面,结合图1,本发明提供一种登录凭证校验方法,包括如下步骤:

S101,响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,解析该登录请求以获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包。

由于第一客户端已经成功登录过第一服务器,并且在第一服务器获取了第一凭证信息的加密数据包,则根据OAuth的开放性,任何第三方服务器均可以通过OAuth认证服务,所述第三方服务器包括本服务器。在本发明一个实施例中,本服务器在接收到用户通过OAuth登录本服务的请求时,首先解析登录请求,并获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包。

一方面,所述登录请求包括了所述第一客户端的登录本服务器的请求,另一方面,所述登录请求中也携带了加密数据包。在其他实施例中,第一客户端欲采用加密数据包登录本服务器,必须得到用户的授权许可才能进行,在授权许可模式下,本服务器提供授权许可提示语,并提供相关的控件以获取用户的授权许可信息。

具体地,本服务器和所述第一服务器之间建立有通讯协议,以使本服务器和第一服务器共用凭证信息。在服务器之间通过安全通讯协议来保证两个服务器共用凭证信息,防止非法服务器盗取用户标识信息。在本发明一个实施例中,仅仅在具备安全通讯协议的服务器之间才可以支持用户通过令牌登录授权层而访问不同的服务器,基于此,一些非法服务器不能够采用所述第一登录凭证登录访问,以此进一步保护用户登录信息的安全,进一步保护用户的隐私和虚拟财产等信息。进一步地,结合图2,所述第一客户端成功登录第一服务器而取得第一凭证信息的加密数据包的步骤具体包括:

S201,获取由第一服务器根据用户在第一客户端输入的正确账号、正确密码生成的所述第一凭证信息。

在本发明一个实施中,第一服务器仅根据用户输入的账号、密码信息生成第一凭证信息。

而在优选实施例中,第一服务器根据用户输入的账号、密码信息识别用户身份,并根据第一客户端设备ID、用户注册的UID、openid等信息生成第一凭证信息,在本实施例中,第一客户端设备信息,即其唯一的设备信息也被包括在第一凭证信息中,以将第一客户端设备信息绑定在第一凭证信息中,从而第一凭证信息仅仅支持第一客户端登录服务器。

S202,加密所述第一凭证信息成加密数据包。

优选地,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法算法加密所述第一凭证信息,其加密步骤具体包括:

填充所述第一凭证信息至预设字节长度在填充后的第一凭证信息后添加长度信息;优选地,将第一凭证信息中所包括的所有信息都转换成统一格式,然后按照预设字节长度(例如512字节长度)来填充信息到固定长度。

按预设组数对所述填充后的第一凭证信息分组;在本发明实施例中,预设组数为5组,例如将512字节长度的信息分成5组。

采用四个链接变量进行四轮循环运算,所述循环运算的次数为预设组数。所述的链接变量是由系统自动生成的,其由于不可逆的循环运算,从而保证加密后的数据不被破译。优选地,所述循环次数为预设组数,例如预设组数为5组,则进行五次循环运算。

MD5算法加密具有容易计算、抗修改性、压缩性和强抗碰撞性等特性,其利于信息的加密。

S203,发送所述加密数据包至第一客户端以保存预设时间段,以用于所述第一客户端在该预设时间段内重复登录本服务器。

S102,解密所述加密数据包以获取所述第一凭证信息,所述第一凭证信息包括用户标识信息、用户身份认证信息、第一客户端设备信息及第一服务器生成的第一权限信息。在本实施例中,所述加密数据包是由第一凭证信息加密打包而来。优选地,当采用MD5算法加密时,第一凭证信息被计算成MD5值,通过和本服务器中保存的MD5值进行比较而获取第一凭证信息,而本服务器并不“知道”用户的密码是什么。

而在其他实施例中,当可用可逆的算法对凭证信息进行保密时,还可以通过完整解密的方式将第一凭证信息解析出来。具体地,所述第一客户端设备信息表征第一客户端地址,所述第一凭证信息仅用于与该第一客户端地址绑定的第一客户端登录本服务器。所述凭证信息由第一服务器生成,并且包括第一客户端设备信息,与第一客户端信息进行绑定,保证该第一凭证信息只能支持该第一客户端登录服务器,保证登录安全性。

S103,发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息合法时建立第一客户端和本服务器的合法连接。第一客户端所提供的第一凭证信息在经过第一服务器校验合法时,即正确时,建立本服务器与所述第一客户端的合法连接,当建立合法连接后,客户端可以访问本服务器,并合法获取本服务器所提供的资源。

具体地,参考图3,所述校验方法还包括后序步骤:

S301,响应于第一客户端和本服务器的连接状态,生成第二权限信息。

S302,整合所述第一客户端设备信息、所述用户身份认证信息、用户标识信息和所述第二权限信息成第二凭证信息;

S303,加密所述第二凭证信息并打包,以生成第二加密数据包;

进一步地,参考图4,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法加密所述第二凭证信息,该加密步骤具体包括:

S401,填充所述第二凭证信息至预设字节长度在填充后的第二凭证信息后添加长度信息。优选地,将第二凭证信息中所包括的所有信息都转换成统一格式,然后按照预设字节长度(例如512字节长度)来填充信息到固定长度。

S402,按预设组数对所述填充后的第二凭证信息分组。在本发明实施例中,预设组数为5组,例如将512字节长度的信息分成5组。

S403,采用四个链接变量进行四轮循环运算,所述循环运算的次数为预设组数。所述的链接变量是由系统自动生成的,其由于不可逆的循环运算,从而保证加密后的数据不被破译。优选地,所述循环次数为预设组数,例如预设组数为5组,则进行五次循环运算。

MD5算法加密具有容易计算、抗修改性、压缩性和强抗碰撞性等特性,其利于信息的加密。

进一步地,还包括步骤:所述第一服务器根据修改的密码生成的第三凭证信息发送至所述第二客户端以保存预设时间段,以用于所述第二客户端在该预设时间段内重复登录本服务器。在本实施例中,所述登录凭证是由本服务器生成的,由于第二登录凭证包括足够的信息使其可以用于第一客户端重复登录本服务。而在本发明的优选实施例中,是仅采用第一凭证信息的加密数据包重复登录本服务器,而无法采用第二登录凭证登录本服务器。

S304,发送所述第二加密数据包至第一客户端。

进一步地,通过第二客户端登录所述第一服务器并修改用户密码的方法废除所述第一客户端在所述预设时间段内重复登录本服务器的权限。本发明提供了采用第二客户端登录第一服务器并改密的方法废除原有的第一凭证信息的机制,以在第一客户端丢失时盗取设备的登录信息。

一方面,第一客户端在每次登陆本服务器时都需要将第一凭证信息发送至第一服务器进行合法性校验,因此用户能够通过第二客户端登录第一服务器而改变账号、密码而废除第一登录凭证;另一方面,在本发明的运行机制下,每次都采用第一凭证信息登录,每次都需要经过第一服务器校验合法性,具有更安全的特点。

进一步地,参考图5,所述第一客户端在所述预设时间段内重复登录本服务器的权限被废除后,本服务器禁止所述第一客户端登录本服务器,具体步骤包括如下:

S501,响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,解析该登录请求以获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包。在本发明一个实施例中,本服务器在接收到用户通过OAuth登录本服务的请求时,首先解析登录请求,并获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包。

S502,解密所述加密数据包以获取所述第一凭证信息。在本实施例中,所述加密数据包是由第一凭证信息加密打包而来。优选地,当采用MD5算法加密时,第一凭证信息被计算成MD5值,通过和本服务器中保存的MD5值进行比较而获取第一凭证信息,而本服务器并不能获知用户的密码。而在其他实施例中,当使用可逆的算法对凭证信息进行保密时,还可以通过完整解密的方式将第一凭证信息解析出来。

S503,发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息不合法时反馈登录失败信息至所述第一客户端。第一客户端所提供的第一凭证信息在经过第一服务器校验不合法时,即信息有误时,禁止建立本服务器与所述第一客户端的合法连接,同时废除第一凭证信息登录本服务器的权限。

进一步地,所述第二客户端登录所述第一服务器并修改用户密码的步骤具体包括:

S601,获取由所述第一服务器根据用户在第二客户端输入的用户账号、修改密码生成的第三凭证信息;

S602,响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,反馈登录权限废除的信息至所述第一客户端。

在本实施例中,通过本服务器和第一服务器之间建立的安全通讯协议,本服务器直接获取由所述第一服务器根据用户在第二客户端输入的用户账号、修改密码生成的第三凭证信息。在其中一个实施例中,对比第一凭证信息和第三凭证信息的具体信息,当二者信息不同时,用第三凭证信息替换第一凭证信息,从而废除第一凭证信息登录本服务器的登录效力。

第二方面,本发明提供了一种登录凭证校验装置,该登录凭证校验装置具有实现上述第一方面中功能接口调用响应方法行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。该登录凭证校验装置包括如下各模块:

获取模块101,用于响应于第一客户端发送的通过第一凭证信息登录本服务器的登录请求,解析该登录请求以获取由所述第一客户端成功登录第一服务器而取得的所述第一凭证信息的加密数据包;

解密模块102,用于解密所述加密数据包以获取所述第一凭证信息,所述第一凭证信息包括用户标识信息、用户身份认证信息、第一客户端设备信息及第一服务器生成的第一权限信息;

校验模块103,用于发送所述第一凭证信息至所述第一服务器以在第一服务器校验该第一凭证信息合法时建立第一客户端和本服务器的合法连接。

参考图8,在本发明一个实施例中,本发明所述的登录凭证登录流程将表达的更为清晰。

参考图9,在本发明的一个实施例中,本发明所述的修改密码及相关流程将表达的更为清晰。

本发明实施例提供了一种计算机存储介质,用于储存为上述登录凭证校验装置所用的计算机软件指令,其包含用于执行上述方面为登录凭证校验装置所设计的程序。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明所提供的一种可穿戴设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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