CN112187724B - 访问控制方法、装置、网关、客户端和安全令牌服务 - Google Patents

访问控制方法、装置、网关、客户端和安全令牌服务 Download PDF

Info

Publication number
CN112187724B
CN112187724B CN202010915331.3A CN202010915331A CN112187724B CN 112187724 B CN112187724 B CN 112187724B CN 202010915331 A CN202010915331 A CN 202010915331A CN 112187724 B CN112187724 B CN 112187724B
Authority
CN
China
Prior art keywords
signature
role
security token
request
temporary identity
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
CN202010915331.3A
Other languages
English (en)
Other versions
CN112187724A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010915331.3A priority Critical patent/CN112187724B/zh
Publication of CN112187724A publication Critical patent/CN112187724A/zh
Application granted granted Critical
Publication of CN112187724B publication Critical patent/CN112187724B/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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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/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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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

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)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种访问控制方法、装置、网关、客户端和安全令牌服务,通过客户端向网关发送API访问请求,API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数,因此,网关收到API访问请求之后,可以直接根据API访问请求中携带的用于请求签名验证的参数进行请求签名验证,根据用于权限鉴定的参数进行权限鉴定,无需访问数据库获取所需要的参数,减少了网络I/O和查询数据库的时间,请求签名验证通过并且权限鉴定通过,网关将所述API访问请求转发至对应的业务线接口,从而,提高了API的访问效率。

Description

访问控制方法、装置、网关、客户端和安全令牌服务
技术领域
本公开涉及计算机技术领域,尤其涉及一种访问控制方法、装置、网关、客户端和安全令牌服务。
背景技术
身份和访问管理(Identity and Access Management,IAM)角色有确定的身份,角色可以被赋予一组权限策略,用于访问被授权的云服务应用程序接口(ApplicationProgramming Interface,API),但是,角色没有确定的登陆密码或者访问密钥,临时身份是角色的一种临时访问密钥。当一个实体用户的客户端要使用角色时,实体用户的客户端通过扮演角色获取角色的临时身份;例如:实体用户的客户端可以通过调用“STS APIAssumeRole”获得角色的临时身份,使用临时身份以角色访问被授权的云服务API。
现有技术中,客户端向安全令牌服务(Security Token Service,STS) 发送获取临时身份的请求信息,安全令牌服务生成所述客户端对应的临时身份,临时身份中包含:访问密钥标识(AccessKey ID,AK)和秘密访问密钥(Secret Access Key,SK),安全令牌服务把AK、AK 所属的角色、所述角色的权限信息、临时身份有效期、使用AES-128 加密后的SK存储到数据库中,把AK和SK返回给客户端;客户端按照AWSV4的签名算法使用AK和SK计算请求签名,生成API访问请求,向网关发送API访问请求,网关接收到API访问请求后,从API 访问请求的头部获取AK,网关通过AK从数据库中获取加密后的SK,解密SK,按照AWSV4的签名算法使用解密后的AK和SK计算请求签名,将计算的请求签名与接收到的API访问请求中的请求签名进行比对,若比对结果为相同,则验证签名通过,从数据库中获取AK所属的角色和临时身份有效期,如果在临时身份有效期范围内,从数据库中获取所述角色的权限信息,进行鉴权,鉴权通过,则将请求发送给业务线接口。
然而,采用现有技术的方式,由于临时身份信息的有效期通常较短,一般为15分钟到20分钟,因此,客户端需要频繁的获取临时身份信息,数据库中存储的临时身份信息会越来越多,数据库的查询效率不高,使得签名验证和鉴权效率不高,影响访问速度。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种访问控制方法、装置、网关、客户端和安全令牌服务。
本公开第一方面提供一种访问控制方法,所述方法应用于网关,包括:
网关接收客户端发送的应用程序接口API访问请求,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定;
所述请求签名验证通过并且所述权限鉴定通过,所述网关将所述 API访问请求转发至对应的业务线接口。
可选的,所述用于请求签名验证的参数包括:访问密钥标识AK 和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期。
可选的,所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期;
所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定,包括:
所述网关采用所述加密算法对应的解密算法对所述第一安全令牌进行解密,得到第二初始安全令牌,所述第二初始安全令牌包括:第二SK、第二角色的权限信息和第二角色的临时身份有效期;
所述网关根据所述请求签名算法、所述AK和所述第二SK,对所述第一请求签名进行请求签名验证;
所述网关根据所述第二角色的权限信息和所述第二角色的临时身份有效期进行权限鉴定。
可选的,所述第一初始安全令牌中还包括:第一令牌签名;所述第一令牌签名为根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法得到;所述第二初始安全令牌中还包括:第二令牌签名;
所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定之前,还包括:
所述网关根据所述令牌签名算法、第二SK、第二角色的权限信息、第二角色的临时身份有效期和角色密钥,对所述第二令牌签名进行令牌签名验证,确定所述第二令牌签名和所述第一令牌签名相同。
可选的,所述网关采用所述加密算法对应的解密算法对所述安全令牌进行解密之前,还包括:
所述网关确定所述AK为临时AK。
可选的,所述第一安全令牌携带于所述API访问请求的头部。
可选的,所述加密算法为AES-128加密算法。
可选的,所述请求签名算法为AWS V4签名算法。
本公开第二方面提供一种访问控制方法,所述方法应用于客户端,包括:
客户端生成应用程序接口API访问请求,其中,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
所述客户端向网关发送所述API访问请求,以使所述网关根据所述用于请求签名验证的参数进行请求签名验证,和用于权限鉴定的参数进行权限鉴定。
可选的,所述客户端生成API访问请求之前,还包括:
所述客户端向安全令牌服务发送临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
所述客户端接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,所述客户端接收所述安全令牌服务发送的临时身份信息响应,包括:
所述客户端接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和第一安全令牌;
其中,所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;所述第一令牌签名为所述第一安全令牌服务根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法生成的。
可选的,所述客户端向网关发送所述API访问请求,包括:
所述客户端根据AK、第一SK和请求签名算法,生成第一请求签名;
所述客户端向网关发送API访问请求,所述API访问请求中包含所述AK、所述第一请求签名和所述第一安全令牌。
本公开第三方面提供一种访问控制方法,所述方法应用于安全令牌服务,包括:
安全令牌服务接收客户端发送的临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
所述安全令牌服务向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,所述安全令牌服务向所述客户端发送临时身份信息响应,包括:
所述安全令牌服务生成AK和第一SK;
所述安全令牌服务根据加密算法对第一初始安全令牌进行加密处理,得到第一安全令牌;
所述安全令牌服务向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和所述第一安全令牌;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;其中,所述第一令牌签名根据所述第一SK、第一角色的权限信息、所述第一角色的临时身份有效期、角色密钥和令牌签名算法得到的。
本公开第四方面提供一种访问控制装置,包括:
第一接收模块,用于接收客户端发送的应用程序接口API访问请求,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第一处理模块,用于根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定;
所述请求签名验证通过并且所述权限鉴定通过,第一发送模块,用于将所述API访问请求转发至对应的业务线接口。
可选的,所述用于请求签名验证的参数包括:访问密钥标识AK 和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期。
可选的,所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期;
所述第一处理模块具体用于采用所述加密算法对应的解密算法对所述第一安全令牌进行解密,得到第二初始安全令牌,所述第二初始安全令牌包括:第二SK、第二角色的权限信息和第二角色的临时身份有效期;根据所述请求签名算法、所述AK和所述第二SK,对所述第一请求签名进行请求签名验证;根据所述第二角色的权限信息和所述第二角色的临时身份有效期进行权限鉴定。
可选的,所述第一初始安全令牌中还包括:第一令牌签名;所述第一令牌签名为根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法得到;所述第二初始安全令牌中还包括:第二令牌签名;
所述第一处理模块还用于根据所述令牌签名算法、第二SK、第二角色的权限信息、第二角色的临时身份有效期和角色密钥,对所述第二令牌签名进行令牌签名验证,确定所述第二令牌签名和所述第一令牌签名相同。
可选的,所述第一处理模块还用于确定所述AK为临时AK。
可选的,所述加密算法为AES-128加密算法,和/或,所述请求签名算法为AWS V4签名算法。
本公开第五方面提供一种访问控制装置,包括:
第二处理模块,用于生成应用程序接口API访问请求,其中,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第二发送模块,用于向网关发送所述API访问请求,以使所述网关根据所述用于请求签名验证的参数进行请求签名验证,和用于权限鉴定的参数进行权限鉴定。
可选的,所述第二发送模块还用于向安全令牌服务发送临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
第二接收模块,还用于接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,所述第二接收模块具体用于接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含所述AK、第一 SK和第一安全令牌;
其中,所述第一安全令牌为根据加密算法对初始安全令牌加密处理得到的;
所述初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;所述第一令牌签名为所述第一安全令牌服务根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法生成的。
可选的,所述第二处理模块具体用于根据AK、第一SK和请求签名算法,生成第一请求签名;第二发送模块具体用于向网关发送API 访问请求,所述API访问请求中包含所述AK、所述第一请求签名和所述第一安全令牌。
本公开第六方面提供一种访问控制装置,包括:
第三接收模块,用于接收客户端发送的临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
第三发送模块,用于向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,所述第三处理模块,用于生成AK和第一SK;根据加密算法对第一初始安全令牌进行加密处理,得到第一安全令牌;第三发送模块具体用于向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和所述第一安全令牌;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;其中,所述第一令牌签名根据所述第一SK、第一角色的权限信息、所述第一角色的临时身份有效期、角色密钥和令牌签名算法得到的。
本公开第七方面提供一种网关,包括:第一处理器,所述第一处理器用于执行存储于第一本地存储器或者第一云端存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。
本公开第八方面提供一种客户端,包括:第二处理器,所述第二处理器用于执行存储于第二本地存储器或者第二云端存储器的计算机程序,所述计算机程序被处理器执行时实现第二方面所述的方法的步骤。
本公开第九方面提供一种安全令牌服务,其特征在于,包括:第三处理器,所述第三处理器用于执行存储于第三本地存储器或者第三云端存储器的计算机程序,所述计算机程序被第三处理器执行时实现第三方面所述的方法的步骤。
本公开第十方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。
本公开第十一方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第二方面所述的方法的步骤。
本公开第十二方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第三方面所述的方法的步骤。
本公开第十三方面提供一种访问控制系统,包括:
如第四方面所述的访问控制装置、如第五方面所述的访问控制装置和如第六方面所述的访问控制装置。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过客户端向网关发送API访问请求,API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数,因此,网关收到API访问请求之后,可以直接根据API访问请求中携带的用于请求签名验证的参数进行请求签名验证,根据用于权限鉴定的参数进行权限鉴定,无需访问数据库获取所需要的参数,减少了网络I/O和查询数据库的时间,请求签名验证通过并且权限鉴定通过,网关将所述API访问请求转发至对应的业务线接口,从而,提高了API的访问效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本公开提供的一种访问控制系统的结构示意图;
图2为本公开提供的一种访问控制方法的流程示意图;
图3为本公开提供的另一种访问控制方法的流程示意图;
图4为本公开提供的再一种访问控制方法的流程示意图;
图5为本公开提供的一种访问控制装置的结构示意图;
图6为本公开提供的另一种访问控制装置的结构示意图;
图7为本公开提供的再一种访问控制装置的结构示意图;
图8为本公开提供的一种网关的结构示意图;
图9为本公开提供的另一种网关的结构示意图;
图10为本公开提供的一种客户端的结构示意图;
图11为本公开提供的另一种客户端的结构示意图;
图12为本公开提供的一种安全令牌服务的结构示意图;
图13为本公开提供的另一种安全令牌服务的结构示意图;
图14为本公开提供的另一种访问控制系统的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开提供的一种访问控制系统的结构示意图,如图1所示,本实施例的系统包括:客户端、安全令牌服务和网关,安全令牌服务可以为客户端提供临时身份信息,客户端采用临时身份信息向网关发送API访问请求,网关对客户端的API访问请求进行请求签名验证和权限鉴定,请求签名验证和权限鉴定通过将API访问请求转发至对应的业务线接口,本公开中,安全令牌服务将用于请求签名验证的参数和用于权限鉴定的参数发送给客户端,客户端在向网关发送API 访问请求时同时携带用于请求签名验证的参数和权限鉴定的参数,因此,网关在进行签名验证和权限鉴定的过程中,网关从API访问请求中获取用于请求签名验证的参数和权限鉴定的参数存储于内存中,在网关的内存中即可完成请求签名验证和权限鉴定,无需从数据库中获取参数进行签名验证和权限鉴定,因此,无需数据库进行查询,也无需与数据库之间进行网络输入/输出(Input/Output,I/O)操作,从而,提高了API的访问效率。
图1所示系统实施例中的客户端、安全令牌服务和网关可以对应的执行下述各方法实施例中的步骤。
图2为本公开提供的一种访问控制方法的流程示意图,如图2所示,本实施例的方法如下:
S201:客户端向网关发送API访问请求。
当客户端需要访问API时,客户端生成API访问请求,其中,API 访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数,客户端通过向网关发送API访问请求的方式进行访问,所有的API访问请求都会经过网关,以使网关对API访问请求进行请求签名验证和权限鉴定,从而,确保云资源的安全访问。
本公开中,客户端发送的API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,用于请求签名验证的参数可以包括但不限于:AK和SK;用于权限鉴定的参数可以包括但不限于:角色的权限信息和角色的临时身份有效期。
可选的,客户端获取用于请求签名验证的参数和用于权限鉴定的参数可以通过向安全令牌服务发送请求的方式获取,也可以通过其他的方式获取,例如,安全令牌服务可以每隔一段时间向客户端发送一次临时身份信息更新消息,在临时身份信息更新消息中携带更新之后的用于请求签名验证的参数和用于权限鉴定的参数。也可以是,安全令牌服务在接收到一次临时身份信息请求之后,在预设时间段内每隔一段时间向客户端发送一次临时身份信息更新请求消息,在临时身份信息更新消息中携带更新之后的用于请求签名验证的参数和用于权限鉴定的参数。对此,本公开不做限制。
S301:网关根据用于请求签名验证的参数进行请求签名验证,根据用于权限鉴定的参数进行权限鉴定。
由于S201中客户端发送的API访问请求中携带用于请求签名验证的参数和用于权限鉴定的参数,因此,网关可以从API访问请求中获取用于请求签名验证的参数和用于权限鉴定的参数,将其存储于网关的内存中,在网关的内存中进行请求签名验证和权限鉴定,内存的访问速度高于数据库的访问速度,并且,无需进行网络I/O操作,因此,可以提高请求签名验证的效率和权限鉴定的效率。
由于客户端每次进行API访问时,都在API访问请求中携带用于请求签名验证的参数和用于权限鉴定的参数,因此,无需存储该参数,请求签名验证和权限鉴定结束即可释放该内存空间。
S401:请求签名验证通过并且权限鉴定通过,网关将所述API访问请求转发至对应的业务线接口。
请求签名验证通过,说明API访问请求在传输过程中数据未被篡改,权限鉴定通过说明客户端有访问对应业务的权限。请求签名验证和权限鉴定均通过,网关才会将API访问请求转发至对应的业务线接口,也就是,请求签名验证未通过或者权限鉴定未通过,网关都会拒绝API访问请求。
需要说明书的时,在实际的执行过程中,一种可能的实现方式:
可能先进行请求签名验证,再进行权限鉴定,如果请求签名验证未通过,则直接拒绝访问请求,无需再进行权限鉴定;如果请求签名验证通过,再进行权限鉴定,如果权限鉴定通过,则转发API访问请求到对应的业务线接口,如果权限鉴定未通过,则拒绝API访问请求。
另一种可能的实现方式:
可以先进行权限鉴定,再进行请求签名验证,如果权限鉴定未通过,则直接拒绝访问请求,无需再进行签名验证;如果权限鉴定通过,再进行请求签名验证,如果请求签名验证通过,则转发API访问请求到对应的业务线接口,如果请求签名验证未通过,则拒绝API访问请求。
再一种可能的实现方式:
权限鉴定和请求签名验证也可以同时进行,权限鉴定和请求签名验证均通过的情况,则转发API访问请求到对应的业务线接口,否则,则拒绝API访问请求。
本实施例,通过客户端向网关发送API访问请求,API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数,因此,网关收到API访问请求之后,可以直接根据API访问请求中携带的用于请求签名验证的参数进行请求签名验证,根据用于权限鉴定的参数进行权限鉴定,无需访问数据库获取所需要的参数,减少了网络I/O和查询数据库的时间,请求签名验证通过并且权限鉴定通过,网关将所述API 访问请求转发至对应的业务线接口,从而,提高了API的访问效率。
本公开为了便于描述,在下述各实施例中,将安全令牌服务发送给客户端的临时身份信息响应包含的SK描述为第一SK,加密处理之前的初始安全令牌描述为第一初始安全令牌,第一初始安全令牌中的 SK、角色的权限信息、角色的临时身份有效期和令牌签名,分别描述为第一SK、第一角色的权限信息、第一角色的临时身份有效期和第一令牌签名;将网关对第一安全令牌进行解密得到的初始安全令牌描述为第二安全令牌,第二安全令牌中的SK、角色的权限信息、角色的临时身份有效期和令牌签名,分别描述为第二SK、第二角色的权限信息、第二角色的临时身份有效期和第二令牌签名。
图3为本公开提供的另一种访问控制方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,在S201之前,还可以包括:
S101:客户端向安全令牌服务发送临时身份信息请求。
其中,临时身份信息请求用于请求临时身份信息。
S102:安全令牌服务向客户端发送临时身份信息响应。
其中,临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,安全令牌服务生成AK、第一SK和第一安全令牌,临时身份信息响应中包含所述AK、所述第一SK和所述第一安全令牌。
其中,第一安全令牌为对第一初始安全令牌通过加密算法加密处理得到的。
其中,加密算法为高级加密标准(Advanced Encryption Standard, AES)-128加密算法。安全令牌服务通过对安全令牌进行加密防止第一安全令牌在传输过程中泄露,提高安全性。
可选的,第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期;其中,角色为AK所属的角色。
可选的,为了进一步地获知第一安全令牌的内容是否被篡改,提高API访问的安全性,所述第一初始安全令牌中还可以包括:第一令牌签名;即,初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期和第一令牌签名。其中,第一令牌签名为安全令牌服务根据角色密钥、第一SK、第一角色的权限信息、第一角色的临时身份有效期和令牌签名算法得到的,所述角色密钥与所述角色一一对应。在网关的本地内存中也会预存储各个角色对应的角色密钥,安全令牌服务采用的角色密钥和网关的本地内存中存储的角色对应的角色密钥一致。网关可以通过对第一令牌签名进行验证,获知安全令牌在传输过程中是否被篡改。
本实施例,通过安全令牌服务向客户端发送临时身份信息响应,在临时身份信息响应中携带用于请求签名验证的参数和用于权限鉴定的参数,从而,可以使得客户端获取用于请求签名验证的参数和用于权限鉴定的参数,进而,在进行API访问时,可以直接在API访问请求中携带用于请求签名验证的参数和用于权限鉴定的参数。以便于网关直接根据API访问请求中携带的用于请求签名验证的参数和用于权限鉴定的参数。
图4为本公开提供的再一种访问控制方法的流程示意图,图4是在图2或图3所示实施例的基础上,进一步地,S201的一种可能的实现方式:
S2011:客户端获取AK、第一SK和第一安全令牌。
客户端可以从安全令牌服务发送的临时身份信息响应中获取AK、第一SK和第一安全令牌。
其中,第一安全令牌的详细描述参见S102中的详细描述,此处不再赘述。
S2012:客户端根据AK、第一SK和请求签名算法,生成第一请求签名。
其中,客户端和网关采用相同的请求签名算法,只要保证两端采用的请求签名算法一致即可,可以是默认的请求签名算法,也可以是约定的请求签名算法,对此,本公开不做限制,例如:可以采用亚马逊签名版本4(Amazon Web Services Signature Version 4,AWSV4)签名算法。
客户端采用请求签名算法对AK和第一SK进行处理,得到第一请求签名。
消息中内容在传输的过程中存在被篡改的风险,因此,可以通过在消息中携带请求签名,通过验证签名确定消息中的内容是否被篡改。
S2013:客户端向网关发送API访问请求。
其中,API访问请求中包含所述AK、所述第一请求签名和所述第一安全令牌。
可选的,AK、第一请求签名和第一安全令牌可以放在API访问请求的头部,具体的,可以放在头部的授权字段中,例如: “AWS4-HMAC-SHA256
Credential=AKLTrITVxP-zQzC3Jnip1l9dDg/20200606/cn-beijing-6/iam/aws4_request,SignedHeaders=content-type;host;x-amz-date, Signature=c579cf6f3f6f51d6d1e3604e25ef2fede2e1f26116d7ec61a9caf1d2 2bc3bb0c。”其中,“AKLTrITVxP-zQzC3Jnip1l9dDg”为AK,“c579cf6f3f6f51d6d1e3604e25ef2fede2e1f26116d7ec61a9caf1d22bc3bb0 c”为第一请求签名。
由于第一安全令牌中包括了第一SK、第一角色的权限信息、第一角色的临时身份有效期,因此,相当于客户端将用于请求签名验证的参数和用于权限鉴定的参数携带在API访问请求中发送给了网关。
相应地,S301的一种可能的实现方式如下:
S3011:网关从API访问请求中获取所述AK、所述第一请求签名和所述第一安全令牌。
S3012:网关采用加密算法对应的解密算法对第一安全令牌进行解密,得到第二初始安全令牌。
其中,一种情况为:第二初始安全令牌中包含:第二SK、第二角色的权限信息、第二角色的临时身份有效期。
另一种情况为:第二初始安全令牌包括:第二SK、第二角色的权限信息、第二角色的临时身份有效期和第二令牌签名。在这种情况下,网关还对第二令牌签名进行验证,具体地,网关从本地内存中获取角色密钥,并根据角色密钥、第二SK、第二角色的权限信息、第二角色的临时身份有效期和令牌签名算法计算得到第三令牌签名,确定第三令牌签名与第二令牌签名是否一致,如果一致说明第一初始安全令牌在传输过程中未被篡改,如果不一致说明第一初始安全令牌在传输过程中被篡改。如果第一初始安全令牌在传输过程中被篡改则拒绝API 访问请求。从而,通过对第一令牌签名的验证,可以获知第一初始安全令牌在传输过程中是否被篡改。
可选的,网关接收到API访问请求之后,发现AK为临时AK,则进一步的采用加密算法对应的解密算法解密第一安全令牌,获取第二初始安全令牌。
S3013:网关根据请求签名算法、AK和第二SK,得到第二请求签名,对第一请求签名进行请求签名验证。
网关得到AK和第二SK之后,采用与客户端相同的请求签名算法,计算得到第二请求签名,如果第二请求签名和第一请求签名相同,说明AK和SK在传输的过程中未被篡改,则请求签名验证通过,如果第二请求签名和第一请求签名不同,说明AK和SK在传输的过程中被篡改,则请求签名验证未通过。
S3014:网关根据第二角色的权限信息和第二角色的临时身份有效期进行权限鉴定。
签名验证通过之后,网关确定当前时间是否在第二角色的临时身份有效期内,以及确定第二角色的权限信息是否具有API访问请求请求的权限,如果在有效期内,且具有访问权限,则权限鉴定通过,否则,权限鉴定未通过。
其中,S3013和S3014的步骤的执行顺序不做限制,可以同时执行,也可以先S3013后S3014;也可以先S3014后S3013。
本实施例,通过客户端向网关发送API访问请求,其中, API访问请求中包含AK、第一请求签名和第一安全令牌。网关接收到 API访问请求之后,采用加密算法对应的解密算法对第一安全令牌进行解密,得到第二初始安全令牌;根据请求签名算法、AK和第二初始安全令牌中的第二SK,得到第二请求签名,对第一请求签名进行请求签名验证;根据第二初始安全令牌中的第二角色的权限信息和第二角色的临时身份有效期进行权限鉴定;请求签名验证通过并且所述权限鉴定通过,将API访问请求转发至对应的业务线接口。在此过程中,网关可以直接从API访问请求中获取用于请求签名验证的参数进行请求签名验证,根据用于权限鉴定的参数进行权限鉴定,无需访问数据库获取所需要的参数,减少了网络I/O和查询数据库的时间,请求签名验证通过并且权限鉴定通过,网关将所述API访问请求转发至对应的业务线接口,从而,提高了API的访问效率。进一步的,第一初始安全令牌中还可以包括第一令牌签名,第二初始安全令牌中还可以包括第二令牌签名,通过对第一令牌签名的验证,判断第一初始安全令牌中的信息是否被篡改,从而,提高API访问的安全性。
图5为本公开提供的一种访问控制装置的结构示意图,如图5所示,本实施例的装置部署于网关中,本实施例的装置包括:第一接收模块501、第一处理模块502和第一发送模块503,其中,第一接收模块501,用于接收客户端发送的应用程序接口API访问请求,所述API 访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第一处理模块502,用于根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定;
所述请求签名验证通过并且所述权限鉴定通过,第一发送模块 503,用于将所述API访问请求转发至对应的业务线接口。
可选的,所述用于请求签名验证的参数包括:访问密钥标识AK 和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期。
可选的,所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期;
所述第一处理模块502具体用于采用所述加密算法对应的解密算法对所述第一安全令牌进行解密,得到第二初始安全令牌,所述第二初始安全令牌包括:第二SK、第二角色的权限信息和第二角色的临时身份有效期;根据所述请求签名算法、所述AK和所述第二SK,对所述第一请求签名进行请求签名验证;根据所述第二角色的权限信息和所述第二角色的临时身份有效期进行权限鉴定。
可选的,所述第一初始安全令牌中还包括:第一令牌签名;所述第一令牌签名为根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法得到;所述第二初始安全令牌中还包括:第二令牌签名;
所述第一处理模块502还用于根据所述令牌签名算法、第二SK、第二角色的权限信息、第二角色的临时身份有效期和角色密钥,对所述第二令牌签名进行令牌签名验证,确定所述第二令牌签名和所述第一令牌签名相同。
可选的,所述第一处理模块502还用于确定所述AK为临时AK。
可选的,所述加密算法为AES-128加密算法,和/或,所述请求签名算法为AWS V4签名算法。
图5所示实施例的装置对应的可用于执行上述各方法实施例中网关所执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图6为本公开提供的另一种访问控制装置的结构示意图,如图6 所示,本实施例的装置部署于客户端中,本实施例的装置包括第二处理模块601、第二发送模块602和第二接收模块603,其中,第二处理模块601,用于生成应用程序接口API访问请求,其中,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第二发送模块602,用于向网关发送所述API访问请求,以使所述网关根据所述用于请求签名验证的参数进行请求签名验证,和用于权限鉴定的参数进行权限鉴定。
可选的,所述第二发送模块602还用于向安全令牌服务发送临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
第二接收模块603,还用于接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,所述第二接收模块603具体用于接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和第一安全令牌;
其中,所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;所述第一令牌签名为所述第一安全令牌服务根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法生成的。
可选的,所述第二处理模块601具体用于根据AK、第一SK和请求签名算法,生成第一请求签名;第二发送模块602具体用于向网关发送API访问请求,所述API访问请求中包含所述AK、所述第一请求签名和所述第一安全令牌。
图6所示实施例的装置对应的可用于执行上述各方法实施例中客户端所执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图7为本公开提供的另一种访问控制装置的结构示意图,如图7 所示,本实施例的装置部署于安全令牌服务中,本实施例的装置包括第三接收模块701、第三发送模块702和第三处理模块703,其中,
第三接收模块701用于接收客户端发送的临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
第三发送模块702用于向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
可选的,还包括:所述第三处理模块703用于生成AK和第一SK;根据加密算法对第一初始安全令牌进行加密处理,得到第一安全令牌;第三发送模块具体用于向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和所述第一安全令牌;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;其中,所述第一令牌签名根据所述第一SK、第一角色的权限信息、所述第一角色的临时身份有效期、角色密钥和令牌签名算法得到的。
图7所示实施例的装置对应的可用于执行上述各方法实施例中安全令牌服务所执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图8为本公开提供的一种网关的结构示意图,如图8所示,本实施例的网关包括第一处理器801和第一本地存储器802,其中,第一处理器801用于执行存储于第一本地存储器802的计算机程序,所述计算机程序被处理器执行时实现上述各方法实施例中网关所执行的步骤。
图9为本公开提供的另一种网关的结构示意图,如图9所示,本实施例的网关包括第一处理器801,其中,第一处理器801用于执行存储于第一云端存储器802的计算机程序,所述计算机程序被处理器执行时实现上述各方法实施例中网关所执行的步骤。
图10为本公开提供的一种客户端的结构示意图,如图10所示,本实施例的网关包括第二处理器1001和第二本地存储器1002,其中,第二处理器1001用于执行存储于第二本地存储器1002的计算机程序,所述计算机程序被第二处理器 1001执行时实现上述各方法实施例中客户端所执行的步骤。
图11为本公开提供的另一种客户端的结构示意图,如图11所示,本实施例的网关包括第二处理器1001,其中,第二处理器1001用于执行存储于第二云端存储器1102的计算机程序,所述计算机程序被处理器执行时实现上述各方法实施例中客户端所执行的步骤。
图12为本公开提供的一种安全令牌服务的结构示意图,如图12 所示,本实施例的安全令牌服务包括第三处理器1201和第三本地存储器1202,其中,第三处理器1201用于执行存储于第三本地存储器1202 的计算机程序,所述计算机程序被第三处理器执行时实现上述各方法实施例中客户端所执行的步骤。
图13为本公开提供的另一种安全令牌服务的结构示意图,如图13 所示,本实施例的安全令牌服务包括第三处理器1201,其中,第三处理器1201用于执行存储于第三云端存储器1302的计算机程序,所述计算机程序被处理器执行时实现上述各方法实施例中安全令牌服务所执行的步骤。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述各方法实施例中网关所执行的步骤。
本公开还提供另一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述各方法实施例中客户端所执行的步骤。
本公开还提供再一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述各方法实施例中客户端所执行的步骤。
图14为本公开提供的另一种访问控制系统的结构示意图,包括:如图5所述的访问控制装置1401、如图6任一项所述的访问控制装置 1402和如图7所述的访问控制装置1403。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (19)

1.一种访问控制方法,所述方法应用于网关,其特征在于,包括:
网关接收客户端发送的应用程序接口API访问请求,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定;
所述请求签名验证通过并且所述权限鉴定通过,所述网关将所述API访问请求转发至对应的业务线接口;
其中,所述用于请求签名验证的参数包括:访问密钥标识AK和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期;
所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期。
2.根据权利要求1所述的方法,其特征在于,所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定,包括:
所述网关采用所述加密算法对应的解密算法对所述第一安全令牌进行解密,得到第二初始安全令牌,所述第二初始安全令牌包括:第二SK、第二角色的权限信息和第二角色的临时身份有效期;
所述网关根据所述请求签名算法、所述AK和所述第二SK,对所述第一请求签名进行请求签名验证;
所述网关根据所述第二角色的权限信息和所述第二角色的临时身份有效期进行权限鉴定。
3.根据权利要求2所述的方法,其特征在于,所述第一初始安全令牌中还包括:第一令牌签名;所述第一令牌签名为根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法得到;所述第二初始安全令牌中还包括:第二令牌签名;
所述网关根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定之前,还包括:
所述网关根据所述令牌签名算法、第二SK、第二角色的权限信息、第二角色的临时身份有效期和角色密钥,对所述第二令牌签名进行令牌签名验证,确定所述第二令牌签名和所述第一令牌签名相同。
4.根据权利要求2或3所述的方法,其特征在于,所述网关采用所述加密算法对应的解密算法对所述安全令牌进行解密之前,还包括:
所述网关确定所述AK为临时AK。
5.根据权利要求4所述的方法,其特征在于,所述加密算法为AES-128加密算法,和/或,所述请求签名算法为AWS V4签名算法。
6.一种访问控制方法,所述方法应用于客户端,其特征在于,包括:
客户端生成应用程序接口API访问请求,其中,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
所述客户端向网关发送所述API访问请求,以使所述网关根据所述用于请求签名验证的参数进行请求签名验证,和用于权限鉴定的参数进行权限鉴定;
其中,所述用于请求签名验证的参数包括:访问密钥标识AK和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期;
所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期。
7.根据权利要求6所述的方法,其特征在于,所述客户端生成API访问请求之前,还包括:
所述客户端向安全令牌服务发送临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
所述客户端接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数。
8.根据权利要求7所述的方法,其特征在于,所述客户端接收所述安全令牌服务发送的临时身份信息响应,包括:
所述客户端接收所述安全令牌服务发送的临时身份信息响应,所述临时身份信息响应中包含AK、第一SK和第一安全令牌;
其中,所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;所述第一令牌签名为所述第一安全令牌服务根据角色密钥、第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和令牌签名算法生成的。
9.根据权利要求8所述的方法,其特征在于,所述客户端向网关发送所述API访问请求,包括:
所述客户端根据AK、第一SK和请求签名算法,生成第一请求签名;
所述客户端向网关发送API访问请求,所述API访问请求中包含所述AK、所述第一请求签名和所述第一安全令牌。
10.一种访问控制方法,所述方法应用于安全令牌服务,其特征在于,包括:
安全令牌服务接收客户端发送的临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
所述安全令牌服务向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数;
其中,所述安全令牌服务向所述客户端发送临时身份信息响应,包括:
所述安全令牌服务生成AK和第一SK;
所述安全令牌服务根据加密算法对第一初始安全令牌进行加密处理,得到第一安全令牌;
所述安全令牌服务向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和所述第一安全令牌;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;其中,所述第一令牌签名根据所述第一SK、第一角色的权限信息、所述第一角色的临时身份有效期、角色密钥和令牌签名算法得到的。
11.一种访问控制装置,其特征在于,包括:
第一接收模块,用于接收客户端发送的应用程序接口API访问请求,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第一处理模块,用于根据所述用于请求签名验证的参数进行请求签名验证,根据所述用于权限鉴定的参数进行权限鉴定;
所述请求签名验证通过并且所述权限鉴定通过,第一发送模块,用于将所述API访问请求转发至对应的业务线接口;
其中,所述用于请求签名验证的参数包括:访问密钥标识AK和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期;
所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期。
12.一种访问控制装置,其特征在于,包括:
第二处理模块,用于生成应用程序接口API访问请求,其中,所述API访问请求中包含用于请求签名验证的参数和用于权限鉴定的参数;
第二发送模块,用于向网关发送所述API访问请求,以使所述网关根据所述用于请求签名验证的参数进行请求签名验证,和用于权限鉴定的参数进行权限鉴定;
其中,所述用于请求签名验证的参数包括:访问密钥标识AK和秘密访问密钥SK;
所述用于权限鉴定的参数包括:角色的权限信息和角色的临时身份有效期;
所述API访问请求中包含所述AK、第一请求签名和第一安全令牌;
其中,所述第一请求签名为客户端根据AK、第一SK和请求签名算法生成的;所述第一安全令牌为根据加密算法对第一初始安全令牌加密处理得到的,所述第一初始安全令牌包括:第一SK、第一角色的权限信息、第一角色的临时身份有效期。
13.一种访问控制装置,其特征在于,包括:
第三接收模块,用于接收客户端发送的临时身份信息请求,所述临时身份信息请求用于请求临时身份信息;
第三发送模块,用于向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含用于请求签名验证的参数和用于权限鉴定的参数;
其中,安全令牌服务向所述客户端发送临时身份信息响应,包括:
所述安全令牌服务生成AK和第一SK;
所述安全令牌服务根据加密算法对第一初始安全令牌进行加密处理,得到第一安全令牌;
所述安全令牌服务向所述客户端发送临时身份信息响应,所述临时身份信息响应中包含所述AK、第一SK和所述第一安全令牌;
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期;
或者,
所述第一初始安全令牌包括:第一SK、第一角色的权限信息、所述第一角色的临时身份有效期和第一令牌签名;其中,所述第一令牌签名根据所述第一SK、第一角色的权限信息、所述第一角色的临时身份有效期、角色密钥和令牌签名算法得到的。
14.一种网关,其特征在于,包括:第一处理器,所述第一处理器用于执行存储于第一本地存储器或者第一云端存储器的计算机程序,所述计算机程序被第一处理器执行时实现权利要求1-5任一项所述的方法的步骤。
15.一种客户端,其特征在于,包括:第二处理器,所述第二处理器用于执行存储于第二本地存储器或者第二云端存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求6-9任一项所述的方法的步骤。
16.一种安全令牌服务,其特征在于,包括:第三处理器,所述第三处理器用于执行存储于第三本地存储器或者第三云端存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求10所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6-9任一项所述的方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求10所述的方法的步骤。
CN202010915331.3A 2020-09-03 2020-09-03 访问控制方法、装置、网关、客户端和安全令牌服务 Active CN112187724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010915331.3A CN112187724B (zh) 2020-09-03 2020-09-03 访问控制方法、装置、网关、客户端和安全令牌服务

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010915331.3A CN112187724B (zh) 2020-09-03 2020-09-03 访问控制方法、装置、网关、客户端和安全令牌服务

Publications (2)

Publication Number Publication Date
CN112187724A CN112187724A (zh) 2021-01-05
CN112187724B true CN112187724B (zh) 2023-03-21

Family

ID=73925782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010915331.3A Active CN112187724B (zh) 2020-09-03 2020-09-03 访问控制方法、装置、网关、客户端和安全令牌服务

Country Status (1)

Country Link
CN (1) CN112187724B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113329003B (zh) * 2021-05-24 2022-02-11 广州大学 一种物联网的访问控制方法、用户设备以及系统
CN113225351B (zh) * 2021-05-28 2022-12-13 中国建设银行股份有限公司 一种请求处理方法、装置、存储介质及电子设备
CN113505382A (zh) * 2021-06-18 2021-10-15 杭州华橙软件技术有限公司 微服务鉴权方法、电子装置和存储介质
CN113591061A (zh) * 2021-07-07 2021-11-02 杜东璧 一种基于USB-Key和ZT-IAM的零信任网络访问控制方法
CN113810468B (zh) * 2021-08-13 2023-04-18 济南浪潮数据技术有限公司 K8s架构下网关分发请求的方法、系统、设备和存储介质
CN114244624A (zh) * 2021-12-31 2022-03-25 北京市商汤科技开发有限公司 流量控制方法及装置、设备、存储介质
WO2024082143A1 (zh) * 2022-10-18 2024-04-25 北京小米移动软件有限公司 一种设备业务角色的验证方法/装置/设备及存储介质
CN115604034A (zh) * 2022-12-12 2023-01-13 苏州阿基米德网络科技有限公司(Cn) 一种通信连接的加解密方法、系统及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381566B2 (en) * 2015-08-12 2022-07-05 Red Hat, Inc. Isolating network resources in a virtualized environment
CN106131079B (zh) * 2016-08-29 2020-08-11 腾讯科技(北京)有限公司 一种认证方法、系统及代理服务器
US11212101B2 (en) * 2018-10-09 2021-12-28 Ca, Inc. Token exchange with client generated token
CN110138568A (zh) * 2019-07-02 2019-08-16 云深互联(北京)科技有限公司 内网访问方法和系统
CN110784527A (zh) * 2019-10-18 2020-02-11 三体云智能科技有限公司 一种信息管理系统及方法

Also Published As

Publication number Publication date
CN112187724A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112187724B (zh) 访问控制方法、装置、网关、客户端和安全令牌服务
CN110855671B (zh) 一种可信计算方法和系统
US8332920B2 (en) Token-based client to server authentication of a secondary communication channel by way of primary authenticated communication channels
JP5361894B2 (ja) マルチファクタコンテンツの保護
WO2017020452A1 (zh) 认证方法和认证系统
CN107733636B (zh) 认证方法以及认证系统
WO2021120615A1 (zh) 加密装置、加密系统和数据的加密方法
CN108809633B (zh) 一种身份认证的方法、装置及系统
WO2022154843A1 (en) Systems and methods for encrypted content management
EP2414983B1 (en) Secure Data System
CN112565281B (zh) 业务密钥的信息处理方法、服务端及系统
CN110855695A (zh) 一种改进的sdn网络安全认证方法及系统
CN113572791B (zh) 一种视频物联网大数据加密服务方法、系统及装置
WO2019062536A1 (zh) 资源处理方法、装置、系统及计算机可读介质
CN112487450A (zh) 一种文件服务器访问分级方法
CN106992978B (zh) 网络安全管理方法及服务器
CA3172049A1 (en) Exporting remote cryptographic keys
CN117676579B (zh) 一种基于芯片构建汽车安全身份认证方法
CN112733200B (zh) 业务密钥的信息处理方法、加密机及信息处理系统
CN108667800B (zh) 一种访问权限的认证方法及装置
CN111131160B (zh) 一种用户、服务及数据认证系统
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
Sciancalepore et al. Multi-Domain Access Rights Composition in Federated IoT Platforms.
CN112688949B (zh) 一种访问方法、装置、设备及计算机可读存储介质
WO2022121940A1 (zh) 业务密钥的信息处理方法、服务端及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant