CN116647413B - 应用登录方法、装置、计算机设备和存储介质 - Google Patents

应用登录方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116647413B
CN116647413B CN202310921431.0A CN202310921431A CN116647413B CN 116647413 B CN116647413 B CN 116647413B CN 202310921431 A CN202310921431 A CN 202310921431A CN 116647413 B CN116647413 B CN 116647413B
Authority
CN
China
Prior art keywords
security
target application
key
login
random code
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
CN202310921431.0A
Other languages
English (en)
Other versions
CN116647413A (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.)
Shenzhen Zhuyun Technology Co ltd
Original Assignee
Shenzhen Zhuyun 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 Shenzhen Zhuyun Technology Co ltd filed Critical Shenzhen Zhuyun Technology Co ltd
Priority to CN202310921431.0A priority Critical patent/CN116647413B/zh
Publication of CN116647413A publication Critical patent/CN116647413A/zh
Application granted granted Critical
Publication of CN116647413B publication Critical patent/CN116647413B/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
    • 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/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/0442Network 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 asymmetric encryption, i.e. different keys 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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/40Network security protocols
    • 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/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种应用登录方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:安全客户端接收目标应用发送的待验证参数,待验证参数包括签名信息和第一公钥,签名信息是目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,第一私钥和第一公钥为存储在目标应用的应用证书中的一对密钥;安全客户端在采用第一公钥验证签名信息通过的情况下,基于随机码生成安全票据,将安全票据返回至目标应用,以使目标应用将安全票据和随机码发送至IDP服务,在IDP服务基于随机码对安全票据验证通过后,获取IDP服务发送的登录凭证,执行登录操作。采用本方法能够实现应用***的自动化登录。

Description

