掌桥专利:专业的专利平台
掌桥专利
首页

一种不同设备登录的验证方法、装置及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及一种不同设备登录的验证方法、装置及存储介质,属于登陆验证技术领域。

背景技术

随着大家对互联网的依赖,越来越多的重要的业务被选择在客户端,通过互联网进行操作完成,一些不法份子,利用网络,对密码进行暴力破解或者其他途径获取个人登录信息,造成个人隐私的泄露和个人财产的损失,为了保证重要业务的操作安全性,在其他设备登录的时候,服务器会推送在其他设备登录的提示消息,除了密码验证外,最好加入一些其他的验证信息,多重手段保证操作的安全性,比如生物识别验证,设备识别验证等。

现有的验证方法存在如下问题:

1、通过短信验证码验证,需要短息网关的介入,存在运营商网络对流程的影响,而且短信验证码也容易泄露和被暴力破解的问题;

2、通过手机端验证、特殊问题或者好友协助验证的方式,需要其他设备或者其他人的协助,使用较为繁琐,用户体验感较差;

3、通过采用生物特征验证法,存在对环境的依赖问题。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种不同设备登录的验证方法、装置及存储介质,用户可以方便快捷的进行验证操作,同时整个过程安全可靠。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种不同设备登录的验证方法,应用于客户端,包括:

根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器用于判断UserID、ClientID是否是上次登录的设备,在判断结果为否时,将请求推送不同设备登录提示的推送消息发送至推送模块,其中,推送模块将推送消息返回值客户端;

接收推送模块返回的推送消息,利用TOTP算法根据共享秘钥和时间戳计算生成访问码A;

发送所述访问码A至服务器,与服务器预先利用TOTP算法根据共享秘钥和时间戳计算得到访问码B进行比较;其中,如果访问码A与访问码B相同,发送登录成功消息至推送模块,如果访问码A与访问码B不同,发送登录失败消息至推送模块;其中,推送模块将登录成功或登录失败消息返回至客户端;

接收推送模块返回的登录成功或登录失败消息,选择是否进行登录。

进一步的,所述请求推送不同设备登录提示的推送消息,包括:本设备的登录时间、上次登录设备以及是否确定本设备本次登录的消息。

进一步的,还包括:接收推送模块返回的推送消息后,显示可供用户观看以及选择是否确定本设备本次登录的提示框,以供用户再次确认。

进一步的,还包括:在用户第一次登录客户端时的验证方法,应用于客户端,包括:

根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,当不存在时,保存UserID、ClientID,并发送请求用户身份验证信息至客户端;

接收请求用户身份验证信息,生成身份验证页面以供用户验证;

获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送共享秘钥至客户端;

接收服务器发送的共享秘钥进行保存,并进行登录。

进一步的,还包括:设备更新共享秘钥的方法,应用于客户端,包括:

根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,在判断UserID、ClientID存在,且共享秘钥过期时,将请求用户身份验证信息发送至客户端;

客户端接收请求用户身份验证信息,生成身份验证页面以供用户验证;

获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送新的共享秘钥至客户端;

接收服务器发送的新的共享秘钥进行保存,并进行登录。

进一步的,所述用户身份验证信息包括短信验证、人脸验证、指纹验证中的任意一种。

第二方面,本发明提供一种不同设备登录的验证装置,应用于客户端,包括:

第一发送单元,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器用于判断UserID、ClientID是否是上次登录的设备,在判断结果为否时,将请求推送不同设备登录提示的推送消息发送至推送模块,其中,推送模块将推送消息返回值客户端;

第一接收单元,用于接收推送模块返回的推送消息,利用TOTP算法根据共享秘钥和时间戳计算生成访问码A;

第二发送单元,用于发送所述访问码A至服务器,与服务器预先利用TOTP算法根据共享秘钥和时间戳计算得到访问码B进行比较;其中,如果访问码A与访问码B相同,发送登录成功消息至推送模块,如果访问码A与访问码B不同,发送登录失败消息至推送模块;其中,推送模块将登录成功或登录失败消息返回至客户端;

第二接收单元,用于接收推送模块返回的登录成功或登录失败消息,选择是否进行登录。

进一步的,还包括:在用户第一次登录客户端时的验证单元,应用于客户端,包括:

第一发送模块,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,在不存在时,保存UserID、ClientID,并发送请求用户身份验证信息至客户端;

