发明内容
本发明所要解决的技术问题是:提供一种扫码登录方法、***、装置、电子设备及存储介质,提高扫码登录的安全性。
为了达到上述目的,本发明所采用的技术方案是:
第一方面,本发明提供了一种扫码登录方法,该方法应用于移动终端客户端、浏览器客户端和服务器中,包括以下步骤:
浏览器客户端访问服务器并发送SSID分配请求;
服务器接收到所述SSID分配请求后,生成SSID发送至浏览器客户端,并存储该SSID至登录验证队列中;
浏览器客户端在接收到服务器发送的SSID信息后,显示包含该SSID信息的二维码;
移动终端客户端在获取用户正确登录信息后,开启扫描功能获取所述二维码中的SSID信息后,使用该移动终端客户端的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,发送移动终端客户端的设备ID及所述SIG至服务器,所述设备ID用于寻找服务器中已经授权的MID;
服务器在接收到所述设备ID和SIG后,寻找匹配的MID,匹配后对所述登录验证队列中的SSID进行数字签名,并寻找与上送的SIG的匹配项,若找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token,并发送所述授权token至浏览器客户端;
浏览器客户端接收所述授权token后跳转至操作页面,并使用该授权token访问服务器。
进一步地,在浏览器客户端显示包含该SSID信息的二维码后,周期性发送登录请求至服务器;
在服务器生成SSID发送至浏览器客户端后,开启验证登录倒计时,所述验证登录倒计时的时长大于浏览器客户端的发送登录请求周期时长;
在寻找与上送的SIG的匹配项时,若所述验证登录倒计时结束,则发送“无效SSID”至移动终端客户端,并将该队列中的SSID移除。
第二方面,本发明提供一种扫码登录***,包括:移动终端客户端、浏览器客户端和服务器,所述移动终端客户端与所述服务器通信连接,所述浏览器客户端与所述服务器通讯连接;
所述浏览器客户端用于访问服务器并发送SSID分配请求,所述服务器用于在接收到所述SSID分配请求后,生成SSID发送至浏览器客户端,并存储该SSID至登录验证队列中;所述浏览器客户端在接收到服务器发送的SSID信息后,显示包含该SSID信息的二维码;
所述移动终端客户端用于在获取用户正确登录信息后,开启扫描功能获取所述二维码中的SSID信息后,使用该移动终端客户端的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,发送移动终端客户端的设备ID及所述SIG至服务器,所述设备ID用于寻找服务器中已经授权的MID;
所述服务器用于在接收到所述设备ID和SIG后,寻找匹配的MID,匹配后对所述登录验证队列中的SSID进行数字签名,并寻找与上送的SIG的匹配项,若找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token,并发送所述授权token至浏览器客户端;
所述浏览器客户端在接收所述授权token后跳转至操作页面,并使用该授权token访问服务器。
进一步地,所述浏览器客户端显示包含该SSID信息的二维码后,周期性发送登录请求至所述服务器;
在所述服务器生成SSID发送至所述浏览器客户端后,开启验证登录倒计时,所述验证登录倒计时的时长大于所述浏览器客户端的发送登录请求周期时长;
在寻找与上送的SIG的匹配项时,若所述验证登录倒计时结束,则发送“无效SSID”至移动终端客户端,并将该队列中的SSID移除。
第三方面,本发明还提供了一种扫码登录方法,应用于服务器中,包括以下步骤:
接收SSID分配请求,生成SSID并发送SSID信息至浏览器客户端,且存储该SSID至登录验证队列中,所述SSID分配请求是浏览器客户端访问服务器时发送的SSID分配请求;
接收移动终端客户端发送的设备ID和SIG,所述设备ID用于寻找服务器中已经授权的设备唯一编码MID,所述SIG是移动终端在获取用户正确登录信息,开启扫描功能获取二维码中的SSID信息后,使用移动终端客户端的唯一设备编码对二维码中的SSID信息进行数字签名生成的SIG,所述二维码中的SSID信息是服务器发送至浏览器客户端显示的二维码中的SSID信息;
匹配登录验证队列中相应的MID,匹配成功则对瞪眼验证队列中的SSID进行数字签名,并寻找上送的SIG的匹配项,若寻找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token发送至浏览器客户端,所述授权token是所述浏览器接收后跳转至操作页面,并用来访问服务器的授权token。
第四方面,本发明还提供了一种扫码登录方法,应用于浏览器客户端,包括以下步骤:
访问服务器,发送SSID分配请求;
显示获取的包含SSID信息的二维码,所述SSID信息是服务器接收到SSID分配请求后生成并发送至浏览器客户端且存储在登录验证队列中的SSID信息;
获取服务器发送的授权token并跳转至操作页面,使用该授权token访问服务器,所述授权token是服务器在验证队列中对寻找到设备ID匹配的MID,对登录验证队列中的SSID进行数字签名后,找到与上送的SIG的匹配项后将登录验证队列中的SSID状态调整为“已授权”生成并发送至浏览器客户端的授权token;所述SIG是移动终端客户端在获取用户正确登录信息后开启扫描功能获取二维码中SSID信息后,使用移动终端客户端的唯一设备编码MID对二维码中SSID信息进行数字签名后生成的SIG;所述设备ID是用于寻找服务器中已经授权的MID。
第五方面,本发明提供了一种扫码登录方法,用于移动终端客户端中,包括以下步骤:
获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息,所述二维码是浏览器客户端访问服务器并发送SSID分配请求后,服务器生成SSID并发送至浏览器客户端,浏览器客户端将包含该SSID的信息生成的二维码;
将移动终端客户端的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,所述SSID信息在服务器发送至浏览器客户端时还存储在登录验证队列中;
发送移动终端客户端的设备ID及所述SIG至服务器,所述设备ID用于匹配服务器中已经存储的移动终端客户端的MID,所述SIG用于匹配服务器中验证队列中的SSID,在服务器匹配到MID后对验证队列中的SSID进行数字签名后寻找上送的SIG的匹配项,若找到匹配项则将验证队列中的SSID状态调整为“已授权”,发送授权token至浏览器客户端,浏览器客户端接收到所述授权token后跳转至操作页面,并使用该授权token访问服务器。
第六方面,本发明提供了一种扫码登录装置,包括:
获取模块,用于在获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息,所述二维码是浏览器客户端访问服务器并发送SSID分配请求后,服务器生成SSID并发送至浏览器客户端,浏览器客户端将包含该SSID的信息生成的二维码;
生成模块,用于将移动终端客户端的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,所述SSID信息在服务器发送至浏览器客户端时还存储在登录验证队列中;
发送模块,用于发送移动终端客户端的设备ID及所述SIG至服务器,所述设备ID用于匹配服务器中已经存储的移动终端客户端的MID,所述SIG用于匹配服务器中验证队列中的SSID,在服务器匹配到MID后对验证队列中的SSID进行数字签名后寻找上送的SIG的匹配项,若找到匹配项则将验证队列中的SSID状态调整为“已授权”,发送授权token至浏览器客户端,浏览器客户端接收到所述授权token后跳转至操作页面,并使用该授权token访问服务器。
第七方面,本发明公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如第五方面所述的扫码登录方法的步骤。
第八方面,本发明公开了一种存储介质,,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第五方面所述的扫码登录方法的步骤。
本发明的有益效果为:本发明与现有技术中直接将用户的登录信息发送至服务器中容易在过程中被截取破解的缺陷相比,浏览器登录的凭证不再是固定的用户密码,而是有登录验证窗口期的临时SSID,避免了网络传输时用户信息泄露所带来的的安全风险;并且本发明中浏览器登录依赖移动终端设备的授权使用,移动终端客户端的授权使用用户信息登录开启扫码功能,在使用者验证方面,提高了安全等级;此外,本发明中移动终端的唯一设备编码MID不再网络上传输,避免了网络传输时移动终端客户端信息的泄露所带来的的安全风险;最后,移动终端客户端的授权信息金传输SSID的不可逆数字签名,不出现SSID明文,避免了网络传输时授权信息与SSID关联带来的安全风险。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明为了解决现有技术中扫码登录过程中会通过网络将用户的登录信息传输至服务器,容易导致用户密码泄露的问题,采用了一种不直接发送用户密码信息,而是基于授权设备在移动客户端登录开启扫描功能,通过有登录验证窗口期的临时SSID,将该SSID包含在浏览器客户端显示的二维码中,通过对该二维码信息中SSID的数字签名后从移动终端客户端发送至服务器中,再与服务器中对应的SSID进行数字签名后进行匹配,完成匹配则控制浏览器跳转至相应的操作页面实现对服务器的访问;通过上述方式,避免了用户登录信息的泄露;为了便于理解,此处先将涉及的相关信息进行介绍:
SSID:由服务器临时生成的浏览器客户端唯一标识,用于后续访问授权相关操作;
MID:指的是移动终端客户端的设备唯一编码,用于识别该设备是否获得授权;
设备ID:又叫Device ID,是指移动终端客户端本地保存的设备编码,用于寻找对应的MID;
SIG:SIG是一种不可逆的数字签名技术,通过不出现明文的方式将信息进行加密传输,可以提高发送信息的安全性;
token:token是服务端生成的一串字符串,以作浏览器客户端进行请求的一个令牌,登录时,服务器生成一个token便将此token返回给浏览器客户端,以后浏览器客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
如图2所示的扫码登录方法,该方法应用于移动终端客户端110、浏览器客户端120和服务器130中,包括以下步骤:
浏览器客户端120访问服务器130并发送SSID分配请求;
服务器130接收到SSID分配请求后,生成SSID发送至浏览器客户端120,并存储该SSID至登录验证队列中;这里需要指出的是,在服务器130的验证登录队列中除了存储有该临时生产的SSID还包含了服务器130中已经授权的移动终端客户端110的唯一设备编码MID,只有使用了在服务器130中获得授权的移动终端客户端110才可以进行扫码操作;通过这种设置可以保证扫码登录的安全性,移动终端客户端110可以是安装了相应app的手机,或者专用的PDA设备。
浏览器客户端120在接收到服务器130发送的SSID信息后,显示包含该SSID信息的二维码;这里需要指出的是,浏览器客户端120是指用于显示二维码的设备,可以是计算机显示器,其同样具有网络传输的功能,用户在具体操作是可以是通过输入特定的网址进入该显示页面,也可以是在设备开机时显示该二维码页面,通过与服务器130的交互,实现将SSID信息保护在二维码中,并且后期通过验证后通过服务器130发送的授权token实现二维码页面跳转至操作页面并且实现与服务器130之间的数据传输;
移动终端客户端110在获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息后,使用该移动终端客户端110的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,发送移动终端客户端110的设备ID及SIG至服务器130,设备ID用于寻找服务器130中已经授权的MID;这里的用户正确登录信息可以以多种方式实现,例如输入用户名密码,或者指纹、面部识别等现有技术;
服务器130在接收到设备ID和SIG后,寻找匹配的MID,匹配后对登录验证队列中的SSID进行数字签名,并寻找与上送的SIG的匹配项,若找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token,并发送授权token至浏览器客户端120;如图1中所示,在服务器130在登录验证队列中寻找SSID并验证其是否得到授权时有如下操作:若没到找相应的匹配设备ID的MID,则返回“无效SSID”给浏览器客户端120或者移动终端客户端110,并停止后续的验证;若没有找到匹配的SIG,则发送“授权失败”至移动终端客户端110或者浏览器客户端120;
浏览器客户端120接收授权token后跳转至操作页面,并使用该授权token访问服务器130。
在上述实施例中,通过有登录验证窗口期的临时SSID,避免了网络传输时用户信息泄露所带来的的安全风险;并且本发明中浏览器登录依赖移动终端设备的授权使用,移动终端客户端110的授权使用用户信息登录开启扫码功能,在使用者验证方面,提高了安全等级;此外,本发明中移动终端的唯一设备编码MID不再网络上传输,避免了网络传输时移动终端客户端110信息的泄露所带来的的安全风险;最后,移动终端客户端110的授权信息金传输SSID的不可逆数字签名,不出现SSID明文,避免了网络传输时授权信息与SSID关联带来的安全风险。
在上述实施例的基础上,本发明实施例还提供了验证窗口倒计时功能,以此来进一步提高安全性能,具体为:在浏览器客户端120显示包含该SSID信息的二维码后,周期性发送登录请求至服务器130,例如每十秒发送一次登录请求;
在服务器130生成SSID发送至浏览器客户端120后,开启验证登录倒计时,例如该倒计时的时间为十五分钟,验证登录倒计时的时长大于浏览器客户端120的发送登录请求周期时长;
在寻找与上送的SIG的匹配项时,若验证登录倒计时结束,则发送“无效SSID”至移动终端客户端110,并将该队列中的SSID移除。此时则提醒用户刷新二维码页面重新获得新的SSID信息,这样进一步提高了整体的安全性。
如图2所示的扫码登录***,包括:移动终端客户端110、浏览器客户端120和服务器130,移动终端客户端110与服务器130通信连接,浏览器客户端120与服务器130通讯连接;该***通过硬件传输内容的方式描述上述登录方法,方案内容与上述方法相同,这里不再进行赘述。
浏览器客户端120用于访问服务器130并发送SSID分配请求,服务器130用于在接收到SSID分配请求后,生成SSID发送至浏览器客户端120,并存储该SSID至登录验证队列中;浏览器客户端120在接收到服务器130发送的SSID信息后,显示包含该SSID信息的二维码;
移动终端客户端110用于在获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息后,使用该移动终端客户端110的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,发送移动终端客户端110的设备ID及SIG至服务器130,设备ID用于寻找服务器130中已经授权的MID;
服务器130用于在接收到设备ID和SIG后,寻找匹配的MID,匹配后对登录验证队列中的SSID进行数字签名,并寻找与上送的SIG的匹配项,若找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token,并发送授权token至浏览器客户端120;
浏览器客户端120在接收授权token后跳转至操作页面,并使用该授权token访问服务器130。
进一步地,浏览器客户端120显示包含该SSID信息的二维码后,周期性发送登录请求至服务器130;
在服务器130生成SSID发送至浏览器客户端120后,开启验证登录倒计时,验证登录倒计时的时长大于浏览器客户端120的发送登录请求周期时长;
在寻找与上送的SIG的匹配项时,若验证登录倒计时结束,则发送“无效SSID”至移动终端客户端110,并将该队列中的SSID移除。
本发明实施例的下述部分,分别以服务器130、浏览器客户端120和移动终端客户端110为主体进行方案的描述,其具体实施方案与上文中方法一致,其余内容详见方法部分,这里不再进行赘述;
本发明提供的扫码登录方法,应用于服务器130中,包括以下步骤:
接收SSID分配请求,生成SSID并发送SSID信息至浏览器客户端120,且存储该SSID至登录验证队列中,SSID分配请求是浏览器客户端120访问服务器130时发送的SSID分配请求;
接收移动终端客户端110发送的设备ID和SIG,设备ID用于寻找服务器130中已经授权的设备唯一编码MID,SIG是移动终端在获取用户正确登录信息,开启扫描功能获取二维码中的SSID信息后,使用移动终端客户端110的唯一设备编码对二维码中的SSID信息进行数字签名生成的SIG,二维码中的SSID信息是服务器130发送至浏览器客户端120显示的二维码中的SSID信息;
匹配登录验证队列中相应的MID,匹配成功则对瞪眼验证队列中的SSID进行数字签名,并寻找上送的SIG的匹配项,若寻找到匹配项,则将队列中的SSID状态调整为“已授权”,并生成授权token发送至浏览器客户端120,授权token是浏览器接收后跳转至操作页面,并用来访问服务器130的授权token。
本发明提供的扫码登录方法,应用于浏览器客户端120,包括以下步骤:
访问服务器130,发送SSID分配请求;
显示获取的包含SSID信息的二维码,SSID信息是服务器130接收到SSID分配请求后生成并发送至浏览器客户端120且存储在登录验证队列中的SSID信息;
获取服务器130发送的授权token并跳转至操作页面,使用该授权token访问服务器130,授权token是服务器130在验证队列中对寻找到设备ID匹配的MID,对登录验证队列中的SSID进行数字签名后,找到与上送的SIG的匹配项后将登录验证队列中的SSID状态调整为“已授权”生成并发送至浏览器客户端120的授权token;SIG是移动终端客户端110在获取用户正确登录信息后开启扫描功能获取二维码中SSID信息后,使用移动终端客户端110的唯一设备编码MID对二维码中SSID信息进行数字签名后生成的SIG;设备ID是用于寻找服务器130中已经授权的MID。
本发明提供的扫码登录方法,用于移动终端客户端110中,包括以下步骤:
获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息,二维码是浏览器客户端120访问服务器130并发送SSID分配请求后,服务器130生成SSID并发送至浏览器客户端120,浏览器客户端120将包含该SSID的信息生成的二维码;
将移动终端客户端110的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,SSID信息在服务器130发送至浏览器客户端120时还存储在登录验证队列中;
发送移动终端客户端110的设备ID及SIG至服务器130,设备ID用于匹配服务器130中已经存储的移动终端客户端110的MID,SIG用于匹配服务器130中验证队列中的SSID,在服务器130匹配到MID后对验证队列中的SSID进行数字签名后寻找上送的SIG的匹配项,若找到匹配项则将验证队列中的SSID状态调整为“已授权”,发送授权token至浏览器客户端120,浏览器客户端120接收到授权token后跳转至操作页面,并使用该授权token访问服务器130。
如图3中所示的扫码登录装置的模块架构图,该装置与移动终端客户端110的扫码登录方法实施例相互对应,包括:
获取模块201,用于在获取用户正确登录信息后,开启扫描功能获取二维码中的SSID信息,二维码是浏览器客户端120访问服务器130并发送SSID分配请求后,服务器130生成SSID并发送至浏览器客户端120,浏览器客户端120将包含该SSID的信息生成的二维码;
生成模块202,用于将移动终端客户端110的唯一设备编码MID对该SSID信息进行数字签名并生成SIG,SSID信息在服务器130发送至浏览器客户端120时还存储在登录验证队列中;
发送模块203,用于发送移动终端客户端110的设备ID及SIG至服务器130,设备ID用于匹配服务器130中已经存储的移动终端客户端110的MID,SIG用于匹配服务器130中验证队列中的SSID,在服务器130匹配到MID后对验证队列中的SSID进行数字签名后寻找上送的SIG的匹配项,若找到匹配项则将验证队列中的SSID状态调整为“已授权”,发送授权token至浏览器客户端120,浏览器客户端120接收到授权token后跳转至操作页面,并使用该授权token访问服务器130。
下面对本申请实施例中提供的一种电子设备进行介绍,下文中描述的电子设备与上文描述的应用于移动终端客户端110的扫码登录方向可相互对应参照;
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述扫码登录方法的步骤。
由于电子设备部分的实施例与扫码登录方法部分的实施例相互对应,因此对于电子设备部分的实施例请参见扫码登录方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种存储介质进行介绍,下文描述的存储介质与上文描述的扫码登录方法可相互对应参照。
本发明还公开一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述扫码登录方法的步骤。
由于存储介质部分的实施例与扫码登录方法部分的实施例相互对应,因此存储介质部分的实施例请参见扫码登录方法部分的实施例描述,这里不再赘述。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。