应用登录方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用登录方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息技术的发展,人们对日常工作的管理逐渐走向信息化和数字化,桌面C/S(Client-Server,客户端-服务器)应用***得以广泛应用。
为了确保数据的安全性,在用户日常使用终端设备的过程中,大部分C/S应用***需要用户输入账号与密码,在身份验证通过之后才允许用户正常使用。因此,面对众多的应用***,用户不仅需要记忆大量的账号与密码组合,而且输入登录凭据的过程非常繁琐、耗时较多,导致C/S应用***的使用存在不够便捷的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够自动登录C/S应用***的应用登录方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种应用登录方法,所述方法包括:
安全客户端接收目标应用发送的待验证参数,所述待验证参数包括签名信息和第一公钥,所述签名信息是所述目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
所述安全客户端在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用,以使所述目标应用将所述安全票据和所述随机码发送至IDP服务,在所述IDP服务基于所述随机码对所述安全票据验证通过后,获取所述IDP服务发送的登录凭证,执行登录操作。
在其中一个实施例中,所述安全客户端基于所述随机码生成安全票据,包括:
所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据;
所述IDP服务在接收到所述安全票据后,采用第二私钥解密所述安全票据,当验证所述目标应用发送的随机码和解密得到的随机码一致时,确定所述安全票据验证通过;
其中,所述第二公钥和所述第二私钥是预先存储在所述IDP服务中的密钥,所述第二公钥是在所述安全客户端的登录过程中,由所述IDP服务发送至所述安全客户端的。
在其中一个实施例中,所述方法还包括:
所述安全客户端响应于身份验证通过的结果,接收所述IDP服务发送的令牌;
所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据,包括:
所述安全客户端采用所述第二公钥加密所述随机码和所述令牌,生成所述安全票据;
所述IDP服务在接收到所述安全票据后,采用所述第二私钥解密所述安全票据,当验证所述目标应用发送的随机码和解密得到的随机码一致,且解密得到的令牌有效时,确定所述安全票据验证通过。
在其中一个实施例中,所述方法还包括:
所述安全客户端响应于第二启动操作,生成密钥数据和消息认证码;
所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据,包括:
所述安全客户端采用所述第二公钥加密所述随机码和所述消息认证码,生成所述安全票据;
所述目标应用响应于所述第一启动操作,从所述安全客户端处请求得到所述密钥数据,将所述密钥数据和所述安全票据一并发送至所述IDP服务;
所述IDP服务在接收到所述安全票据后,采用所述第二私钥解密所述安全票据;在验证所述目标应用发送的随机码和解密得到的随机码一致的情况下,采用解密得到的消息认证码和接收到的所述密钥数据,生成第一消息摘要;当验证所述第一消息摘要与已存储的第二消息摘要一致时,确定所述安全票据验证通过;
其中,所述第二消息摘要是所述安全客户端根据所述密钥数据和所述消息认证码生成,并通过所述目标应用随所述安全票据一并发送至所述IDP服务的数据。
在其中一个实施例中,所述方法还包括:
所述IDP服务在验证所述安全票据通过之后,采用解密得到的密钥数据对用户信息进行加密处理,生成所述登录凭证。
在其中一个实施例中,所述方法还包括:
所述安全客户端接收所述目标应用发送的所述登录凭证;
所述安全客户端采用所述密钥数据解密所述登录凭证,得到所述用户信息;
所述安全客户端将所述用户信息发送至所述目标应用,以使所述目标应用根据所述用户信息执行登录操作。
在其中一个实施例中,所述密钥数据包括对称密钥和非对称密钥中的至少一个,所述非对称密钥包括第三公钥和第三私钥;
所述安全客户端采用所述密钥数据解密所述登录凭证,得到所述用户信息,包括:
在所述密钥数据为所述对称密钥的情况下,所述安全客户端采用所述对称密钥解密所述登录凭证,得到所述用户信息;
在所述密钥数据为所述非对称密钥的情况下,所述安全客户端采用所述第三私钥解密所述登录凭证,得到所述用户信息,其中,所述登录凭证是采用所述第三公钥加密所述用户信息生成的;
在所述密钥数据中包括所述非对称密钥和所述对称密钥的情况下,所述安全客户端采用所述第三私钥对所述登录凭证进行初次解密处理,采用所述对称密钥对初次解密后的登录凭证进行再次解密处理,得到所述用户信息,其中,所述登录凭证是依次采用所述对称密钥和所述第三公钥对所述用户信息加密生成的。
在其中一个实施例中,所述方法还包括:
所述IDP服务对所述用户信息进行哈希运算,得到第一哈希摘要,将所述第一哈希摘要随所述登录凭证一并发送至所述目标应用;
所述目标应用对所述安全客户端发送的所述用户信息进行哈希运算,得到第二哈希摘要,当确定所述第一哈希摘要和所述第二哈希摘要一致时,执行登录操作。
第二方面,本申请提供了一种应用登录装置,所述装置包括:
接收模块,用于接收目标应用发送的待验证参数,所述待验证参数包括签名信息和第一公钥,所述签名信息是所述目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
票据生成模块,用于在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用,以使所述目标应用将所述安全票据和所述随机码发送至IDP服务,在所述IDP服务基于所述随机码对所述安全票据验证通过后,获取所述IDP服务发送的登录凭证,执行登录操作。
第三方面,本申请提供了一种应用登录***,所述***包括:
目标应用,用于响应于第一启动操作,使用第一私钥对随机码进行签名处理,生成签名信息,根据所述签名信息和第一公钥生成待验证参数,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
安全客户端,用于接收所述目标应用发送的待验证参数,在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用;
IDP服务,用于接收所述目标应用发送的所述安全票据和所述随机码,在基于所述随机码对所述安全票据验证通过后,将登录凭证发送至所述目标应用,以使所述目标应用执行登录操作。
第四方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面任一项实施例所述的方法的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项实施例所述的方法的步骤。
第六方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项实施例所述的方法的步骤。
上述应用登录方法、装置、计算机设备、存储介质和计算机程序产品,目标应用在响应于第一启动操作后,使用第一私钥对随机码进行签名处理生成签名信息,将包含签名信息和第一公钥的待验证参数发送至安全客户端,以使安全客户端对签名信息进行验证,并在验证通过的情况下,返回安全票据。目标应用将安全票据发送至IDP服务进行验证,当IDP服务在对安全票据验证通过时,返回登录凭证,使目标应用自动执行登录操作,通过将登录流程与安全算法进行融合,安全客户端、目标应用和IDP服务之间经过一系列的加密算法和验证流程,代替传统的账号与密码组合的登录方式,保证了应用***登录过程的真实性、机密性和完整性,实现了应用***的自动化登录,从而提升日常使用的流畅性。
附图说明
图1为现有技术中的一种登录界面示意图;
图2为一个实施例中应用登录方法的应用环境图;
图3为一个实施例中应用登录方法的流程示意图;
图4为一个实施例中安全客户端的登录界面示意图;
图5为一个实施例中安全客户端登录成功的界面示意图;
图6为一个实施例中安全客户端登录失败的界面示意图;
图7为另一个实施例中应用登录方法的流程示意图;
图8为一个实施例中应用登录装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
以下对本申请实施例中出现的缩略语和关键术语进行解释:
C/S:Client/Server,即客户端/服务端结构,是应用***的一种经典架构方式,通常由一个服务端***与多个客户端组成。服务端主要负责集中存储数据并提供通信接口,客户端提供人机交互界面,用户操作客户端与服务端进行连接,使用客户端对服务端存储的数据进行增、删、改、查等操作。
ERP:Enterprise Resource Planning,企业资源计划。
OA:Office Automation,办公自动化,是将计算机、通信等现代化技术运用到传统办公方式,进而形成的一种新型办公方式。
UI:User Interface,用户界面。
IDP:Identity Provider,身份提供方,负责统一存储用户账号与密码,为第三方应用***提供统一的身份验证标准与接口。
安全客户端:一种安装在操作***中的软件,其包含特殊的安全流程,为C/S应用提供自动化的登录过程并保证登录过程的数据安全性、完整性与真实性。
SDK: Software Development Kit,软件开发工具集合,为第三方应用***提供特殊的能力。
Token:身份令牌,是用户经过身份验证过程而取得的合法证明。
MD5:Message-Digest Algorithm 5,信息摘要算法5。
SHA1:Secure Hash Algorithm 1,安全散列算法。
HMAC:Hash-based Message Authentication Code,密钥相关的哈希运算消息认证码。
以下对现有技术进行较为详细的阐述:
现有技术中,人们在使用计算机的过程中,需要频繁地登录各种桌面C/S应用***(以下简称C/S应用)(如财务***、考勤***、ERP***、OA***、即时通讯***等)。用户对于C/S应用的登录过程通常基于账号与密码的组合形式,参照图1,即在C/S应用的登录界面输入登录账号和登录密码,然后点击登录按钮完成登录过程。随着企业应用***数量的日益增多,用户需要记忆的账号与密码组合也越来越多,为原本繁重的工作增加了额外的负担。例如,近年来,随着企业信息安全意识的增强,通常要求密码必须包含大小写字母、数字、以及特殊符号的组合,并且要求各个应用***的密码不能相同。
对于以上问题,目前主要有以下几种解决方式:
1、将各个C/S应用的账号与密码记录在计算机硬盘中(如文本文件)或纸上。这种做法非常危险,因为一旦记录密码的文件丢失,全部C/S应用将暴露在风险之中。
2、使用第三方自动登录插件,通过在操作***中安装插件软件,拦截用户的键盘与鼠标操作,实现C/S应用的自动登录过程。这种方式首先需要对C/S应用的登录窗口进行深入研究与调试,然后为C/S应用定义登录规则,编写自动登录脚本,实现登录行为的拦截与控制。此方法稳定性差、配置繁琐、不宜使用。例如,当C/S应用窗口位置发生变化、计算机屏幕分辨率发生变化、版本发生变化等都可能导致预先编写的自动登录脚本失效。另外,面对五花八门的C/S应用,仅通过自动登录脚本代码难以适配各个计算机的实际情况、难以获取当前活动窗口的准确位置,并且由于各个C/S应用使用的开发语言、编程框架、UI界面完全不同,因此不具备推广性与适用性。
为了解决上述问题,本申请实施例提供一种应用登录方法,可以应用于如图2所示的应用登录***中,该应用登录***包括终端210和服务器220。终端210通过网络与服务器220进行通信。其中,终端210可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器220可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本申请实施例中,应用登录***中安装有安全客户端、目标应用和IDP服务。目标应用包括互相配合运行的应用客户端和应用服务端。安全客户端安装在终端210的操作***中,可以随着终端210的启动而运行。应用客户端可以部署在终端210中,从而为用户提供本地服务的程序。IDP服务部署在服务器220中,以传输登录过程中产生的数据,例如,随机码、密钥数据、登录凭证等。
在本申请实施例中,目标应用是还未成功登录的应用,因此,目标应用和安全客户端、IDP服务之间的交互,可以通过目标应用的应用客户端和安全客户端、IDP服务之间交互完成。
在本申请实施例中,服务器220可以对应部署有数据存储***,用于存储需要处理的数据。数据存储***可以集成在服务器中,也可以放在云上或其他网络服务器上。
在一个实施例中,如图3所示,提供了一种应用登录方法,以该方法应用于图2中的应用登录***为例进行说明,包括以下步骤:
步骤S310,安全客户端接收目标应用发送的待验证参数,待验证参数包括签名信息和第一公钥,签名信息是目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的。
其中,终端中已安装有至少一种C/S应用,目标应用可以为安装在终端中的任一种C/S应用。可以理解的是,目标应用需要少量的改动工作,例如调用安全客户端提供的SDK或接口,以实现与安全客户端和IDP服务之间的数据传输。在改造完成后,用户无需再使用目标应用自身的登录界面执行登录操作,而是统一使用安全客户端提供的登录窗口界面,这样用户只需记忆一组安全客户端的登录信息,便可实现多个C/S应用的自动登录。
第一私钥和第一公钥为目标应用的应用证书中的一对密钥,可以为非对称密钥。应用证书为IDP服务预先为目标应用签发的证书,其是目标应用的身份证明,持有应用证书的应用程序被视为可信的应用程序。
待验证参数为需要安全客户端验证的参数,包括签名信息和第一公钥。其中,第一公钥可以携带在应用证书中发送给安全客户端,也可以单独发送给安全客户端。
第一启动操作用于指示启动目标应用,将目标应用从关闭状态转换为打开状态,可以通过单击操作、双击操作等方式实现。
具体地,在目标应用检测到用户触发的第一启动操作后,生成一次性的随机码,读取IDP服务预先为目标应用签发的应用证书,从应用证书中获取第一私钥,使用第一私钥签名随机码,生成签名信息。一个实施例中,目标应用调用安全客户端的票据置换接口,将包含签名信息、应用证书(已删除第一私钥)以及随机码的待验证参数,传输给安全客户端,以使安全客户端接收该待验证参数。另一个实施例中,目标应用调用安全客户端的票据置换接口,将包含签名信息、第一公钥以及随机码的待验证参数,传输给安全客户端,以使安全客户端接收该待验证参数。
可以理解的是,本实施例中的安全客户端为身份验证通过,并登录成功的应用。
步骤S320,安全客户端在采用第一公钥验证签名信息通过的情况下,基于随机码生成安全票据,将安全票据返回至目标应用,以使目标应用将安全票据和随机码发送至IDP服务,在IDP服务基于随机码对安全票据验证通过后,获取IDP服务发送的登录凭证,执行登录操作。
其中,登录凭证包括登录目标应用所需的用户信息,例如,登录账号和登录密码。
具体地,安全客户端在通过票据置换接口接收到待验证参数后,从待验证参数里获取第一公钥。采用第一公钥验证签名信息,若验证成功,则基于随机码生成安全票据,并通过票据置换接口将安全票据返回至目标应用。若验证失败,则可以向目标应用返回登录失败的提示消息。目标应用在接收到安全票据后,调用IDP服务的票据验证接口,将随机码和安全票据传输至IDP服务。IDP服务对安全票据进行解密,得到随机码。将解密得到的随机码和目标应用发送的随机码进行比对,若一致,则将登录凭证发送给目标应用,以使目标应用基于登录凭证执行登录操作;若不一致,则可以向目标应用返回登录失败的提示消息,以提示用户目标应用自动登录失败。
一个实施例中,安全客户端可以采用预先部署的加密算法,对随机码进行加密处理,得到安全票据。加密算法可以采用对称性加密算法、非对称性加密算法、线性散列算法等中的任一种。可以理解的是,IDP服务具备对安全票据进行解密的能力。
上述应用登录方法中,目标应用在响应于第一启动操作后,使用第一私钥对随机码进行签名处理生成签名信息,将包含签名信息和第一公钥的待验证参数发送至安全客户端,以使安全客户端对签名信息进行验证,并在验证通过的情况下,返回安全票据。目标应用将安全票据发送至IDP服务进行验证,当IDP服务在对安全票据验证通过时,返回登录凭证,使目标应用自动执行登录操作,通过将登录流程与安全算法进行融合,安全客户端、目标应用和IDP服务之间经过一系列的加密算法和验证流程,代替传统的账号与密码组合的登录方式,保证了应用***登录过程的真实性、机密性和完整性,实现了应用***的自动化登录,从而提升日常使用的流畅性。
在一个实施例中,步骤S320中,安全客户端基于随机码生成安全票据,包括:安全客户端采用第二公钥加密随机码,生成安全票据。在本实施例中,IDP服务在接收到安全票据后,采用第二私钥解密安全票据,当验证目标应用发送的随机码和解密得到的随机码一致时,确定安全票据验证通过。
其中,第二公钥和第二私钥是预先存储在IDP服务中的密钥,在安全客户端的登录过程中,安全客户端可以调用IDP服务的公钥获取接口,获取IDP服务的第二公钥。第二公钥和第二私钥可以采用非对称密钥,与第一公钥和第一私钥是不同的密钥数据。
具体地,在安全客户端对签名信息验证通过之后,采用预先从IDP服务处获取的第二公钥对随机码进行加密处理,得到安全票据。通过票据置换接口将安全票据传输给目标应用,以使目标应用在接收到安全票据后,调用IDP服务的票据验证接口,将随机码和安全票据传输至IDP服务。IDP服务使用自身的第二私钥解密安全票据,得到随机码,将解密得到的随机码和目标应用发送的随机码进行比对,若一致,则将登录凭证发送给目标应用,以使目标应用基于登录凭证执行登录操作;若不一致,则可以向目标应用返回登录失败的提示消息。
本实施例中,采用IDP服务自身的密钥数据对随机码进行加密,生成安全票据,便于IDP服务对安全票据进行验证,从而确保登录过程中数据的真实性和准确性。
在一个实施例中,对安全客户端的一种登录方式进行说明。
具体地,当安全客户端检测到第二启动操作时,可以显示登录界面。通过该登录界面获取登录账号和登录密码。图4示例性示出了一种安全客户端的登录界面的示意图。安全客户端将所获取的登录账号和登录密码发送至IDP服务,以使IDP服务进行身份验证,若验证通过,则向安全客户端返回令牌。若验证失败,则可以向安全客户端返回登录失败通知。其中,第二启动操作用于指示启动安全客户端,将安全客户端从关闭状态转换为打开状态,可以通过单击操作、双击操作等方式实现。
一个实施例中,安全客户端可以随计算机启动,随操作***自动启动。在每次启动之后,都显示登录界面,使用户通过登录界面输入登录账号和登录密码进行验证,从而确保安全客户端的安全性。当然,终端可以在安全客户端第一次登录成功之后,存储登录账号和登录密码,在后续的使用过程中自动登录安全客户端,以进一步提升应用登录的便捷性。
一个实施例中,参照图5,若身份验证通过,则安全客户端显示登录成功界面,在登录成功界面上显示网络名称、登录账号、姓名和登录时间等信息。参照图6,若身份验证失败,则安全客户端显示登录失败界面,在登录失败界面上显示原因分析等信息,以使告知用户登录失败的原因、纠正措施等。
在本实施例中,在安全客户端对签名信息验证通过之后,采用预先从IDP服务处获取的第二公钥对随机码和令牌进行加密处理,得到安全票据。通过票据置换接口将安全票据传输给目标应用,以使目标应用在接收到安全票据后,调用IDP服务的票据验证接口,将随机码和安全票据传输至IDP服务。IDP服务使用自身的第二私钥解密安全票据,得到随机码和令牌。IDP服务验证解密得到的随机码和目标应用发送的随机码是否一致,以及,验证令牌是否有效(例如,是否过期、是否吊销、是否存在等)。若验证随机码一致且令牌有效,确定安全票据验证通过,将登录凭证发送给目标应用,以使目标应用基于登录凭证执行登录操作;若验证随机码不一致和/或令牌无效,则可以向目标应用返回登录失败的提示消息。
本实施例中,安全客户端作为自动登录的入口,通过在安全票据中增加令牌,验证令牌是否有效,可以确保安全客户端的登录可靠性,进而提升目标应用自动登录的可靠性。
在一个实施例中,在安全客户端检测到第二启动操作后,自动生成密钥数据和消息认证码。其中,密钥数据可以包括对称密钥和非对称密钥中的至少一个。消息认证码可以基于线性散列算法实现,可以为MD5、SHA1、HMAC中的任一种。
在本实施例中,目标应用在检测到第一启动操作后,可以调用安全客户端的密钥获取接口,获取密钥数据并存储。
在本实施例中,安全客户端可以采用消息认证码对密钥数据进行消息认证,根据消息认证码和密钥数据生成第二消息摘要并缓存。
在本实施例中,安全客户端在对目标应用发送的签名信息验证通过之后,采用预先从IDP服务处获取的第二公钥对随机码和消息认证码进行加密处理,得到安全票据。通过票据置换接口将安全票据和第二消息摘要传输给目标应用,以使目标应用在接收到安全票据和第二消息摘要后,调用IDP服务的票据验证接口,将随机码、预先获取的密钥数据、安全票据和第二消息摘要一并传输至IDP服务。IDP服务使用自身的第二私钥解密安全票据,得到随机码和消息认证码。IDP服务验证解密得到的随机码和目标应用发送的随机码是否一致。在比对一致的情况下,采用解密得到的消息认证码对接收到的密钥数据进行消息认证,得到第一消息摘要。将第一消息摘要和第二消息摘要进行比对,若一致,则确定安全票据验证通过,将登录凭证发送给目标应用,以使目标应用基于登录凭证执行登录操作;若不一致,则可以向目标应用返回登录失败的提示消息。
本实施例中,通过使用消息认证码对安全客户端创建的密钥数据进行消息认证,可以避免密钥数据被非法篡改,确保登录过程的安全性。
在一个实施例中,IDP服务在验证安全票据通过之后,可以采用密钥数据对用户信息进行加密处理,生成登录凭证。其中,用户信息可以包含表示目标应用的用户身份的信息(例如用户名、姓名、电子邮箱地址等)以及相对应的密码。
一个实施例中,目标应用可以是具备解密登录凭证能力的应用。在接收到加密的登录凭证后,目标应用可以对登录凭证进行解密,得到用户信息,并使用用户信息执行登录操作。
另一个实施例中,目标应用在接收到加密的登录凭证后,可以将登录凭证发送至安全客户端,通过安全客户端采用已存储的密钥数据解密登录凭证,得到用户信息,并将用户信息发送至目标应用,以使目标应用根据所述用户信息执行登录操作。
本实施例中,通过采用密钥数据对目标应用的用户信息进行加密处理,可以确保用户信息的完整性,提升自动登录的成功率。
在一个实施例中,安全客户端在登录过程中创建的密钥数据包括对称密钥和非对称密钥中的至少一个,非对称密钥包括第三公钥和第三私钥。第一公钥和第一私钥,第二公钥和第二私钥,第三公钥和第三私钥分别为两两互不相同的密钥数据。其中:
在密钥数据为对称密钥的情况下,安全客户端采用对称密钥解密登录凭证,得到用户信息。
在密钥数据为非对称密钥的情况下,安全客户端可以通过密钥获取接口,将第三公钥传输给目标应用。这种情况下,目标应用通过票据验证接口传输给IDP服务的密钥数据为第三公钥。IDP服务采用接收到的第三公钥对用户信息进行加密处理,得到登录凭证。安全客户端在获取登录凭证后,便可采用第三私钥解密登录凭证,得到用户信息。
在密钥数据中包括非对称密钥和对称密钥的情况下,一个实施例中,安全客户端可以通过密钥获取接口,将第三公钥和对称密钥传输给目标应用。这种情况下,目标应用通过票据验证接口传输给IDP服务的密钥数据为第三公钥和对称密钥。另一个实施例中,安全客户端可以通过密钥获取接口,将第三公钥传输给目标应用,将对称密钥携带在安全票据中。在这种情况下,目标应用通过票据验证接口传输给IDP服务的密钥数据为第三公钥,对称密钥则通过对安全票据进行解密得到。
IDP服务依次采用获取的对称密钥和第三公钥对用户信息进行加密处理,得到登录凭证。安全客户端在获取登录凭证后,便可采用第三私钥对登录凭证进行初次解密处理,采用对称密钥对初次解密后的登录凭证进行再次解密处理,得到用户信息。
本实施例中,通过采用密钥数据对目标应用的用户信息进行加密处理,可以确保用户信息的完整性,提升自动登录的成功率。
在一个实施例中,IDP服务在对安全票据验证通过之后,还可以对用户信息进行哈希运算,得到第一哈希摘要,将第一哈希摘要随登录凭证一并发送至目标应用。
目标应用在获取用户信息后,也对用户信息进行哈希运算,得到第二哈希摘要,并将第一哈希摘要和第二哈希摘要进行比对。若确定两者一致,则执行登录操作登录成功,完成自动登录过程;若确定两者不一致,则登录失败。
本实施例中,通过使IDP服务和目标应用分别对用户信息进行哈希运算,在对哈希摘要验证通过之后,才执行登录操作,可以检测出用户信息是否被篡改,从而确保目标应用的使用安全性。
图7示例性示出了一种具体的应用登录方法,该方法可以通过以下步骤S702~步骤S742实现。
步骤S702,终端随操作***自动启动,使安全客户端检测到第二启动操作。
步骤S704,安全客户端创建非对称密钥,非对称密钥包括第三公钥R3和第三私钥P3。
步骤S706,安全客户端创建对称密钥K1,例如:z%C*F-JaNdRgUkXp。
步骤S708,安全客户端创建消息认证码HMAC密钥H1,例如:@NcRfUjX。
步骤S710,安全客户端调用IDP服务的密钥获取接口,获取IDP服务的第二公钥R2。
步骤S712,安全客户端显示登录界面,提示用户输入登录账号与登录密码。
步骤S714,安全客户端响应于对登录按钮的触发操作,获取登录界面中的登录账号与登录密码,将用登录账号与登录密码发送至IDP服务。
步骤S716,IDP服务进行身份验证,验证通过后,返回令牌Token,以使安全客户端缓存令牌Token。
步骤S718,目标应用检测到第一启动操作。目标应用为C/S应用。
步骤S720,目标应用生成一次性随机码RC。
例如:一次性随机码RC可以为05b3c897-701d-4fc6-9258-ece99b543c26。
步骤S722,目标应用读取应用证书,从应用证书提取第一公钥R1与第一私钥P1。
步骤S724,目标应用使用第一私钥P1签名随机码RC,获得签名信息S1。
一个示例中,签名信息可以为:
FX+jr0dXG9xZhIn181gu2CHH/9md7ju/HfxjSowsCzhz28PUFCtAb1bgGm81scliyju2uGsUh9u+iRzh/h0XCv1/Ybg16k/5+epiFixWM+g5hyf9FwEr0nicUs6HC2dxSCgOmlaGniaydPekPiNU60Dhi/R38Mfak51mczjlhn0PWA9N1Z50mAoLkd03L71Z/sIL1Do2cZrN6CaVouZWrBdODMWEYIxE+Ndc1XMwlgkHzK+eWPMSgYzmyj0cxdukalZaB80N9aBffAiug4hhwmeyFKEt8CR5YNFkSfSLhk7xqrw6Nv7BVDIyfUACQzLVYRBaA5g0g==
步骤S726,目标应用调用安全客户端的密钥获取接口,获取安全客户端创建的第三公钥R3。同时,安全客户端使用HMAC算法计算消息认证码H1与第三公钥R3的HMAC值,得到第二消息摘要M2并缓存。HMAC算法公式如下:
HMAC = HASH ( H1 + R3)
步骤S728,目标应用调用安全客户端的票据置换接口,将随机码RC、签名信息S1、应用证书(不含第一私钥P1)传输给安全客户端。
步骤S730,安全客户端收到请求后,执行以下步骤,生成安全票据,将安全票据T1和第二消息摘要M2返回给目标应用:
(1)验证应用证书是否有效,例如,验证应用证书是否完整、是否在有效期内等。若验证成功,则从应用证书中提取第一公钥R1。若验证失败,则目标应用登录失败。
(2)使用第一公钥R1验证签名信息S1。若验证成功,则执行步骤(3)若验证失败,则目标应用登录失败。
(3)使用第二公钥R2加密令牌Token、随机码RC、***时间D1、对称密钥K1,以及消息认证码H1的组合,生成安全票据T1。安全票据T1的生成算法如下:
T1 = R2( Token + RC + D1 + K1 + H1 )
继续以上示例,安全票据T1可以为:
j23n4byX82GMx9EUjM9SoI7NxjmiThg7wuRQ8vjmhtBVuz+euoM0XrDHnmSFTo/gqI3DfovLcXA/CE4KliwVKsoWxbXtKcV+F2s/PT8DIEuF0sJ18QD0mewwwg+clVxBGpt9b9w5X+imh1fxglUdZGHAYgATxgUCxBD1w4hzhj0=
进一步地,安全客户端还可以调用IDP服务对令牌Token进行验证,在验证成功之后再生成安全票据T1;若验证失败,可以从IDP服务获取新的令牌Token。
步骤S732,目标应用调用IDP服务的票据验证接口,将安全票据T1、随机码RC、第三公钥R3、以及第二消息摘要M2发送至IDP服务。
步骤S734,IDP服务收到请求后,进行如下验证:
(1)使用第二私钥P2(与第二公钥R2是一对非对称密钥)解密安全票据T1,获取令牌Token、随机码RC、***时间D1、对称密钥K1,以及消息认证码H1;
(2)验证解密后的随机码RC与通过接口参数传递的随机码RC是否一致,若一致,则继续步骤(3);
(3)验证***时间D1与当前时间的差值是否在特定范围内(例如±5分钟),以防止重播攻击。若***时间D1与当前时间的差值在特定范围内,则继续步骤(4);
(4)验证令牌Token是否有效,若有效,则继续(5);
(5)使用HMAC算法重新计算消息认证码H1与第三公钥R3的HMAC值,记作第一消息摘要M1。将第一消息摘要M1和第二消息摘要M2进行比较,若一致,则确定安全票据验证通过。
可以理解的是,步骤(1)~(5)中任一个步骤验证不通过,则目标应用登录失败。
(6)在安全票据T1验证成功后,使用对称密钥K1加密用户信息U1,记作EU1;然后,使用第三公钥R3加密EU1,记作EU2,作为登录凭证。
(7)同时对用户信息U1进行哈希运算,得到第一哈希摘要C1。将登录凭证EU2和第一哈希摘要C1返回给目标应用。
步骤S736,目标应用调用安全客户端的用户信息解密接口,将登录凭证EU2传输给安全客户端。
步骤S738,安全客户端收到请求后,首先,使用第三私钥P3解密登录凭证EU2,得到EU1;然后,使用对称密钥K1解密EU1,得到明文的用户信息U1,将用户信息U1返回给目标应用。
步骤S740,目标应用对用户信息U1重新进行哈希运算,得到第二哈希摘要C2。将第一哈希摘要C1和第二哈希摘要C2进行比较,若一致,则继续步骤S742;若不一致,则认为数据被非法篡改,登录失败。
步骤S742,目标应用根据用户信息U1创建用户会话,完成自动登录过程。
本实施例中,通过一系列的加密算法、HASH算法、签名算法、以及验证流程的特殊组合,代替了传统的账号与密码组合的C/S应用登录方式,保证了C/S应用登录过程的真实性、机密性、完整性,实现了C/S应用的自动化登录。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用登录方法的应用登录装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用登录装置实施例中的具体限定可以参见上文中对于应用登录方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种应用登录装置800,包括:接收模块802和票据生成模块804,其中:
接收模块802,用于接收目标应用发送的待验证参数,待验证参数包括签名信息和第一公钥,签名信息是目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,第一私钥和第一公钥为存储在目标应用的应用证书中的一对密钥;
票据生成模块804,用于在采用第一公钥验证签名信息通过的情况下,基于随机码生成安全票据,将安全票据返回至目标应用,以使目标应用将安全票据和随机码发送至IDP服务,在IDP服务基于随机码对安全票据验证通过后,获取IDP服务发送的登录凭证,执行登录操作。
在一个实施例中,票据生成模块804用于采用第二公钥加密随机码,生成安全票据,以使IDP服务在接收到安全票据后,采用第二私钥解密安全票据,当验证目标应用发送的随机码和解密得到的随机码一致时,确定安全票据验证通过;其中,第二公钥和第二私钥是预先存储在IDP服务中的密钥,第二公钥是在安全客户端的登录过程中,由IDP服务发送至安全客户端的。
在一个实施例中,接收模块802还用于响应于身份验证通过的结果,接收IDP服务发送的令牌;在本实施例中,票据生成模块804,还用于采用第二公钥加密随机码和令牌,生成安全票据,以使DP服务在接收到安全票据后,采用第二私钥解密安全票据,当验证目标应用发送的随机码和解密得到的随机码一致,且解密得到的令牌有效时,确定安全票据验证通过。
在一个实施例中,装置800还包括密钥创建模块,用于响应于第二启动操作,生成密钥数据和消息认证码;在本实施例中,票据生成模块804,还用于采用第二公钥加密随机码和消息认证码,生成安全票据。
在本实施例中,目标应用用于响应于第一启动操作,从安全客户端处请求得到密钥数据,将密钥数据和安全票据一并发送至IDP服务;
IDP服务用于在接收到安全票据后,采用第二私钥解密安全票据;在验证目标应用发送的随机码和解密得到的随机码一致的情况下,采用解密得到的消息认证码和接收到的密钥数据,生成第一消息摘要;当验证第一消息摘要与已存储的第二消息摘要一致时,确定安全票据验证通过;
其中,第二消息摘要是安全客户端根据密钥数据和消息认证码生成,并通过目标应用随安全票据一并发送至IDP服务的数据。
在一个实施例中,IDP服务用于在验证安全票据通过之后,采用密钥数据对用户信息进行加密处理,生成登录凭证。
在一个实施例中,接收模块802还用于接收目标应用发送的登录凭证。装置800还包括:解密模块,用于采用密钥数据解密登录凭证,得到用户信息;发送模块,用于将用户信息发送至目标应用,以使目标应用根据用户信息执行登录操作。
在一个实施例中,密钥数据包括对称密钥和非对称密钥中的至少一个,非对称密钥包括第三公钥和第三私钥;解密模块,用于在密钥数据为对称密钥的情况下,安全客户端采用对称密钥解密登录凭证,得到用户信息;在密钥数据为非对称密钥的情况下,安全客户端采用第三私钥解密登录凭证,得到用户信息,其中,登录凭证是采用第三公钥加密用户信息生成的;在密钥数据中包括非对称密钥和对称密钥的情况下,安全客户端采用第三私钥对登录凭证进行初次解密处理,采用对称密钥对初次解密后的登录凭证进行再次解密处理,得到用户信息,其中,登录凭证是依次采用对称密钥和第三公钥对用户信息加密生成的。
在一个实施例中,IDP服务用于对用户信息进行哈希运算,得到第一哈希摘要,将第一哈希摘要随登录凭证一并发送至所述目标应用;
所述目标应用用于对所述安全客户端发送的所述用户信息进行哈希运算,得到第二哈希摘要,当确定所述第一哈希摘要和所述第二哈希摘要一致时,执行登录操作。
上述应用登录装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器。以终端为例,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用登录方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一项实施例所述的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项实施例所述的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (9)