第一接收模块,用于接收请求用户身份验证信息,生成身份验证页面以供用户验证;

第一获取并发送模块,用于获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送共享秘钥至客户端;

第二接收模块,用于接收服务器发送的共享秘钥进行保存,并进行登录。

进一步的,还包括:设备更新共享秘钥的单元,应用于客户端,包括:

第二发送模块,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,在判断UserID、ClientID存在,且共享秘钥过期时,将请求用户身份验证信息发送至客户端;

第三接收模块,用于接收请求用户身份验证信息,生成身份验证页面以供用户验证;

第二获取并发送模块,用于获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送新的共享秘钥至客户端;

第四接收模块,用于接收服务器发送的新的共享秘钥进行保存,并进行登录。

第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述方法的步骤。

与现有技术相比,本发明所达到的有益效果:

本发明提供一种不同设备登录的验证方法、装置及存储介质,避免了运营商网络对流程的影响,而且短信验证码也容易泄露和被暴力破解,本发明大大降低短信网关的介入频率,只在第一次登录获取共享密钥和更新共享密钥的时候可以选择使用,另外采用TOTP密钥,密钥在设备端生成,可以克服短信密码被泄露的缺点;本发明用户操作简单,不需要其他设备或者其他人的协助,可以单独完成认证过程,认证码是本设备自己生成,不依赖其他,用户体验感好;本发明降低使用生物特征验证法的频率,只在第一次登录获取共享密钥和更新共享密钥的时候可以选择使用,从而减少了验证错误的概率,采用数字验证,更准确;采用本发明,用户可以方便快捷的进行验证操作,同时整个过程安全可靠。

附图说明

图1是本发明实施例提供的用户第一次登录客户端时的验证方法流程图;

图2是本发明实施例提供的设备更新共享秘钥的方法流程图;

图3是本发明实施例提供的一种不同设备登录的验证方法的方法流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1

本实施例介绍一种不同设备登录的验证方法,应用于客户端,包括:

根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器用于判断UserID、ClientID是否是上次登录的设备,在判断结果为否时,将请求推送不同设备登录提示的推送消息发送至推送模块,其中,推送模块将推送消息返回值客户端;

接收推送模块返回的推送消息,利用TOTP算法根据共享秘钥和时间戳计算生成访问码A;

发送所述访问码A至服务器,与服务器预先利用TOTP算法根据共享秘钥和时间戳计算得到访问码B进行比较;其中,如果访问码A与访问码B相同,发送登录成功消息至推送模块,如果访问码A与访问码B不同,发送登录失败消息至推送模块;其中,推送模块将登录成功或登录失败消息返回至客户端;

接收推送模块返回的登录成功或登录失败消息,选择是否进行登录。

本实施例提供的不同设备登录的验证方法,其应用过程具体涉及如下步骤:

1)用户鉴权设备获取TOTP共享密钥流程

设备获取TOTP共享密钥方式:通过个人身份验证,可以通过短信方式或者人脸,指纹等方式。

如图1所示,具体方法为:

1)用户请求登录,该设备第一次登录

2)登录请求会带和用户相关的user ID和设备相关的Client ID

3)判断服务器上没有user ID和Client ID相关信息

4)同时保存UseID和Client ID相关信息在服务器上

5)服务器向用户请求身份验证

6)用户选择验证方式,短信、人脸、指纹等

7)服务器判断身份验证通过,发送共享密钥到客户端,同时保存共享密钥、设备和用户的相关信息

8)客户端在设备保存共享密钥

9)用户登录成功。

2)设备更新TOPO共享密钥

为了防止共享密钥一直都不变,造成泄露的危险,每隔一定的时间(可以自行设置,一个月或者无限期),可以进行身份验证,重新获取共享密钥。

如图2所示,具体方法为:

1)用户请求登录

2)登录请求会带和用户相关的UserID和设备相关的ClientID

3)判断服务器上存在UserID和ClientID,但是共享密钥时间过期

4)服务器向用户请求身份验证

5)用户选择验证方式,短信、人脸、指纹等

6)服务器判断身份验证通过,发送共享密钥到客户端,同时更新共享密钥、设备和用户的相关信息

7)客户端更新设备端的共享密钥

8)用户登录成功,同时共享密钥更新成功。

3)在获取过共享密钥后切换设备登录的流程

如图3所示,具体方法为:

1)用户在某设备请求登录

