CN116318747A - 一键登录业务的实现方法和装置 - Google Patents

一键登录业务的实现方法和装置 Download PDF

Info

Publication number
CN116318747A
CN116318747A CN202211088930.8A CN202211088930A CN116318747A CN 116318747 A CN116318747 A CN 116318747A CN 202211088930 A CN202211088930 A CN 202211088930A CN 116318747 A CN116318747 A CN 116318747A
Authority
CN
China
Prior art keywords
application client
fingerprint information
terminal equipment
operation value
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211088930.8A
Other languages
English (en)
Inventor
张婉桥
黄琳
施尚成
陈薇婷
简云定
刘宇佳
曹鸿健
伏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202211088930.8A priority Critical patent/CN116318747A/zh
Publication of CN116318747A publication Critical patent/CN116318747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本说明书实施例提供了一键登录业务的实现方法和装置。在该方法中,在获取token之前,应用客户端向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息,由运营商服务器根据该指纹信息计算出第一运算值;在获取了token之后,应用客户端向应用服务器发送第一运算值以及当前运行该应用客户端的终端设备的指纹信息;应用服务器利用预先与运营商服务器约定的共享对称密钥、获取的当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值,如果第一运算值与第二运算值相同,则一键登录验证成功,否则一键登录验证失败。本说明书实施例能够提高一键登录业务的安全性,可以避免用户隐私数据的泄露。

Description