1.一种应用登录方法,其特征在于,所述方法包括:
安全客户端接收目标应用发送的待验证参数,所述待验证参数包括签名信息和第一公钥,所述签名信息是所述目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
所述安全客户端在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用,以使所述目标应用将所述安全票据和所述随机码发送至IDP服务,在所述IDP服务基于所述随机码对所述安全票据验证通过后,获取所述IDP服务发送的登录凭证,执行登录操作;
所述安全客户端基于所述随机码生成安全票据,包括:
所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据;
所述IDP服务在接收到所述安全票据后,采用第二私钥解密所述安全票据,当验证所述目标应用发送的随机码和解密得到的随机码一致时,确定所述安全票据验证通过;
其中,所述第二公钥和所述第二私钥是预先存储在所述IDP服务中的密钥,所述第二公钥是在所述安全客户端的登录过程中,由所述IDP服务发送至所述安全客户端的;
所述方法还包括:
所述安全客户端响应于第二启动操作,生成密钥数据和消息认证码;
所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据,包括:
所述安全客户端采用所述第二公钥加密所述随机码和所述消息认证码,生成所述安全票据;
所述目标应用响应于所述第一启动操作,从所述安全客户端处请求得到所述密钥数据,将所述密钥数据和所述安全票据一并发送至所述IDP服务;
所述IDP服务在接收到所述安全票据后,采用所述第二私钥解密所述安全票据;在验证所述目标应用发送的随机码和解密得到的随机码一致的情况下,采用解密得到的消息认证码和接收到的所述密钥数据,生成第一消息摘要;当验证所述第一消息摘要与已存储的第二消息摘要一致时,确定所述安全票据验证通过;
其中,所述第二消息摘要是所述安全客户端根据所述密钥数据和所述消息认证码生成,并通过所述目标应用随所述安全票据一并发送至所述IDP服务的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述IDP服务在验证所述安全票据通过之后,采用所述密钥数据对用户信息进行加密处理,生成所述登录凭证。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述安全客户端接收所述目标应用发送的所述登录凭证;
所述安全客户端采用所述密钥数据解密所述登录凭证,得到所述用户信息;
所述安全客户端将所述用户信息发送至所述目标应用,以使所述目标应用根据所述用户信息执行登录操作。
4.根据权利要求3所述的方法,其特征在于,所述密钥数据包括对称密钥和非对称密钥中的至少一个,所述非对称密钥包括第三公钥和第三私钥;
所述安全客户端采用所述密钥数据解密所述登录凭证,得到所述用户信息,包括:
在所述密钥数据为所述对称密钥的情况下,所述安全客户端采用所述对称密钥解密所述登录凭证,得到所述用户信息;
在所述密钥数据为所述非对称密钥的情况下,所述安全客户端采用所述第三私钥解密所述登录凭证,得到所述用户信息,其中,所述登录凭证是采用所述第三公钥加密所述用户信息生成的;
在所述密钥数据中包括所述非对称密钥和所述对称密钥的情况下,所述安全客户端采用所述第三私钥对所述登录凭证进行初次解密处理,采用所述对称密钥对初次解密后的登录凭证进行再次解密处理,得到所述用户信息,其中,所述登录凭证是依次采用所述对称密钥和所述第三公钥对所述用户信息加密生成的。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述IDP服务对所述用户信息进行哈希运算,得到第一哈希摘要,将所述第一哈希摘要随所述登录凭证一并发送至所述目标应用;
所述目标应用对所述安全客户端发送的所述用户信息进行哈希运算,得到第二哈希摘要,当确定所述第一哈希摘要和所述第二哈希摘要一致时,执行登录操作。
6.一种应用登录装置,其特征在于,所述装置包括:
接收模块,用于接收目标应用发送的待验证参数,所述待验证参数包括签名信息和第一公钥,所述签名信息是所述目标应用响应于第一启动操作,使用第一私钥对随机码进行签名处理后生成并发送的,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
票据生成模块,用于在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用,以使所述目标应用将所述安全票据和所述随机码发送至IDP服务,在所述IDP服务基于所述随机码对所述安全票据验证通过后,获取所述IDP服务发送的登录凭证,执行登录操作;
所述票据生成模块还用于采用第二公钥加密所述随机码,生成所述安全票据,以使所述IDP服务在接收到所述安全票据后,采用第二私钥解密所述安全票据,当验证目标应用发送的随机码和解密得到的随机码一致时,确定所述安全票据验证通过;其中,所述第二公钥和所述第二私钥是预先存储在所述IDP服务中的密钥,所述第二公钥是在安全客户端的登录过程中,由所述IDP服务发送至所述安全客户端的;
所述应用登录装置还包括密钥创建模块,用于响应于第二启动操作,生成密钥数据和消息认证码;所述票据生成模块还用于采用所述第二公钥加密所述随机码和所述消息认证码,生成所述安全票据;所述目标应用用于响应于所述第一启动操作,从所述安全客户端处请求得到所述密钥数据,将所述密钥数据和所述安全票据一并发送至所述IDP服务;所述IDP服务用于在接收到所述安全票据后,采用所述第二私钥解密所述安全票据;在验证所述目标应用发送的随机码和解密得到的随机码一致的情况下,采用解密得到的消息认证码和接收到的所述密钥数据,生成第一消息摘要;当验证所述第一消息摘要与已存储的第二消息摘要一致时,确定所述安全票据验证通过;
其中,所述第二消息摘要是所述安全客户端根据所述密钥数据和所述消息认证码生成,并通过所述目标应用随所述安全票据一并发送至所述IDP服务的数据。
7.一种应用登录***,其特征在于,所述***包括:
目标应用,用于响应于第一启动操作,使用第一私钥对随机码进行签名处理,生成签名信息,根据所述签名信息和第一公钥生成待验证参数,所述第一私钥和所述第一公钥为存储在所述目标应用的应用证书中的一对密钥;
安全客户端,用于接收所述目标应用发送的待验证参数,在采用所述第一公钥验证所述签名信息通过的情况下,基于所述随机码生成安全票据,将所述安全票据返回至所述目标应用;
IDP服务,用于接收所述目标应用发送的所述安全票据和所述随机码,在基于所述随机码对所述安全票据验证通过后,将登录凭证发送至所述目标应用,以使所述目标应用执行登录操作;
所述安全客户端还用于:采用第二公钥加密所述随机码,生成所述安全票据;
所述IDP服务还用于:在接收到所述安全票据后,采用第二私钥解密所述安全票据,当验证所述目标应用发送的随机码和解密得到的随机码一致时,确定所述安全票据验证通过;其中,所述第二公钥和所述第二私钥是预先存储在所述IDP服务中的密钥,所述第二公钥是在所述安全客户端的登录过程中,由所述IDP服务发送至所述安全客户端的;
所述安全客户端还用于:响应于第二启动操作,生成密钥数据和消息认证码;所述安全客户端采用第二公钥加密所述随机码,生成所述安全票据,包括:所述安全客户端采用所述第二公钥加密所述随机码和所述消息认证码,生成所述安全票据;
所述目标应用还用于:响应于所述第一启动操作,从所述安全客户端处请求得到所述密钥数据,将所述密钥数据和所述安全票据一并发送至所述IDP服务;
所述IDP服务还用于:在接收到所述安全票据后,采用所述第二私钥解密所述安全票据;在验证所述目标应用发送的随机码和解密得到的随机码一致的情况下,采用解密得到的消息认证码和接收到的所述密钥数据,生成第一消息摘要;当验证所述第一消息摘要与已存储的第二消息摘要一致时,确定所述安全票据验证通过;
其中,所述第二消息摘要是所述安全客户端根据所述密钥数据和所述消息认证码生成,并通过所述目标应用随所述安全票据一并发送至所述IDP服务的数据。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202310921431.0A 2023-07-26 2023-07-26 应用登录方法、装置、计算机设备和存储介质 Active CN116647413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310921431.0A CN116647413B (zh) 2023-07-26 2023-07-26 应用登录方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310921431.0A CN116647413B (zh) 2023-07-26 2023-07-26 应用登录方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN116647413A CN116647413A (zh) 2023-08-25
CN116647413B true CN116647413B (zh) 2023-10-13

