CN111447220A - 认证信息管理方法、应用系统的服务端及计算机存储介质 - Google Patents

认证信息管理方法、应用系统的服务端及计算机存储介质 Download PDF

Info

Publication number
CN111447220A
CN111447220A CN202010222975.4A CN202010222975A CN111447220A CN 111447220 A CN111447220 A CN 111447220A CN 202010222975 A CN202010222975 A CN 202010222975A CN 111447220 A CN111447220 A CN 111447220A
Authority
CN
China
Prior art keywords
authentication information
client
information
server
authentication
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.)
Granted
Application number
CN202010222975.4A
Other languages
English (en)
Other versions
CN111447220B (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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202010222975.4A priority Critical patent/CN111447220B/zh
Publication of CN111447220A publication Critical patent/CN111447220A/zh
Application granted granted Critical
Publication of CN111447220B publication Critical patent/CN111447220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN

Abstract

本申请实施例公开了一种认证信息管理方法、应用系统的服务端及计算机存储介质,用于对认证信息进行管理以提高认证信息的数据安全性。本申请实施例的方法包括:服务端接收客户端发送的登录请求,并创建对应于所述客户端的第一认证信息;生成对应于所述客户端的第一查询信息;以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联,并将第一认证信息存储到服务器缓存中,其中第一认证信息可以是JSON网络令牌JWT。由于服务器缓存是服务端内部的存储系统,应用系统的其他用户很难从服务器缓存中获取到第一认证信息,从而确保了数据存储的安全性。

Description

认证信息管理方法、应用系统的服务端及计算机存储介质
技术领域
本申请实施例涉及数据处理领域,具体涉及一种认证信息管理方法、应用系统的服务端及计算机存储介质。
背景技术
用户可以登录应用系统获取应用系统提供的服务。用户使用客户端登录应用系统时,应用系统获取该用户的用户信息,用户信息用于生成JSON网络令牌(JWT,Json webtoken),也就是在生成JWT的签名(signature)部分时,利用可逆的加密算法对JWT的头部(header)、荷载(payload)、秘钥信息及用户信息进行加密,从而得到JWT的签名部分。
之后,应用系统将生成的JSON网络令牌返回给客户端,客户端将该JSON网络令牌保存在本地cookie中。这样,该用户在第二次访问应用系统的时候,应用系统只需认证用户携带的JSON网络令牌是否有效,若JSON网络令牌有效,则允许用户登录应用系统。
但是,由于该用户的JWT是保存在本地cookie中的,应用系统的其他用户很容易从cookie中获取到用户的JWT,而又由于JWT签名部分可以被逆向解密出来,导致JWT签名部分存放的用户信息被获取,进而造成用户信息的泄露,影响数据存储的安全性。
发明内容
本申请实施例提供了一种认证信息管理方法、应用系统的服务端及计算机存储介质,用于对认证信息进行管理以提高认证信息的数据安全性。
本申请实施例第一方面提供了一种认证信息管理方法,所述方法应用于服务端,所述方法包括:
接收客户端发送的登录请求;
响应所述登录请求,创建对应于所述客户端的第一认证信息;
生成对应于所述客户端的第一查询信息;
以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
将所述第一认证信息存储到服务器缓存中。
优选的,所述生成对应于所述客户端的第一查询信息,包括:
为所述客户端分配第一系统标识;
使用加密算法对第一初始查询信息进行加密,得到所述第一查询信息,所述第一初始查询信息包括所述客户端的身份信息与所述第一系统标识。
优选的,所述加密算法为信息摘要MD5算法、安全散列SHA1算法、安全散列SHA2算法中的任意一种。
优选的,所述将所述第一认证信息存储到服务器缓存中之后,所述方法还包括:
设置所述第一认证信息的缓存过期时间。
优选的,所述将所述第一认证信息存储到服务器缓存中之后,所述方法还包括:
向所述客户端发送所述第一查询信息;
接收所述客户端发送的访问请求,所述访问请求中携带有所述客户端接收到的所述第一查询信息;
根据所述第一查询信息与所述第一认证信息的关联关系,在所述服务器缓存中查找所述第一查询信息对应的所述第一认证信息,并对所述第一认证信息的有效性进行认证;
若所述第一认证信息认证有效,则接受所述客户端的访问请求。
优选的,所述接收所述客户端发送的访问请求之后,所述方法还包括:
创建对应于所述客户端的第二认证信息;
为所述客户端分配第二系统标识;
使用加密算法对第二初始查询信息进行加密,得到所述第二查询信息,所述第二初始查询信息包括所述客户端的身份信息与所述第二系统标识;
以所述第二查询信息作为键、所述第二认证信息作为值,将所述第二查询信息与所述第二认证信息建立关联;
将所述第二认证信息存储到服务器缓存中,并设置所述第二认证信息的缓存过期时间。
优选的,所述第一认证信息及所述第二认证信息为JSON网络令牌。
优选的,所述登录请求携带有用户的用户名及登录密码;
所述接收客户端发送的登录请求之后,所述方法还包括:
调用认证服务对接收到的所述用户名及登录密码进行认证;
当所述用户名及登录密码认证通过时,调用用户信息服务获取所述用户的用户信息;
响应所述登录请求,创建对应于所述客户端的第一认证信息,包括:
从配置文件中获取秘钥信息;
响应所述登录请求,生成所述客户端的JSON网络令牌的头部及荷载;
使用加密算法对所述JSON网络令牌的头部及荷载、所述秘钥信息和所述用户的用户信息进行加密,得到所述JSON网络令牌的签名部分,所述JSON网络令牌的头部、荷载及签名部分构成所述JSON网络令牌。
优选的,所述服务器缓存为Memcached缓存或Redis缓存。
本申请实施例第二方面提供了一种应用系统的服务端,包括:
接收单元,用于接收客户端发送的登录请求;
创建单元,用于响应所述登录请求,创建对应于所述客户端的第一认证信息;
生成单元,用于生成对应于所述客户端的第一查询信息;
关联单元,用于以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
存储单元,用于将所述第一认证信息存储到服务器缓存中。
优选的,所述生成单元具体用于为所述客户端分配第一系统标识,使用加密算法对第一初始查询信息进行加密,得到所述第一查询信息,所述第一初始查询信息包括所述客户端的身份信息与所述第一系统标识。
优选的,所述加密算法为信息摘要MD5算法、安全散列SHA1算法、安全散列SHA2算法中的任意一种。
优选的,所述服务端还包括:
设置单元,用于设置所述第一认证信息的缓存过期时间。
优选的,所述服务端还包括:
发送单元,用于向所述客户端发送所述第一查询信息;
所述接收单元还用于接收所述客户端发送的访问请求,所述访问请求中携带有所述客户端接收到的所述第一查询信息;
所述服务端还包括:
查找单元,用于根据所述第一查询信息与所述第一认证信息的关联关系,在所述服务器缓存中查找所述第一查询信息对应的所述第一认证信息,并对所述第一认证信息的有效性进行认证;
接受单元,用于当所述第一认证信息认证有效时,则接受所述客户端的访问请求。
优选的,所述创建单元还用于创建对应于所述客户端的第二认证信息;
所述生成单元还用于为所述客户端分配第二系统标识,使用加密算法对第二初始查询信息进行加密,得到所述第二查询信息,所述第二初始查询信息包括所述客户端的身份信息与所述第二系统标识;
所述关联单元还用于以所述第二查询信息作为键、所述第二认证信息作为值,将所述第二查询信息与所述第二认证信息建立关联;
所述存储单元还用于将所述第二认证信息存储到服务器缓存中,并设置所述第二认证信息的缓存过期时间。
优选的,所述第一认证信息及所述第二认证信息为JSON网络令牌。
优选的,所述登录请求携带有用户的用户名及登录密码;
所述服务端还包括:
认证单元,用于调用认证服务对接收到的所述用户名及登录密码进行认证;
获取单元,用于当所述用户名及登录密码认证通过时,调用用户信息服务获取所述用户的用户信息;
所述创建单元具体用于从配置文件中获取秘钥信息,响应所述登录请求,生成所述客户端的JSON网络令牌的头部及荷载,使用加密算法对所述JSON网络令牌的头部及荷载、所述秘钥信息和所述用户的用户信息进行加密,得到所述JSON网络令牌的签名部分,所述JSON网络令牌的头部、荷载及签名部分构成所述JSON网络令牌。
优选的,所述服务器缓存为Memcached缓存或Redis缓存。
本申请实施例第三方面提供了一种应用系统的服务端,所述服务端包括:
处理器、存储器、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述输入输出设备用于接收客户端发送的登录请求;
所述处理器用于响应所述登录请求,创建对应于所述客户端的第一认证信息,生成对应于所述客户端的第一查询信息,以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
所述存储器用于将所述第一认证信息存储到服务器缓存中。
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本实施例中,服务端在创建第一认证信息及第一查询信息之后,将第一认证信息存储到服务器缓存中,其中第一认证信息可以是JSON网络令牌JWT。由于服务器缓存是服务端内部的存储系统,应用系统的其他用户很难从服务器缓存中获取到第一认证信息,从而确保了数据存储的安全性。
附图说明
图1为本申请实施例中认证信息管理方法一个流程示意图;
图2为本申请实施例中认证信息管理方法另一流程示意图;
图3为本申请实施例中应用系统的服务端一个结构示意图;
图4为本申请实施例中应用系统的服务端另一结构示意图;
图5为本申请实施例中应用系统的服务端另一结构示意图。
具体实施方式
本申请实施例提供了一种认证信息管理方法、应用系统的服务端及计算机存储介质,用于对认证信息进行管理以提高认证信息的数据安全性。
请参阅图1,本申请实施例中认证信息管理方法一个实施例包括:
101、接收客户端发送的登录请求;
本实施例的认证信息管理方法应用在任意一种应用系统的服务端上,其中应用系统可以为用户提供各种业务服务,例如应用系统可以是企业资源计划(enterpriseresourceplanning,ERP)系统、客户关系管理(customer relationship management,CRM)系统等企业应用系统,ERP系统或CRM系统为企业用户提供数据处理业务。在应用系统提供各种业务服务时,服务端负责处理系统内部的数据以及系统与用户之间的信息交互。本实施例将介绍服务端对认证信息进行管理的过程。
当用户需要使用应用系统提供的业务服务时,用户需要通过客户端登录应用系统以获取相应的业务服务,也就是客户端向服务端发送登录请求,服务端接收该登录请求,并执行后续的处理流程。
102、响应登录请求,创建对应于客户端的第一认证信息;
服务端接收到客户端发送的登录请求之后,响应该登录请求,创建对应于客户端的认证信息,其中,认证信息是指可用于识别及认证用户身份的数据信息,例如,认证信息可以是JSON网络令牌(JWT,Json web token)、访问令牌或者其他类型的令牌。认证信息的用途是方便对用户身份的识别及认证,在用户后续通过客户端访问应用系统时,服务端只需对认证信息进行认证,若认证通过,表明该认证信息是有效的,该认证信息对应的用户是应用系统的合法用户,可允许该用户访问应用系统。为便于区分和描述,本实施例将用户请求登录系统时服务端所创建的认证信息称为第一认证信息。
103、生成对应于客户端的第一查询信息;
服务端接收到客户端发送的登录请求之后,生成对应于客户端的查询信息,该查询信息的作用是,在后续的步骤中查询信息与认证信息建立关联之后,服务端可以根据查询信息查找到对应的认证信息。为便于区分和描述,本实施例将用户请求登录系统时服务端所生成的查询信息称为第一查询信息。
104、以客户端的第一查询信息作为键、客户端的第一认证信息作为值,将第一查询信息与第一认证信息建立关联;
服务端在创建第一认证信息及第一查询信息之后,以客户端的第一查询信息作为键、客户端的第一认证信息作为值,将第一查询信息与第一认证信息建立关联。
105、将第一认证信息存储到服务器缓存中;
服务端将第一查询信息与第一认证信息建立关联之后,将第一认证信息存储到服务器缓存中,在服务端从服务器缓存中获取第一认证信息时,由于第一认证信息与第一查询信息已建立了关联关系,服务端可以根据作为键的第一查询信息,快速地查找到该第一查询信息对应的第一认证信息。
本实施例中,服务端在创建第一认证信息及第一查询信息之后,将第一认证信息存储到服务器缓存中,由于服务器缓存是服务端内部的存储系统,应用系统的其他用户很难从服务器缓存中获取到第一认证信息,从而确保了数据存储的安全性。
下面将在前述图1所示实施例的基础上,进一步地详细描述本申请实施例。请参阅图2,本申请实施例中认证信息管理方法另一实施例包括:
201、接收客户端发送的登录请求;
本步骤所执行的操作与前述图1所示实施例中的步骤101所执行的操作类似。本实施例中,应用系统的用户可以是注册用户,也可以是游客用户,注册用户也就是用户在应用系统上注册并形成用户信息,在每次登录应用系统时可以凭借该用户信息登录,其中用户信息包括用户名、登录密码、用户权限信息以及用户的其他信息,其中用户权限信息是指用户拥有的业务服务使用权限,表示用户可以使用哪一项业务服务;而游客用户是指,未在应用系统上注册个人信息,仅以游客的形式登录并访问应用系统。在实际应用中,注册用户与游客用户相比,注册用户拥有应用系统更多的业务服务使用权限,也就是说,注册用户可以获取更多的业务服务。
当用户在应用系统上注册时,应用系统的服务端调用用户信息服务来管理用户的用户信息,用户信息服务也就是应用系统预设的程序,用于管理用户的用户信息。
本实施例中,用户需要登录应用系统时,在客户端上输入用户名及登录密码,客户端向应用系统发送登录请求,则该登录请求中携带了该用户的用户名及登录密码。服务端接收该登录请求以及用户名和登录密码。
202、调用认证服务对接收到的用户名及登录密码进行认证;
服务端获取到客户端发送的用户名及登录密码之后,调用认证服务对该用户名及登录密码进行认证,包括认证该用户名及登录密码是否匹配、认证是否存在与该用户名及登录密码对应的用户以及其他有效性认证的操作。其中,认证服务也就是应用系统预设的程序,用于对用户的用户名及登录密码进行认证。
当用户名及登录密码认证通过时,服务端接受客户端的登录请求,允许客户端对应的用户登录应用系统。
203、当用户名及登录密码认证通过时,调用用户信息服务获取用户的用户信息;
用户登录应用系统之后,由于用户信息服务管理着用户的用户信息,因此,服务端可以调用用户信息服务,查找与该用户对应的用户信息并获取该用户信息。
204、响应登录请求,创建对应于客户端的第一认证信息;
服务端获取到用户的用户信息之后,响应客户端的登录请求,并使用用户信息来创建第一认证信息,具体的创建过程如下所述。
本实施例中,第一认证信息可以是JSON网络令牌。在创建JSON网络令牌时,服务端从配置文件中获取秘钥信息,并生成JSON网络令牌的头部及荷载,其中秘钥信息也就是服务端的私钥,主要用于JSON网络令牌的签发和验证。JSON网络令牌的头部存放的数据是令牌类型以及JSON网络令牌签名部分所使用的算法,荷载部分存放有效数据,如JSON网络令牌的过期时间、签发时间、发行人、JSON网络令牌的ID等信息,头部及荷载部分的数据可以使用Base64 URL算法转换为字符串保存。之后,服务端使用加密算法对JSON网络令牌的头部及荷载、秘钥信息和用户的用户信息进行加密,得到JSON网络令牌的签名部分,其中加密算法可以是HMAC SHA256算法。因此,JSON网络令牌的头部、荷载及签名部分也就构成了JSON网络令牌。
本实施例中,第一认证信息可以是其他类型的令牌,例如可以是访问令牌,只要是能够用于识别及认证用户身份的数据信息即可,具体此处不作限定。同时,创建第一认证信息的方式可以根据第一认证信息的不同类型分别确定,具体的创建第一认证信息的方式不作限定。
205、生成对应于客户端的第一查询信息;
本步骤所执行的操作与前述图1所示实施例中的步骤103所执行的操作类似。本实施例中,第一查询信息可以是经过加密后形成的数据信息。具体地,在客户端登录应用系统之后,服务端为客户端分配系统标识,再使用加密算法对包括有客户端的身份信息与该系统标识的初始查询信息进行加密,得到加密后的第一查询信息,其中系统标识可以是任意形式的字段,其主要作用是增加初始查询信息的数据复杂程度,使该初始查询信息经过加密后得到的第一查询信息更加安全。此外,系统标识还可以用于区分客户端所在终端的类型,例如,使用某一特定的字符串指代客户端所在终端为手机终端,使用另一特定的字符串指代客户端所在终端为电脑终端,以此来区分客户端所在终端的类型。为便于区分和描述,本实施例将用于加密得到第一查询信息的初始查询信息称为第一初始查询信息,将第一初始查询信息包括的系统标识称为第一系统标识。
其中,客户端的身份信息可以是客户端的ID,或者是客户端的IP地址信息,只要是能够表明客户端身份的信息即可,具体此处不作限定。
本实施例中,为增加第一初始查询信息的数据复杂程度,第一初始查询信息还可以包括其他数据,例如可以包括服务端自定义的数据,具体此处不作限定。
其中,对第一初始查询信息进行加密的算法可以是信息摘要MD5算法(MD5,message-digest algorithm),或者是安全散列SHA1算法(secure hash algorithm 1,SHA1)、安全散列SHA2算法(secure hash algorithm 2,SHA2),加密算法的具体类型不作限定。
需要说明的是,第一查询信息也可以是无需经过加密后得到的查询信息,即第一查询信息可以是任意形式的信息,只要能够对应于第一认证信息且可用于查询的信息即可,具体此处不作限定。
206、以客户端的第一查询信息作为键、客户端的第一认证信息作为值,将第一查询信息与第一认证信息建立关联;
207、将第一认证信息存储到服务器缓存中;
步骤206至207所执行的操作与前述图1所示实施例中的步骤104至105所执行的操作类似。其中,服务器缓存可以是Memcached缓存、Redis缓存或者其他类型的服务器缓存。
服务端将第一认证信息存储到服务器缓存中之后,可以设置第一认证信息在缓存中的缓存过期时间,在到达缓存过期时间时,服务端清除缓存中的第一认证信息,以便节约缓存的存储空间。通过设置第一认证信息的缓存过期时间,可以对第一认证信息的存储时间进行管理,也可以管理缓存的存储空间。
服务端在将第一认证信息存储到服务器缓存中之后,为方便客户端后续对服务端的访问,服务端可以将第一查询信息发送给客户端。客户端访问服务端以获取服务端提供的业务服务时,客户端向服务端发送访问请求,访问请求中携带了客户端接收到的第一查询信息。服务端接收到客户端发送的访问请求及访问请求中的第一查询信息之后,根据服务端记录下的第一查询信息与第一认证信息的关联关系,在服务器缓存中查找第一查询信息对应的第一认证信息。查找到第一认证信息之后,服务端对第一认证信息进行认证,认证的操作包括认证用户身份是否与查找到的第一认证信息相对应、认证客户端是否有权限通过该第一认证信息获取客户端所要获取的业务服务,以及其他一些对第一认证信息的有效性进行认证的操作。
若第一认证信息为JSON网络令牌,服务端在对JSON网络令牌进行认证时,服务端使用步骤204从配置文件中获取到的秘钥信息对JSON网络令牌进行认证。
当服务端查找到的第一认证信息被认证有效时,说明用户的身份与该第一认证信息相匹配,可以接受客户端的访问请求,允许客户端访问服务端。在后续客户端需要访问服务端时,服务端只需认证第一认证信息即可允许客户端访问服务端,无需客户端多次登录应用系统,减少客户端登录应用系统的操作,提升用户体验。
本实施例中,由于第一认证信息被设置了缓存过期时间,第一认证信息在到达缓存过期时间时会被清除,而一旦第一认证信息被清除,客户端在访问服务端时需要重新登录应用系统,这给用户带来不良的使用体验。为防止上述情况的发生,服务端接受了客户端的访问请求之后,可以重新为客户端创建新的认证信息,并设置该新的认证信息的缓存过期时间。为便于区分,本实施例将服务端接受客户端的访问请求之后所重新创建的新的认证信息称为第二认证信息,第二认证信息的创建过程与前述图1所示实施例中的步骤102及本实施例中步骤204所述的第一认证信息的创建过程类似,此处不再赘述。
此外,服务端接受了客户端的访问请求之后,还可以为客户端分配系统标识,并使用加密算法对包括客户端的身份信息与系统标识的初始查询信息进行加密,得到查询信息,以查询信息作为键、第二认证信息作为值,并将查询信息与第二认证信息建立关联,将第二认证信息存储到服务器缓存中,并设置认证信息的缓存过期时间,以便于对第二认证信息进行管理。为方便区分,本实施例将服务端接受客户端的访问请求之后为客户端分配的系统标识称为第二系统标识,将包括客户端的身份信息与第二系统标识的初始查询信息称为第二初始查询信息,将第二初始查询信息加密后形成的查询信息称为第二查询信息。
因此,服务端创建了客户端的第二认证信息并将该第二认证信息存储至服务器缓存中,即使客户端后续需要访问服务端而第一认证信息被清除,服务端也可以对第二认证信息进行认证,从而确定是否允许客户端访问,而不会因为第一认证信息被清除而导致客户端无法访问服务端,减少了客户端反复登录应用系统的操作,提升用户体验。
其中,第二查询信息的生成过程与前述步骤205中第一查询信息的生成过程类似,此处不再赘述。
本实施例中,为确保客户端访问服务端时无需再次登录应用系统,除了采取上述的服务端重新为客户端创建新的认证信息这种方式之外,还可以有其他方式,例如,无需重新为客户端创建新的认证信息,而是将第一认证信息的荷载部分所存放的过期时间exp(expiration time)设置为足够长,也就是令第一认证信息的有效时长足够大,另一方面,再通过设置第一认证信息在服务器缓存中的缓存过期时间来管理第一认证信息,从而既确保了客户端访问服务端时无需再次登录应用系统,同时也保证了在客户端长时间没有访问服务端时,第一认证信息可以被清除而不会占用服务器缓存的存储空间。
上面对本申请实施例中的认证信息管理方法进行了描述,下面对本申请实施例中的应用系统的服务端进行描述,请参阅图3,本申请实施例中应用系统的服务端一个实施例包括:
接收单元301,用于接收客户端发送的登录请求;
创建单元302,用于响应登录请求,创建对应于客户端的第一认证信息;
生成单元303,用于生成对应于客户端的第一查询信息;
关联单元304,用于以客户端的第一查询信息作为键、客户端的第一认证信息作为值,将第一查询信息与第一认证信息建立关联;
存储单元305,用于将第一认证信息存储到服务器缓存中。
本实施例中,应用系统的服务端中各单元所执行的操作与前述图1所示实施例中描述的类似,此处不再赘述。
本实施例中,创建单元302在创建第一认证信息及第一查询信息之后,存储单元305将第一认证信息存储到服务器缓存中,由于服务器缓存是服务端内部的存储系统,应用系统的其他用户很难从服务器缓存中获取到第一认证信息,从而确保了数据存储的安全性。
请参阅图4,本申请实施例中应用系统的服务端另一实施例包括:
接收单元401,用于接收客户端发送的登录请求;
创建单元402,用于响应登录请求,创建对应于客户端的第一认证信息;
生成单元403,用于生成对应于客户端的第一查询信息;
关联单元404,用于以客户端的第一查询信息作为键、客户端的第一认证信息作为值,将第一查询信息与第一认证信息建立关联;
存储单元405,用于将第一认证信息存储到服务器缓存中。
本实施例中,生成单元403具体用于为客户端分配第一系统标识,使用加密算法对第一初始查询信息进行加密,得到第一查询信息,第一初始查询信息包括客户端的身份信息与第一系统标识。
其中,加密算法为信息摘要MD5算法、安全散列SHA1算法、安全散列SHA2算法中的任意一种。
本实施例中,服务端还包括:
设置单元406,用于设置第一认证信息的缓存过期时间。
服务端还包括:
发送单元407,用于向客户端发送第一查询信息;
接收单元401还用于接收客户端发送的访问请求,访问请求中携带有客户端接收到的第一查询信息;
服务端还包括:
查找单元408,用于根据第一查询信息与第一认证信息的关联关系,在服务器缓存中查找第一查询信息对应的第一认证信息,并对第一认证信息的有效性进行认证;
接受单元409,用于当第一认证信息认证有效时,则接受客户端的访问请求。
本实施例中,创建单元402还用于创建对应于客户端的第二认证信息;
生成单元403还用于为客户端分配第二系统标识,使用加密算法对第二初始查询信息进行加密,得到第二查询信息,第二初始查询信息包括客户端的身份信息与第二系统标识;
关联单元404还用于以第二查询信息作为键、第二认证信息作为值,将第二查询信息与第二认证信息建立关联;
存储单元405还用于将第二认证信息存储到服务器缓存中,并设置第二认证信息的缓存过期时间。
本实施例中,第一认证信息及第二认证信息优选为JSON网络令牌。
本实施例中,客户端发送的登录请求携带有用户的用户名及登录密码;
服务端还包括:
认证单元410,用于调用认证服务对接收到的用户名及登录密码进行认证;
获取单元411,用于当用户名及登录密码认证通过时,调用用户信息服务获取用户的用户信息;
创建单元402具体用于从配置文件中获取秘钥信息,响应登录请求,生成客户端的JSON网络令牌的头部及荷载,使用加密算法对JSON网络令牌的头部及荷载、秘钥信息和用户的用户信息进行加密,得到JSON网络令牌的签名部分,JSON网络令牌的头部、荷载及签名部分构成JSON网络令牌。
其中,服务器缓存优选为Memcached缓存或Redis缓存
本实施例中,应用系统的服务端中各单元所执行的操作与前述图2所示实施例中描述的类似,此处不再赘述。
下面对本申请实施例中的应用系统的服务端进行描述,请参阅图5,本申请实施例中应用系统的服务端一个实施例包括:
该应用系统的服务端500可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对应用系统的服务端中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在应用系统的服务端500上执行存储器505中的一系列指令操作。
应用系统的服务端500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器501可以执行前述图1至图2所示实施例中应用系统的服务端所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1至图2所示实施例中应用系统的服务端所执行的操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (11)

1.一种认证信息管理方法,其特征在于,所述方法应用于服务端,所述方法包括:
接收客户端发送的登录请求;
响应所述登录请求,创建对应于所述客户端的第一认证信息;
生成对应于所述客户端的第一查询信息;
以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
将所述第一认证信息存储到服务器缓存中。
2.根据权利要求1所述的认证信息管理方法,其特征在于,所述生成对应于所述客户端的第一查询信息,包括:
为所述客户端分配第一系统标识;
使用加密算法对第一初始查询信息进行加密,得到所述第一查询信息,所述第一初始查询信息包括所述客户端的身份信息与所述第一系统标识。
3.根据权利要求1所述的认证信息管理方法,其特征在于,所述将所述第一认证信息存储到服务器缓存中之后,所述方法还包括:
设置所述第一认证信息的缓存过期时间。
4.根据权利要求1所述的认证信息管理方法,其特征在于,所述将所述第一认证信息存储到服务器缓存中之后,所述方法还包括:
向所述客户端发送所述第一查询信息;
接收所述客户端发送的访问请求,所述访问请求中携带有所述客户端接收到的所述第一查询信息;
根据所述第一查询信息与所述第一认证信息的关联关系,在所述服务器缓存中查找所述第一查询信息对应的所述第一认证信息,并对所述第一认证信息的有效性进行认证;
若所述第一认证信息认证有效,则接受所述客户端的访问请求。
5.根据权利要求4所述的认证信息管理方法,其特征在于,所述接收所述客户端发送的访问请求之后,所述方法还包括:
创建对应于所述客户端的第二认证信息;
为所述客户端分配第二系统标识;
使用加密算法对第二初始查询信息进行加密,得到所述第二查询信息,所述第二初始查询信息包括所述客户端的身份信息与所述第二系统标识;
以所述第二查询信息作为键、所述第二认证信息作为值,将所述第二查询信息与所述第二认证信息建立关联;
将所述第二认证信息存储到服务器缓存中,并设置所述第二认证信息的缓存过期时间。
6.根据权利要求1至5任一项所述的认证信息管理方法,其特征在于,所述第一认证信息及所述第二认证信息为JSON网络令牌。
7.根据权利要求6所述的认证信息管理方法,其特征在于,所述登录请求携带有用户的用户名及登录密码;
所述接收客户端发送的登录请求之后,所述方法还包括:
调用认证服务对接收到的所述用户名及登录密码进行认证;
当所述用户名及登录密码认证通过时,调用用户信息服务获取所述用户的用户信息;
所述响应所述登录请求,创建对应于所述客户端的第一认证信息,包括:
从配置文件中获取秘钥信息;
响应所述登录请求,生成所述客户端的JSON网络令牌的头部及荷载;
使用加密算法对所述JSON网络令牌的头部及荷载、所述秘钥信息和所述用户的用户信息进行加密,得到所述JSON网络令牌的签名部分,所述JSON网络令牌的头部、荷载及签名部分构成所述JSON网络令牌。
8.根据权利要求1至5任一项所述的认证信息管理方法,其特征在于,所述服务器缓存为Memcached缓存或Redis缓存。
9.一种应用系统的服务端,其特征在于,所述服务端包括:
接收单元,用于接收客户端发送的登录请求;
创建单元,用于响应所述登录请求,创建对应于所述客户端的第一认证信息;
生成单元,用于生成对应于所述客户端的第一查询信息;
关联单元,用于以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
存储单元,用于将所述第一认证信息存储到服务器缓存中。
10.一种应用系统的服务端,其特征在于,所述服务端包括:
处理器、存储器、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述输入输出设备用于接收客户端发送的登录请求;
所述处理器用于响应所述登录请求,创建对应于所述客户端的第一认证信息,生成对应于所述客户端的第一查询信息,以所述客户端的第一查询信息作为键、所述客户端的第一认证信息作为值,将所述第一查询信息与所述第一认证信息建立关联;
所述存储器用于将所述第一认证信息存储到服务器缓存中。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
CN202010222975.4A 2020-03-26 2020-03-26 认证信息管理方法、应用系统的服务端及计算机存储介质 Active CN111447220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010222975.4A CN111447220B (zh) 2020-03-26 2020-03-26 认证信息管理方法、应用系统的服务端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010222975.4A CN111447220B (zh) 2020-03-26 2020-03-26 认证信息管理方法、应用系统的服务端及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111447220A true CN111447220A (zh) 2020-07-24
CN111447220B CN111447220B (zh) 2022-08-23

Family

ID=71647966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010222975.4A Active CN111447220B (zh) 2020-03-26 2020-03-26 认证信息管理方法、应用系统的服务端及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111447220B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738069A (zh) * 2020-12-25 2021-04-30 神思旭辉医疗信息技术有限责任公司 一种基于有状态和无状态认证机制的融合方法、系统及服务器
CN112860452A (zh) * 2021-02-02 2021-05-28 浪潮云信息技术股份公司 提高高并发情况响应速度的方法、装置及计算机可读介质
CN112883357A (zh) * 2021-03-11 2021-06-01 中科三清科技有限公司 无状态登录鉴权方法和装置
CN113885790A (zh) * 2021-08-29 2022-01-04 苏州浪潮智能科技有限公司 一种磁盘阵列响应方法、系统、存储介质及设备
CN116521745A (zh) * 2023-07-04 2023-08-01 北京长亭科技有限公司 一种缓存方法以及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222460A (zh) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 一种服务器数据存储空间共享的方法及装置
CN108234409A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 身份验证方法与装置
CN108306877A (zh) * 2018-01-30 2018-07-20 泰康保险集团股份有限公司 基于node js的用户身份信息的验证方法、装置和存储介质
CN108965230A (zh) * 2018-05-09 2018-12-07 深圳市中信网安认证有限公司 一种安全通信方法、系统及终端设备
CN109377342A (zh) * 2018-12-04 2019-02-22 金蝶软件(中国)有限公司 单据处理方法、装置、计算机设备和存储介质
CN110365483A (zh) * 2018-04-11 2019-10-22 中国移动通信集团广东有限公司 云平台认证方法、客户端、中间件及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234409A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 身份验证方法与装置
CN107222460A (zh) * 2017-05-03 2017-09-29 飞天诚信科技股份有限公司 一种服务器数据存储空间共享的方法及装置
CN108306877A (zh) * 2018-01-30 2018-07-20 泰康保险集团股份有限公司 基于node js的用户身份信息的验证方法、装置和存储介质
CN110365483A (zh) * 2018-04-11 2019-10-22 中国移动通信集团广东有限公司 云平台认证方法、客户端、中间件及系统
CN108965230A (zh) * 2018-05-09 2018-12-07 深圳市中信网安认证有限公司 一种安全通信方法、系统及终端设备
CN109377342A (zh) * 2018-12-04 2019-02-22 金蝶软件(中国)有限公司 单据处理方法、装置、计算机设备和存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738069A (zh) * 2020-12-25 2021-04-30 神思旭辉医疗信息技术有限责任公司 一种基于有状态和无状态认证机制的融合方法、系统及服务器
CN112860452A (zh) * 2021-02-02 2021-05-28 浪潮云信息技术股份公司 提高高并发情况响应速度的方法、装置及计算机可读介质
CN112883357A (zh) * 2021-03-11 2021-06-01 中科三清科技有限公司 无状态登录鉴权方法和装置
CN113885790A (zh) * 2021-08-29 2022-01-04 苏州浪潮智能科技有限公司 一种磁盘阵列响应方法、系统、存储介质及设备
CN113885790B (zh) * 2021-08-29 2023-06-16 苏州浪潮智能科技有限公司 一种磁盘阵列响应方法、系统、存储介质及设备
CN116521745A (zh) * 2023-07-04 2023-08-01 北京长亭科技有限公司 一种缓存方法以及装置

Also Published As

Publication number Publication date
CN111447220B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
US11178134B2 (en) Method and apparatus for allocating device identifiers
CN111447220B (zh) 认证信息管理方法、应用系统的服务端及计算机存储介质
US10771459B2 (en) Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
CN105187362B (zh) 一种桌面云客户端和服务端之间连接认证的方法及装置
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
WO2018145605A1 (zh) 鉴权方法及服务器、访问控制装置
US8893244B2 (en) Application-based credential management for multifactor authentication
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
US9608971B2 (en) Method and apparatus for using a bootstrapping protocol to secure communication between a terminal and cooperating servers
CN107733933B (zh) 一种基于生物识别技术的双因子身份认证的方法及系统
CN105074713A (zh) 用于当连接至网络时识别安全应用程序的系统和方法
KR20190024817A (ko) 권한 위양 시스템, 그 제어 방법 및 클라이언트
JP2019139520A (ja) 情報処理システムと、その制御方法とプログラム
KR20220086580A (ko) 분산형 컴퓨터 애플리케이션들을 구축하기 위한 비-보관 툴
CN110225017B (zh) 基于联盟区块链的身份验证方法、设备及存储介质
US11663318B2 (en) Decentralized password vault
KR20220167366A (ko) 온라인 서비스 서버와 클라이언트 간의 상호 인증 방법 및 시스템
JP6240102B2 (ja) 認証システム、認証鍵管理装置、認証鍵管理方法および認証鍵管理プログラム
US11750391B2 (en) System and method for performing a secure online and offline login process
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
CN112039857B (zh) 一种公用基础模块的调用方法和装置
KR102118556B1 (ko) 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
JP7043480B2 (ja) 情報処理システムと、その制御方法とプログラム
US20220116217A1 (en) Secure linking of device to cloud storage
US20240056806A1 (en) Device authorization in an enterprise network based on whether a mobile number is in a user information repository

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