一键登录业务的实现方法和装置
技术领域
本说明书一个或多个实施例涉及网络信息技术,尤其涉及一键登录业务的实现方法和装置。
背景技术
随着网络的快速发展,基于网络产生了各种各样的业务应用。用户只需要在终端设备中下载相应业务应用的应用客户端即应用程序(APP),通过应用客户端注册并登录,就可以享受相应的业务应用,比如,看电影或者购买商品等。
为了方便用户的使用,目前出现了一种新的登录APP的方法,即一键登录方法。在一键登录方法中,应用客户端所在的终端设备比如手机,会预先嵌入认证SDK,用户请求登录时,通过该SDK与运营商服务器通信以便采集用户手机号码,在获得用户同意授权后,应用客户端获得接口调用的令牌(token),将token传递给应用服务器,应用服务器利用token从运营商服务器处获取当前授权用户的手机号码等信息,从而完成了APP的登录。
参见图1,在一键登录业务中,用户只需要点击相关的“一键登录”的按键,而无需输入手机号码、用户名、密码以及短信验证码等,因此,可以让用户更方便、快捷地完成注册、登录流程,将原本可能需要20秒左右的流程,缩短到了2秒左右,为用户使用带来了很大的方便。
但是,目前的一键登录业务的安全性相对较低,这样就容易造成用户隐私数据的泄露,因此需要一种更为安全的一键登录业务的实现方法。
发明内容
本说明书一个或多个实施例描述了一键登录业务的实现方法和装置,能够提高一键登录业务的安全性。
根据第一方面,提供了一键登录业务的实现方法,其中包括:
在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;
得到运营商服务器发来的第一运算值;
在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
如果接收到应用服务器发来的登录授权,则一键登录成功。
其中,所述向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息,包括:将当前运行该应用客户端的终端设备的指纹信息携带在一键登录请求中或者身份验证请求中发送给运营商服务器;
和/或,
所述得到运营商服务器发来的第一运算值,包括:接收运营商服务器发来的携带token及第一运算值的身份验证通过消息,从该身份验证通过消息中得到第一运算值。
其中,所述终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
根据第二方面,提供了一键登录业务的实现方法,其中包括:
接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
利用预先与运营商服务器约定的共享对称密钥、从一键登录确认请求中获取的当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值;
判断一键登录确认请求中携带的第一运算值与计算出的第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
所述终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
所述进行计算,包括:进行哈希计算;
和/或,
所述一键登录确认请求中还携带有当前运行该应用客户端的终端设备的IP地址以及该应用客户端的APP ID;相应地,所述利用预先与运营商服务器约定的共享对称密钥、从一键登录确认请求中获取的当前运行该应用客户端的终端设备的指纹信息进行计算,包括:
利用预先与运营商服务器约定的共享对称密钥,对从一键登录确认请求中获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算。
根据第三方面,提供了一键登录业务的实现方法,其中包括:
在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值;
将生成的第一运算值发送给应用客户端。
其中,所述得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息,包括:
接收应用客户端发来的一键登录请求中,从该一键登录请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
或者,
接收应用客户端发来的用于请求token的身份验证请求中,从该身份验证请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
其中,所述进行计算,包括:进行哈希计算;
和/或,
该方法进一步包括:接收应用客户端发来的身份验证请求,从该身份验证请求中获取终端设备的IP地址以及应用客户端的APP ID;相应地,所述利用预先与应用服务器约定的共享对称密钥、生成的token及所述当前运行该应用客户端的终端设备的指纹信息进行计算,包括:
利用预先与应用服务器约定的共享对称密钥,对生成的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算。
根据第四方面,提供了一键登录业务的实现装置,该装置包括:
第一指纹信息发送模块,配置为在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;
运算值获取模块,配置为得到运营商服务器发来的第一运算值;
第二指纹信息发送模块,在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
登录执行模块,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
根据第五方面,提供了一键登录业务的实现装置,该装置包括:
第一运算值获取模块,配置为接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
第二运算值获取模块,配置为利用预先与运营商服务器约定的共享对称密钥、从一键登录确认请求中获取的当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值;
验证模块,配置为判断一键登录确认请求中携带的第一运算值与计算出的第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
根据第六方面,提供了一键登录业务的实现装置,该装置包括:
第一指纹信息获取模块,配置为在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
第一运算值计算模块,配置为在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值;
第一运算值发送模块,将生成的第一运算值发送给应用客户端。
根据第七方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
本说明书一个或多个实施例的组合,至少具有如下有益效果:
1、根据在不同阶段(该不同阶段指:在运营商服务器向应用客户端下发token之前的第一阶段,以及在运营商服务器向应用客户端下发token之后的第二阶段),应用客户端分别发送给运营商服务器及应用服务器的终端设备的指纹信息是否相同,从而导致计算出的第一运算值及第二运算值是否相同,来判断出是否是攻击者的终端设备X发送的一键登录确认请求,避免了应用服务器为攻击者的终端设备X提供应用客户端对应的应用服务,提高了安全性。
2、可以在应用服务器与运营商服务器之间进行服务端的签名验证,从而进一步确保应用服务器与运营商服务器的合法性,进一步提高一键登录业务的安全性。
3、应用服务器与运营商服务器约定了共享对称密钥。可见,计算运算值使用的共享对称密钥被保存了服务器端,而不是应用客户端或者终端设备中,因此,提高了安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一键登录业务的一种操作示意图。
图2是本说明书一个实施例所应用的***架构的示意图。
图3是本说明书一个实施例在应用客户端中实现一键登录业务的方法的流程图。
图4是本说明书一个实施例在应用服务器中实现一键登录业务的方法的流程图。
图5是本说明书一个实施例在运营商服务器中实现一键登录业务的方法的流程图。
图6是本说明书一个实施例中运营商服务器、应用客户端及应用服务器配合实现一键登录业务的信息交互的流程图。
图7是本说明书一个实施例中一键登录业务的实现装置的结构示意图。
图8是本说明书另一个实施例中一键登录业务的实现装置的结构示意图。
图9是本说明书又一个实施例中一键登录业务的实现装置的结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
为了方便对本说明书提供的方法进行理解,首先对本说明书所涉及和适用的***架构进行描述。如图2中所示,该***架构中主要包括三个网络节点:应用客户端、应用服务器和运营商服务器。
其中,应用客户端安装并运行于终端设备中,终端设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动终端可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等等,智能家居设备还可以包括智能门锁、智能插座、智能电灯、智能摄像头等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
应用客户端可以是各种类型的应用,包括但不限于诸如支付类应用、多媒体播放类应用、地图类应用、文本编辑类应用、金融类应用、浏览器类应用、即时通信类应用等等。
运营商服务器指的是提供网络服务的供应商的服务端设备,可以是单一服务器,也可以是多个服务器构成的服务器群组。运营商服务器负责为各类应用提供网络服务,例如安全认证、提供一键登录的手机号等。
应用服务器是一种具体应用的服务器,专门为应用客户端提供对应的应用服务,比如对于支付宝这种应用客户端,应用服务器则是提供支付宝业务的服务器。
应该理解,图2中的应用客户端、应用服务器、运营商服务器的数目仅仅是示意性的。根据实现需要,可以选择和布设任意数目。
参见图2,应用客户端、应用服务器以及运营商服务器通过网络交互。其中,网络可以包括各种连接类型,例如有线、无线通信链路或光纤电缆等。
因为本说明书提供的一键登录业务的实现方法涉及到图2中所示的3种网络节点,因此,下面通过不同的实施例分别说明运营商服务器、应用客户端以及应用服务器在一键登录业务中的处理。
首先,说明应用客户端在一键登录业务中的处理。
图3是本说明书一个实施例在应用客户端中实现一键登录业务的方法的流程图。参见图3,该方法包括:
步骤301:应用客户端在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;其中,不同终端设备的指纹信息不相同。
步骤303:应用客户端得到运营商服务器发来的第一运算值。
步骤305:应用客户端在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息。
步骤307:应用客户端如果接收到应用服务器发来的登录授权,则一键登录成功。
在现有的一键登录业务中,会出现诸如如下情况:一个攻击者经常会对从运营商服务器至应用客户端的链路进行监听和攻击,从而利用自己的终端设备X盗取运营商服务器下发给应用客户端的token。之后,攻击者就可以通过终端设备X仿冒该应用客户端所在的合法终端设备Y向应用服务器发送token,因为所利用的token正确,应用服务器可以从运营商服务器处拿到应用客户端所在的终端设备Y的手机号,从而导致应用服务器误认为发来token的终端设备X就是应用客户端所在的终端设备Y,即认为攻击者就是应用客户端的合法用户,从而向攻击者提供对应的应用服务,比如播放该合法用户才有权限观看的视频资料或者完成转账等,从而对用户的使用带来了安全问题,并可能会造成用户隐私数据的泄露。
而根据上述图3所示的过程可以看出,在应用客户端中执行的一键登录业务的流程中,加入了利用终端设备的指纹信息进行计算,以便利用计算出的运算值进行验证的处理。因为不同终端设备的指纹信息是不相同的,因此,如果未出现上述攻击者利用终端设备X仿冒合法终端设备Y的情况,在图3所示过程中在不同阶段(该不同阶段指:在运营商服务器向应用客户端下发token之前的第一阶段,以及在运营商服务器向应用客户端下发token之后的第二阶段),应用客户端分别发送给运营商服务器及应用服务器的终端设备的指纹信息相同,这样运营商服务器生成的第一运算值及应用服务器生成的第二运算值则相同。相反,如果出现了上述攻击者利用终端设备X仿冒合法终端设备Y的情况,则在图3所示过程中,在上述不同阶段,应用客户端分别发送给运营商服务器及应用服务器的终端设备的指纹信息不相同,这样运营商服务器生成的第一运算值及应用服务器生成的第二运算值则不相同。本说明书实施例的方法利用这一特点,能够进行验证,从而验证出是否是攻击者的终端设备X发送的一键登录确认请求,避免了应用服务器为攻击者的终端设备X提供应用客户端对应的应用服务,提高了安全性。
下面结合具体的实施例、运营商服务器的处理及应用服务器的处理,对图3所示的应用客户端的处理过程进行详细说明。
首先对于步骤301:应用客户端在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息。
在本说明书的一个实施例中,在应用客户端从运营商服务器处获取token之前,应用客户端会向运营商服务器发送一键登录请求,以与运营商服务器之间进行一键登录的初始化操作。这样,本步骤301的一种实现过程包括:应用客户端将当前运行该应用客户端的终端设备的指纹信息携带在一键登录请求中发送给运营商服务器,以便使得运营商服务器获取当前运行该应用客户端的终端设备的指纹信息。
在本说明书另一个实施例中,在应用客户端从运营商服务器处获取token之前,应用客户端会向运营商服务器发送身份验证请求,以便请求token。这样,本步骤301的另一种实现过程包括:应用客户端将当前运行该应用客户端的终端设备的指纹信息携带在身份验证请求中发送给运营商服务器,以便使得运营商服务器获取当前运行该应用客户端的终端设备的指纹信息。
在本说明书又一个实施例中,本步骤301的又一种实现过程包括:在获取token之前,应用客户端将当前运行该应用客户端的终端设备的指纹信息携带在其他消息中比如新定义的消息中发送给运营商服务器。
在本说明书实施例中,终端设备的指纹信息可以是能够标识该终端设备的任意一种信息或几种信息的组合,比如终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码(比如IMEI、MEID或UDID)等。
在执行完步骤301之后,运营商服务器则得到了在第一阶段即向应用客户端下发token之前,运行该应用客户端的终端设备的指纹信息。运营商服务器利用预先与应用服务器约定的共享对称密钥及该终端设备的指纹信息进行计算,比如进行哈希计算,从而在第一阶段计算出第一运算值。
在本说明书一个实施例中,对一键登录业务的校验可以是基于服务端完整性的校验,也就是说,在运营商服务器以及应用服务器这两个服务端分别基于终端设备的指纹信息及本次一键登录业务的各个关键参数一起进行完整性计算,比如哈希计算,后续比较两个运算值。这样,在运营商服务器中,进一步从应用客户端发来的身份验证请求中获取终端设备的IP地址以及应用客户端的APP ID;相应地,运营商服务器计算第一运算值的方法包括:
运营商服务器利用预先与应用服务器约定的共享对称密钥,对生成的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算,从而计算出第一运算值。
之后,运营商服务器将生成的第一运算值发送给应用客户端。
接下来,对于步骤303:应用客户端得到运营商服务器发来的第一运算值。
这里,运营商服务器可以将生成的第一运算值及token一起携带在身份验证通过消息中发送给应用客户端。这样,在本步骤303中,应用客户端接收运营商服务器发来的携带token及第一运算值的身份验证通过消息,从该身份验证通过消息中得到第一运算值。
接下来对于步骤305:应用客户端在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息。
需要说明的是,如果未发生攻击者使用其终端设备X盗取token的情况,则本步骤305中当前运行应用客户端的终端设备与上述步骤301中当前运行应用客户端的终端设备是同一个终端设备,那么,本步骤305中发送给应用服务器的当前运行该应用客户端的终端设备的指纹信息与步骤301中发送给运营商服务器的当前运行该应用客户端的终端设备的指纹信息相同。相反,如果发生了攻击者使用其终端设备X盗取token的情况,则本步骤305中当前运行应用客户端的终端设备与上述步骤301中当前运行应用客户端的终端设备是不同的两个终端设备,那么,本步骤305中发送给应用服务器的当前运行该应用客户端的终端设备的指纹信息与步骤301中发送给运营商服务器的当前运行该应用客户端的终端设备的指纹信息不相同。
应用服务器接收到一键登录确认请求之后,从该请求中获取了token、第一运算值以及第二阶段中(即向应用客户端下发token之后)当前运行应用客户端的终端设备的指纹信息。应用服务器可以利用预先与运营商服务器约定的共享对称密钥及获取的终端设备的指纹信息进行计算,比如进行哈希计算,从而在第二阶段中计算出第二运算值。
在本说明书一个实施例中,对一键登录业务的校验可以是基于服务端完整性的校验,也就是说,在运营商服务器以及应用服务器这两个服务端分别基于终端设备的指纹信息及本次一键登录业务的各个关键参数一起进行完整性计算,比如哈希计算,后续比较两个运算值。这样,在应用服务器中计算第二运算值的方法包括:
应用服务器利用预先与运营商服务器约定的共享对称密钥,对从一键登录确认请求中获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算,从而计算出第二运算值。
之后,应用服务器判断一键登录确认请求中携带的第一运算值与计算出的第二运算值是否相同,其中,
如果相同,则可以说明步骤305中当前运行应用客户端的终端设备与步骤301中当前运行应用客户端的终端设备是同一个终端设备,其指纹信息相同,未发生攻击者盗用token的情况,则一键登录验证成功,应用服务器会从运营商服务器中获取终端设备的手机号码,然后向应用客户端下发登录授权;
如果不相同,则可以说明步骤305中运行应用客户端的终端设备与步骤301中运行应用客户端的终端设备不是同一个终端设备,其指纹信息不相同,发生了攻击者盗用token的情况,则一键登录验证失败。
接下来对于步骤307:应用客户端如果接收到应用服务器发来的登录授权,则一键登录成功。
在本说明书实施例中,应用服务器与运营商服务器约定了共享对称密钥。可见,计算运算值使用的共享对称密钥被保存了服务器端,而不是应用客户端或者终端设备中,因此,提高了安全性。
下面说明在本说明书实施例中,应用服务器在一键登录业务中的相关处理。
图4是本说明书一个实施例在应用服务器中实现一键登录业务的方法的流程图。参见图4,该方法包括:
步骤401:应用服务器接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息。
对于本步骤401的理解及说明可以参见对上述步骤305的说明。
其中,第一运算值是运营商服务器利用在第一阶段中获取的运行应用客户端的终端设备的指纹信息计算出的。而本步骤401中,应用服务器得到的是第二阶段中运行应用客户端的终端设备的指纹信息。
步骤403:应用服务器利用预先与运营商服务器约定的共享对称密钥、从一键登录确认请求中获取的当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值。
参见对上述步骤305的相关说明,本步骤403的过程可以包括:应用服务器利用预先与运营商服务器约定的共享对称密钥,对从一键登录确认请求中获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算,比如进行哈希计算,从而计算出第二运算值。
步骤405:应用服务器判断一键登录确认请求中携带的第一运算值与计算出的第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
对于本步骤405的理解及说明可以参见对上述步骤305的说明。
在本步骤405中,如果一键登录验证成功,可以在应用服务器与运营商服务器之间进行服务端的签名验证,从而进一步确保应用服务器与运营商服务器的合法性,进一步提高一键登录业务的安全性。具体可以体现为如下两方面:
一方面,可以由运营商服务器对应用服务器进行签名验证,以便验证应用服务器的合法性。具体实现过程包括:一键登录验证成功后,应用服务器会向运营商服务器发送号码获取请求,其中,应用服务器可以使用预先与运营商服务器约定的共享对称密钥记为“apphmac”对号码获取请求进行签名,以便使得运营商服务器能够基于自己保存的预先与应用商服务器约定的“apphmac”验证签名是否正确,即验证应用服务器的合法性,如果签名验证成功,则运营商服务器向应用服务器提供终端设备的手机号码。
另一方面,可以由应用服务器对运营商服务器进行签名验证,以便验证运营商服务器的合法性。具体实现过程包括:运营商服务器在向应用服务器提供终端设备的手机号码时,可以使用预先与应用服务器约定的共享对称密钥记为“apphmac”对提供的终端设备的手机号码进行签名,以便使得应用服务器能够基于自己保存的预先与运营商服务器约定的“apphmac”验证签名是否正确,即验证运营商服务器的合法性,如果签名验证成功,则应用服务器向应用客户端下发登录授权。
下面说明在本说明书实施例中,运营商服务器在一键登录业务中的相关处理。
图5是本说明书一个实施例在运营商服务器中实现一键登录业务的方法的流程图。参见图5,该方法包括:
步骤501:运营商服务器在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
本步骤501的相关说明可以参见对步骤301的相关说明。
比如,本步骤501的过程包括:
运营商服务器接收应用客户端发来的一键登录请求中,从该一键登录请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
或者,
运营商服务器接收应用客户端发来的用于请求token的身份验证请求中,从该身份验证请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
步骤503:运营商服务器在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值。
本步骤503的相关说明可以参见对步骤301的相关说明。
比如,运营商服务器接收应用客户端发来的身份验证请求,从该身份验证请求中获取终端设备的IP地址以及应用客户端的APP ID;本步骤503的过程包括:
利用预先与应用服务器约定的共享对称密钥,对生成的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算。
步骤505:运营商服务器将生成的第一运算值发送给应用客户端。
本步骤505的相关说明可以参见对步骤303的相关说明。
下面结合应用客户端、应用服务器以及运营商服务器三者的配合处理,来说明一键登录业务的实现方法。参见图6,该方法包括:
步骤601:应用客户端向运营商服务器发送携带APP ID的一键登录请求,以便于与运营商服务器进行一键登录的初始化过程。
步骤603:运营商服务器将生成的会话密钥发送给应用客户端。
步骤605:应用客户端得到用户授权,即用户点击屏幕上的一键登录按键。
步骤607:应用客户端利用会话密钥向运营商服务器发送身份验证请求,以便请求token;其中,身份验证请求中携带APP ID、时间戳、IP地址以及当前运行该应用客户端的终端设备的指纹信息。
这里,身份验证请求中携带的IP地址为:应用客户端所在的终端设备的IP地址,可以包括IPv4地址以及IPv6地址。
步骤609:运营商服务器接收到身份验证请求后,生成token,利用预先与应用服务器约定的共享对称密钥,对生成的token、身份验证请求中携带的当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行哈希计算,得到第一运算值。
步骤611:运营商服务器将token及第一运算值下发给应用客户端。
步骤613:应用客户端将一键登录确认请求发送给应用服务器,该请求中携带token、终端设备的IP地址、APP ID、第一运算值以及当前运行该应用客户端的终端设备的指纹信息。
步骤615:应用服务器利用预先与运营商服务器约定的共享对称密钥,对从一键登录确认请求中获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行哈希计算,得到第二运算值。
步骤617:应用服务器判断一键登录确认请求中的第一运算值与计算得到的第二运算值是否相同,如果相同,一键登录验证成功,则执行步骤619,否则,一键登录验证失败,结束当前流程。
步骤619:应用服务器使用预先与运营商服务器约定的共享对称密钥“apphmac”对号码获取请求进行签名,然后发送给运营商服务器。
步骤621:运营商服务器基于自己保存的预先与应用商服务器约定的“apphmac”验证签名是否正确,即验证应用服务器的合法性,如果签名验证成功,则运营商服务器使用预先与应用服务器约定的共享对称密钥“apphmac”对提供的终端设备的手机号码进行签名,然后发送给应用服务器。
步骤623:应用服务器基于自己保存的预先与运营商服务器约定的“apphmac”验证签名是否正确,即验证运营商服务器的合法性,如果签名验证成功,则向应用客户端下发登录授权。
在本说明书一个实施例中,提出了一种一键登录业务的实现装置,该装置设置于应用客户端中,参见图7,该装置包括:
第一指纹信息发送模块701,配置为在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;
运算值获取模块702,配置为得到运营商服务器发来的第一运算值;
第二指纹信息发送模块703,在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
登录执行模块704,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
在图7所示的本说明书装置的一个实施例中,第一指纹信息发送模块701被配置为执行:将当前运行该应用客户端的终端设备的指纹信息携带在一键登录请求中或者身份验证请求中发送给运营商服务器。
在图7所示的本说明书装置的一个实施例中,运算值获取模块702被配置为执行:接收运营商服务器发来的携带token及第一运算值的身份验证通过消息,从该身份验证通过消息中得到第一运算值。
在图7所示的本说明书装置的一个实施例中,终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
在本说明书一个实施例中,提出了一种一键登录业务的实现装置,该装置设置于应用服务器中,参见图8,该装置包括:
第一运算值获取模块801,配置为接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
第二运算值获取模块802,配置为利用预先与运营商服务器约定的共享对称密钥、从一键登录确认请求中获取的当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值;
验证模块803,配置为判断一键登录确认请求中携带的第一运算值与计算出的第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
在图8所示的本说明书装置的一个实施例中,终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
在图8所示的本说明书装置的一个实施例中,第二运算值获取模块802进行哈希计算。
在图8所示的本说明书装置的一个实施例中,一键登录确认请求中还携带有当前运行该应用客户端的终端设备的IP地址以及该应用客户端的APP ID;相应地,第二运算值获取模块802被配置为执行包括:
利用预先与运营商服务器约定的共享对称密钥,对从一键登录确认请求中获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算。
在本说明书一个实施例中,提出了一种一键登录业务的实现装置,该装置设置于运营商服务器中,参见图9,该装置包括:
第一指纹信息获取模块901,配置为在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
第一运算值计算模块902,配置为在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值;
第一运算值发送模块903,将生成的第一运算值发送给应用客户端。
在图9所示的本说明书装置的一个实施例中,第一指纹信息获取模块901被配置为执行:
接收应用客户端发来的一键登录请求中,从该一键登录请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
在图9所示的本说明书装置的一个实施例中,第一指纹信息获取模块901被配置为执行:接收应用客户端发来的用于请求token的身份验证请求中,从该身份验证请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
在图9所示的本说明书装置的一个实施例中,第一运算值计算模块902进行哈希计算。
在图9所示的本说明书装置的一个实施例中,第一运算值计算模块902被配置为执行:
接收应用客户端发来的身份验证请求,从该身份验证请求中获取终端设备的IP地址以及应用客户端的APP ID;
利用预先与应用服务器约定的共享对称密钥,对生成的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APP ID进行计算。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、***内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (13)