Family

ID=87640381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310921431.0A Active CN116647413B (zh) 2023-07-26 2023-07-26 应用登录方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116647413B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031272A1 (en) * 2009-09-14 2011-03-17 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
CN103685282A (zh) * 2013-12-18 2014-03-26 飞天诚信科技股份有限公司 一种基于单点登录的身份认证方法
CN111901346A (zh) * 2020-07-29 2020-11-06 北京奇艺世纪科技有限公司 一种身份认证***
CN112491881A (zh) * 2020-11-26 2021-03-12 中国人寿保险股份有限公司 跨平台单点登录方法、***、电子设备及存储介质
CN112613010A (zh) * 2020-12-28 2021-04-06 北京世纪互联宽带数据中心有限公司 一种认证服务方法、装置、服务器及认证服务***
CN113935008A (zh) * 2021-12-15 2022-01-14 深圳竹云科技有限公司 用户认证方法、装置、电子设备及计算机可读存储介质
CN116049802A (zh) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 应用单点登陆方法、***、计算机设备和存储介质
CN116204857A (zh) * 2021-11-30 2023-06-02 腾讯科技(深圳)有限公司 业务处理方法、装置、设备及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031272A1 (en) * 2009-09-14 2011-03-17 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
CN103685282A (zh) * 2013-12-18 2014-03-26 飞天诚信科技股份有限公司 一种基于单点登录的身份认证方法
CN111901346A (zh) * 2020-07-29 2020-11-06 北京奇艺世纪科技有限公司 一种身份认证***
CN112491881A (zh) * 2020-11-26 2021-03-12 中国人寿保险股份有限公司 跨平台单点登录方法、***、电子设备及存储介质
CN112613010A (zh) * 2020-12-28 2021-04-06 北京世纪互联宽带数据中心有限公司 一种认证服务方法、装置、服务器及认证服务***
CN116204857A (zh) * 2021-11-30 2023-06-02 腾讯科技(深圳)有限公司 业务处理方法、装置、设备及计算机可读存储介质
CN113935008A (zh) * 2021-12-15 2022-01-14 深圳竹云科技有限公司 用户认证方法、装置、电子设备及计算机可读存储介质
CN116049802A (zh) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 应用单点登陆方法、***、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于票据的单点登录协议设计与实现;李凡;王流一;;计算机工程与科学(第02期);第41-44页 *

Also Published As

Publication number Publication date
CN116647413A (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
US11777726B2 (en) Methods and systems for recovering data using dynamic passwords
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US11544367B2 (en) Systems, apparatus and methods for secure electrical communication of biometric personal identification information to validate the identity of an individual
US11973750B2 (en) Federated identity management with decentralized computing platforms
US11082221B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
US9722794B2 (en) System and method for remote access, remote digital signature
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US10904004B2 (en) User-session management in a zero-knowledge environment
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
US11139964B1 (en) Biometric authenticated biometric enrollment
US11936651B2 (en) Automated account recovery using trusted devices
CN116049802A (zh) 应用单点登陆方法、***、计算机设备和存储介质
CN116647413B (zh) 应用登录方法、装置、计算机设备和存储介质
US20220116220A1 (en) Password management system and method
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
Megha Authentication of Financial Wallet System and Data Protection using BlockChain
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20240112177A1 (en) Systems and methods for identity verification to authorize transactions in decentralized networks

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