2)登录请求会带和用户相关的UserID和设备相关的ClientID

3)服务器判断UserID和ClientID存在,但不是上次登录的设备

4)服务器向推送模块发出与上次不同设备登录的信息

5)推送模板推送设备登录信息给客户端(比如,本设备登录时间XXX,上次登录设备XXX,是否确定本设备本次登录)

6)用户点击确定刚才的推送信息

7)客户端根据共享密钥和时间戳计算访问码A

8)服务端根据共享密钥和时间戳计算访问码B

9)客户端发送访问码A

10)服务端比较访问码A和访问码B是否相等

11)访问码相同,发送登录成功,允许客户端登录,否则验证失败发送登录失败消息给推送模块

12)推送模块将成功或者失败信息发送给客户端

13)验证成功用户登录成功。

本实施例的技术创新点如下:

1将推送模块单独提取出来,方便开发维护或者可以集成其他厂家的该模块,节省成本;

2验证方式采用目前密码安全性较高,且计算和实现方便的的TOTP算法;

3用户可以自定义安全级别,调整TOTP算法的验证码位数和时间窗口,降低密码被暴力破解的可能性,提高安全性;

4整个流程,客户端和服务端的信息交互次数少,减少了网络质量和连接状态对流程的影响,同时减少了服务端的压力;

5访问码由设备端产生,减少了对其他外界的依赖;

6共享密钥设置了更新策略,在方便使用的同时,也做了安全方面的策略,防止共享密钥泄露造成的安全影响;

7用户可以根据使用频率设置共享密钥更新时间;

本实施例的优点如下:

1利用本方案,技术实现简单,开发工作量少。

2用户不需要做复杂的操作,用户体验感好。

3保证了不同设备登录的安全可靠,保障了客户的信息和财产安全。

4推送模块可以自己开发,也可以集成其他厂家的推送模块,比如个推,节省开发成本。

5设备登录一般都会推送登录信息,只需要结合本发明,用户点击的时候将设备验证信息一起传回服务器,用户就可以立马登录,不用每次登录都验证。

实施例2

本实施例提供一种不同设备登录的验证装置,应用于客户端,包括:

第一发送单元,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器用于判断UserID、ClientID是否是上次登录的设备,在判断结果为否时,将请求推送不同设备登录提示的推送消息发送至推送模块,其中,推送模块将推送消息返回值客户端;

第一接收单元,用于接收推送模块返回的推送消息,利用TOTP算法根据共享秘钥和时间戳计算生成访问码A;

第二发送单元,用于发送所述访问码A至服务器,与服务器预先利用TOTP算法根据共享秘钥和时间戳计算得到访问码B进行比较;其中,如果访问码A与访问码B相同,发送登录成功消息至推送模块,如果访问码A与访问码B不同,发送登录失败消息至推送模块;其中,推送模块将登录成功或登录失败消息返回至客户端;

第二接收单元,用于接收推送模块返回的登录成功或登录失败消息,选择是否进行登录。

进一步的,还包括:在用户第一次登录客户端时的验证单元,应用于客户端,包括:

第一发送模块,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,在不存在时,保存UserID、ClientID,并发送请求用户身份验证信息至客户端;

第一接收模块,用于接收请求用户身份验证信息,生成身份验证页面以供用户验证;

第一获取并发送模块,用于获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送共享秘钥至客户端;

第二接收模块,用于接收服务器发送的共享秘钥进行保存,并进行登录。

进一步的,还包括:设备更新共享秘钥的单元,应用于客户端,包括:

第二发送模块,用于根据用户的请求发送登录请求信息至服务器;其中,登录请求信息包括和用户相关的UserID以及和设备相关的ClientID;其中,服务器判断UserID、ClientID是否存在,在判断UserID、ClientID存在,且共享秘钥过期时,将请求用户身份验证信息发送至客户端;

第三接收模块,用于接收请求用户身份验证信息,生成身份验证页面以供用户验证;

第二获取并发送模块,用于获取用户身份验证信息,发送身份验证信息至服务器,其中,服务器判断身份验证信息是否通过,在通过后,发送新的共享秘钥至客户端;

第四接收模块,用于接收服务器发送的新的共享秘钥进行保存,并进行登录。

实施例3

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1中任一项所述方法的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种不同设备登录的验证方法、装置及存储介质
  • 登录信息存储方法、登录验证方法、装置、设备及介质
技术分类

06120114693598