1.一键登录业务的实现方法,其中包括:
在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;
得到运营商服务器发来的第一运算值;
在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
如果接收到应用服务器发来的登录授权,则一键登录成功。
2.根据权利要求1所述的方法,其中,所述向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息,包括:将当前运行该应用客户端的终端设备的指纹信息携带在一键登录请求中或者身份验证请求中发送给运营商服务器;
和/或,
所述得到运营商服务器发来的第一运算值,包括:接收运营商服务器发来的携带token及第一运算值的身份验证通过消息,从该身份验证通过消息中得到第一运算值。
3.根据权利要求1所述的方法,其中,
所述终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
4.一键登录业务的实现方法,其中包括:
接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
从一键登录确认请求中获取第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
利用预先与运营商服务器约定的共享对称密钥以及当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值;
判断第一运算值与第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
5.根据权利要求4所述的方法,其中,
所述终端设备的指纹信息包括如下中的至少一项:终端设备的内网IP地址、终端设备所使用的局域网的标识、终端设备的识别码。
6.根据权利要求3所述的方法,其中,
所述进行计算,包括:进行哈希计算;
和/或,
所述一键登录确认请求中还携带有当前运行该应用客户端的终端设备的IP地址以及该应用客户端的APP ID;相应地,所述利用预先与运营商服务器约定的共享对称密钥以及当前运行该应用客户端的终端设备的指纹信息进行计算,包括:
从一键登录确认请求中获取token、终端设备的IP地址以及该应用客户端的APP ID;
利用预先与运营商服务器约定的共享对称密钥,对获取的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APPID进行计算。
7.一键登录业务的实现方法,其中包括:
在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值;
将生成的第一运算值发送给应用客户端。
8.根据权利要求7所述的方法,其中,所述得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息,包括:
接收应用客户端发来的一键登录请求中,从该一键登录请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
或者,
接收应用客户端发来的用于请求token的身份验证请求中,从该身份验证请求中获取应用客户端发来的当前运行该应用客户端的终端设备的指纹信息。
9.根据权利要求7所述的方法,其中,所述进行计算,包括:进行哈希计算;
和/或,
该方法进一步包括:接收应用客户端发来的身份验证请求,从该身份验证请求中获取终端设备的IP地址以及应用客户端的APP ID;相应地,所述利用预先与应用服务器约定的共享对称密钥、生成的token及所述当前运行该应用客户端的终端设备的指纹信息进行计算,包括:
利用预先与应用服务器约定的共享对称密钥,对生成的token、当前运行该应用客户端的终端设备的指纹信息、终端设备的IP地址以及APPID进行计算。
10.一键登录业务的实现装置,该装置包括:
第一指纹信息发送模块,配置为在获取token之前,向运营商服务器发送当前运行该应用客户端的终端设备的指纹信息;
运算值获取模块,配置为得到运营商服务器发来的第一运算值;
第二指纹信息发送模块,在获取了运营商服务器发来的token之后,向应用服务器发送一键登录确认请求,该一键登录确认请求中携带token、第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
登录执行模块,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
11.一键登录业务的实现装置,该装置包括:
第一运算值获取模块,配置为接收应用客户端发来的携带token的一键登录确认请求;该一键登录确认请求中还携带有第一运算值以及当前运行该应用客户端的终端设备的指纹信息;从一键登录确认请求中获取第一运算值以及当前运行该应用客户端的终端设备的指纹信息;
第二运算值获取模块,配置为利用预先与运营商服务器约定的共享对称密钥以及当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第二运算值;
验证模块,配置为判断第一运算值与第二运算值是否相同,如果是,则一键登录验证成功,否则,一键登录验证失败。
12.一键登录业务的实现装置,该装置包括:
第一指纹信息获取模块,配置为在向应用客户端下发token之前,得到应用客户端发来的当前运行该应用客户端的终端设备的指纹信息;
第一运算值计算模块,配置为在生成token之后,利用预先与应用服务器约定的共享对称密钥及所述当前运行该应用客户端的终端设备的指纹信息进行计算,计算出第一运算值;
第一运算值发送模块,将生成的第一运算值发送给应用客户端。
13.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
CN202211088930.8A 2022-09-07 2022-09-07 一键登录业务的实现方法和装置 Pending CN116318747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211088930.8A CN116318747A (zh) 2022-09-07 2022-09-07 一键登录业务的实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211088930.8A CN116318747A (zh) 2022-09-07 2022-09-07 一键登录业务的实现方法和装置

