本说明书一个或多个实施例涉及网络信息技术,尤其涉及一键登录业务的实现方法和装置。
背景技术:
1、随着网络的快速发展,基于网络产生了各种各样的业务应用。用户只需要在终端设备中下载相应业务应用的应用客户端即应用程序(app),通过应用客户端注册并登录,就可以享受相应的业务应用,比如,看电影或者购买商品等。
2、为了方便用户的使用,目前出现了一种新的登录app的方法,即一键登录方法。在一键登录方法中,应用客户端所在的终端设备比如手机,会预先嵌入认证sdk,用户请求登录时,通过该sdk与运营商服务器通信以便采集用户手机号码,在获得用户同意授权后,应用客户端获得接口调用的令牌(token),将token传递给应用服务器,应用服务器利用token从运营商服务器处获取当前授权用户的手机号码等信息,从而完成了app的登录。
3、参见图1,在一键登录业务中,用户只需要点击相关的“一键登录”的按键,而无需输入手机号码、用户名、密码以及短信验证码等,因此,可以让用户更方便、快捷地完成注册、登录流程,将原本可能需要20秒左右的流程,缩短到了2秒左右,为用户使用带来了很大的方便。
4、但是,目前的一键登录业务的安全性相对较低,这样就容易造成用户隐私数据的泄露,因此需要一种更为安全的一键登录业务的实现方法。
技术实现思路
1、本说明书一个或多个实施例描述了一键登录业务的实现方法和装置,能够提高一键登录业务的安全性。
2、根据第一方面,提供了一键登录业务的实现方法,其中包括:
3、在应用客户端与运营商服务器之间的取号登录过程启动之前,接收应用客户端发来的当前运行该应用客户端的终端设备的关联信息;
4、根据当前接收到的终端设备的关联信息生成第一设备码;
5、接收应用客户端发来的一键登录确认请求;该一键登录确认请求中携带token以及当前运行该应用客户端的终端设备的关联信息;
6、根据一键登录确认请求中携带的终端设备的关联信息生成第二设备码;
7、利用所述第一设备码以及所述第二设备码执行一键登录业务验证处理。
8、根据第二方面,提供了一键登录业务的实现方法,其中包括:
9、在应用客户端与运营商服务器之间的取号登录过程启动之前,向应用服务器发送当前运行该应用客户端的终端设备的关联信息;
10、在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token以及当前运行该应用客户端的终端设备的关联信息;
11、如果接收到应用服务器发来的登录授权,则一键登录成功。
12、根据第三方面,提供了一键登录业务的实现方法,其中包括:
13、在生成对应一键登录业务的token之前,接收应用客户端发来的第一设备码;
14、在接收到应用客户端发来的身份验证请求后,生成token;
15、将生成的token发送给应用客户端;
16、接收应用服务器发来的携带token以及第二设备码的号码获取请求;
17、利用第一设备码以及号码获取请求中的第二设备码进行一键登录业务的验证处理。
18、根据第四方面,提供了一键登录业务的实现装置,该装置包括:
19、第一信息获取模块,配置为在应用客户端与运营商服务器之间的取号登录过程启动之前,接收应用客户端发来的当前运行该应用客户端的终端设备的关联信息;
20、第一设备码生成模块,配置为根据当前接收到的终端设备的关联信息生成第一设备码;
21、第二信息获取模块,接收应用客户端发来的一键登录确认请求;该一键登录确认请求中携带token以及当前运行该应用客户端的终端设备的关联信息;
22、第二设备码生成模块,根据一键登录确认请求中携带的终端设备的关联信息生成第二设备码;
23、验证执行模块,配置为利用所述第一设备码以及所述第二设备码执行一键登录业务验证处理。
24、根据第五方面,提供了一键登录业务的实现装置,包括:
25、第一信息发送模块,配置为在应用客户端与运营商服务器之间的取号登录过程启动之前,向应用服务器发送当前运行该应用客户端的终端设备的关联信息;
26、第二信息发送模块,配置为在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token以及当前运行该应用客户端的终端设备的关联信息;
27、登录执行模块,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
28、根据第六方面,提供了一键登录业务的实现装置,包括:
29、第一设备码接收模块,配置为在生成对应一键登录业务的token之前,接收应用客户端发来的第一设备码;
30、令牌处理模块,配置为在接收到应用客户端发来的身份验证请求后,生成token;将生成的token发送给应用客户端;
31、第二设备码接收模块,配置为接收应用服务器发来的携带token以及第二设备码的号码获取请求;
32、验证处理模块,配置为利用第一设备码以及号码获取请求中的第二设备码进行一键登录业务的验证处理。
33、根据第七方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
34、本说明书任一实施例或者多个实施例的组合所提供的一键登录业务的实现方法及装置,至少具有如下有益效果:
35、1、在本说明书实施例中,在不同阶段(在应用客户端与运营商服务器之间的取号登录过程启动之前的阶段,以及在应用客户端与运营商服务器之间的取号登录过程启动之后的阶段)分别获取终端设备的关联信息,并分别生成第一设备码及第二设备码,利用第一设备码及第二设备码进行验证,从而验证出是否是攻击者的终端设备x发来的一键登录确认请求,避免了应用服务器为攻击者的终端设备x提供应用客户端对应的应用服务,提高了安全性。
36、2、在实际业务实现中,由于运营商的sdk权限有限,且没有前端,所以很难去做鉴别应用客户端身份的工作,因此在应用客户端向运营商服务器发起取号登录之前,由应用服务器端鉴别应用客户端的身份,下发动态的设备码(hcode),即使hcode丢失也不会造成用户信息泄漏。这是因为运营商服务器取号是基于网关取号,攻击者盗取hcode后,运营商服务器取的也是攻击者的号码,最后顶多造成hcode与token的不一致,取号失败,不会导致合法用户的信息泄漏。且在第7步,客户端并不直接上传hcode,而是通过服务端二次计算或查表得知hcode,如此一来便达到hcode的一致性目的,最终保障取号过程的安全性。
37、3、可以抵御受害者终端设备上有木马冒充应用客户端的身份向运营商发起取号登录类攻击。
38、4、可以由运营商服务器根据两个设备码进行验证,这样能够进一步防止应用服务器被攻击挟持后导致的验证出错的情况。比如,应用服务器被攻击者攻击挟持后,应用服务器直接将第一阶段生成的第一设备码发送给运营商服务器,而非将第二阶段生成的第二设备码发送给运输商服务器,从而导致运营商服务器验证过程出错。本说明书实施例可以进一步避免此种错误,进一步提高一键登录业务的安全性。