CN110365483B - 云平台认证方法、客户端、中间件及*** - Google Patents

云平台认证方法、客户端、中间件及*** Download PDF

Info

Publication number
CN110365483B
CN110365483B CN201810320459.8A CN201810320459A CN110365483B CN 110365483 B CN110365483 B CN 110365483B CN 201810320459 A CN201810320459 A CN 201810320459A CN 110365483 B CN110365483 B CN 110365483B
Authority
CN
China
Prior art keywords
authentication
token
information
cloud platform
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810320459.8A
Other languages
English (en)
Other versions
CN110365483A (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong 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 China Mobile Communications Group Co Ltd, China Mobile Group Guangdong Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201810320459.8A priority Critical patent/CN110365483B/zh
Publication of CN110365483A publication Critical patent/CN110365483A/zh
Application granted granted Critical
Publication of CN110365483B publication Critical patent/CN110365483B/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/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
    • 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
    • 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

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)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种云平台认证方法、客户端、中间件及***。所述方法包括:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。本发明实施例使认证中间件可以直接根据免认证标识对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。

Description

云平台认证方法、客户端、中间件及***
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种云平台认证方法、客户端、中间件及***。
背景技术
Keystone项目是Openstack云平台的一个基础项目,它提供了平台认证服务,即用户在使用云平台提供的各种服务之前,都需要通过Keystone进行认证,认证过程主要包括获取令牌和认证令牌两个过程。
首先,获取令牌的过程包括:用户使用用户名、密码、租户或者域信息向Openstack云平台中的服务端发送请求,服务端在接收到用户的请求后,解析并根据令牌格式,进行内部流程处理,最后将令牌以ID的形式返回给用户,这个令牌ID将是用户后续向各个服务发送请求的合法性依据。
在认证令牌的过程中,根据用户发送请求中携带的令牌ID,进行用户身份的合法性认证。Openstack项目的认证技术,除了与Keystone认证服务外,也离不开众多的中间件技术的处理,如典型的Keystone-middleware。图1为现有技术中云平台服务认证流程图,如图1所示,Openstack云平台中的中间件首先判定请求中是否携带令牌,如果没有,直接返回不通过;如果有,会去***合法缓存中查找是否有对应的令牌信息,如果命中的话,则检查令牌是否被回收,如果没有则认证通过,反之,认证失败;但是如果合法缓存和非法缓存中都不存在令牌的话,会根据令牌ID去Keystone服务进行令牌的认证。由于Keystone的令牌格式支持4种,并且每一种令牌格式,都有对应的认证驱动进行处理。因此,keystone服务会根据令牌的格式,找到对应的驱动进行认证,如果认证不通过,就返回失败,并将令牌信息存入非法缓存中,以减少后续与Keystone的认证交互;否则,认证通过,将令牌信息,加入到合法缓存中。这样,后续该令牌的认证就直接通过中间件认证,减少了与Keystone的认证交互。当前Keystone认证服务中,令牌放入合法缓存的时间,是一个可以设定的值,这个值的大小根据时间情况进行设置,一般是小于令牌的过期时间,即在令牌失效之前,就被移出合法缓存,从而有更多的空间留给其它有效令牌使用。
现有Openstack云平台的认证技术,对于小规模服务的表现尚可。在实际运营中,云产品的服务客户将会是数以万计的用户,而当过多的用户通过Keystone进行认证时,容易达到Keystone服务上限或造成Keystone服务压力过大,当压力达到一定的情况下,经常会出现认证失败的情况,导致一部分令牌误判,当用户使用自己创建的身份信息拿到令牌信息,并不能继续执行操作,直接被判断令牌已失效,导致云平台服务质量较差。
因此,如何在大量用户的情况下提高云平台的认证服务能力成为亟待解决的重要课题。
发明内容
针对现有技术中的缺陷,本发明实施例提供了一种云平台认证方法、客户端、中间件及***。
第一方面,本发明实施例提供一种云平台认证方法,包括:
获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;
向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
第二方面,本发明又一实施例提供一种云平台认证方法,包括:
接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:令牌生成信息和所述令牌的过期时间;
解析所述认证请求,获取所述免认证标识,判断所述认证请求是否为非首次认证;
若判断获知为非首次认证,则根据所述令牌生成信息判断令牌身份是否合法;
若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
第三方面,本发明实施例提供一种云平台客户端,包括:
获取模块,用于获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;
发送模块,用于向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
第四方面,本发明实施例提供一种云平台认证中间件,包括:
接收模块,用于接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:所述令牌生成信息和所述令牌的过期时间;
判断模块,用于解析所述认证请求,获取免认证标识,判断所述认证请求是否为非首次认证;
第一认证模块,用于若判断获知为非首次认证,则根据所述令牌生成信息判断所述令牌身份是否合法;
第二认证模块,用于若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
第五方面,本发明实施例提供一种云平台***,包括:上述云平台客户端和上述云平台认证中间件。
第六方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
第七方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
本发明实施例提供的云平台认证方法,在令牌的认证请求中携带令牌生成信息、令牌的过期时间和免认证标识,使认证中间件可以直接根据免认证标识对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中云平台服务认证流程图;
图2为本发明实施例提供的云平台认证方法流程示意图;
图3为本发明又一实施例提供的云平台认证方法流程示意图;
图4为本发明实施例提供的云平台客户端的结构示意图;
图5为本发明实施例提供的云平台认证中间件的结构示意图;
图6为本发明实施例提供的云平台***的结构示意图;
图7为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的云平台认证方法流程示意图,如图2所示,该方法包括:
步骤S21、获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;
具体地,云平台为用户提供了各种服务,当用户需要使用某一项服务时,需要使用令牌作为云平台通行证。用户首先需要获取令牌,分配到令牌ID后使用该令牌ID就有机会使用云平台中的各种服务,每种服务在用户使用之前会对令牌进行认证,只有认证通过之后,用户才能使用相应的服务。
首先,用户通过客户端向云平台发送获取令牌请求,云平台根据预先设置的分配规则为用户分配相应格式的令牌,例如,Openstack云平台的Keystone认证服务器支持四种令牌格式,分别为:通用唯一识别码(UUID)、公用基础设施压缩(PKIZ)、公用基础设施(PKI)和冗余加密码(Fernet),这四种格式的令牌对应四种认证驱动,用于对相应格式的令牌进行认证,以验证令牌是否合法。云平台在令牌分配完成后,向客户端返回令牌ID,之后,客户端可以使用令牌ID发送认证请求。为了减少与认证服务器的交互,客户端在发送认证请求之前,可以先获取令牌的配置信息,例如令牌生成信息和令牌的过期时间(Expire),其中,令牌生成信息与该令牌的生产方式、时间和用户信息相关。在令牌产生并被认证服务器首次认证之后,生成令牌生成信息,为了便于认证检测,在实际应用中,可以按照预设的转换规则将令牌生成信息转换成令牌的生成ID(Audit_ID),每个Audit_ID与云平台相关,不可伪造,通过Audit_ID认证的令牌表示其身份是合法的。在实际应用中,令牌分配完成且被认证服务器第一次认证通过之后,生成该令牌对应的Audit_ID和过期时间等配置信息,将这些配置信息与令牌ID关联,存储在***缓存中,当用户需要认证令牌时,通过查找***缓存获取令牌的配置信息。
步骤S22、向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
具体地,客户端获取到令牌ID后,向云平台发送认证请求,认证请求携带了令牌ID、配置信息和免认证标识(Verify),免认证标识表示该令牌无需再次认证,当用户可信度非常高时,在认证请求中携带免认证标识表明用户将认证策略级别设置为最低,此时,对于云平台来说,用户只需登陆一次,通过认证后,后续的认证过程不需要和认证服务器进行认证交互,由认证中间件完成认证过程,以减少认证服务器压力。当认证中间件收到客户端发送的认证请求之后,解析认证请求,获取令牌ID和配置信息,判断认证请求中是否携带免认证标识,若有,则判断用户的可信度是否可以进行免认证流程,例如,用户是否为局域网用户或者云平台***内部用户等。之后,认证中间件判断认证请求是否为首次认证,一般地,由于首次认证必须通过认证服务器认证,此时云平台缓存中,令牌的配置信息为空,因此首次认证时用户发送的令牌认证请求中携带的配置信息为空。
当认证中间件确定认证请求为非首次认证后,根据令牌生成信息对令牌的身份进行安全检测,首先通过解析令牌生成信息判断令牌生成信息中的用户信息与当前认证请求中的用户信息是否一致,然后根据令牌ID查找***缓存中对应的令牌生成信息,判断两者是否一致,即令牌身份是否合法或伪造,若与***缓存一致,则表明令牌身份合法,之后,将当前时间点与认证请求中携带的过期时间进行对比,判断该令牌是否过期,若身份合法且未过期,则令牌通过认证,之后,用户可以使用云平台对应的服务。若令牌身份不合法或者已经超过令牌的过期时间,则令牌未通过认证,认证中间件向客户端反馈操作失败信息。
本发明实施例提供的云平台认证方法,在令牌的认证请求中携带令牌生成信息、令牌的过期时间和免认证标识,使认证中间件可以直接根据免认证标识对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
在上述实施例的基础上,进一步地,所述获取令牌的配置信息,包括:
向认证服务器发送获取令牌请求,以供所述认证服务器确定令牌ID、令牌生成信息和所述令牌的过期时间,并发送所述令牌ID;
向认证中间件发送所述令牌ID对应的认证请求,以供所述认证中间件在判断获知所述认证请求为首次认证之后,向所述认证服务器转发所述认证请求,以供所述认证服务器在所述令牌通过认证之后,将所述令牌生成信息和所述令牌的过期时间存入***缓存中;
从所述***缓存中获取所述令牌生成信息和所述过期时间。
具体地,当用户需要使用云平台中的某一服务时,用户首先向云平台发送获取令牌请求,之后云平台中的认证服务器获取该获取令牌请求,根据与用户对应的令牌格式生成令牌ID以及该令牌的过期时间,然后根据该令牌的生产方式、时间和用户信息以及对应的转换规则,生成令牌生成信息Audit_ID,将令牌ID发送至客户端,客户端获取令牌ID之后,向云平台发送认证请求,认证请求携带令牌ID,云平台中的认证中间件首先收到认证请求,判断认证请求是首次认证之后,将认证请求转发至认证服务器,以确保每个令牌都经过认证服务器认证。
认证服务器根据令牌ID和用户信息确定对应的令牌格式,根据令牌格式确定认证驱动,通过对应的认证驱动对令牌进行认证,若认证通过,则将令牌生成信息、过期时间和令牌ID进行关联,存储到***缓存中,一方面,确保未经过认证服务器认证的令牌的配置信息不可获取,从而保证每个令牌至少被认证服务器认证过一次,另一方面,确保用户设置的配置信息的正确性,避免了错误配置信息造成的验证流程,节省了认证时间。若令牌未通过认证,认证服务器向客户端返回操作失败消息。
在实际应用中,认证服务器可以将未通过认证的令牌ID存储到***缓存中,并标注该令牌未通过认证。当用户再次使用该令牌ID发送认证请求时,认证中间件通过***缓存查找到该令牌ID未通过认证,则直接向用户客户端返回操作失败消息,避免了与认证服务器的重复认证过程。
当用户再次发送认证请求时,用户可通过客户端在***缓存中查找令牌ID对应的令牌生成信息和过期时间,设置配置信息,向云平台发送携带配置信息和免认证标识的令牌认证请求,避免与认证服务器的重复交互。
本发明实施例提供的云平台认证方法,令牌首次通过认证服务器认证之后,生成令牌的配置信息,之后在令牌的认证请求中携带令牌配置信息和免认证标识,使认证中间件可以直接根据免认证标识对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务能力,进而提升了云平台服务质量。
在上述实施例的基础上,进一步地,所述配置信息还包括:所述令牌的租户信息和/或所述令牌的角色信息。
具体地,在实际应用中,***为了提高令牌的利用率,会在令牌过期时间之前,回收令牌,再次将令牌分配给需要的用户,对于被回收且未过期的令牌,其***缓存中存储的配置信息依然正确,但是此时令牌已经不属于该用户,为了避免这一现象造成的认证失误,在用户发送认证请求的配置信息中还需携带令牌的租户信息(Project),其中租户信息由用户在用户客户端配置,若用户为查找到对应的租户信息,默认租户信息为Null。
之后用户发送携带租户信息、令牌生成信息、令牌过期时间和免认证标识的认证请求,认证中间件在判断是非首次认证并且通过令牌身份认证和过期时间认证之后,查找***中预先存储的权限文件policy.json,比对此次认证请求中的租户信息与权限文件中存储的令牌ID对应的租户信息是否一致,若一致,则认证通过,否则向客户端返回认证失败消息。
此外,为了验证用户是否具备使用令牌资格,在配置信息中,还可以携带角色信息(Role),表明该令牌中携带的用户的角色信息,默认角色信息为云平台***中最基本的角色信息member,表明用户是能够获取令牌的基本角色。之后用户发送携带角色信息、租户信息、令牌生成信息、令牌过期时间和免认证标识的认证请求,认证中间件在判断是非首次认证并且通过令牌身份认证、过期时间认证和租户信息认证之后,查找***中预先存储的权限文件policy.json,比对此次认证请求中的角色信息与权限文件中存储的角色信息是否一致,若一致,则认证通过,否则向客户端返回认证失败消息。在实际应用中,认证服务器每认证一次令牌,就更新一次权限文件,将令牌信息与最新分配的租户信息和角色信息关联。
在实际应用中,对于云平台项目来说,用户只需要登陆一次,通过认证后,后续的认证过程不需要跟认证服务进行认证交互,只需要根据用户的配置信息进行比对,而用户的操作权限控制仍然按照各项目设定的权限控制。例如,用户配置的权限是该用户访问项目A,但云平台***配置的是项目A不能访问,通过权限认证之后,使得用户权限仍然以云平台***为准。通过设置配置信息,大大降低了各服务要重复参与认证服务器的认证次数,减少了服务过程中的开销。
本发明实施例提供的云平台认证方法,令在令牌的认证请求中携带令牌配置信息和免认证标识,使认证中间件可以直接根据免认证标识对令牌身份、过期时间、租户信息和角色信息进行认证,充分利用云平台缓存高效性,提升有效令牌在缓存中的存储,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证效率,进而提升了云平台服务质量。
图3为本发明又一实施例提供的云平台认证方法流程示意图,如图3所示,该方法包括:
步骤S31、接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:令牌生成信息和所述令牌的过期时间;
具体地,用户通过客户端向云平台发送获取令牌请求,云平台根据预先设置的分配规则为用户分配相应格式的令牌,云平台在令牌分配完成后,向客户端返回令牌ID,之后,客户端可以使用令牌ID发送认证请求。为了减少与认证服务器的交互,客户端在发送认证请求之前,可以先获取令牌的配置信息,例如令牌生成信息和令牌的过期时间,其中,令牌生成信息与该令牌的生产方式、时间和用户信息相关。在令牌产生并被认证服务器首次认证之后,生成令牌生成信息,为了便于认证检测,在实际应用中,可以按照预设的转换规则将令牌生成信息转换成令牌的Audit_ID,每个Audit_ID与云平台相关,不可伪造,通过Audit_ID认证的令牌表示其身份是合法的。在实际应用中,令牌分配完成且被认证服务器第一次认证通过之后,生成该令牌对应的Audit_ID和过期时间等配置信息,将这些配置信息与令牌ID关联,存储在***缓存中,当用户需要认证令牌时,通过查找***缓存获取令牌的配置信息。
客户端获取到令牌ID后,向云平台发送认证请求,云平台中的认证中间件接收到客户端发送的认证请求,认证请求携带了令牌ID、配置信息和免认证标识。
步骤S32、解析所述认证请求,获取所述免认证标识,判断所述认证请求是否为非首次认证;
具体地,认证中间件解析认证请求,获取令牌ID和配置信息,判断认证请求中是否携带免认证标识,若有,则判断用户的可信度是否可以进行免认证流程,例如,用户是否为局域网用户或者云平台***内部用户等。之后,认证中间件判断认证请求是否为首次认证,一般地,由于首次认证必须通过认证服务器认证,此时云平台缓存中,令牌的配置信息为空,因此首次认证时用户发送的令牌认证请求中携带的配置信息为空。
步骤S33、若判断获知为非首次认证,则根据所述令牌生成信息判断令牌身份是否合法;
具体地,当认证中间件确定认证请求为非首次认证后,根据令牌生成信息对令牌的身份进行安全检测,首先通过解析令牌生成信息判断令牌生成信息中的用户信息与当前认证请求中的用户信息是否一致,然后根据令牌ID查找***缓存中对应的令牌生成信息,判断两者是否一致,即令牌身份是否合法或伪造,若与***缓存一致,则表明令牌身份合法。若不一致,则表明令牌身份不合法,向客户端返回操作失败消息。
步骤S34、若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
具体地,若认证中间件验证令牌身份合法,则将当前时间点与认证请求中携带的过期时间进行对比,判断该令牌是否过期,若身份合法且未过期,则令牌通过认证,之后,用户可以使用云平台对应的服务。若令牌身份不合法或者已经超过令牌的过期时间,则令牌未通过认证,认证中间件向客户端反馈操作失败信息。
本发明实施例提供的云平台认证方法,认证中间件根据认证请求中携带的免认证标识和配置信息对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
在上述实施例的基础上,进一步地,所述配置信息还包括:
所述令牌的租户信息和/或所述令牌的角色信息;
相应地,所述方法还包括:
若判断获知所述令牌身份合法并且所述令牌未过期,则根据预设的令牌权限信息判断所述令牌的租户信息或角色信息是否合法。
具体地,在实际应用中,***为了提高令牌的利用率,会在令牌过期时间之前,回收令牌,再次将令牌分配给需要的用户,对于被回收且未过期的令牌,其***缓存中存储的配置信息依然正确,但是此时令牌已经不属于该用户,为了避免这一现象造成的认证失误,在用户发送认证请求的配置信息中还需携带令牌的租户信息,其中租户信息由用户在用户客户端配置,若用户为查找到对应的租户信息,默认租户信息为Null。
之后用户发送携带租户信息、令牌生成信息、令牌过期时间和免认证标识的认证请求,认证中间件在判断是非首次认证并且通过令牌身份认证和过期时间认证之后,查找***中预先存储的权限文件policy.json,比对此次认证请求中的租户信息与权限文件中存储的令牌ID对应的租户信息是否一致,若一致,则认证通过,否则向客户端返回认证失败消息。
此外,为了验证用户是否具备使用令牌资格,在配置信息中,还可以携带角色信息(Role),表明该令牌中携带的用户的角色信息,默认角色信息为云平台***中最基本的角色信息member,表明用户是能够获取令牌的基本角色。之后用户发送携带角色信息、租户信息、令牌生成信息、令牌过期时间和免认证标识的认证请求,认证中间件在判断是非首次认证并且通过令牌身份认证、过期时间认证和租户信息认证之后,查找***中预先存储的权限文件policy.json,比对此次认证请求中的角色信息与权限文件中存储的角色信息是否一致,若一致,则认证通过,否则向客户端返回认证失败消息。在实际应用中,认证服务器每认证一次令牌,就更新一次权限文件,将令牌信息与最新分配的租户信息和角色信息关联。
例如,云平台Openstack提供了A服务、B服务、C服务和D服务,用户User想要使用云平台中的A服务,首先使用客户端向Openstack发送获取令牌的请求,Openstack接收到获取请求之后,向认证服务器Keystone转发获取请求,Keystone为用户分配令牌ID,并确定令牌的Audit_ID过期时间Expire、租户信息Project、和角色信息Role。之后用户使用令牌ID向A服务发送认证请求,A服务调用云平认证中间件Keystone-middleware,Keystone-middleware判断认证请求为首次认证,将认证请求转发至Keystone,Keystone调用对应的认证驱动对令牌进行认证,认证通过之后,将令牌ID、Audit_ID、Expire、Project和Role关联后存储在云平台缓存中,并告知A服务令牌通过认证,A服务向用户提供对应的服务。
之后当用户再次使用A服务时,通过云平台缓存设置配置信息:Audit_ID、过期时间Expire、租户信息Project、向A服务发送携带配置信息的认证请求,A服务调用认证中间件Keystone-middleware,Keystone-middleware判断认证请求为非首次认证之后,首先从云平台缓存中查找Audit_ID,判断令牌身份合法之后,对比过期时间,判断令牌未过期之后,在查找***权限文件,判断令牌的租户信息和角色信息全部都合法之后,表明令牌通过认证,告知A服务令牌通过认证,A服务向用户提供对应的服务。否则,Keystone-middleware向用户返回操作失败消息。
本发明实施例提供的云平台认证方法,认证中间件根据认证请求中携带的免认证标识和配置信息对非首次认证的令牌进行认证,充分利用云平台缓存高效性,提升有效令牌在缓存中的存储,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
图4为本发明实施例提供的云平台客户端的结构示意图,如图4所示,该客户端包括:获取模块41和发送模块42,其中:
获取模块41用于获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;发送模块42用于向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
具体地,获取模块41从***缓存中查找令牌的配置信息,例如令牌生成信息和令牌过期时间,之后发送模块42向认证中间件发送令牌认证请求,认证请求携带了令牌ID、配置信息和免认证标识,当认证中间件收到客户端发送的认证请求之后,解析认证请求,获取令牌ID和配置信息,判断认证请求中是否携带免认证标识,若有,则判断认证请求是否为首次认证,当认证中间件确定认证请求为非首次认证后,根据令牌生成信息对令牌的身份进行安全检测,首先通过解析令牌生成信息判断令牌生成信息中的用户信息与当前认证请求中的用户信息是否一致,然后根据令牌ID查找***缓存中对应的令牌生成信息,判断两者是否一致,即令牌身份是否合法或伪造,若与***缓存一致,则表明令牌身份合法,之后,将当前时间点与认证请求中携带的过期时间进行对比,判断该令牌是否过期,若身份合法且未过期,则令牌通过认证,之后,用户可以使用云平台对应的服务。若令牌身份不合法或者已经超过令牌的过期时间,则令牌未通过认证,认证中间件返回操作失败信息。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的云平台客户端,在令牌的认证请求中携带令牌生成信息、令牌的过期时间和免认证标识,使认证中间件可以直接根据免认证标识对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
图5为本发明实施例提供的云平台认证中间件的结构示意图,如图5所示,该认证中间件包括:接收模块51、判断模块52、第一认证模块53和第二认证模块54,其中:
接收模块51用于接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:所述令牌生成信息和所述令牌的过期时间;判断模块52用于解析所述认证请求,获取免认证标识,判断所述认证请求是否为非首次认证;第一认证模块53用于若判断获知为非首次认证,则根据所述令牌生成信息判断所述令牌身份是否合法;第二认证模块54用于若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
具体地,客户端获取到令牌ID后,向接收模块51发送认证请求,接收模块51接收到客户端发送的认证请求,认证请求携带了令牌ID、配置信息和免认证标识。判断模块52解析认证请求,获取令牌ID和配置信息,判断认证请求中是否携带免认证标识,若有,则判断用户的可信度是否可以进行免认证流程,例如,用户是否为局域网用户或者云平台***内部用户等。之后,判断模块52判断认证请求是否为首次认证。当判断模块52确定认证请求为非首次认证后,第一认证模块53根据令牌生成信息对令牌的身份进行安全检测,首先通过解析令牌生成信息判断令牌生成信息中的用户信息与当前认证请求中的用户信息是否一致,然后根据令牌ID查找***缓存中对应的令牌生成信息,判断两者是否一致,若与***缓存一致,则表明令牌身份合法。若不一致,则表明令牌身份不合法。第一认证模块53验证令牌身份合法之后,第二认证模块54将当前时间点与认证请求中携带的过期时间进行对比,判断该令牌是否过期,若身份合法且未过期,则令牌通过认证,之后,用户可以使用云平台对应的服务。若令牌身份不合法或者已经超过令牌的过期时间,则令牌未通过认证,反馈操作失败信息。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的云平台认证中间件,根据认证请求中携带的免认证标识和配置信息对非首次认证的令牌进行认证,避免了与认证服务器的重复认证,减少了认证服务器的负载,提高了认证服务的效率,进而提升了云平台服务质量。
图6为本发明实施例提供的云平台***的结构示意图,如图6所示,所述云平台***包括:云平台客户端61和云平台认证中间件62,所述云平台***中的云平台客户端61,其功能具体参照上述云平台客户端实施例,所述云平台***中的云平台认证中间件62,其功能具体参照上述云平台认证中间件实施例,此处不再赘述。
图7为本发明实施例提供的电子设备的结构示意图,如图7所示,所述设备包括:处理器(processor)71、存储器(memory)72和总线73;
其中,处理器71和存储器72通过所述总线73完成相互间的通信;
处理器71用于调用存储器72中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识,在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