Publications (1)

Publication Number Publication Date
CN116318747A true CN116318747A (zh) 2023-06-23

Family

ID=86792874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211088930.8A Pending CN116318747A (zh) 2022-09-07 2022-09-07 一键登录业务的实现方法和装置

Country Status (1)

Country Link
CN (1) CN116318747A (zh)

Similar Documents

Publication Publication Date Title
JP4673364B2 (ja) エンティティの第1のidおよび第2のidの検証方法
US8819253B2 (en) Network message generation for automated authentication
CN102201915B (zh) 一种基于单点登录的终端认证方法和装置
US9787478B2 (en) Service provider certificate management
US9548975B2 (en) Authentication method, authentication system, and service delivery server
CN103685139A (zh) 认证授权处理方法及装置
CN111783068A (zh) 设备认证方法、***、电子设备及存储介质
CN110247917B (zh) 用于认证身份的方法和装置
CN111404695B (zh) 令牌请求验证方法和装置
CN110958119A (zh) 身份验证方法和装置
CN114390524B (zh) 一键登录业务的实现方法和装置
CN113746811A (zh) 登录方法、装置、设备及可读存储介质
CN113993127A (zh) 一键登录业务的实现方法和装置
CN115150072A (zh) 云网签发认证方法、设备、装置及存储介质
CN114158046B (zh) 一键登录业务的实现方法和装置
CN117336092A (zh) 一种客户端登录方法、装置、电子设备和存储介质
CN116647345A (zh) 权限令牌的生成方法以及装置、存储介质、计算机设备
CN114679276B (zh) 基于时间的一次性密码算法的身份认证方法和装置
CN115801287A (zh) 签名认证方法和装置
CN116318747A (zh) 一键登录业务的实现方法和装置
CN114158047B (zh) 一键登录业务的实现方法和装置
CN114764507A (zh) 资源访问的实现方法、装置、电子设备及存储介质
CN116318746A (zh) 一键登录业务的实现方法和装置
CN116318755A (zh) 一键登录业务的实现方法和装置
CN114697137B (zh) 应用程序的登录方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination