CN114640460B - 一种应用程序中的用户登录方法、装置、设备及介质 - Google Patents

一种应用程序中的用户登录方法、装置、设备及介质 Download PDF

Info

Publication number
CN114640460B
CN114640460B CN202210109177.XA CN202210109177A CN114640460B CN 114640460 B CN114640460 B CN 114640460B CN 202210109177 A CN202210109177 A CN 202210109177A CN 114640460 B CN114640460 B CN 114640460B
Authority
CN
China
Prior art keywords
signature
application
mobile terminal
login
server
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
Application number
CN202210109177.XA
Other languages
English (en)
Other versions
CN114640460A (zh
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.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
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 Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN202210109177.XA priority Critical patent/CN114640460B/zh
Publication of CN114640460A publication Critical patent/CN114640460A/zh
Application granted granted Critical
Publication of CN114640460B publication Critical patent/CN114640460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • G06K17/0025Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

本公开提出了一种应用程序中的用户登录方法、装置、设备、介质,该方法包括:在需要扫码登录应用程序的PC端应用时,通过移动端上的应用程序的移动端应用扫描PC端应用中显示的二维码,以获取到二维码中包括的登录信息;通过移动端应用对移动端应用中的APP Token与登录信息进行签名,得到第一签名,并将APP Token、登录信息及第一签名发送到服务端;在获取到用户确认登录信息时,通过移动端应用对用户确认登录信息进行签名,得到第二签名,并将APP Token、用户确认登录信息及第二签名发送到服务端。这样能够提高移动端应用扫码登录过程中的安全性,不易受到攻击。

Description

一种应用程序中的用户登录方法、装置、设备及介质
技术领域
本公开涉及计算机技术领域,特别涉及一种应用程序中的用户登录方法、装置、设备、介质。
背景技术
在实际过程中,很多应用程序都既有移动端应用,又有PC(Personal Computer)端应用,例如,微信既有移动端应用,也即微信的手机APP(Application,手机软件),也有PC端应用,也即电脑版的微信。对于既有移动端应用,又有PC端应用的应用程序来说,通常可以利用移动端应用扫码方式登录对应的PC端应用。扫码登录的基本原理是手机端上的移动端应用扫描PC端应用上的二维码,并从中解析出数据,然后把数据和移动端应用中已登录的APP Token绑定关联,点击确认登录,并通过POST请求发送给服务器。与此同时,PC端应用也在不停地轮询,当移动端应用扫码并点击登录之后,轮询的某个请求会返回一个URL(Uniform Resource Locator,统一资源定位器),PC端应用直接访问这个URL就能得到登录认证,进行后续与服务器的交互。移动端应用的扫码登录的安全性是建立在手机这一设备是安全的前提下的,也就是将风险转移到了移动端应用,目前移动端应用的关于扫码认证过程安全性较低,容易受到攻击。
发明内容
有鉴于此,本公开的目的在于提供一种应用程序中的用户登录方法、装置、设备、介质,能够提高移动端应用扫码登录过程中的安全性,不易受到攻击。其具体方案如下:
第一方面,本公开提出了一种应用程序中的用户登录方法,应用于移动端,包括:
在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的;
通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面;
在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEBToken,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。
可选地,所述登录信息包括通用唯一识别码和第一随机数,或,所述登录信息包括所述通用唯一识别码和所述PC端应用访问所述服务端的时间戳,或,所述登录信息包括所述通用唯一识别码、所述第一随机数和所述时间戳。
可选地,所述在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码之前,还包括:
通过所述移动端应用向所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识;
接收所述服务端发送的第二数字证书、第三随机数和第三签名,其中,所述第三随机数为所述服务端在对所述第一数字证书验证通过后生成的,所述第三签名为所述服务端在对所述第一数字证书验证通过后对所述第二随机数签名得到的;
对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名;
将所述第四签名发送到所述服务端,以便所述服务端在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token;
接收所述服务端发送的所述APP Token,并存储所述APP Token,完成所述移动端应用的用户登录。
可选地,所述对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名,包括:
对所述第二数字证书的有效性进行验证;
在所述第二数字证书验证通过时,利用第一公钥对所述第三签名进行解密,其中,所述第三签名为所述服务端在对所述第一数字证书验证通过后利用所述第一公钥对应的第一私钥对所述第二随机数进行加密得到的;
在所述第三签名解密成功时,判定所述第三签名验证通过,并利用第二私钥对所述第三随机数进行签名,得到第四签名。
第二方面,本公开提出了一种应用程序中的用户登录方法,应用于服务端,包括:
在应用程序的PC端应用访问所述服务端并请求扫描登录时,生成二维码,并将所述二维码返回给所述PC端应用,以便所述PC端应用对所述二维码进行显示,其中,所述二维码中包括登录信息;
接收移动端上的所述应用程序的移动端应用发送的APP Token、所述登录信息及第一签名,其中,所述移动端应用处于用户登录成功状态,所述登录信息为利用所述移动端应用扫描所述二维码获取到的,所述第一签名为所述移动端应用对所述APP Token和所述登录信息进行签名得到的;
对所述APP Token、所述登录信息及所述第一签名进行验证,并在验证通过后,指示所述移动端应用显示用户确认登录界面;
接收所述移动端应用发送的所述APP Token、用户确认登录信息及第二签名,其中,所述用户确认登录信息为所述移动端应用通过所述用户确认登录界面获取到的信息,所述第二签名为所述移动端应用对所述用户确认登录信息进行签名得到的;
对所述APP Token及所述第二签名进行验证,在验证通过后,生成WEB Token,并将所述WEB Token发送给所述PC端应用,完成所述PC端应用的用户登录。
可选地,所述生成二维码,包括:
生成登录信息,其中,所述登录信息包括通用唯一识别码;
将所述登录信息转换成二维码。
可选地,所述对所述APP Token、所述登录信息及所述第一签名进行验证,包括:
验证所述APP Token是否为所述服务端生成并下发的,并验证所述APP Token的有效期是否结束;
在所述APP Token为所述服务端生成并下发的,且所述APP Token的有效期未结束时,利用第二公钥对所述第一签名进行解密,其中,所述第一签名为所述移动端应用利用所述第二公钥对应的第二私钥对所述APP Token和所述登录信息进行加密得到的;
在所述第一签名解密成功时,验证所述登录信息是否为所述服务端生成并下发的;
在所述登录信息为所述服务端生成并下发的时,则判定所述APP Token、所述登录信息及所述第一签名验证通过。
第三方面,本公开提出了一种应用程序中的用户登录装置,应用于移动端,包括:
应用程序的移动端应用中的扫描模块,用于在需要登录所述应用程序的PC端应用时,扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的;
所述移动端应用中的签名模块,用于对所述移动端应用中的APP Token与所述登录信息进行签名,得到第一签名;
所述移动端应用中的信息发送模块,用于将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面;
所述签名模块,用于在获取到用户确认登录信息时,对所述用户确认登录信息进行签名,得到第二签名;
所述信息发送模块,用于将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。
第四方面,本公开提出了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的应用程序中的用户登录方法。
第五方面,本公开提出了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的应用程序中的用户登录方法。
可见,本公开在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的。然后通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面。在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。由此可以,本公开中在发送APP Token和登录信息的过程中一起发送了对APPToken和登录信息进行签名得到的第一签名,在发送APP Token和用户确认登录信息的过程中一起发送了对用户确认登录信息进行签名得到的第二签名,这样使得服务端需要在APPToken、登录信息、第一签名及第二签名等验证均通过后,才能完成最终的PC端应用的用户登录,能够提高移动端应用扫码登录过程中的安全性,使得整个移动端的扫描登录过程中不易受到攻击。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本公开提出的一种应用程序中的用户登录方法流程图;
图2为本公开提出的一种具体的应用程序中的用户登录方法部分流程图;
图3为本公开提出的一种具体的应用程序中的用户登录部分方法流程图;
图4为本公开提出的一种应用程序中的用户登录方法流程图;
图5为本公开提出的一种具体的应用程序中的用户登录方法流程图;
图6为本公开提出的一种应用程序中的用户登录装置结构示意图;
图7为本公开提出的一种应用程序中的用户登录装置结构示意图;
图8为本公开提出的一种电子设备结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
参见图1所示,本公开实施例提出了一种应用程序中的用户登录方法,应用于移动端,该方法包括:
步骤S11:在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的。
在具体的实施过程中,所述应用程序既有移动端应用,也有PC端应用,其中,所述移动端应用为在移动端上应用的所述应用程序,所述PC端应用为在PC端上应用的所述应用程序,所述PC端应用包括但不限于Windows端应用、Linux端应用等,所述移动端应用包括但不限于安卓端应用、苹果移动端应用等,所述移动端包括手机,且所述PC端应用可以为专门的软件,也可以为网页版的应用,例如,微信既有移动端应用,微信手机APP,也有PC端应用,包括下载安装到PC端的微信以及网页版的微信。为了登录的快捷方便,PC端应用通常可以采用扫描登录方式进行用户登录,也即,利用PC端应用对应的处于用户登录成功状态的移动端应用扫描PC端应用上显示的登录用的二维码,从而进行PC端应用的用户登录。
在需要扫码登录到应用程序的PC端应用时,通过所述移动端上的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述登录信息为用于登录的信息,所述移动端应用处于用户登录成功状态,在实际过程中,用于扫码的移动端需要为授信设备,也即,用于扫码的移动端上的移动端应用需要处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的。
也即,在所述PC端先访问对应的服务端,并请求扫码登录,服务端在收到扫码登录请求时,便会生成二维码并将所述二维码和所述登录信息下发到所述PC端应用中,所述PC端应用在接收到所述二维码和所述登录信息时,对所述二维码进行显示,用户会利用移动端上所述PC端应用对应的移动端应用扫描所述二维码,所述移动端应用便可以从所述二维码中获取到所述登录信息。其中,所述登录信息包括通用唯一识别码和第一随机数,或,所述登录信息包括所述通用唯一识别码和所述PC端应用访问所述服务端的时间戳,或,所述登录信息包括所述通用唯一识别码、所述第一随机数和所述时间戳。
也即,所述服务端在获取到扫码登录请求时,会先生成所述登录信息,然后将所述登录信息转换成二维码。在生成所述登录信息的过程中,可以生成一个通用唯一识别码(UUID,Universally Unique Identifier)和一个第一随机数作为所述登录信息,当然所述服务端也可以生成一个通用唯一识别码,再加上所述PC端应用访问所述服务端的时间戳作为所述登录信息,当然所述服务端也可以生成一个通用唯一识别码和一个第一随机数,再加上所述PC端应用访问所述服务端的时间戳作为所述登录信息。在实际实施过程中,所述登录信息的生成方式可以包括其他的生成方式,在此不做具体限定。
步骤S12:通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面。
在获取到所述登录信息之后,所述移动端应用需要对所述移动端应用中的APPToken与所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面。其中,所述APP Token为在所述移动端应用登录成功时,所述服务端下发给所述移动端应用的令牌。
也即,在获取到所述登录信息之后,所述移动端应用利用第二私钥对所述APPToken和所述登录信息进行加密,得到第一签名,然后将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,其中,所述第二私钥为所述移动端应用与所述服务端通信过程中,所述移动端应用用来进行加密的私钥,所述第二私钥为所述移动端应用在下载到所述移动端并安装成功后,首次进行用户登录时,所述移动端应用与所述服务端商量确定的,所述第二私钥对应的第二公钥保存在所述服务端上与首次进行用户登录时的用户信息绑定。所述服务端在接收到所述APP Token、所述登录信息及所述第一签名之后对所述APPToken、所述登录信息及所述第一签名进行验证,然后在验证通过时,便可以指示所述移动端应用显示用户确定登录界面,以便用户可以通过所述用户登录确认界面进行登录确认。
步骤S13:在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。
在显示所述用户登录确定界面之后,用户可以通过所述用户登录确认界面进行登录确认,所以在获取到用户确认登录信息时,所述移动端应用需要对所述用户登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,所述服务端在接收到所述APP Token、所述用户确认登录信息及所述第二签名之后,还需要对所述APP Token及所述第二签名进行验证,并在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。
可见,本公开在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的。然后通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面。在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。由此可以,本公开中在发送APP Token和登录信息的过程中一起发送了对APPToken和登录信息进行签名得到的第一签名,在发送APP Token和用户确认登录信息的过程中一起发送了对用户确认登录信息进行签名得到的第二签名,这样使得服务端需要在APPToken、登录信息、第一签名及第二签名等验证均通过后,才能完成最终的PC端应用的用户登录,能够提高移动端应用扫码登录过程中的安全性,使得整个移动端的扫描登录过程中不易受到攻击。
参见图2所示,在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码之前,还包括:
步骤S21:通过所述移动端应用向所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识。
在利用所述移动端应用对所述PC端应用进行扫码登录之前,所述移动端应用需要先进行用户登录,以便处于用户登录成功状态,所以所述移动端应用需要先所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识。
也即,所述移动端应用在向所述服务端发送移动端登录请求之前,需要先生成所述第二随机数,然后将所述第二随机数、所述移动端应用中的第一数据证书以及所述移动端的设备标识作为移动端应用登录请求中的一部分信息,向所述服务端发起请求。
步骤S22:接收所述服务端发送的第二数字证书、第三随机数和第三签名,其中,所述第三随机数为所述服务端在对所述第一数字证书验证通过后生成的,所述第三签名为所述服务端在对所述第一数字证书验证通过后对所述第二随机数签名得到的。
在所述服务端接收到所述移动端登录请求之后,便会对所述第一数字证书进行验证,并在验证通过后,生成第三随机数并对所述第二随机数进行签名,得到第三签名,然后将所述服务端中的第二数字证书、所述第三随机数以及所述第三签名发送给所述移动端应用。相应地,所述移动端应用便需要接收所述第二数字证书、所述第三随机数和所述第三签名。
步骤S23:对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名。
在接收到所述第二数字证书、所述第三随机数和所述第三签名之后,所述移动端应用需要对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名。
具体的,对所述第二数字证书的有效性进行验证;在所述第二数字证书验证通过时,利用第一公钥对所述第三签名进行解密,其中,所述第三签名为所述服务端在对所述第一数字证书验证通过后利用所述第一公钥对应的第一私钥对所述第二随机数进行加密得到的;在所述第三签名解密成功时,判定所述第三签名验证通过,并利用第二私钥对所述第三随机数进行签名,得到第四签名。其中,所述第一公钥为所述服务端下发给所述移动端应用的,所述第一私钥用于加密所述服务端下发给所述移动端应用的数据,所以第一公钥用于解密所述服务端下发的利用所述第一私钥进行加密的数据。
步骤S24:将所述第四签名发送到所述服务端,以便所述服务端在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token。
在得到所述第四签名之后,所述移动端应用将所述第四签名发送到所述服务端,所述服务端在接收到所述第四签名之后,对所述第四签名进行验证,并在验证通过后,利用所述用户信息和所述设备标识生成所述APP Token,然后将所述APP Token下发给所述移动端应用。
步骤S25:接收所述服务端发送的所述APP Token,并存储所述APP Token,完成所述移动端应用的用户登录。
相应地,所述移动端应用便需要接收所述服务端发送的所述APP Token,并存储所述APP Token,完成所述移动端应用的用户登录。
参见图3所示,为移动端应用进行用户登录的流程图。所述移动端应用也即图3中的APP端,所述APP端和所述服务端中的登录过程中的校验以及签名工作均由各自内部的密码模块负责进行。首先APP端通过自身的密码模块产生第二随机数Rc,携带第一数字证书CertC、所述第二随机数Rc、用户信息以及所述移动端的设备标识deviceID等信息向服务端请求认证。所述服务端在接收到第一数字证书CertC、所述第二随机数Rc、用户信息以及所述移动端的设备标识deviceID之后,暂存所述设备标识deviceID和所述用户信息,并通过服务端中的密码模块验证第一数字证书CertC的有效性,验证通过后,对所述第二随机数Rc进行签名,得到第三签名Sign-Rc,同时也产生第三随机数Rs。所述服务端返回第二数字证书CertS、所述第三随机数Rs以及所述第三签名Sign-Rc至APP端。APP端首先验证所述第二数字证书CertS的有效性,验证通过后,对所述第三签名Sign-Rc进行验签,验签通过后,对第三随机数Rs进行签名,得到第四签名Sign-Rs。APP端发送所述第四签名Sign-Rs至服务端。服务端通过自身中的密码模块对所述第四签名Sign-Rs进行验签,验签通过后,服务端基于所述用户信息及所述设备deviceID生成登录APP Token,并将APP Token返回至APP端。APP端暂存appToken,登录成功。
参见图4所示,本公开实施例提出了一种应用程序中的用户登录方法,应用于服务端,该方法包括:
步骤S31:在应用程序的PC端应用访问所述服务端并请求扫描登录时,生成二维码,并将所述二维码返回给所述PC端应用,以便所述PC端应用对所述二维码进行显示,其中,所述二维码中包括登录信息。
在应用程序的PC端应用访问所述服务端并请求扫描登录时,所述服务端会生成二维码,并将二维码返回给所述PC端应用,以便所述PC端应用对所述二维码进行显示,其中,所述二维码中包括登录信息。
也即,所述服务端需要先生成登录信息,其中,所述登录信息包括通用唯一识别码;将所述登录信息转换成二维码。具体的,所述登录信息包括通用唯一识别码和第一随机数,或,所述登录信息包括所述通用唯一识别码和所述PC端应用访问所述服务端的时间戳,或,所述登录信息包括所述通用唯一识别码、所述第一随机数和所述时间戳。
步骤S32:接收移动端上的所述应用程序的移动端应用发送的APP Token、所述登录信息及第一签名,其中,所述移动端应用处于用户登录成功状态,所述登录信息为利用所述移动端应用扫描所述二维码获取到的,所述第一签名为所述移动端应用对所述APPToken和所述登录信息进行签名得到的。
在将所述二维码返回给所述PC端应用之后,所述PC端应用便会对所述二维码进行显示,并由用户利用移动端上的所述PC端应用对应的移动端应用扫描所述二维码,获取到所述二维码中包括的所述登录信息,所述移动端用应在获取到所述登录信息之后,并会对所述移动端应用中的APP Token与所述登录信息进行签名得到的,得到第一签名,然后将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,相应地,所述服务端并需要接收所述APP Token、所述登录信息及所述第一签名。
步骤S33:对所述APP Token、所述登录信息及所述第一签名进行验证,并在验证通过后,指示所述移动端应用显示用户确认登录界面。
所述服务端在接收到所述APP Token、所述登录信息及所述第一签名之后,需要对所述APP Token、所述登录信息及所述第一签名进行验证,并在验证通过后,指示所述移动端应用显示用户确认登录界面。
其中,所述对所述APP Token、所述登录信息及所述第一签名进行验证,包括:验证所述APP Token是否为所述服务端生成并下发的,并验证所述APP Token的有效期是否结束;在所述APP Token为所述服务端生成并下发的,且所述APP Token的有效期未结束时,利用第二公钥对所述第一签名进行解密,其中,所述第一签名为所述移动端应用利用所述第二公钥对应的第二私钥对所述APP Token和所述登录信息进行加密得到的;在所述第一签名解密成功时,验证所述登录信息是否为所述服务端生成并下发的;在所述登录信息为所述服务端生成并下发的时,则判定所述APP Token、所述登录信息及所述第一签名验证通过。
步骤S34:接收所述移动端应用发送的所述APP Token、用户确认登录信息及第二签名,其中,所述用户确认登录信息为所述移动端应用通过所述用户确认登录界面获取到的信息,所述第二签名为所述移动端应用对所述用户确认登录信息进行签名得到的。
用户可以通过所述移动端应用上显示的用户确认登录界面进行登录确认,在获取到用户确认登录信息之后,所述移动端应用便会对所述用户确认登录信息进行签名,得到第二签名,然后将所述APP Token、所述用户确认登录信息和所述第二签名发送到所述服务端,相应地,所述服务端便需要接收所述APP Token、所述用户确认登录信息和所述第二签名。
步骤S35:对所述APP Token及所述第二签名进行验证,在验证通过后,生成WEBToken,并将所述WEB Token发送给所述PC端应用,完成所述PC端应用的用户登录。
在接收到所述APP Token、所述用户确认登录信息和所述第二签名之之后,还需要验证所述APP Token是否为其生成并下发的,以及所述APP Token的有效期是否结束,如果所述APP Token为所述服务端生成并下发的,且还有效,并对所述第二签名进行解密,如果解密成功,则验证通过,生成WEB Token,并将所述WEB Token发送给所述PC端应用,完成所述PC端应用的用户登录。
参见图5所示,为PC端应用的用户登录流程图。所述PC端应用也即图5中的WEB端,所述移动端应用也即图5中的APP端。WEB端请求访问应用系统,并采用扫描登录,服务端生成唯一的UUID和第一随机数Rs的登录信息,并将所述唯一的UUID和第一随机数Rs转换成二维码,服务端向WEB端返回携带UUID和所述第一随机数Rs的二维码、UUID和所述第一随机数Rs,所述WEB端请求APP端扫描,也即,显示利用APP端进行扫描的提示信息,然后APP端扫描所述二维码获取所述UUID和所述第一随机数Rs,并将所述APP端中的APP Token与所述UUID和所述第一随机数Rs绑定,并对所述APP Token、所述UUID和所述第一随机数Rs进行签名,得到第一签名Sign,然后APP端将所述APP Token、所述UUID、所述第一随机数Rs及所述第一签名Sign发送到所述服务端,服务端首先验证所述APP Token,然后验证所述第一签名Sign,最后验证所述UUID和所述第一随机数Rs,在验证通过后,所述APP端页面跳转为用户确定登录页面,服务端将用户相关信息返回给所述WEB端,且WEB端进行页面跳转,提示用户在APP端确认登录,用户点击确认登录之后,对用户确认登录信息进行签名,得到第二签名Sign2,并将所述APP Token、所述用户确认登录信息以及所述第二签名Sign2发送到所述服务端,所述服务端首先验证所述APP Token,然后验证所述第二签名Sign2,验证通过后,生成WEB Token,并将所述WEB Token返回给所述WEB服务端,登录成功。
所述移动端应用和所述PC端应用与所述服务端之间的所有接口访问使用https协议(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议),因为接口中携带有用户的登录APP Token和WEB Token等敏感信息。所述登录信息应有一个较短的有效期,且一次有效,用过即失效,且应只允许在展示该登录信息的设备上进行登录,需要有支持防伪造的唯一标识设备的能力,比如生成所述登录信息时采用设备指纹。扫码登录只支持一个终端使用,即在一个终端扫码登录成功后,在另一终端发起扫码登录请求时,上一个终端的登录状态应变为退出。扫码端(也即所述移动端)必须是授信设备,也即,所述移动端上的移动端应用需要处于用户登录成功状态,WEB端不能成为扫码端。APP客户端具备密码软模块或所述移动端上需要具体密码卡。
参见图6所示,本公开实施例提出了一种应用程序中的用户登录装置10,应用于移动端,包括:
应用程序的移动端应用中的扫描模块11,用于在需要登录所述应用程序的PC端应用时,扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的;
所述移动端应用中的签名模块12,用于对所述移动端应用中的APP Token与所述登录信息进行签名,得到第一签名;
所述移动端应用中的信息发送模块13,用于将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面;
所述签名模块12,用于在获取到用户确认登录信息时,对所述用户确认登录信息进行签名,得到第二签名;
所述信息发送模块13,用于将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。
可见,本公开在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的。然后通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面。在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录。由此可以,本公开中在发送APP Token和登录信息的过程中一起发送了对APPToken和登录信息进行签名得到的第一签名,在发送APP Token和用户确认登录信息的过程中一起发送了对用户确认登录信息进行签名得到的第二签名,这样使得服务端需要在APPToken、登录信息、第一签名及第二签名等验证均通过后,才能完成最终的PC端应用的用户登录,能够提高移动端应用扫码登录过程中的安全性,使得整个移动端的扫描登录过程中不易受到攻击。
在一些具体的实施过程中,所述登录信息包括通用唯一识别码和第一随机数,或,所述登录信息包括所述通用唯一识别码和所述PC端应用访问所述服务端的时间戳,或,所述登录信息包括所述通用唯一识别码、所述第一随机数和所述时间戳。
在一些具体的实施过程中,所述信息发送模块13,用于向所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识;
相应地,所述应用程序中的用户登录装置,还包括:所述移动端应用中的第一信息接收模块,用于接收所述服务端发送的第二数字证书、第三随机数和第三签名,其中,所述第三随机数为所述服务端在对所述第一数字证书验证通过后生成的,所述第三签名为所述服务端在对所述第一数字证书验证通过后对所述第二随机数签名得到的;
相应地,所述应用程序中的用户登录装置,还包括:所述移动端应用中的第一验证模块,用于对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名;
所述信息发送模块13,用于将所述第四签名发送到所述服务端,以便所述服务端在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token;
所述第一信息接收模块,用于接收所述服务端发送的所述APP Token,并存储所述APP Token,完成所述移动端应用的用户登录。
在一些具体的实施过程中,所述第一验证模块,用于:
对所述第二数字证书的有效性进行验证;
在所述第二数字证书验证通过时,利用第一公钥对所述第三签名进行解密,其中,所述第三签名为所述服务端在对所述第一数字证书验证通过后利用所述第一公钥对应的第一私钥对所述第二随机数进行加密得到的;
在所述第三签名解密成功时,判定所述第三签名验证通过,并利用第二私钥对所述第三随机数进行签名,得到第四签名。
参见图7所示,本公开实施例提出了一种应用程序中的用户登录装置20,应用于服务端,包括:
二维码生成模块21,用于在应用程序的PC端应用访问所述服务端并请求扫描登录时,生成二维码;
信息发送模块22,用于将所述二维码返回给所述PC端应用,以便所述PC端应用对所述二维码进行显示,其中,所述二维码中包括登录信息;
第二信息接收模块23,用于接收移动端上的所述应用程序的移动端应用发送的APP Token、所述登录信息及第一签名,其中,所述移动端应用处于用户登录成功状态,所述登录信息为利用所述移动端应用扫描所述二维码获取到的,所述第一签名为所述移动端应用对所述APP Token和所述登录信息进行签名得到的;
第二验证模块24,用于对所述APP Token、所述登录信息及所述第一签名进行验证,并在验证通过后,指示所述移动端应用显示用户确认登录界面;
所述第二信息接收模块23,用于接收所述移动端应用发送的所述APP Token、用户确认登录信息及第二签名,其中,所述用户确认登录信息为所述移动端应用通过所述用户确认登录界面获取到的信息,所述第二签名为所述移动端应用对所述用户确认登录信息进行签名得到的;
所述第二验证模块24,用于对所述APP Token及所述第二签名进行验证,在验证通过后,生成WEB Token;
所述信息发送模块22,用于将所述WEB Token发送给所述PC端应用,完成所述PC端应用的用户登录。
在一些具体的实施过程中,所述二维码生成模块21,用于:
生成登录信息,其中,所述登录信息包括通用唯一识别码;
将所述登录信息转换成二维码。
在一些具体的实施过程中,所述第二验证模块24,用于:
验证所述APP Token是否为所述服务端生成并下发的,并验证所述APP Token的有效期是否结束;
在所述APP Token为所述服务端生成并下发的,且所述APP Token的有效期未结束时,利用第二公钥对所述第一签名进行解密,其中,所述第一签名为所述移动端应用利用所述第二公钥对应的第二私钥对所述APP Token和所述登录信息进行加密得到的;
在所述第一签名解密成功时,验证所述登录信息是否为所述服务端生成并下发的;
在所述登录信息为所述服务端生成并下发的时,则判定所述APP Token、所述登录信息及所述第一签名验证通过。
图8是根据一示例性实施例示出的一种电子设备30的框图。该电子设备30包括处理器31和存储器32。该电子设备30还可以包括多媒体组件33,输入/输出(I/O)接口34,以及通信组件35中的一者或多者。
其中,处理器31用于控制该电子设备30的整体操作,以完成上述的应用程序中的用户登录方法中的全部或部分步骤。存储器32用于存储各种类型的数据以支持在该电子设备30的操作,这些数据例如可以包括用于在该电子设备30上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器32可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件33可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器32或通过通信组件35发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口34为处理器31和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件35用于该电子设备30与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件35可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备30可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用程序中的用户登录方法。
进一步的,本公开实施例还提出了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的应用程序中的用户登录方法。
其中,关于上述应用程序中的用户登录方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种应用程序中的用户登录方法,其特征在于,应用于移动端,包括:
在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的;
通过所述移动端应用对所述移动端应用中的APP Token和所述登录信息进行签名,得到第一签名,并将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面;
在获取到用户确认登录信息时,通过所述移动端应用对所述用户确认登录信息进行签名,得到第二签名,并将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEBToken,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录;
其中,所述在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码之前,还包括:
通过所述移动端应用向所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识;
接收所述服务端发送的第二数字证书、第三随机数和第三签名,其中,所述第三随机数为所述服务端在对所述第一数字证书验证通过后生成的,所述第三签名为所述服务端在对所述第一数字证书验证通过后对所述第二随机数签名得到的;
对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名;
将所述第四签名发送到所述服务端,以便所述服务端在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token;
接收所述服务端发送的所述APP Token,并存储所述APP Token,完成所述移动端应用的用户登录。
2.根据权利要求1所述的应用程序中的用户登录方法,其特征在于,所述登录信息包括通用唯一识别码和第一随机数,或,所述登录信息包括所述通用唯一识别码和所述PC端应用访问所述服务端的时间戳,或,所述登录信息包括所述通用唯一识别码、所述第一随机数和所述时间戳。
3.根据权利要求1所述的应用程序中的用户登录方法,其特征在于,所述对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名,包括:
对所述第二数字证书的有效性进行验证;
在所述第二数字证书验证通过时,利用第一公钥对所述第三签名进行解密,其中,所述第三签名为所述服务端在对所述第一数字证书验证通过后利用所述第一公钥对应的第一私钥对所述第二随机数进行加密得到的;
在所述第三签名解密成功时,判定所述第三签名验证通过,并利用第二私钥对所述第三随机数进行签名,得到第四签名。
4.一种应用程序中的用户登录方法,其特征在于,应用于服务端,包括:
在应用程序的PC端应用访问所述服务端并请求扫描登录时,生成二维码,并将所述二维码返回给所述PC端应用,以便所述PC端应用对所述二维码进行显示,其中,所述二维码中包括登录信息;
接收移动端上的所述应用程序的移动端应用发送的APP Token、所述登录信息及第一签名,其中,所述移动端应用处于用户登录成功状态,所述登录信息为利用所述移动端应用扫描所述二维码获取到的,所述第一签名为所述移动端应用对所述APP Token和所述登录信息进行签名得到的;
对所述APP Token、所述登录信息及所述第一签名进行验证,并在验证通过后,指示所述移动端应用显示用户确认登录界面;
接收所述移动端应用发送的所述APP Token、用户确认登录信息及第二签名,其中,所述用户确认登录信息为所述移动端应用通过所述用户确认登录界面获取到的信息,所述第二签名为所述移动端应用对所述用户确认登录信息进行签名得到的;
对所述APP Token及所述第二签名进行验证,在验证通过后,生成WEB Token,并将所述WEB Token发送给所述PC端应用,完成所述PC端应用的用户登录;
其中,所述生成二维码之前,还包括:
接收所述移动端通过所述移动端应用发送的移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识;
对所述第一数字证书验证通过后,生成第三随机数,对所述第二随机数进行签名得到第三签名;
发送第二数字证书、所述第三随机数和所述第三签名至所述移动端,以使所述移动端对所述第二数字证书和所述第三签名进行验证、并在验证通过时对所述第三随机数进行签名得到第四签名;
接收所述移动端发送的所述第四签名,在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token;
发送所述APP Token至所述移动端,以使所述移动端存储所述APP Token,完成所述移动端应用的用户登录。
5.根据权利要求4所述的应用程序中的用户登录方法,其特征在于,所述生成二维码,包括:
生成登录信息,其中,所述登录信息包括通用唯一识别码;
将所述登录信息转换成二维码。
6.根据权利要求4所述的应用程序中的用户登录方法,其特征在于,所述对所述APPToken、所述登录信息及所述第一签名进行验证,包括:
验证所述APP Token是否为所述服务端生成并下发的,并验证所述APP Token的有效期是否结束;
在所述APP Token为所述服务端生成并下发的,且所述APP Token的有效期未结束时,利用第二公钥对所述第一签名进行解密,其中,所述第一签名为所述移动端应用利用所述第二公钥对应的第二私钥对所述APP Token和所述登录信息进行加密得到的;
在所述第一签名解密成功时,验证所述登录信息是否为所述服务端生成并下发的;
在所述登录信息为所述服务端生成并下发的时,则判定所述APP Token、所述登录信息及所述第一签名验证通过。
7.一种应用程序中的用户登录装置,其特征在于,应用于移动端,包括:
应用程序的移动端应用中的扫描模块,用于在需要登录所述应用程序的PC端应用时,扫描所述PC端应用中显示的二维码,以获取所述二维码中包括的登录信息,其中,所述移动端应用处于用户登录成功状态,所述二维码为所述PC端应用在访问所述应用程序对应的服务端并请求扫描登录时,所述服务端生成并下发给所述PC端应用的;
所述移动端应用中的签名模块,用于对所述移动端应用中的APP Token与所述登录信息进行签名,得到第一签名;
所述移动端应用中的信息发送模块,用于将所述APP Token、所述登录信息及所述第一签名发送到所述服务端,以便所述服务端在对所述APP Token、所述登录信息及所述第一签名验证通过后,指示所述移动端应用显示用户确认登录界面;
所述签名模块,用于在获取到用户确认登录信息时,对所述用户确认登录信息进行签名,得到第二签名;
所述信息发送模块,用于将所述APP Token、所述用户确认登录信息及所述第二签名发送到所述服务端,以便所述服务端在对所述APP Token及所述第二签名验证通过后,生成WEB Token,并将所述WEB Token发送到所述PC端应用,完成所述PC端应用的用户登录;
其中,所述信息发送模块用于在需要扫码登录应用程序的PC端应用时,通过本地的所述应用程序的移动端应用扫描所述PC端应用中显示的二维码之前,通过所述移动端应用向所述服务端发送移动端应用登录请求,其中,所述移动端应用登录请求中包括用户信息、所述移动端应用中的第一数字证书、第二随机数及所述移动端的设备标识;
所述移动端应用中的第一信息接收模块,用于接收所述服务端发送的第二数字证书、第三随机数和第三签名,其中,所述第三随机数为所述服务端在对所述第一数字证书验证通过后生成的,所述第三签名为所述服务端在对所述第一数字证书验证通过后对所述第二随机数签名得到的;
所述移动端应用中的第一验证模块,用于对所述第二数字证书和所述第三签名进行验证,并在验证通过时,对所述第三随机数进行签名,得到第四签名;
所述信息发送模块用于将所述第四签名发送到所述服务端,以便所述服务端在对所述第四签名验证通过后,利用所述用户信息和所述设备标识生成所述APP Token;
所述第一信息接收模块,用于接收所述服务端发送的所述APP Token,并存储所述APPToken,完成所述移动端应用的用户登录。
8.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至6任一项所述的应用程序中的用户登录方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的应用程序中的用户登录方法。
CN202210109177.XA 2022-01-28 2022-01-28 一种应用程序中的用户登录方法、装置、设备及介质 Active CN114640460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210109177.XA CN114640460B (zh) 2022-01-28 2022-01-28 一种应用程序中的用户登录方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210109177.XA CN114640460B (zh) 2022-01-28 2022-01-28 一种应用程序中的用户登录方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114640460A CN114640460A (zh) 2022-06-17
CN114640460B true CN114640460B (zh) 2024-01-30

Family

ID=81945990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210109177.XA Active CN114640460B (zh) 2022-01-28 2022-01-28 一种应用程序中的用户登录方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114640460B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366111A (zh) * 2013-07-10 2013-10-23 公安部第三研究所 移动设备上基于二维码实现智能卡扩展认证控制的方法
KR20170099339A (ko) * 2016-02-23 2017-08-31 최건 보안 회원가입 및 로그인 호스팅 서비스 제공 시스템 및 그 방법
WO2018198036A1 (en) * 2017-04-24 2018-11-01 Just Log Me S.R.L. Authentication system and identity management without password by single-use qr code and related method
CN110071861A (zh) * 2018-01-24 2019-07-30 腾讯科技(深圳)有限公司 信息的分享方法和装置、存储介质、电子装置
CN110245928A (zh) * 2019-05-29 2019-09-17 阿里巴巴集团控股有限公司 一种获取银行卡签约要素信息的方法、系统及设备
CN111460423A (zh) * 2020-03-03 2020-07-28 深圳市思迪信息技术股份有限公司 一种二维码扫描登录的方法及装置
CN112738797A (zh) * 2020-12-24 2021-04-30 上海华申智能卡应用系统有限公司 基于蓝牙的web应用认证登录方法及系统
CN112861086A (zh) * 2021-02-19 2021-05-28 西安万像电子科技有限公司 账户信息管理方法、装置和系统
CN113536277A (zh) * 2020-04-14 2021-10-22 中移动信息技术有限公司 认证的方法、系统、服务端、客户端及存储介质
CN113726766A (zh) * 2021-08-27 2021-11-30 成都卫士通信息产业股份有限公司 一种离线身份认证方法、系统及介质
CN113938283A (zh) * 2021-10-14 2022-01-14 南京大全电气研究院有限公司 一种扫码登录方法、系统、装置、电子设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366111A (zh) * 2013-07-10 2013-10-23 公安部第三研究所 移动设备上基于二维码实现智能卡扩展认证控制的方法
KR20170099339A (ko) * 2016-02-23 2017-08-31 최건 보안 회원가입 및 로그인 호스팅 서비스 제공 시스템 및 그 방법
WO2018198036A1 (en) * 2017-04-24 2018-11-01 Just Log Me S.R.L. Authentication system and identity management without password by single-use qr code and related method
CN110071861A (zh) * 2018-01-24 2019-07-30 腾讯科技(深圳)有限公司 信息的分享方法和装置、存储介质、电子装置
CN110245928A (zh) * 2019-05-29 2019-09-17 阿里巴巴集团控股有限公司 一种获取银行卡签约要素信息的方法、系统及设备
CN111460423A (zh) * 2020-03-03 2020-07-28 深圳市思迪信息技术股份有限公司 一种二维码扫描登录的方法及装置
CN113536277A (zh) * 2020-04-14 2021-10-22 中移动信息技术有限公司 认证的方法、系统、服务端、客户端及存储介质
CN112738797A (zh) * 2020-12-24 2021-04-30 上海华申智能卡应用系统有限公司 基于蓝牙的web应用认证登录方法及系统
CN112861086A (zh) * 2021-02-19 2021-05-28 西安万像电子科技有限公司 账户信息管理方法、装置和系统
CN113726766A (zh) * 2021-08-27 2021-11-30 成都卫士通信息产业股份有限公司 一种离线身份认证方法、系统及介质
CN113938283A (zh) * 2021-10-14 2022-01-14 南京大全电气研究院有限公司 一种扫码登录方法、系统、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ricardo P. Gonçalves ; Alexandre B. Augusto ; Manuel E. Correia ect..Time/space based biometric handwritten signature verification.《2015 10th Iberian Conference on Information Systems and Technologies (CISTI)》.2015,全文. *
基于移动终端的系统登录方法的研究与开发;江超;龙毅宏;;软件(第03期);全文 *
微信公众平台在特检行业的应用;明子涵;张展彬;杜艳雄;阳晓薇;;信息化建设(第12期);全文 *

Also Published As

Publication number Publication date
CN114640460A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
EP3343831B1 (en) Identity authentication method and apparatus
JP5981610B2 (ja) 電子取引用のネットワーク認証方法
US9979719B2 (en) System and method for converting one-time passcodes to app-based authentication
EP3208732A1 (en) Method and system for authentication
CN109583181B (zh) 一种认证方法、装置及机器可读存储介质
CN111770057B (zh) 身份验证系统及身份验证方法
CN104702580B (zh) 多通讯渠道认证授权平台系统和方法
CN112134708A (zh) 一种授权方法、请求授权的方法及装置
CN111628871B (zh) 一种区块链交易处理方法、装置及电子设备和存储介质
CN108322416B (zh) 一种安全认证实现方法、装置及系统
CN110278179B (zh) 单点登录方法、装置和系统以及电子设备
CN108616352B (zh) 基于安全元件的动态口令生成方法和系统
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
KR20230008695A (ko) 패스워드 복구 방법, 시스템 및 클라우드 서버와 전자 디바이스
JP5495194B2 (ja) アカウント発行システム、アカウントサーバ、サービスサーバおよびアカウント発行方法
TWI643086B (zh) Method for binding by scanning two-dimensional barcode
JP5277888B2 (ja) アプリケーション発行システム、装置及び方法
CN112966242A (zh) 一种用户名口令认证方法、装置、设备及可读存储介质
JP4409497B2 (ja) 秘密情報送信方法
JP7079528B2 (ja) サービス提供システム及びサービス提供方法
JP6307610B2 (ja) データ改竄検知装置、データ改竄検知方法、及びプログラム
KR102171377B1 (ko) 로그인 제어 방법
CN114640460B (zh) 一种应用程序中的用户登录方法、装置、设备及介质
CN112118209A (zh) 车辆设备的账号操作方法及装置
KR20190101265A (ko) 개인 식별번호의 입력을 통한 간편 인증이 가능한 사용자 인증 처리 장치 및 그 동작 방법

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