Claims (10)

1.一种云平台认证方法,其特征在于,包括:
获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;
向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识判断用户的可信度是否可以进行免认证流程,并在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
2.根据权利要求1所述的方法,其特征在于,所述获取令牌的配置信息,包括:
向认证服务器发送获取令牌请求,以供所述认证服务器确定令牌ID、令牌生成信息和所述令牌的过期时间,并发送所述令牌ID;
向认证中间件发送所述令牌ID对应的认证请求,以供所述认证中间件在判断获知所述认证请求为首次认证之后,向所述认证服务器转发所述认证请求,以供所述认证服务器在所述令牌通过认证之后,将所述令牌生成信息和所述令牌的过期时间存入***缓存中;
从所述***缓存中获取所述令牌生成信息和所述过期时间。
3.根据权利要求1所述的方法,其特征在于,所述配置信息还包括:所述令牌的租户信息和/或所述令牌的角色信息。
4.一种云平台认证方法,其特征在于,包括:
接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:令牌生成信息和所述令牌的过期时间;
解析所述认证请求,获取所述免认证标识判断用户的可信度是否可以进行免认证流程,并判断所述认证请求是否为非首次认证;
若判断获知为非首次认证,则根据所述令牌生成信息判断令牌身份是否合法;
若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
5.根据权利要求4所述的方法,其特征在于,所述配置信息还包括:
所述令牌的租户信息和/或所述令牌的角色信息;
相应地,所述方法还包括:
若判断获知所述令牌身份合法并且所述令牌未过期,则根据预设的令牌权限信息判断所述令牌的租户信息或角色信息是否合法。
6.一种云平台客户端,其特征在于,包括:
获取模块,用于获取令牌的配置信息,所述配置信息包括令牌生成信息和所述令牌的过期时间;
发送模块,用于向认证中间件发送令牌认证请求,所述认证请求携带所述配置信息和免认证标识,以供所述认证中间件根据所述免认证标识判断用户的可信度是否可以进行免认证流程,并在判断获知所述认证请求为非首次认证之后,根据所述令牌生成信息和所述过期时间判断所述令牌是否合法。
7.一种云平台认证中间件,其特征在于,包括:
接收模块,用于接收云平台客户端发送的令牌认证请求,所述认证请求携带所述令牌的配置信息和免认证标识,所述配置信息包括:所述令牌生成信息和所述令牌的过期时间;
判断模块,用于解析所述认证请求,获取免认证标识判断用户的可信度是否可以进行免认证流程,并判断所述认证请求是否为非首次认证;
第一认证模块,用于若判断获知为非首次认证,则根据所述令牌生成信息判断所述令牌身份是否合法;
第二认证模块,用于若判断获知所述令牌身份合法,则根据所述过期时间判断所述令牌是否过期。
8.一种云平台***,其特征在于,包括:如权利要求6所述的云平台客户端和如权利要求7所述的云平台认证中间件。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一所述的方法。
CN201810320459.8A 2018-04-11 2018-04-11 云平台认证方法、客户端、中间件及*** Active CN110365483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810320459.8A CN110365483B (zh) 2018-04-11 2018-04-11 云平台认证方法、客户端、中间件及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810320459.8A CN110365483B (zh) 2018-04-11 2018-04-11 云平台认证方法、客户端、中间件及***

Publications (2)

Publication Number Publication Date
CN110365483A CN110365483A (zh) 2019-10-22
CN110365483B true CN110365483B (zh) 2022-06-14

Family

ID=68214186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810320459.8A Active CN110365483B (zh) 2018-04-11 2018-04-11 云平台认证方法、客户端、中间件及***

Country Status (1)

Country Link
CN (1) CN110365483B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447220B (zh) * 2020-03-26 2022-08-23 金蝶软件(中国)有限公司 认证信息管理方法、应用***的服务端及计算机存储介质
CN111552568B (zh) * 2020-04-28 2023-11-21 中国银行股份有限公司 云服务调用方法和装置
CN111698312B (zh) * 2020-06-08 2022-10-21 中国建设银行股份有限公司 基于开放平台的业务处理方法、装置、设备和存储介质
CN111885057B (zh) * 2020-07-23 2023-07-21 中国平安财产保险股份有限公司 消息中间件访问方法、装置、设备及存储介质
CN112019343B (zh) * 2020-07-28 2022-12-23 苏州浪潮智能科技有限公司 一种OpenStack令牌优化方法及***
CN112019539B (zh) * 2020-08-27 2023-01-06 苏州浪潮智能科技有限公司 一种私有云的认证方法、装置、设备及可读介质
CN112600831B (zh) * 2020-12-11 2022-09-23 析云网络科技(苏州)有限公司 一种网络客户端身份认证***和方法
CN114499977B (zh) * 2021-12-28 2023-08-08 天翼云科技有限公司 一种认证方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188242A (zh) * 2011-12-30 2013-07-03 ***通信集团广东有限公司 一种数据保护方法、数据保护服务器和***
CN105871854A (zh) * 2016-04-11 2016-08-17 浙江工业大学 基于动态授权机制的自适应云访问控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052245A1 (en) * 2006-08-23 2008-02-28 Richard Love Advanced multi-factor authentication methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188242A (zh) * 2011-12-30 2013-07-03 ***通信集团广东有限公司 一种数据保护方法、数据保护服务器和***
CN105871854A (zh) * 2016-04-11 2016-08-17 浙江工业大学 基于动态授权机制的自适应云访问控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
keystone 认证深度研究分析;Miss_yang_Cloud;《https://blog.csdn.net/Miss_yang_Cloud/article/details/72902760》;20170607;第一至四节 *

