CN113993127B - 一键登录业务的实现方法和装置 - Google Patents
一键登录业务的实现方法和装置 Download PDFInfo
- Publication number
- CN113993127B CN113993127B CN202111618741.2A CN202111618741A CN113993127B CN 113993127 B CN113993127 B CN 113993127B CN 202111618741 A CN202111618741 A CN 202111618741A CN 113993127 B CN113993127 B CN 113993127B
- Authority
- CN
- China
- Prior art keywords
- key
- application client
- public
- token
- signature information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/72—Subscriber identity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例提供了一键登录业务的实现方法和装置。在该方法中,接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;向所述应用客户端下发令牌token;接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。本说明书实施例能够提高一键登录业务的安全性,可以避免用户隐私数据的泄露。
Description
技术领域
本说明书一个或多个实施例涉及网络信息技术,尤其涉及一键登录业务的实现方法和装置。
背景技术
随着网络的快速发展,基于网络产生了各种各样的业务应用。用户只需要在终端设备中下载相应业务应用的应用客户端即应用程序(APP),通过应用客户端注册并登录,就可以享受相应的业务应用,比如,看电影或者购买商品等。
为了方便用户的使用,目前出现了一种新的登录APP的方法,即一键登录方法。在一键登录方法中,应用客户端,通常为手机,会预先嵌入认证SDK,用户请求登录时,通过该SDK与运营商服务器通信以便采集用户手机号码,在获得用户同意授权后,应用客户端获得接口调用的令牌(token),将token传递给应用服务器,应用服务器利用token获取当前授权用户的手机号码等信息,从而完成了APP的登录。
参见图1,在一键登录业务中,用户只需要点击相关的“一键登录”的按键,而无需输入手机号码、用户名、密码以及短信验证码等,因此,可以让用户更方便、快捷地完成注册、登录流程,将原本可能需要20 秒左右的流程,缩短到了 2 秒左右,为用户使用带来了很大的方便。
但是,目前的一键登录业务的安全性相对较低,这样就容易造成用户隐私数据的泄露,因此需要一种更为安全的一键登录业务的实现方法。
发明内容
本说明书一个或多个实施例描述了一键登录业务的实现方法和装置,能够提高一键登录业务的安全性。
根据第一方面,提供了一种一键登录业务的实现方法,其中包括:
接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;
向所述应用客户端下发令牌token;
接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;
利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。
其中,所述校验请求包括如下中的至少一个请求:
携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求;
携带APP ID、所述公钥及时间戳的手机身份校验请求;
携带APP ID及所述公钥的新定义的校验请求。
其中,当所述校验请求包括携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求时,
在所述获取了应用客户端生成的公私钥对中的公钥之后,并在所述向所述应用客户端下发令牌token之前,进一步包括:
生成对称密钥;
利用所述公钥对该对称密钥进行加密后发送给应用客户端;
接收应用客户端发来的使用对称密钥加密的手机身份校验请求;以及
使用对称密钥解密该手机身份校验请求,并根据手机身份校验请求进行身份验证,在身份验证成功后执行所述向所述应用客户端下发令牌token的步骤;
相应地,所述向所述应用客户端下发令牌token,包括:利用对称密钥对token进行加密,并向所述应用客户端下发加密后的token。
其中,所述号码获取请求中携带的签名信息包括:被所述私钥签名的应用客户端所在的终端设备的指纹信息。
根据第二方面,提供了一键登录业务的实现方法,其中包括:
生成公私钥对;
将公私钥对中的公钥携带在校验请求中发送给运营商服务器;
接收运营商服务器下发的token;
利用公私钥对中的私钥生成签名信息,将token以及签名信息发送给应用服务器;
如果接收到应用服务器发来的登录授权,则一键登录成功。
包括:所述校验请求包括如下中的至少一个请求:
携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求;
携带APP ID、所述公钥及时间戳的手机身份校验请求;
携带APP ID及所述公钥的新定义的校验请求。
其中,当所述校验请求包括携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求时,
在将所述校验请求发送给运营商服务器之后,并在接收运营商服务器下发的token之前,进一步包括:
接收运营商服务器发来的利用公钥加密后的对称密钥;
利用公私钥对中的私钥解密出对称密钥;以及
使用对称密钥对手机身份校验请求进行加密,然后将加密后的手机身份校验请求发送给运营商服务器;
相应地,所述接收运营商服务器下发的token,包括:
利用对称密钥对运营商服务器发来的加密后的token进行解密,得到token。
其中,所述利用公私钥对中的私钥生成签名信息包括:
利用公私钥对中的私钥对应用客户端所在的终端设备的指纹信息进行签名,得到签名信息。
根据第三方面,提供了一键登录业务的实现方法,其中包括:
接收应用客户端发来的登录请求,进行登录预授权;
接收应用客户端发来的token及签名信息;
将接收到的token以及签名信息携带在号码获取请求中发送给运营商服务器;
如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
其中,所述签名信息包括:被所述私钥签名的应用客户端所在的终端设备的指纹信息。
根据第四方面,提供了一键登录业务的实现装置,包括:
公钥获取模块,配置为接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;
token下发模块,配置为向所述应用客户端下发令牌token;
签名信息获取模块,配置为接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;
登录授权处理模块,配置为利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。
根据第五方面,提供了一键登录业务的实现装置,包括:
公私钥生成模块,配置为生成公私钥对;
公钥处理模块,配置为将公私钥对中的公钥携带在校验请求中发送给运营商服务器;
token获取模块,配置为接收运营商服务器下发的token;
私钥处理模块,配置为利用公私钥对中的私钥生成签名信息,将token以及签名信息发送给应用服务器;
登录执行模块,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
根据第六方面,提供了一键登录业务的实现装置,包括:
预登录模块,配置为在接收到应用客户端发来的登录请求之后,进行登录预授权;
网络因子获取模块,配置为接收应用客户端发来的token以及签名信息;
号码获取模块,配置为将接收到的token以及签名信息携带在号码获取请求中,并将该号码获取请求发送给运营商服务器;
授权执行模块,配置为如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
根据第七方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
本说明书实施例提供的一键登录业务的实现方法及装置避免了应用服务器为攻击者的终端设备提供对应的应用服务,提高了安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一键登录业务的一种操作示意图。
图2是本说明书一个实施例所应用的系统架构的示意图。
图3是本说明书一个实施例在运营商服务器中实现一键登录业务的方法的流程图。
图4是本说明书一个实施例在应用客户端中实现一键登录业务的方法的流程图。
图5是本说明书一个实施例在应用服务器中实现一键登录业务的方法的流程图。
图6是本说明书一个实施例中运营商服务器、应用客户端及应用服务器配合实现一键登录业务的方法的流程图。
图7是本说明书一个实施例中一键登录业务的装置的结构示意图。
图8是本说明书另一个实施例中一键登录业务的装置的结构示意图。
图9是本说明书又一个实施例中一键登录业务的装置的结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
为了方便对本说明书提供的方法进行理解,首先对本说明书所涉及和适用的系统架构进行描述。如图2中所示,该系统架构中主要包括三个网络节点:应用客户端、应用服务器和运营商服务器。
其中,应用客户端安装并运行于终端设备中,终端设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动终端可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等等,智能家居设备还可以包括智能门锁、智能插座、智能电灯、智能摄像头等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
应用客户端可以是各种类型的应用,包括但不限于诸如支付类应用、多媒体播放类应用、地图类应用、文本编辑类应用、金融类应用、浏览器类应用、即时通信类应用等等。
运营商服务器指的是提供网络服务的供应商的服务端设备,可以是单一服务器,也可以是多个服务器构成的服务器群组。运营商服务器负责为各类应用提供网络服务,例如安全认证、提供一键登录的手机号等。
应用服务器是一种具体应用的服务器,专门为应用客户端提供对应的应用服务,比如对于支付宝这种应用客户端,应用服务器则是提供支付宝业务的服务器。
应该理解,图2中的应用客户端、应用服务器、运营商服务器的数目仅仅是示意性的。根据实现需要,可以选择和布设任意数目。
参见图2,应用客户端、应用服务器以及运营商服务器通过网络交互。其中,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
因为本说明书提供的一键登录业务的实现方法涉及到图2中所示的3种网络节点,因此,下面通过不同的实施例分别说明运营商服务器、应用客户端以及应用服务器在一键登录业务中的处理。
首先,说明运营商服务器在一键登录业务中的处理。
图3是本说明书一个实施例在运营商服务器中实现一键登录业务的方法的流程图。参见图3,该方法包括:
步骤301:接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥。
步骤303:向所述应用客户端下发令牌token。
步骤305:接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息。
步骤307:利用公钥验证号码获取请求中的签名信息的合法性,如果合法,则执行步骤309,否则执行步骤311。
步骤309:根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器。
步骤311:拒绝将该终端设备的手机号发送给所述应用服务器。
在现有的一键登录业务中,会出现诸如如下情况:一个攻击者利用自己的终端设备X盗取了下发给应用客户端的token,之后,攻击者通过终端设备X仿冒该应用客户端所在的终端设备Y向应用服务器发送token,因为所利用的token正确,应用服务器可以从运营商服务器处拿到应用客户端所在的终端设备Y的手机号,从而导致应用服务器误认为发来token的终端设备X就是应用客户端所在的终端设备Y,即认为攻击者就是应用客户端的合法用户,从而向攻击者提供对应的应用服务,比如播放该合法用户才有权限观看的视频资料或者完成转账等,从而对用户的使用带来了安全问题,并可能会造成用户隐私数据的泄露。
而根据上述图3所示的过程可以看出,运营商服务器会在下发token之前获取应用客户端发来的公钥,在下发token之后获取应用服务器发来的利用私钥签名后的签名信息,如果获取到的公钥能够验证出签名信息的合法性,就可以认为运营商服务器获取到的公钥以及签名信息使用的私钥是同一个终端设备记为终端设备Y产生的公私钥对,也就是说,当前与应用服务器进行一键登录业务的终端设备(即向应用服务器发送token的终端设备)是合法用户使用的终端设备Y,下发的token没有被攻击者盗取,没有发生攻击行为,因此运营商服务器可以向应用服务器提供应用客户端所在的终端设备Y的手机号码,从而使得应用服务器为其当前连接的终端设备Y提供对应的应用服务;相反,如果获取到的公钥不能够验证出签名信息的合法性,就可以认为运营商服务器获取到的公钥以及签名信息使用的私钥不是同一个终端设备记为终端设备Y产生的公私钥对,也就是说,当前与应用服务器进行一键登录业务的终端设备(即向应用服务器发送token的终端设备)不是合法用户使用的终端设备Y,而是一个盗取了token的攻击者使用的终端设备X,已经发生了攻击行为,因此运营商服务器不向应用服务器提供应用客户端所在的终端设备Y的手机号码,从而使得应用服务器无法为其当前连接的攻击者的终端设备X提供对应的应用服务。可见,本说明书实施例的方法避免了应用服务器为攻击者的终端设备提供应用客户端对应的应用服务,提高了安全性。
下面结合具体的实施例对图3所示的过程进行说明。
首先对于步骤301:
运营商服务器接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥。
可以理解,应用客户端是通过其所在的终端设备Y向运营商服务器发送校验请求的。
为了提高通信的安全性,应用客户端可以通过https链路向运营商服务器发送校验请求,也就是说,步骤301中运营商服务器可以通过https链路接收应用客户端发来的校验请求。
携带公钥的校验请求可以包括如下中的任意一种或者多种:
校验请求1:
在一键登录业务中,在运营商服务器下发token之前,应用客户端会向运营商服务器发送登录校验请求,以便对应用客户端的身份进行验证。因此,可以利用该登录校验请求携带应用客户端生成的公钥,并发送给运营商服务器,相应地,本步骤301中的校验请求可以是携带应用标识(APP ID)、应用签名(APP sign), 密钥标识符(KEY ID)、时间戳以及上述公钥的登录验证请求。
校验请求2:
在一键登录业务中,在运营商服务器下发token之前,应用客户端会向运营商服务器发送手机身份校验请求,以便对应用客户端所在的终端设备的身份进行验证。因此,可以利用该手机身份校验请求携带应用客户端生成的公钥,并发送给运营商服务器,相应地,本步骤301中的校验请求可以是携带APP ID、上述公钥及时间戳的手机身份校验请求。
校验请求3:
在运营商服务器下发token之前,应用客户端可以利用新定义的一个校验请求将公钥发送给运营服务器,相应地,本步骤301中的校验请求可以是携带APP ID及上述公钥的新定义的校验请求。
在本说明书的一个较佳实施例中,采用上述校验请求1即由登录验证请求来携带公钥并发送给运营商服务器。此时,为了提高安全性,避免终端设备Y的信息的泄露,可以进行加密处理,这样在步骤301之后并在步骤303下发token之前进一步包括:
步骤301A:运营商服务器生成对称密钥。
步骤301B:运营商服务器利用公钥对该对称密钥进行加密后发送给应用客户端。
步骤301C:运营商服务器接收应用客户端发来的使用对称密钥加密的手机身份校验请求。
步骤301D:运营商服务器使用对称密钥解密该手机身份校验请求,并根据手机身份校验请求进行身份验证,如果身份验证成功则执行步骤303。
接下来对于步骤303:
运营商服务器向所述应用客户端下发令牌token。
这里,运营商服务器在接收到手机身份校验请求后,会根据手机身份校验请求进行身份验证,在身份验证成功后,向所述应用客户端下发token。
如前所述,如果运营商服务器生成了对称密钥key,那么,本步骤303中,运营商服务器利用对称密钥key对token进行加密,将加密后的token下发给应用客户端,从而尽可能地避免token泄露。
应用客户端获取了token之后,如果已被加密,则可以利用预先获取的对称密钥key进行解密,获得token。
在应用客户端获得了token之后,应用客户端则可以将该token发送给应用服务器,同时,为了后续的合法性校验,应用客户端同时利用公私钥对中的私钥生成签名信息,比如对设备指纹信息进行签名从而得到签名信息,将该签名信息也发送给应用服务器。应用服务器将接收到的token及签名信息携带在号码获取请求中发送给运营商服务器。
接下来对于步骤305:
运营商服务器接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被公私钥对中的私钥签名后的信息。
执行到本步骤时,运营商服务器从应用客户端处获取了公私钥对中的公钥,并从应用服务器处获取了利用公私钥对中的私钥签名的签名信息,从而就可以进行后续的签名验证。
如前所述,号码获取请求中携带的签名信息可以包括:被上述私钥签名的设备指纹信息。
接下来在步骤307至步骤311中,如前所述,运营商服务器利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,就可以认为在一次一键登录业务中,下发token之前与运营商服务器通信的终端设备与在下发token之后与应用服务器通信的终端设备是同一个终端设备,都是终端设备Y ,也就是说,当前与应用服务器进行一键登录业务的终端设备是合法用户使用的终端设备Y,因此运营商服务器可以向应用服务器提供应用客户端所在的终端设备Y的手机号码,从而使得应用服务器为其当前连接的终端设备Y提供对应的应用服务;相反,如果不合法,就可以认为在一次一键登录业务中,下发token之前与运营商服务器通信的终端设备Y与在下发token之后与应用服务器通信的终端设备X不是同一个终端设备,也就是说,当前与应用服务器连接的终端设备X不是合法用户使用的终端设备Y,而是盗取了token的一个攻击者使用的终端设备X,已经发生了攻击行为,因此运营商服务器不向应用服务器提供应用客户端所在的终端设备Y的手机号码,从而使得应用服务器无法为其当前连接的终端设备X提供对应的应用服务。可见,本说明书实施例的方法避免了应用服务器为攻击者的终端设备提供应用客户端对应的应用服务,提高了安全性。
需要说明的是,在本说明书的实施例中,IP地址可以是IPv4(Internet ProtocolVersion 4,互联网协议第4版)地址以及IPv6(Internet Protocol Version 6,互联网协议第6版)地址中的任意一个或者两个。
在本说明书实施例中,应用客户端可以通过专有链路与应用服务器进行通信,在获得对称密钥之前应用客户端可以通过https链路与运营商服务器进行通信,在获得对称密钥之后应用客户端可以通过http链路与运营商服务器进行通信,应用服务器可以通过https链路与运营商服务器进行通信。
下面说明应用客户端在一键登录业务中的处理。
图4是本说明书一个实施例在应用客户端中实现一键登录业务的方法的流程图。参见图4,该方法包括:
步骤401:生成公私钥对。
步骤403:将公私钥对中的公钥携带在校验请求中发送给运营商服务器。
本步骤403的具体实现的说明可以参见上述对步骤301的所有说明。
比如,校验请求包括如下中的至少一个请求:
携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求;
携带APP ID、所述公钥及时间戳的手机身份校验请求;
携带APP ID及所述公钥的新定义的校验请求。
再如在一种较佳的实现方式中,校验请求为携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求。此时,参见上述对运营商服务器执行的步骤301A至步骤301D的所有说明,应用客户端侧对应执行的处理是在步骤401之后并在步骤403的接收运营商服务器下发的token之前,进一步包括:
应用客户端接收运营商服务器利用公钥加密后的对称密钥;
应用客户端利用公私钥对中的私钥解密出对称密钥;以及
应用客户端使用对称密钥对手机身份校验请求进行加密,然后将加密后的手机身份校验请求发送给运营商服务器。
步骤405:应用客户端接收运营商服务器下发的token。
参见对上述步骤303的说明,运营商服务器在根据手机身份校验请求进行身份验证成功后,会下发利用对称密钥加密的token,因此,在本步骤405中,应用客户端接收到的是加密后的token,应用客户端利用对称密钥对运营商服务器发来的加密后的token进行解密,得到token。
步骤407:应用客户端利用公私钥对中的私钥生成签名信息,将token以及签名信息发送给应用服务器。
本步骤407的一种实现过程包括:应用客户端利用公私钥对中的私钥对其所在的终端设备的设备指纹信息进行签名,得到签名信息。
步骤409:应用客户端如果接收到应用服务器发来的登录授权,则一键登录成功,如果未接收到应用服务器发来的登录授权,则一键登录失败。
下面说明应用服务器在一键登录业务中的处理。
图5是本说明书一个实施例在应用服务器中实现一键登录业务的方法的流程图。参见图5,该方法包括:
步骤501:应用服务器接收应用客户端发来的登录请求,进行登录预授权。
当一个应用客户端需要使用一键登录业务时,首先会向应用服务器发送登录请求,从而触发启动一键登录业务。应用服务器则会进行登录预授权处理,比如发送预登录界面给应用客户端。之后,应用客户端则会执行上述步骤403至步骤407,具体可以参见对步骤403至步骤407的所有相关说明。
步骤503:应用服务器接收应用客户端发来的token及签名信息。
这里,如果token未被攻击者盗取,那么步骤503中与应用服务器通信的终端设备与步骤501中的终端设备就是同一个终端设备,比如记为终端设备Y,那么,步骤503中,签名信息就是该与终端设备Y相关的签名信息。
相反,如果token被攻击者盗取,那么步骤503中与应用服务器通信的终端设备与步骤501中的终端设备就不是同一个终端设备,比如本步骤503中通信的终端设备记为终端设备X,那么,步骤503中,应用服务器接收到的就是与该终端设备X相关的签名信息。
步骤505:将接收到的token以及签名信息携带在号码获取请求中,并将该号码获取请求发送给运营商服务器。
本步骤505中,应用服务器可以通过https链路将所述号码获取请求发送给运营商服务器。
运营商服务器接收到号码获取请求之后的处理可以参见上述对步骤305至步骤311的所有说明。
步骤507:如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
下面结合应用客户端、应用服务器以及运营商服务器三者的配合处理,来说明一键登录业务的实现方法,在该方法中,在运营商服务器下发token之前,以应用客户端通过上述的校验请求1即登录验证请求携带公钥为例进行说明,参见图6,包括:
步骤601:应用客户端通过专有链路向自己所属的应用服务器发送登录请求。
本步骤601中,应用客户端即安装在终端设备中的应用程序(APP)。应用客户端可以是在受到用户的触发后,执行本步骤中发送登录请求的处理。
应用客户端与应用服务器之间存在专有链路,因此可以通过该专有链路而不是公网发送登录请求。
步骤603:应用服务器接收到登录请求后,进行登录预授权,包括通过专有链路向该应用客户端发送预登录界面。
步骤605:应用服务器通过https链路向运营商服务器发送携带应用标识(APPID)、应用签名(APP sign), 密钥标识符(KEY ID)、时间戳以及公钥的登录验证请求。
这里,https链路是一种加密链路,通过该https链路发送登录验证请求可以进一步提高安全性。
步骤607:运营商服务器根据接收到的登录验证请求对应用客户端的身份进行认证,认证成功后会生成一个会话密钥key,利用从登陆验证请求中获取的公钥对该key进行加密,然后通过https链路下发给应用客户端。
这里,key是一个对称密钥。
步骤609:应用客户端生成携带APP ID、所在的终端设备的IP地址和时间戳的手机身份校验请求,用对称密钥key加密后,通过http链路发送给运营商服务器。
这里,手机身份校验请求中携带的应用客户端所在的终端设备的IP地址可以包括IPv4地址以及IPv6地址。
步骤611:运营商服务器利用key解密手机身份校验请求,进行身份验证,在身份验证成功后,利用对称密钥key加密token,并向应用客户端下发加密后的token。
步骤613:应用客户端利用对称密钥解密出token,并利用私钥生成签名信息,通过专有链路将该token以及签名信息发送给应用服务器。
步骤615:应用服务器将APP ID、接收到的token以及签名信息携带在号码获取请求中通过https链路发送给运营商服务器。
步骤617:运营商服务器利用公钥验证号码获取请求中的签名信息的合法性,如果合法,则通过https链路将从网关处查询到的终端设备的手机号码发送给应用服务器,否则,本次一键登录失败。
比如,一键登录失败时,运营商服务器向应用服务器返回取号失败消息。
步骤619:应用服务器如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号并通过专有链路向应用客户端进行登录成功授权处理。
在本说明书的一个实施例中,提供了一键登录业务的实现装置,设置于运营商服务器中,参见图7,该设置于运营商服务器中的装置包括:
公钥获取模块701,配置为接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;
token下发模块702,配置为向所述应用客户端下发令牌token;
签名信息获取模块703,配置为接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;
登录授权处理模块704,配置为利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。
在图7所示的装置中,当所述校验请求包括携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求时,该装置进一步包括:
对称密钥下发模块,配置为生成对称密钥;利用所述公钥对该对称密钥进行加密后发送给应用客户端;
终端身份验证请求模块,配置为接收应用客户端发来的使用对称密钥加密的手机身份校验请求;使用对称密钥解密该手机身份校验请求,并根据手机身份校验请求进行身份验证,在身份验证成功后触发上述token下发模块702下发token;
token下发模块702,配置为在受到触发后,利用对称密钥对token进行加密,并向所述应用客户端下发加密后的token。
在图7所示装置中,登录授权处理模块704被配置为执行:利用公钥验证被所述私钥签名的应用客户端所在的终端设备的指纹信息。
在本说明书的一个实施例中,提出了一键登录业务的实现装置,设置于应用客户端中,参见图8,该设置于应用客户端中的装置包括:
公私钥生成模块801,配置为生成公私钥对;
公钥处理模块802,配置为将公私钥对中的公钥携带在校验请求中发送给运营商服务器;
token获取模块803,配置为接收运营商服务器下发的token;
私钥处理模块804,配置为利用公私钥对中的私钥生成签名信息,将token以及签名信息发送给应用服务器;
登录执行模块805,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
在本说明书的一个实施例中,上述图8所示的装置中,当所述校验请求包括携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求时,该装置进一步包括:
对称密钥获取模块,配置为接收运营商服务器发来的利用公钥加密后的对称密钥;利用公私钥对中的私钥解密出对称密钥;
终端身份验证执行模块,配置为使用对称密钥对手机身份校验请求进行加密,然后将加密后的手机身份校验请求发送给运营商服务器;
上述token获取模块803配置为利用对称密钥对运营商服务器发来的加密后的token进行解密,得到token。
参见图8,私钥处理模块804被配置为执行利用公私钥对中的私钥对应用客户端所在的终端设备的指纹信息进行签名,得到签名信息。
在本说明书的一个实施例中,提出了一键登录业务的实现装置,设置于应用服务器中,参见图9,该装置包括:
预登录模块901,配置为在接收到应用客户端发来的登录请求之后,进行登录预授权;
网络因子获取模块902,配置为接收应用客户端发来的token以及签名信息;
号码获取模块903,配置为将接收到的token以及签名信息携带在号码获取请求中,并将该号码获取请求发送给运营商服务器;
授权执行模块904,配置为如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
在本说明书一个实施例中,号码获取模块903被配置为通过https链路将所述号码获取请求发送给运营商服务器;
授权执行模块904被配置为通过https链路接收运营商服务器发来的应用客户端所在的终端设备的手机号。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (14)
1.一键登录业务的实现方法,应用于运营商服务器,其中包括:
运营商服务器接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;
运营商服务器向所述应用客户端下发令牌token;
运营商服务器接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;
运营商服务器利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。
2.根据权利要求1所述的方法,其中,所述校验请求包括如下中的至少一个请求:
携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求;
携带APP ID、所述公钥及时间戳的手机身份校验请求;
携带APP ID及所述公钥的新定义的校验请求。
3.根据权利要求2所述的方法,其中,当所述校验请求包括携带APP ID、APP sign, KEYID、时间戳以及所述公钥的登录验证请求时,
在所述获取了应用客户端生成的公私钥对中的公钥之后,并在所述向所述应用客户端下发令牌token之前,进一步包括:
生成对称密钥;
利用所述公钥对该对称密钥进行加密后发送给应用客户端;
接收应用客户端发来的使用对称密钥加密的手机身份校验请求;以及
使用对称密钥解密该手机身份校验请求,并根据手机身份校验请求进行身份验证,在身份验证成功后执行所述向所述应用客户端下发令牌token的步骤;
相应地,所述向所述应用客户端下发令牌token,包括:利用对称密钥对token进行加密,并向所述应用客户端下发加密后的token。
4.根据权利要求1所述的方法,其中,所述号码获取请求中携带的签名信息包括:被所述私钥签名的应用客户端所在的终端设备的指纹信息。
5.一键登录业务的实现方法,应用于应用客户端,其中包括:
应用客户端生成公私钥对;
应用客户端将公私钥对中的公钥携带在校验请求中通过与运营商服务器之间的链路发送给运营商服务器;
应用客户端接收运营商服务器下发的token;
应用客户端利用公私钥对中的私钥生成签名信息,将token以及签名信息通过与应用服务器之间的链路发送给应用服务器;
应用客户端如果接收到应用服务器发来的登录授权,则一键登录成功。
6.根据权利要求5所述的方法,包括:所述校验请求包括如下中的至少一个请求:
携带APP ID、APP sign, KEY ID、时间戳以及所述公钥的登录验证请求;
携带APP ID、所述公钥及时间戳的手机身份校验请求;
携带APP ID及所述公钥的新定义的校验请求。
7.根据权利要求6所述的方法,其中,当所述校验请求包括携带APP ID、APP sign, KEYID、时间戳以及所述公钥的登录验证请求时,
在将所述校验请求发送给运营商服务器之后,并在接收运营商服务器下发的token之前,进一步包括:
接收运营商服务器发来的利用公钥加密后的对称密钥;
利用公私钥对中的私钥解密出对称密钥;以及
使用对称密钥对手机身份校验请求进行加密,然后将加密后的手机身份校验请求发送给运营商服务器;
相应地,所述接收运营商服务器下发的token,包括:
利用对称密钥对运营商服务器发来的加密后的token进行解密,得到token。
8.根据权利要求5所述的方法,其中,所述利用公私钥对中的私钥生成签名信息包括:
利用公私钥对中的私钥对应用客户端所在的终端设备的指纹信息进行签名,得到签名信息。
9.一键登录业务的实现方法,应用于应用服务器,其中包括:
应用服务器接收应用客户端发来的登录请求,进行登录预授权;
应用服务器接收应用客户端发来的token及签名信息;其中,签名信息是被应用客户端生成的公私钥对中的私钥签名后的信息;
应用服务器将接收到的token以及签名信息携带在号码获取请求中发送给运营商服务器;
应用服务器如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
10.根据权利要求9所述的方法,其中,所述签名信息包括:被私钥签名的应用客户端所在的终端设备的指纹信息。
11.一键登录业务的实现装置,应用于运营商服务器,包括:
公钥获取模块,配置为接收应用客户端发来的校验请求,从该校验请求中获取应用客户端生成的公私钥对中的公钥;
token下发模块,配置为向所述应用客户端下发令牌token;
签名信息获取模块,配置为接收应用服务器发来的携带签名信息的号码获取请求;其中,签名信息是被所述公私钥对中的私钥签名后的信息;
登录授权处理模块,配置为利用所述公钥验证所述号码获取请求中的所述签名信息的合法性,如果合法,则根据所述号码获取请求中携带的token获取应用客户端所在的终端设备的手机号,并发送给所述应用服务器,如果不相同,则拒绝将该终端设备的手机号发送给所述应用服务器。
12.一键登录业务的实现装置,应用于应用客户端,包括:
公私钥生成模块,配置为生成公私钥对;
公钥处理模块,配置为将公私钥对中的公钥携带在校验请求中通过与运营商服务器之间的链路发送给运营商服务器;
token获取模块,配置为接收运营商服务器下发的token;
私钥处理模块,配置为利用公私钥对中的私钥生成签名信息,将token以及签名信息通过与运营商服务器之间的链路发送给应用服务器;
登录执行模块,配置为如果接收到应用服务器发来的登录授权,则一键登录成功。
13.一键登录业务的实现装置,应用于应用服务器,包括:
预登录模块,配置为在接收到应用客户端发来的登录请求之后,进行登录预授权;
网络因子获取模块,配置为接收应用客户端发来的token以及签名信息;其中,签名信息是被应用客户端生成的公私钥对中的私钥签名后的信息;
号码获取模块,配置为将接收到的token以及签名信息携带在号码获取请求中,并将该号码获取请求发送给运营商服务器;
授权执行模块,配置为如果接收到运营商服务器发来的应用客户端所在的终端设备的手机号,则根据该手机号进行登录授权处理。
14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618741.2A CN113993127B (zh) | 2021-12-28 | 2021-12-28 | 一键登录业务的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618741.2A CN113993127B (zh) | 2021-12-28 | 2021-12-28 | 一键登录业务的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113993127A CN113993127A (zh) | 2022-01-28 |
CN113993127B true CN113993127B (zh) | 2022-05-06 |
Family
ID=79734684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111618741.2A Active CN113993127B (zh) | 2021-12-28 | 2021-12-28 | 一键登录业务的实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113993127B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679276B (zh) * | 2022-02-18 | 2024-04-23 | 支付宝(杭州)信息技术有限公司 | 基于时间的一次性密码算法的身份认证方法和装置 |
CN115277082B (zh) * | 2022-06-23 | 2024-01-12 | 支付宝(杭州)信息技术有限公司 | 第三方应用的校验方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616360A (zh) * | 2018-03-22 | 2018-10-02 | 阿里巴巴集团控股有限公司 | 用户身份校验、注册方法及装置 |
CN109688147A (zh) * | 2018-12-29 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 应用登录方法、装置、终端、服务器、系统及存储介质 |
CN111212095A (zh) * | 2020-04-20 | 2020-05-29 | 国网电子商务有限公司 | 一种身份信息的认证方法、服务器、客户端及系统 |
CN111245870A (zh) * | 2020-04-26 | 2020-06-05 | 国网电子商务有限公司 | 基于移动终端的身份认证方法及相关装置 |
CN111770057A (zh) * | 2020-05-29 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 身份验证系统及身份验证方法 |
CN113132317A (zh) * | 2019-12-31 | 2021-07-16 | 中移互联网有限公司 | 一种身份认证方法、系统及装置 |
CN113765906A (zh) * | 2021-08-30 | 2021-12-07 | 北京深思数盾科技股份有限公司 | 终端应用程序的一键登录的方法、设备及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104902028B (zh) * | 2015-06-19 | 2019-02-15 | 广州密码科技有限公司 | 一种一键登录认证方法、装置及系统 |
US11245706B2 (en) * | 2017-03-27 | 2022-02-08 | Oracle Systems Corporation | Protection configuration for application programming interfaces |
CN107948204B (zh) * | 2017-12-29 | 2020-10-30 | 咪咕文化科技有限公司 | 一键登录方法及系统、相关设备以及计算机可读存储介质 |
CN111666546B (zh) * | 2020-06-19 | 2023-10-13 | 上海连尚网络科技有限公司 | 应用的登录方法和装置 |
-
2021
- 2021-12-28 CN CN202111618741.2A patent/CN113993127B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616360A (zh) * | 2018-03-22 | 2018-10-02 | 阿里巴巴集团控股有限公司 | 用户身份校验、注册方法及装置 |
CN109688147A (zh) * | 2018-12-29 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 应用登录方法、装置、终端、服务器、系统及存储介质 |
CN113132317A (zh) * | 2019-12-31 | 2021-07-16 | 中移互联网有限公司 | 一种身份认证方法、系统及装置 |
CN111212095A (zh) * | 2020-04-20 | 2020-05-29 | 国网电子商务有限公司 | 一种身份信息的认证方法、服务器、客户端及系统 |
CN111245870A (zh) * | 2020-04-26 | 2020-06-05 | 国网电子商务有限公司 | 基于移动终端的身份认证方法及相关装置 |
CN111770057A (zh) * | 2020-05-29 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 身份验证系统及身份验证方法 |
CN113765906A (zh) * | 2021-08-30 | 2021-12-07 | 北京深思数盾科技股份有限公司 | 终端应用程序的一键登录的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113993127A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI115098B (fi) | Todentaminen dataviestinnässä | |
CN112039918B (zh) | 一种基于标识密码算法的物联网可信认证方法 | |
CN111050314A (zh) | 客户端注册方法、装置及系统 | |
CN113993127B (zh) | 一键登录业务的实现方法和装置 | |
WO2017150270A1 (ja) | 通信システム、ハードウェアセキュリティモジュール、端末装置、通信方法、及びプログラム | |
CN102201915A (zh) | 一种基于单点登录的终端认证方法和装置 | |
CN112543166B (zh) | 实名登录的方法及装置 | |
US9648650B2 (en) | Pairing of devices through separate networks | |
EP4346256A1 (en) | Implementation of one-key login service | |
CN111050322A (zh) | 基于gba的客户端注册和密钥共享方法、装置及系统 | |
US11070537B2 (en) | Stateless method for securing and authenticating a telecommunication | |
CN114765534B (zh) | 基于国密标识密码算法的私钥分发系统和方法 | |
CN113225352A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN107094156A (zh) | 一种基于p2p模式的安全通信方法及系统 | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CN111756530A (zh) | 量子服务移动引擎系统、网络架构及相关设备 | |
CN115102740A (zh) | 通信方法、装置、设备、存储介质及程序产品 | |
CN110138558B (zh) | 会话密钥的传输方法、设备及计算机可读存储介质 | |
CN114158046B (zh) | 一键登录业务的实现方法和装置 | |
CN110048842B (zh) | 会话密钥处理方法、设备及计算机可读存储介质 | |
CN115801287A (zh) | 签名认证方法和装置 | |
CN112995090A (zh) | 终端应用的认证方法、装置、系统和计算机可读存储介质 | |
CN102869010A (zh) | 单点登录方法及系统 | |
CN114158047B (zh) | 一键登录业务的实现方法和装置 | |
CN105871788B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |