CN111769950A - 一种openstack系统中token认证的秘钥管理方法及系统 - Google Patents
一种openstack系统中token认证的秘钥管理方法及系统 Download PDFInfo
- Publication number
- CN111769950A CN111769950A CN202010590957.1A CN202010590957A CN111769950A CN 111769950 A CN111769950 A CN 111769950A CN 202010590957 A CN202010590957 A CN 202010590957A CN 111769950 A CN111769950 A CN 111769950A
- Authority
- CN
- China
- Prior art keywords
- node
- key
- token authentication
- pulling
- judging
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
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)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种openstack系统中token认证的秘钥管理方法及系统,该方法包括:节点启动时确定主节点和普通节点,在主节点生成秘钥并在普通节点拉取秘钥;根据所获取的轮转秘钥命令,同步秘钥库;判断openstack系统中任意两个节点之间的秘钥是否一致,如果是判定没发生token认证故障,否则判定发生故障,当发生token认证故障时,拉取秘钥库恢复。该系统包括:节点确定模块、秘钥处理模块、判断模块和故障处理模块。通过本申请,能够避免访问延迟,大大提高同步效率,而且能够避免出现A节点下发的token在B节点验证不通过的现象,有利于提高系统的兼容性,以及openstack系统运行的稳定性和通信可靠性。
Description
技术领域
本申请涉及秘钥管理技术领域,特别是涉及一种openstack系统中token认证的秘钥管理方法及系统。
背景技术
在openstack系统中,通常使用keystone组件进行认证操作,而keystone广泛使用fernet token生成形式来生成token,fernet token形式生成的token信息,长度较短,方便传输,减少了token存储、验证的空间和时间复杂度。且fernet token是基于秘钥生成的,该秘钥存储在特定文件夹下。当openstack系统大规模部署时,会部署多个keystone节点来平均负载系统压力,因此,如何实现多个节点的秘钥同步,避免出现A节点下发的token在B节点验证不通过的现象,从而确保系统稳定运行,是个重要技术问题。
目前,实现多个keystone节点秘钥同步的方法,通常是将秘钥key的存储路径使用共享存储保存,而不是存储在存储节点上,别的节点通过访问本地节点的共享存储实现秘钥同步。
然而,目前实现多个keystone节点秘钥同步的方法中,由于秘钥采用共享存储,并非存储在节点存储上,其他节点的访问延迟受限于本地节点访问共享存储的延迟,而验证token是高频操作,对访问延迟比较敏感,这种访问延迟使得整个系统的兼容性,以及通信的可靠性和稳定性较差。
发明内容
本申请提供了一种openstack系统中token认证的秘钥管理方法及系统,以解决现有技术中的方法使得系统兼容性、通信可靠性和稳定性较差的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种openstack系统中token认证的秘钥管理方法,所述openstack系统中keystone服务部署在多节点上,所述方法包括:
节点启动时确定主节点和普通节点;
在所述主节点生成秘钥,并在所述普通节点拉取秘钥;
主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库;
判断openstack系统中任意两个节点之间的秘钥是否一致;
如果是,判定没有发生token认证故障,所述token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作;
如果否,判定已发生token认证故障;
当发生token认证故障时,拉取秘钥库恢复。
可选地,所述节点启动时确定主节点和普通节点,包括:
Keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点;
获取所有节点keystone服务的通信地址;
所有节点按照时间先后顺序抢占主节点;
判断任一节点是否抢占成功;
如果是,判定所述任一节点为主节点;
如果否,判定所述任一节点为普通节点。
可选地,keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点之后,所述方法还包括:
判断openstack系统中是否包括多region;
如果是,获取其余region的节点通信地址,其中,节点通信地址的获取方式包括:K2K映射方式和数据库读取方式。
可选地,所述主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库,包括:
根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义所述任一节点为轮转节点;
拉取节点列表;
根据所述节点列表,采用通知的方式通知其他节点拉取所述轮转节点轮转后的秘钥;
秘钥库将轮转后的秘钥同步至所有节点上。
可选地,所述通知的方式包括:消息列队方式和同步接口形式。
可选地,当发生token认证故障时,拉取秘钥库恢复的方法,包括:
判断设定时间段内token认证失败次数是否超过设定频率;
如果是,判断当前节点是否为主节点;
如果当前节点为主节点,让出主节点;
按照时间顺序,其他节点抢占主节点;
如果当前节点不是主节点,拉取主节点秘钥;
判断设定时间段内是否拉取成功;
如果拉取成功,继续判断下一个设定时间段内token认证失败次数是否超过设定频率;
如果拉取不成功,停止当前节点的token认证。
一种openstack系统中token认证的秘钥管理系统,所述openstack系统中keystone服务部署在多节点上,所述系统包括:
节点确定模块,用于节点启动时确定主节点和普通节点;
秘钥处理模块,用于在所述主节点生成秘钥,并在所述普通节点拉取秘钥;
秘钥轮转模块,用于主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库;
判断模块,用于判断openstack系统中任意两个节点之间的秘钥是否一致,如果一致,判定没有发生token认证故障,否则,判定已发生token认证故障,其中,所述token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作;
故障处理模块,用于当发生token认证故障时,拉取秘钥库恢复。
可选地,所述节点确定模块包括:
自注册单元,用于keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点;
通信地址获取单元,用于获取所有节点keystone服务的通信地址;
第一抢占单元,用于控制所有节点按照时间先后顺序抢占主节点;
第一判断单元,用于判断任一节点是否抢占成功,如果是,判定所述任一节点为主节点,如果否,判定所述任一节点为普通节点。
可选地,所述秘钥轮转模块包括:
轮转单元,用于根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义所述任一节点为轮转节点;
列表拉取单元,用于拉取节点列表;
通知单元,用于根据所述节点列表,采用通知的方式通知其他节点拉取所述轮转节点轮转后的秘钥;
同步单元,用于将轮转后的秘钥同步至所有节点上。
可选地,所述故障处理模块包括:
第二判断单元,用于判断设定时间段内token认证失败次数是否超过设定频率;
第三判断单元,用于设定时间段内token认证失败次数超过设定频率时,判断当前节点是否为主节点;
让出单元,用于当前节点为主节点时,让出主节点;
第二抢占单元,用于让出单元让出主节点后,按照时间顺序,控制其他节点抢占主节点;
拉取单元,用于当前节点不是主节点时,拉取主节点秘钥;
第四判断单元,用于拉取主节点秘钥之后,判断设定时间段内是否拉取成功,如果是,启动第二判断单元继续下一循环,如果否,停止当前节点的token认证。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种openstack系统中token认证的秘钥管理方法,该方法在节点启动时确定主节点和普通节点,并在主节点生成秘钥,在普通节点拉取秘钥,在生成和拉取的秘钥过程中,采用服务注册的方式自动获取秘钥库秘钥,而不需要手工或者shell脚本复制的方式获取,能够有效提高秘钥获取的效率。在轮转秘钥时,根据所获取的轮转秘钥命令同步秘钥库,能够在任意节点执行轮转秘钥命令,并及时通知其他节点获取轮转后的秘钥,自动实现同步秘钥库,同步效率更高,避免秘钥存储在共享存储导致的访问延迟。同时,根据所获取的轮转秘钥命令,同步秘钥库,能够避免出现A节点下发的token在B节点验证不通过的现象,从而有效提高openstack系统的兼容性。当发生token认证故障时,拉取秘钥库恢复。当出现节点秘钥不匹配时,及时更换主节点,自动拉取秘钥库恢复,且自动恢复失败时能够及时停止token认证,避免影响系统正常运行。因此,本实施例中的秘钥管理方法能够有效提高openstack系统运行的稳定性和可靠性。
本申请还提供一种openstack系统中token认证的秘钥管理系统,该系统包括:节点确定模块、秘钥处理模块、秘钥轮转模块、判断模块和故障处理模块。通过节点确定模块和秘钥处理模块的设置,能够在节点启动时采用服务注册的方式自动获取秘钥库秘钥,从而有效提高秘钥获取的效率。秘钥轮转模块的设置,能够在任意节点执行轮转秘钥命令,执行轮转秘钥命令后,采用通知形式通知其他节点,使其他节点从轮转节点获取轮转后的秘钥,使得秘钥库能够自动同步到所有节点上,秘钥轮转模块的设置能够避免访问延迟,大大提高同步效率。而且能够避免出现A节点下发的token在B节点验证不通过的现象,有利于提高系统的兼容性,以及openstack系统运行的稳定性和通信可靠性。故障处理模块的设置,使得出现节点秘钥不匹配时,能够及时更换主节点,自动拉取秘钥库恢复,且自动恢复失败时能够及时停止token认证,避免影响系统正常运行,能够有效提高openstack系统运行的稳定性和可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种openstack系统中token认证的秘钥管理方法的流程示意图;
图2为本申请实施例所提供的一种openstack系统中token认证的秘钥管理系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
Openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,OpenStack系统能够为私有云和公有云提供可扩展的弹性的云计算服务,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
Keystone是OpenStack框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些操作都需要通过keystone处理。Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,OpenStack服务通过keystone来注册其endpoint,任何服务之间的相互调用,都需要先经过keystone的身份验证,获得目标服务的Endpoint,然后再调用。其中,endpoint为服务访问的URL(Uniform Resource Locator,统一资源定位符)。
Fernet token:fernet使用AES-CBC来对称加密并使用SHA256来签名token,token只能通过对称秘钥读取和更改,不需要持久化token,对于多个keystone节点的部署,只需要将相同的key发布到所有节点上,无论通过哪个节点生成的token,都可以被其他keystone节点所验证。fernet token只加密必要的信息,长度一般不超过255字节,避免了PKI token过大的问题。
Fernet token key轮转:数字最大的叫Primary Key,其次大的叫Secondary Key,再大的叫Staged Key。keystone使用Primary Key加密,可使用所有的Key按2,1,0的顺序进行解密和验证,轮转后,以前的0变成2成为Primary Key,以前的1还是1作为SecondaryKey,新生成0作为Staged Key,再次轮转后,0变3,1被删除,2保持2,新生成0,以此类推。
本实施例中的秘钥又称key,指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种openstack系统中token认证的秘钥管理方法的流程示意图。由图1可知,本实施例中openstack系统中token认证的秘钥管理方法,主要包括如下过程:
S1:节点启动时确定主节点和普通节点。
本实施例中的节点为keystone节点。openstack系统中keystone服务部署在多节点上。具体地,步骤S1包括如下步骤:
S11:keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点。
也就是在keystone服务启动时,keystone自注册endpoint,为后续步骤中其他节点能够获取到当前节点的地址提供依据。本实施例根据非负载均衡IP自注册节点,相当于采用真实IP进行注册,有利于提高秘钥管理的可靠性。
进一步地,采用服务注册方式自注册节点之后,还包括步骤S12和S13。
S12:判断openstack系统中是否包括多region。
如果openstack系统中包括多region,执行步骤S13:获取其余region的节点通信地址。其中,节点通信地址的获取方式包括:K2K映射方式和数据库读取方式。
如果openstack系统中不包括多region,只有一个region,直接执行步骤S14。
也就是,在多region的情况下,确定当前region的通信地址之后,通过映射关系或数据库配置发现其他region的keystone节点。
S14:获取所有节点keystone服务的通信地址。
S15:所有节点按照时间先后顺序抢占主节点。
可以通过数据库锁的形式抢占主节点,也可以通过文件件系统锁的形式抢占主节点。
S16:判断任一节点是否抢占成功。
如果任一节点抢占成功,执行步骤S17:判定任一节点为主节点。
如果任一节点抢占不成功,执行步骤S18:判定任一节点为普通节点。
由以上步骤S14-S16可知,获取所有节点keystone服务的通信地址后,通过抢占方式,按照时间先后顺序抢占主节点,抢占不成功作为普通节点,便于后续针对主节点和普通节点执行不同的操作。
继续参见图1可知,本实施例中还包括步骤S2:在主节点生成秘钥,并在普通节点拉取秘钥。
主节点生成fernet key,普通节点拉取fernet key,从而实现自动获取秘钥库秘钥。
S3:主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库。
具体地,步骤S3包括:
S31:根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义任一节点为轮转节点。
也就是获取到轮转秘钥命令后,在任一节点进行秘钥轮转,当前的任一节点定义为轮转节点,轮转节点轮转本地秘钥。
轮转节点轮转本地秘钥之后,执行步骤S32:拉取节点列表。
即:拉取endpoint列表。
S33:根据节点列表,采用通知的方式通知其他节点拉取轮转节点轮转后的秘钥。
本实施例中的通知方式包括:消息列队方式和同步接口方式。也就是轮转节点轮转本地秘钥之后获取到轮转后秘钥,并采用消息列队方式,或者同步接口方式,通知其他节点拉取该轮转后秘钥。
S34:秘钥库将轮转后的秘钥同步至所有节点上。
通过以上步骤S31-S34,能够在任意节点执行轮转秘钥命令,当前节点执行完毕该命令后通知其他节点执行轮转后的秘钥,并通过秘钥库将轮转后的秘钥自动同步到所有keystone节点,使得任一节点下发的token在其他节点能够验证通过,从而有效提高openstack系统的兼容性。
继续参见图1可知,本实施例中的方法还包括步骤S4:判断openstack系统中任意两个节点之间的秘钥是否一致。
如果openstack系统中任意两个节点之间的秘钥一致,执行步骤S5:判定没有发生token认证故障。其中,token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作。
如果openstack系统中任意两个节点之间的秘钥不一致,执行步骤S6:判定已发生token认证故障。
当发生token认证故障时,执行步骤S7:拉取秘钥库恢复。
具体地,步骤S7包括如下过程:
S71:判断设定时间段内token认证失败次数是否超过设定频率。
也就是判断在设定时间段内token认证失败次数是否超过设定次数。设定时间段和设定频率根据不同的应用场景确定。
如果设定时间段内token认证失败次数超过设定频率,执行步骤S72:判断当前节点是否为主节点。
如果当前节点为主节点,执行步骤S73:让出主节点。
S74:按照时间顺序,其他节点抢占主节点。
如果当前节点不是主节点,执行步骤S75:拉取主节点秘钥。
拉取主节点秘钥之后,执行步骤S76:判断设定时间段内是否拉取成功。
设定时间段内无法拉取,或者,拉取后仍发生设定时间段内token认证失败次数超过设定频率的情况,判定为拉取不成功,否则判定为拉取成功。
如果拉取成功,返回步骤S71:继续判断下一个设定时间段内token认证失败次数是否超过设定频率。
如果拉取不成功,执行步骤S77:停止当前节点的token认证。
由以上步骤S71-S77可知,在轮转秘钥、拉取秘钥或者误操作时,可能出现节点秘钥不匹配的情况,当检测到节点秘钥不匹配时,执行步骤S72-S77确认主节点,并在拉取主节点秘钥之后,先验证是否拉取成功,当拉取不成功时控制当前节点停止服务,停止验证和下发token,从而能够避免自恢复失败对openstack系统运行的影响,有利于提高openstack系统运行的可靠性和稳定性。
综上所述,通过本实施例中的方法,能够实现openstack系统中多节点、轮转后、多region以及多套keystone情况下,秘钥的一致性,从而使得A节点下发的token能够在B节点验证通过,提高openstack系统的兼容性以及运行的稳定性和可靠性。
实施例二
在图1所示实施例的基础之上参见图2,图2为申请实施例所提供的一种openstack系统中token认证的秘钥管理系统的结构示意图。由图2可知,本实施例中openstack系统中token认证的秘钥管理系统主要包括:节点确定模块、秘钥处理模块、秘钥轮转模块、判断模块和故障处理模块五部分。
其中,节点确定模块,用于节点启动时确定主节点和普通节点;秘钥处理模块,用于在主节点生成秘钥,并在普通节点拉取秘钥;秘钥轮转模块,用于主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库;判断模块,用于判断openstack系统中任意两个节点之间的秘钥是否一致,如果一致,判定没有发生token认证故障,否则,判定已发生token认证故障,其中,token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作;故障处理模块,用于当发生token认证故障时,拉取秘钥库恢复。
进一步地,节点确定模块包括:自注册单元、通信地址获取单元、第一抢占单元和第一判断单元。其中,自注册单元,用于keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点;通信地址获取单元,用于获取所有节点keystone服务的通信地址;第一抢占单元,用于控制所有节点按照时间先后顺序抢占主节点;第一判断单元,用于判断任一节点是否抢占成功,如果是,判定任一节点为主节点,如果否,判定任一节点为普通节点。
秘钥轮转模块包括:轮转单元、列表拉取单元、通知单元和同步单元。其中,轮转单元,用于根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义任一节点为轮转节点;列表拉取单元,用于拉取节点列表;通知单元,用于根据节点列表,采用通知的方式通知其他节点拉取轮转节点轮转后的秘钥;同步单元,用于将轮转后的秘钥同步至所有节点上。
故障处理模块包括:第二判断单元、第三判断单元、让出单元、第二抢占单元、拉取单元和第四判断单元。第二判断单元,用于判断设定时间段内token认证失败次数是否超过设定频率;第三判断单元,用于设定时间段内token认证失败次数超过设定频率时,判断当前节点是否为主节点;让出单元,用于当前节点为主节点时,让出主节点;第二抢占单元,用于让出单元让出主节点后,按照时间顺序,控制其他节点抢占主节点;拉取单元,用于当前节点不是主节点时,拉取主节点秘钥;第四判断单元,用于拉取主节点秘钥之后,判断设定时间段内是否拉取成功,如果是,启动第二判断单元继续下一循环,如果否,停止当前节点的token认证。
该实施例中openstack系统中token认证的秘钥管理系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种openstack系统中token认证的秘钥管理方法,其特征在于,所述openstack系统中keystone服务部署在多节点上,所述方法包括:
节点启动时确定主节点和普通节点;
在所述主节点生成秘钥,并在所述普通节点拉取秘钥;
主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库;
判断openstack系统中任意两个节点之间的秘钥是否一致;
如果是,判定没有发生token认证故障,所述token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作;
如果否,判定已发生token认证故障;
当发生token认证故障时,拉取秘钥库恢复。
2.根据权利要求1所述的一种openstack系统中token认证的秘钥管理方法,其特征在于,所述节点启动时确定主节点和普通节点,包括:
Keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点;
获取所有节点keystone服务的通信地址;
所有节点按照时间先后顺序抢占主节点;
判断任一节点是否抢占成功;
如果是,判定所述任一节点为主节点;
如果否,判定所述任一节点为普通节点。
3.根据权利要求2所述的一种openstack系统中token认证的秘钥管理方法,其特征在于,keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点之后,所述方法还包括:
判断openstack系统中是否包括多region;
如果是,获取其余region的节点通信地址,其中,节点通信地址的获取方式包括:K2K映射方式和数据库读取方式。
4.根据权利要求1所述的一种openstack系统中token认证的秘钥管理方法,其特征在于,所述主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库,包括:
根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义所述任一节点为轮转节点;
拉取节点列表;
根据所述节点列表,采用通知的方式通知其他节点拉取所述轮转节点轮转后的秘钥;
秘钥库将轮转后的秘钥同步至所有节点上。
5.根据权利要求4所述的一种openstack系统中token认证的秘钥管理方法,其特征在于,所述通知的方式包括:消息列队方式和同步接口形式。
6.根据权利要求1所述的一种openstack系统中token认证的秘钥管理方法,其特征在于,当发生token认证故障时,拉取秘钥库恢复的方法,包括:
判断设定时间段内token认证失败次数是否超过设定频率;
如果是,判断当前节点是否为主节点;
如果当前节点为主节点,让出主节点;
按照时间顺序,其他节点抢占主节点;
如果当前节点不是主节点,拉取主节点秘钥;
判断设定时间段内是否拉取成功;
如果拉取成功,继续判断下一个设定时间段内token认证失败次数是否超过设定频率;
如果拉取不成功,停止当前节点的token认证。
7.一种openstack系统中token认证的秘钥管理系统,其特征在于,所述openstack系统中keystone服务部署在多节点上,所述系统包括:
节点确定模块,用于节点启动时确定主节点和普通节点;
秘钥处理模块,用于在所述主节点生成秘钥,并在所述普通节点拉取秘钥;
秘钥轮转模块,用于主节点生成秘钥后,openstack系统执行过程中根据所获取的轮转秘钥命令,同步秘钥库;
判断模块,用于判断openstack系统中任意两个节点之间的秘钥是否一致,如果一致,判定没有发生token认证故障,否则,判定已发生token认证故障,其中,所述token认证故障包括:轮转秘钥故障、拉取秘钥故障以及误操作;
故障处理模块,用于当发生token认证故障时,拉取秘钥库恢复。
8.根据权利要求7所述的一种openstack系统中token认证的秘钥管理系统,其特征在于,所述节点确定模块包括:
自注册单元,用于keystone服务启动时,根据非负载均衡IP,采用服务注册的方式自注册节点;
通信地址获取单元,用于获取所有节点keystone服务的通信地址;
第一抢占单元,用于控制所有节点按照时间先后顺序抢占主节点;
第一判断单元,用于判断任一节点是否抢占成功,如果是,判定所述任一节点为主节点,如果否,判定所述任一节点为普通节点。
9.根据权利要求7所述的一种openstack系统中token认证的秘钥管理系统,其特征在于,所述秘钥轮转模块包括:
轮转单元,用于根据所获取的轮转秘钥命令,在任一节点进行秘钥轮转,并定义所述任一节点为轮转节点;
列表拉取单元,用于拉取节点列表;
通知单元,用于根据所述节点列表,采用通知的方式通知其他节点拉取所述轮转节点轮转后的秘钥;
同步单元,用于将轮转后的秘钥同步至所有节点上。
10.根据权利要求7所述的一种openstack系统中token认证的秘钥管理系统,其特征在于,所述故障处理模块包括:
第二判断单元,用于判断设定时间段内token认证失败次数是否超过设定频率;
第三判断单元,用于设定时间段内token认证失败次数超过设定频率时,判断当前节点是否为主节点;
让出单元,用于当前节点为主节点时,让出主节点;
第二抢占单元,用于让出单元让出主节点后,按照时间顺序,控制其他节点抢占主节点;
拉取单元,用于当前节点不是主节点时,拉取主节点秘钥;
第四判断单元,用于拉取主节点秘钥之后,判断设定时间段内是否拉取成功,如果是,启动第二判断单元继续下一循环,如果否,停止当前节点的token认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590957.1A CN111769950B (zh) | 2020-06-24 | 2020-06-24 | 一种openstack系统中token认证的秘钥管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590957.1A CN111769950B (zh) | 2020-06-24 | 2020-06-24 | 一种openstack系统中token认证的秘钥管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111769950A true CN111769950A (zh) | 2020-10-13 |
CN111769950B CN111769950B (zh) | 2022-05-31 |
Family
ID=72722006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590957.1A Active CN111769950B (zh) | 2020-06-24 | 2020-06-24 | 一种openstack系统中token认证的秘钥管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111769950B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124352A (zh) * | 2021-11-19 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种秘钥轮转方法、装置及计算机介质 |
CN115936637A (zh) * | 2023-03-10 | 2023-04-07 | 云账户技术(天津)有限公司 | 电子回单拉取方法、系统、电子设备和可读存储介质 |
US11979496B2 (en) | 2021-09-15 | 2024-05-07 | Microsoft Technology Licensing, Llc | Secret rotation in a cloud service |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241558A (zh) * | 2016-12-27 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种镜像仓库备份装置和方法 |
US20190273613A1 (en) * | 2018-03-05 | 2019-09-05 | International Business Machines Corporation | Distributed encryption keys for tokens in a cloud environment |
CN110334531A (zh) * | 2019-07-01 | 2019-10-15 | 深信服科技股份有限公司 | 虚拟机密钥的管理方法、主节点、系统、存储介质及装置 |
US20200112433A1 (en) * | 2018-10-05 | 2020-04-09 | Oracle International Corporation | System and method for a distributed keystore |
-
2020
- 2020-06-24 CN CN202010590957.1A patent/CN111769950B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241558A (zh) * | 2016-12-27 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种镜像仓库备份装置和方法 |
US20190273613A1 (en) * | 2018-03-05 | 2019-09-05 | International Business Machines Corporation | Distributed encryption keys for tokens in a cloud environment |
US20200112433A1 (en) * | 2018-10-05 | 2020-04-09 | Oracle International Corporation | System and method for a distributed keystore |
CN110334531A (zh) * | 2019-07-01 | 2019-10-15 | 深信服科技股份有限公司 | 虚拟机密钥的管理方法、主节点、系统、存储介质及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11979496B2 (en) | 2021-09-15 | 2024-05-07 | Microsoft Technology Licensing, Llc | Secret rotation in a cloud service |
CN114124352A (zh) * | 2021-11-19 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种秘钥轮转方法、装置及计算机介质 |
CN115936637A (zh) * | 2023-03-10 | 2023-04-07 | 云账户技术(天津)有限公司 | 电子回单拉取方法、系统、电子设备和可读存储介质 |
CN115936637B (zh) * | 2023-03-10 | 2023-05-02 | 云账户技术(天津)有限公司 | 电子回单拉取方法、系统、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111769950B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111769950B (zh) | 一种openstack系统中token认证的秘钥管理方法及系统 | |
EP3832578A1 (en) | Electronic invoice identifier allocation method, and electronic ticket generating method, device and system | |
US11522698B2 (en) | Method and system for byzantine fault-tolerance replicating of data | |
US10664353B2 (en) | Method and system for byzantine fault-tolerance replicating of data on a plurality of servers | |
US11645649B2 (en) | Resource transfer method and apparatus, storage medium, and computer device | |
US11899689B2 (en) | Blockchain-based data synchronization method, apparatus, and computer-readable storage medium | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
WO2018192534A1 (zh) | 节点设备运行方法、工作状态切换装置、节点设备及介质 | |
EP3860053B1 (en) | Blockchain-based traffic counting method, apparatus and device | |
WO2023134159A1 (zh) | 一种基于区块链网络的共识方法、装置、电子设备及存储介质 | |
CN111597536A (zh) | 一种hadoop集群kerberos高可用认证方法 | |
CN106941418B (zh) | Ssl vpn配置信息的同步方法和装置 | |
CN113259118B (zh) | 同步节点信息列表的方法 | |
CN113259120B (zh) | 同步节点信息列表的方法 | |
US20240054054A1 (en) | Data Backup Method and System, and Related Device | |
CN112131041A (zh) | 用于管理数据放置的方法、设备和计算机程序产品 | |
CN111858094B (zh) | 一种数据复制粘贴方法、系统及电子设备 | |
CN111400743A (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
WO2023134160A1 (zh) | 一种基于区块链网络的共识方法、装置、电子设备及存储介质 | |
CN115129518A (zh) | Tee内存储数据的备份和恢复方法、装置、设备及介质 | |
WO2017101016A1 (zh) | 用于存储节点同步业务请求的方法和装置 | |
US11461480B1 (en) | Synchronizing private data with reduced trust | |
CN111125001A (zh) | 快照复制方法、电子设备和计算机程序产品 | |
EP4325811A1 (en) | Data processing method and apparatus for consensus network, program product, device, and medium | |
US20210279302A1 (en) | Management of software licenses for deployed images |
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 |