Also Published As

Publication number Publication date
CN110365483A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110365483B (zh) 云平台认证方法、客户端、中间件及***
CN110958118B (zh) 证书认证管理方法、装置、设备及计算机可读存储介质
US20220191016A1 (en) Methods, apparatuses, and computer program products for frictionless electronic signature management
CN106330850B (zh) 一种基于生物特征的安全校验方法及客户端、服务器
CN106779716B (zh) 基于区块链账户地址的认证方法、装置及***
US10212151B2 (en) Method for operating a designated service, service unlocking method, and terminal
CN112822222A (zh) 登录验证方法、自动登录的验证方法、服务端及客户端
CN110336870B (zh) 远程办公运维通道的建立方法、装置、***及存储介质
CN107248995B (zh) 账号验证方法及装置
CN112887284B (zh) 一种访问认证方法、装置、电子设备和可读介质
CN110958119A (zh) 身份验证方法和装置
CN112448956B (zh) 一种短信验证码的权限处理方法、装置和计算机设备
CN110943840B (zh) 一种签名验证方法
CN111259368A (zh) 一种登录***的方法及设备
CN106685914B (zh) 一种信息验证方法、服务器和客户端
CN108965335B (zh) 防止恶意访问登录接口的方法、电子设备及计算机介质
CN105227305B (zh) 安全验证方法和装置
CN110839215B (zh) 一种集群通信的方法、服务器、终端设备以及存储介质
CN111131140A (zh) 基于消息推送增强Windows操作***登录安全性的方法和***
US10057252B1 (en) System for secure communications
GB2582180A (en) Distributed authentication
CN112765588B (zh) 一种身份识别方法、装置、电子设备及存储介质
US20180109515A1 (en) System, service providing apparatus, control method for system, and storage medium
CN114238939A (zh) 权限验证方法、装置及***
US10447688B1 (en) System for secure communications

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