CN115699673A - 使用签署密钥轮换的安全令牌到期 - Google Patents
使用签署密钥轮换的安全令牌到期 Download PDFInfo
- Publication number
- CN115699673A CN115699673A CN202080101621.2A CN202080101621A CN115699673A CN 115699673 A CN115699673 A CN 115699673A CN 202080101621 A CN202080101621 A CN 202080101621A CN 115699673 A CN115699673 A CN 115699673A
- Authority
- CN
- China
- Prior art keywords
- key
- valid
- list
- ids
- token
- 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.)
- Pending
Links
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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/088—Usage 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
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/3247—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 digital signatures
-
- 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/3297—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 time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种用于使令牌到期的方法(400)包括为被配置成签署认证令牌(210)的至少一个有效密码密钥(220)获得有效密钥标识(ID)(230)的列表。该方法还包括从客户端(10)接收认证令牌,该认证令牌对客户端进行认证和授权以访问资源并且包括被用于签署认证令牌的密码密钥的ID。该方法还包括基于用于所述至少一个有效密码密钥的有效密钥ID的列表来确定被用于签署认证令牌的密码密钥是否有效。当被用于签署认证令牌的密码密钥有效时,该方法包括允许客户端访问资源。
Description
技术领域
本公开涉及使用签署密钥轮换的安全令牌到期。
背景技术
认证令牌(即,安全令牌)越来越多地被用于允许客户端访问受限资源。通常,客户端向令牌发行器提供认证凭据,并且在令牌发行器对客户端进行认证之后,令牌发行器向客户端发行认证令牌。客户端可以将此认证令牌提交给服务器或控制对资源的访问的其他实体。在服务器核实认证令牌的真实性之后,服务器可以允许客户端访问该资源。因为令牌通常是无状态的,所以服务器不需要存储会话状态。此外,令牌生成和令牌核实能够被解耦并且提供细粒的访问控制。然而,当存在大量客户端和服务器时,可扩展性能够成为问题。
发明内容
本公开的一个方面提供了一种使用签署密钥轮换来使认证令牌到期的方法。该方法包括在数据处理硬件处获得用于被配置成签署认证令牌的至少一个有效密码密钥的有效密钥标识(ID)的列表。该方法还包括在数据处理硬件处从客户端接收认证令牌。认证令牌认证并授权客户端访问与数据处理硬件相关联的资源,并包括被用于签署认证令牌的加密密钥的ID。该方法还包括由数据处理硬件基于用于所述至少一个有效密码密钥的有效密钥ID的列表来确定被用于签署认证令牌的密码密钥是否有效。当被用于签署认证令牌的加密密钥有效时,该方法包括通过数据处理硬件允许客户端访问资源。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,获得用于所述至少一个有效密码密钥的密钥ID的有效列表包括接收用于至少一个潜在有效的密码密钥的密钥ID的列表。用于所述至少一个潜在有效的密码密钥的密钥ID列表中的每个密钥ID与相应的到期时间相关联。对于用于所述至少一个潜在有效的密码密钥的密钥ID列表中的每个密钥ID,该方法可以包括确定与相应密钥ID相关联的到期时间是否已经到期,以及当与相应密钥ID相关联的到期时间尚未到期时,确定相应的密钥ID有效。
在一些示例中,获得用于所述至少一个有效的密码密钥的有效密钥ID的列表包括从密码密钥的发行器接收更新。该更新可能包括远程过程调用(RPC)。该更新可以包括发布-订阅协议。可选地,每个密钥ID包括整数的编码。每个整数可以包括一个字节的大小。
在一些实施方式中,该方法包括在数据处理硬件处接收用于至少一个无效的密码密钥的无效密钥ID的列表。对于用于至少一个被无效的密码密钥的无效密钥ID列表中的每个无效密钥ID,该方法可以包括由数据处理硬件从用于所述至少一个有效密码密钥的有效密钥ID的列表中移除对应的有效密钥ID。在一些示例中,该方法包括在数据处理硬件处获得用于至少一个有效密码密钥的有效密钥ID的更新列表。更新的有效密钥ID的列表中的每个密钥ID与有效密钥ID列表中的每个密钥ID不同。可选地,认证令牌不包括时间戳。
本公开的另一方面提供了一种用于使用签署密钥轮换使认证令牌到期的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储当在数据处理硬件上执行时使数据处理硬件施行操作的指令。这些操作包括获得用于被配置成签署认证令牌的至少一个有效的密码密钥的有效密钥标识(ID)的列表。这些操作还包括从客户端接收认证令牌。认证令牌认证并授权客户端访问与数据处理硬件相关联的资源,并且包括被用于签署认证令牌的密码密钥的ID。操作还包括基于用于所述至少一个有效密码密钥的有效密钥ID的列表确定被用于签署认证令牌的密码密钥是否有效。当被用于签署认证令牌的密码密钥有效时,操作包括允许客户端访问资源
此方面可以包括以下可选特征中的一个或多个。在一些实施方式中,获得用于所述至少一个有效密码密钥的密钥ID的有效列表包括接收用于至少一个潜在有效的密码密钥的密钥ID的列表。用于所述至少一个潜在有效的密码密钥的密钥ID列表中的每个密钥ID与相应的到期时间相关联。对于用于所述至少一个潜在有效的密码密钥的密钥ID列表中的每个密钥ID,所述操作可以包括确定与相应密钥ID相关联的到期时间是否已经到期,以及当与相应密钥ID相关联的到期时间尚未到期时,确定相应的密钥ID有效。
在一些示例中,获得用于所述至少一个有效的密码密钥的有效密钥ID的列表包括从密码密钥的发行器接收更新。该更新可以包括远程过程调用(RPC)。该更新可以包括发布-订阅协议。可选地,每个密钥ID包括整数的编码。每个整数可以包括一个字节的大小。
在一些实施方式中,所述操作包括接收用于至少一个被无效的密码密钥的无效密钥ID的列表。对于用于所述至少一个被无效的密码密钥的无效密钥ID列表中的每个无效密钥ID,所述操作可以包括从用于所述至少一个无效密码密钥的有效密钥ID的列表中移除对应的有效密钥ID。在一些示例中,所述操作包括获得用于至少一个有效密码密钥的有效密钥ID的更新列表。更新的有效密钥ID的列表中的每个密钥ID与有效密钥ID列表中的每个密钥ID不同。可选地,认证令牌不包括时间戳。
本公开的一个或多个实施方式的细节在下面的附图和描述中被阐述。其他方面、特征和优点将从描述和附图以及从权利要求中显而易见。
附图说明
图1是用于使用签署密钥轮换的令牌到期的示例系统的示意图。
图2A是令牌发行器向令牌认证器提供密钥标识和到期时间的列表的示意图。
图2B是令牌发行器向令牌认证器提供有效/无效密钥标识列表的示意图。
图3是用于由令牌发行器生成的密钥的寿命的时间线的示意图。
图4是用于使用签署密钥轮换的令牌到期方法的示例操作布置的流程图。
图5是可以被用于实现本文描述的系统和方法的示例计算设备的示意图。
各个附图中的相同附图标记指示相同的元件。
具体实施方式
认证令牌(即,安全令牌)通常被用于认证客户端以访问资源。例如,JavaScript对象符号(JSON)Web令牌是用于创建访问令牌的互联网标准。这些访问令牌中的一个通常与每个Web请求一起被发送以对客户端最终用户进行认证。为了减轻凭据泄露(即,攻击者得到对认证令牌的访问的影响),每个令牌具有有限的寿命。一般来说,令牌的寿命越短,安全性就越高。然而,传统技术通过使用在每个令牌内包括的到期时间戳来实现此寿命。也就是说,每个令牌包括时间戳,该时间戳指示令牌何时到期。在对这样的令牌进行认证时,服务器将到期时间戳与当前时间进行比较,以确定认证是否仍然有效。该要求导致低效率,尤其是在更大的规模上。
例如,每个令牌必须包括到期时间戳。通常,该时间戳是对自Epoch(纪元)以来的秒数进行编码的32位无符号整数。时间戳验证通常不能在网络处理器和/或其他专用硬件——诸如专用集成电路(ASIC)——中实现。因此,时间戳防止在较低的网络层中使用安全令牌并在硬件中实现令牌验证。
本文的实施方式针对不依赖于每个令牌的时间戳来限制认证令牌的寿命的令牌认证系统。相反,系统的令牌发行器利用密码密钥对每个令牌进行签署,并在每个令牌中包括用于签署相应令牌的密码密钥的标识(ID)。令牌认证系统的令牌认证器获得指示哪些密码密钥当前有效的密钥ID列表。在从请求访问资源的客户端接收到认证令牌后,令牌认证器基于密钥ID列表确定用于签署认证令牌的密码密钥是否有效。当用于签署认证令牌的密码密钥有效时,令牌认证器允许客户端访问资源。
现在参考图1,在一些实施方式中,示例系统100包括与经由网络112与远程系统140通信的相应用户12相关联的用户设备10(即,客户端10)。用户设备10可以与任何计算设备相对应,诸如台式工作站、笔记本电脑工作站或移动设备(即,智能手机)。用户设备10包括计算资源18(例如,数据处理硬件)和/或存储资源16(例如,存储器硬件)。
远程系统140可以是单个计算机、多个计算机或具有可扩展/弹性计算资源142的分布式系统(例如,云环境),该可扩展/弹性计算资源142包括计算资源144(例如,数据处理硬件)和/或存储资源146(例如,存储器硬件)。数据存储150(即,远程存储设备)可以覆盖在存储资源146上,以允许客户端或计算资源144中的一个或多个对存储资源146的可扩展使用。在一些实施方式中,远程系统140执行令牌发行器200。
令牌发行器200从客户端10接收认证凭证20。认证凭证20授权客户端访问一个或多个资源或服务。例如,资源包括数据存储150和对其中存储的一些或全部数据的访问。数据存储150仅是示例性的,并且资源或服务可以是需要认证以进行访问的任何受限资源或服务。令牌发行器200对认证凭证20进行认证。
在成功地认证了认证凭证20之后,令牌发行器200生成授权令牌210。认证令牌210也可以被称为安全令牌或访问令牌。认证令牌210包含访问资源或服务(诸如数据存储150)所必需的安全和/或认证凭证。为了访问资源,客户端10将认证令牌210呈现给服务器或控制对资源的访问的其他实体。在该示例中,令牌发行器200正在与资源(即,数据存储150)相同的远程系统140上执行,然而令牌发行器200可以完全独立于资源。
令牌发行器200利用密码密钥220、220a-n签署认证令牌210。密码密钥220可以是对称或非对称密钥(即,公钥/私钥)。令牌发行器200在认证令牌210内包括密钥ID 230,该密钥ID 230标识令牌发行器200用来签署认证令牌210的密码密钥220。令牌发行器200将被签署的认证令牌210传送到客户端10。
当客户端期望访问资源(例如,数据存储150)时,客户端向远程系统140(或控制对资源的访问的任何系统/服务器/实体)发送访问请求22。访问请求22包括认证令牌210。在一些示例中,远程系统执行一个或多个令牌认证器250。可以理解,虽然在所示示例中,令牌认证器250和令牌发行器200在相同远程系统140内执行,但是令牌发行器200和令牌认证器250可以替代地在彼此完全独立的单独系统上执行。此外,在一些实施方式中,客户端10还在远程系统140内(例如,在虚拟机(VM)或其他容器化系统内)执行。系统100可以包括控制对任何数量的资源的访问的任何数量的令牌认证器250。客户端10可以接收一个或多个认证令牌210以获得对由令牌认证器250控制的一个或多个资源的访问。
令牌认证器250从客户端10接收访问令牌210。如下文更详细讨论的,令牌认证器250从令牌发行器200获得有效密钥ID 230、230a-n的列表。有效密钥ID 230的列表包括各自与用于签署认证令牌210的对应的有效密码密钥220相关联的ID。令牌认证器250基于从令牌发行器200获得的有效密钥ID 230的列表来确定用于签署所接收的认证令牌210的密码密钥220是否有效。当用于签署认证令牌210的密码密钥220是有效的,令牌认证器250允许客户端10访问资源。例如,令牌认证器250向远程系统140发行许可254。
现在参考图2A,在一些示例中,有效密钥ID 230列表中的每个密钥ID 230与到期时间232相关联。到期时间232可以是时间戳的形式。这里,密钥a的密钥ID 230与时间戳a相关联,密钥b的密钥ID230与时间戳b相关联,并且密钥n的密钥ID 230与时间戳n相关联。到期时间232指示当相应密钥220(由密钥ID 230标识)何时将到期。当令牌认证器250接收到认证令牌210时,令牌认证器250可以确定当前时间是否在与在认证令牌210内包含的相应密钥ID 230相关联的到期时间232之后。也就是说,令牌认证器250确定与密钥ID 230相关联的到期时间232是否已到期。例如,令牌认证器250包括时间戳比较器260,其接收当前时间戳262(即,指示当前时间的时间戳)并将当前时间戳262和与认证令牌210的密钥ID 230相关联的到期时间232进行比较。当用于签署认证令牌210的密钥220尚未到期(即,到期时间232在当前时间262之后)时,令牌认证器250确定认证令牌210有效并授予客户端10对资源的访问。
现在参考图2B,在一些实施方式中,令牌发行器200向令牌认证器250传送有效和/或无效密钥ID 230、230V、230I的列表。在所示示例中,令牌发行器200发送不再有效的密钥ID 230I的列表(即,密钥a、密钥b、...、密钥n)和有效的密钥ID 230V的列表(即,密钥o、密钥p、...、密钥z)。可选地,对于每个有效密钥ID 230V,令牌认证器250将密钥ID 230添加到有效密钥ID 230V的列表中。令牌认证器可以为从令牌发行器200接收到的每个无效密钥ID230I移除对应的密钥ID 230。在该情况下,令牌认证器250从有效密钥ID 230V的列表中删除或移除密钥a-n的密钥ID 230并添加密钥o-z的密钥ID 230。在接收该列表之前,令牌认证器250验证利用密钥220a-n签署的认证令牌210并且不验证利用密钥220o-z签署的认证令牌230。在接收到该列表之后,令牌认证器250中断验证利用密钥220a-n签署的认证令牌210,并且开始验证利用密钥220o-z签署的认证令牌210。
在一些示例中,从令牌发行器200接收到的列表仅包含有效密钥ID 230,并且令牌认证器250移除或删除所有其他密钥ID 230。在其他示例中,列表仅包括无效密钥ID 230,并且令牌认证器250仅移除被无效的密钥ID 230。
因此,在一些实施方式中,令牌发行器200根本不将密钥220的到期时间传递给令牌认证器250,而是代替地直接向令牌认证器250传递哪些密钥有效和无效(经由密钥ID230)。在其他示例中,令牌发行器200传递有效/无效密钥ID 230列表和每个有效密钥ID230的到期时间232。在该示例中,甚至当令牌发行器200未能向使相应的密钥220无效的令牌认证器250发送列表时,令牌认证器250将使由密钥220在该密钥的相应到期时间232之后签署的认证令牌210无效。以该方式,即使当与令牌发行器200的通信被丢失时,到期时间232可以提供回退选项以确保密钥220被到期。
在一些实施方式中,令牌发行器200周期性地向令牌认证器250发送更新(即,有效/无效密钥ID 230的更新列表)。更新可以包括发布-订阅协议或远程过程调用(RPC)。在一些示例中,随着令牌发行器200通过密钥220轮换,更新的密钥ID 230列表中的每个有效密钥ID 230都与先前列表中的每个密钥ID 230不同。
因此,在一些示例中,令牌发行器200发行不包括时间戳的认证令牌210。这减小认证令牌210的大小。附加地,当令牌发行器200经常轮换密钥220时(即,每个密钥220的寿命短,例如,3小时或更短),密钥ID 230可以被编码为整数。例如,密钥ID 230是一个字节整数。这导致认证令牌210的有效编码。
现在参考图3,示出了三个密钥k1、k2、k3的示例性时间线300a-c。在时间线300a处,令牌发行器200在时间tc1创建或生成密钥220k1。此时,令牌发行器200更新关于新密钥k1的有效性的令牌认证器250。在一些示例中,令牌发行器200在利用新生成的密钥220k1签署认证令牌210之前等待阈值时间周期(在此示例中为d)。也就是说,在一些示例中,令牌发行器200在利用新生成的密钥220签署认证令牌210之前等待可配置的d时间量。这允许有时间将有效密钥ID 230与令牌认证器250同步,使得认证令牌210不被错误地拒绝。令牌发行器200在签署周期310a内利用密钥220k1对认证令牌210进行签署。
在令牌发行器200在tc1+d开始利用密钥220k1签署认证令牌210之后,令牌发行器200在时间线300b处生成第二密钥220k2。在tc2+d时间量已经流逝之后,令牌发行器200开始利用第二密钥220k2签署认证令牌210。此时,令牌发行器200可以停止利用第一密钥220k1签署认证令牌210。令牌发行器200使用密钥220签署认证令牌210的时间周期310是可配置的。周期310越长,令牌认证器必须轮换密钥220的频率越低(即,生成新密钥220并利用更新的密钥ID 230列表更新令牌认证器250)。然而,周期310越短,安全性越强,因为认证令牌210具有更短的寿命并且因此更不容易受到攻击者的攻击。
在令牌发行器200停止利用密钥220k1签署认证令牌210之后的一段时间,隔离周期320a开始于密钥220k1。在隔离周期320开始时(即,用于密钥220k1的时间td1处),密钥220到期。也就是说,令牌发行器200更新令牌认证器250以使密钥220无效和/或与密钥220相关联的到期时间232到期。此时,令牌认证器250停止验证利用相应的密钥220(在该示例中为k1)签署的认证令牌210。对于可配置的时间量d,在一些示例中,令牌发行器200将不重新使用相同的密钥220或密钥ID 230。因此,在一些示例中,令牌发行器200不重新使用密钥ID230,直到用于相应密钥220的隔离周期320结束之后。该隔离周期320简化令牌认证系统100的可观察性并减小令牌发行器200和令牌认证器250之间关于哪个密钥220与给定密钥ID230相关联的不一致。因此,从tc1+d到td1的时间周期标记密钥220k1的寿命330a(即,令牌认证器250验证由密钥220k1签署的认证令牌210的时间周期)。
在一些示例中,令牌发行器200在生成新密钥220时,从可能的密钥ID 230的池中随机地选择当前未使用或被隔离的密钥ID 230。例如,当密钥ID 230被编码为一字节整数时,存在256个不同的可能密钥ID 230。令牌发行器200移除当前处于使用中和当前处于隔离中的所有密钥ID 230,并从剩余部分随机选择密钥ID 230以与新密钥220相关联。
类似地,密钥220k2由寿命330b定义并且令牌发行器200可以避免在隔离周期320b(即,从td2到td2+d)重新使用与密钥220k2相关联的密钥ID 230。如时间线300c所示,令牌发行器200通过在时间tc3处生成新密钥220k3来继续该模式。该密钥220还具有签署期310c、隔离周期320c和寿命330c。令牌发行器200继续以适合于针对系统100所需的安全级别的速率轮换密钥220,并在生成新密钥220和删除旧密钥220时更新一些或所有令牌认证器250。在一些示例中,令牌发行器200仅为从令牌发行器200接收密钥ID 230的令牌认证器250的一部分生成密钥220。也就是说,令牌发行器200可以为令牌认证器250的不同的集合或组保留多个密钥220的集合。
因此,本文描述的系统100不依赖于每令牌的时间戳来限制认证令牌的寿命。相反,令牌是基于被用于签署令牌的密码密钥的到期来被验证/无效的。因为令牌通常已经包括标识被用于签署令牌的密钥的密钥标识,所以减少了令牌的大小。每个签署的认证令牌的寿命受被用于签署令牌的密钥的寿命的约束。令牌发行器使用唯一的密钥标识向每个令牌认证器发布密钥的集合。发行者可以每几分钟或几小时生成新密钥并使旧密钥无效,而不对系统的规模有任何显著影响。
图4是用于使用签署密钥轮换使安全令牌或认证令牌到期的方法400的示例性操作布置的流程图。方法400包括,在操作402处,在数据处理硬件144处获得用于被配置成签署认证令牌210的至少一个有效密码密钥220的密钥标识(ID)230的列表。在操作404处,方法400包括在数据处理硬件144处从客户端10接收认证令牌210。认证令牌210认证客户端10以访问与数据处理硬件144相关联并且包括被用于签署认证令牌210的密码密钥220的ID230的资源。
在操作406处,方法400包括由数据处理硬件144基于用于所述至少一个有效密码密钥220的密钥ID 230的列表来确定用于签署认证令牌210的密码密钥220是否有效。在操作408处,当用于签署认证令牌210的密码密钥220有效时,该方法包括400由数据处理硬件144允许客户端10访问资源。
图5是可以被用于实现本文档中描述的系统和方法的示例计算设备500的示意图。计算设备500旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里所示的组件、其连接和关系、以及其功能意图仅为示例性的,并且并不意图限制本文档中描述和/或要求保护的本发明的实施方式。
计算设备500包括处理器510、存储器520、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540、和连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每个都使用各种总线来互连,并且可以被安装在公共主板上或以其他适当方式安装。处理器510能够处理用于在计算设备500内执行的指令,包括在存储器520中或在存储设备530上存储的指令,以在外部输入/输出设备——诸如被耦合到高速接口540的显示器580——上显示用于图形用户界面(GUI)的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多个类型的存储器。而且,可以连接多个计算设备500,其中每个设备提供必要的操作的部分(例如,作为服务器库、一组刀片服务器、或多处理器系统)。
存储器520在计算设备500内非暂时性地存储信息。存储器520可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器520可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备500使用的物理设备。非易失性存储器的示例包括,但不限于,闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括,但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备530能够提供用于计算设备500的大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪速存储器或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。在附加实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含在被执行时施行诸如上文所描述的那些的一个或多个方法的指令。信息载体是计算机或机器可读介质,诸如存储器520、存储设备530、或处理器510上的存储器。
高速控制器540管理用于计算设备500的带宽密集操作,而低速控制器560管理较低带宽密集操作。这样的职责分配仅是示例性的。在一些实施方式中,高速控制器540被耦合到存储器520、显示器580(例如,通过图形处理器或加速器),并且被耦合到可以接受各种扩展卡(未示出)的高速扩展端口550。在一些实施方式中,低速控制器560被耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口590可以例如通过网络适配器而耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪、或诸如交换机或路由器的联网设备。
计算设备500可以以许多不同的形式来实现,如图中所示。例如,它可以被实现为标准服务器500a或者在一组这样的服务器500a中被实现多次,作为膝上型计算机500b,或者作为机架服务器系统500c的一部分。
本文描述的系统和技术的各种实施方式能够被实现在数字电子和/或光学电路系统、集成电路系统、专门设计的ASIC、计算机硬件、固件、软件和/或其组合中。这些各种实施方式能够包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括可以是专用或通用的至少一个可编程处理器,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及将数据和指令传输到存储系统、至少一个输入设备和至少一个输出设备。
软件应用(即,软件资源)可以指代使计算设备施行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏应用。
这些计算机程序(还被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级过程化和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于将机器指令和/或数据提供到可编程处理器的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指被用于将机器指令和/或数据提供到可编程处理器的任何信号。
本说明书中描述的过程和逻辑流能够由执行一个或多个计算机程序的一个或多个可编程处理器——其也被称为数据处理硬件——来施行,从而通过对输入数据进行操作并生成输出来施行功能。过程和逻辑流还能够由专用逻辑电路系统施行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理器两者以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的基本元件是用于施行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者被操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据或两者都有。然而,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移除盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够通过专用逻辑电路系统来被补充或被并入专用逻辑电路系统中。
为了提供与用户的交互,本公开的一个或多个方面能够在计算机上实现,该计算机具有例如CRT(阴极射线管)、LCD(液晶显示器)监视器的显示设备或用于向用户显示信息的触摸屏,并且可选地具有用户能够通过其向计算机提供输入的例如鼠标或轨迹球的键盘和定点设备。也能够使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机能够通过向用户使用的设备发送文档并从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从Web浏览器接收到的请求而将网页发送到用户的客户端设备上的Web浏览器。
已经描述了许多实施方式。然而,将理解可以在不脱离本公开的精神和范围的情况下进行各种修改。因此,其他实施方式是在随附权利要求的范围之内。
Claims (20)
1.一种方法(400),包括:
在数据处理硬件(144)处获得用于被配置成签署认证令牌(210)的至少一个有效密码密钥(220)的有效密钥标识ID(230)的列表;
在所述数据处理硬件(144)处从客户端(10)接收认证令牌(210),所述认证令牌(210)认证并授权所述客户端(10)访问与所述数据处理硬件(144)相关联的资源并且包括被用于签署所述认证令牌(210)的密码密钥(220)的ID;
由所述数据处理硬件(144)基于用于所述至少一个有效的密码密钥(220)的有效密钥ID(230)的列表确定被用于签署所述认证令牌(210)的所述密码密钥(220)是否有效;以及
当被用于签署所述认证令牌(210)的所述密码密钥(220)有效时,通过所述数据处理硬件(144)允许所述客户端(10)访问所述资源。
2.根据权利要求1所述的方法(400),其中,获得用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表包括:
接收用于至少一个潜在有效的密码密钥(220)的密钥ID(230)的列表,用于所述至少一个潜在有效的密码密钥(220)的所述密钥ID(230)的列表中的每个密钥ID(230)与相应到期时间(232)相关联;以及
对于用于所述至少一个潜在有效的密码密钥(220)的所述密钥ID(230)的列表中的每个密钥ID(230):
确定与所述相应密钥ID(230)相关联的所述到期时间(232)是否已经到期;以及
当与所述相应密钥ID(230)相关联的所述到期时间(232)尚未到期时,确定所述相应密钥ID(230)有效。
3.根据权利要求1或2所述的方法(400),其中,获得用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表包括从所述密码密钥(220)的发行器接收更新。
4.根据权利要求3所述的方法(400),其中,所述更新包括远程过程调用(RPC)。
5.根据权利要求3或4所述的方法(400),其中,所述更新包括发布-订阅协议。
6.根据权利要求1至5中的任一项所述的方法(400),其中,每个密钥ID(230)包括整数的编码。
7.根据权利要求6所述的方法(400),其中,每个整数包括一个字节的大小。
8.根据权利要求1至7中的任一项所述的方法(400),进一步包括:
在所述数据处理硬件(144)处接收用于至少一个被无效的密码密钥(220)的无效密钥ID(230)的列表;以及
对于用于所述至少一个被无效的密码密钥(220)的所述无效密钥ID(230)的列表中的每个无效密钥ID(230),由所述数据处理硬件(144)从用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表移除对应的有效密钥ID(230)。
9.根据权利要求1至8中的任一项所述的方法(400),进一步包括,在所述数据处理硬件(144)处获得用于至少一个有效密码密钥(220)的有效密钥ID(230)的更新列表,所述有效密钥ID(230)的更新列表中的每个密钥ID(230)与所述有效密钥ID(230)的列表中的每个密钥ID(230)不同。
10.根据权利要求1至9中的任一项所述的方法(400),其中,所述认证令牌(210)不包括时间戳。
11.一种系统(100),包括:
数据处理硬件(144);以及
存储器硬件(146),所述存储器硬件(146)与所述数据处理硬件(144)通信,所述存储器硬件(146)存储指令,所述指令当在所述数据处理硬件(144)上被执行时使所述数据处理硬件(144)施行包括以下的操作:
获得用于被配置成签署认证令牌(210)的至少一个有效密码密钥(220)的有效密钥标识ID的列表;
从客户端(10)接收认证令牌(210),所述认证令牌(210)认证并授权所述客户端(10)访问与所述数据处理硬件(144)相关联的资源并且包括被用于签署所述认证令牌(210)的密码密钥(220)的ID;
基于用于所述至少一个有效的密码密钥(220)的有效密钥ID(230)的列表确定被用于签署所述认证令牌(210)的所述密码密钥(220)是否有效;以及
当被用于签署所述认证令牌(210)的所述密码密钥(220)有效时,允许所述客户端(10)访问所述资源。
12.根据权利要求11所述的系统(100),其中,获得用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表包括:
接收用于至少一个潜在有效的密码密钥(220)的密钥ID(230)的列表,用于所述至少一个潜在有效的密码密钥(220)的所述密钥ID(230)的列表中的每个密钥ID(230)与相应到期时间(232)相关联;以及
对于用于所述至少一个潜在有效的密码密钥(220)的所述密钥ID(230)的列表中的每个密钥ID(230):
确定与所述相应密钥ID(230)相关联的所述到期时间(232)是否已经到期;以及
当与所述相应密钥ID(230)相关联的所述到期时间(232)尚未到期时,确定所述相应密钥ID(230)有效。
13.根据权利要求11或12所述的系统(100),其中,获得用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表包括从所述密码密钥(220)的发行器接收更新。
14.根据权利要求13所述的系统(100),其中,所述更新包括远程过程调用(RPC)。
15.根据权利要求13或14所述的系统(100),其中,所述更新包括发布-订阅协议。
16.根据权利要求11至15中的任一项所述的系统(100),其中,每个密钥ID(230)包括整数的编码。
17.根据权利要求16所述的系统(100),其中,每个整数包括一个字节的大小。
18.根据权利要求11至17中的任一项所述的系统(100),其中,所述操作进一步包括:
接收用于至少一个被无效的密码密钥(220)的无效密钥ID(230)的列表;以及
对于用于所述至少一个被无效的密码密钥(220)的所述无效密钥ID(230)的列表中的每个无效密钥ID(230),从用于所述至少一个有效密码密钥(220)的所述有效密钥ID(230)的列表移除对应的有效密钥ID(230)。
19.根据权利要求11至18中的任一项所述的系统(100),其中,所述操作进一步包括,获得用于至少一个有效密码密钥(220)的有效密钥ID(230)的更新列表,所述有效密钥ID(230)的更新列表中的每个密钥ID(230)与所述有效密钥ID(230)的列表中的每个密钥ID(230)不同。
20.根据权利要求11至19中的任一项所述的系统(100),其中,所述认证令牌(210)不包括时间戳。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/894,941 | 2020-06-08 | ||
US16/894,941 US11405197B2 (en) | 2020-06-08 | 2020-06-08 | Security token expiration using signing key rotation |
PCT/US2020/065249 WO2021252014A1 (en) | 2020-06-08 | 2020-12-16 | Security token expiration using signing key rotation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115699673A true CN115699673A (zh) | 2023-02-03 |
Family
ID=74186850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080101621.2A Pending CN115699673A (zh) | 2020-06-08 | 2020-12-16 | 使用签署密钥轮换的安全令牌到期 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11405197B2 (zh) |
EP (1) | EP4140094A1 (zh) |
JP (1) | JP7329703B2 (zh) |
KR (1) | KR20230020519A (zh) |
CN (1) | CN115699673A (zh) |
WO (1) | WO2021252014A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11522684B2 (en) * | 2020-09-24 | 2022-12-06 | Capital One Services, Llc | Key rotation service |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102363051B (zh) | 2004-04-30 | 2014-07-02 | 祥丰医疗有限公司 | 具有可捕获遗传改变的细胞的涂层的医疗装置及其使用方法 |
JP4818824B2 (ja) | 2006-06-13 | 2011-11-16 | Kddi株式会社 | プログラム管理システムおよび端末装置 |
CN101132649A (zh) * | 2007-09-29 | 2008-02-27 | 大唐微电子技术有限公司 | 一种网络接入鉴权方法及其usim卡 |
GB2509045A (en) | 2012-07-26 | 2014-06-25 | Highgate Labs Ltd | Generating a device identifier by receiving a token from a server, signing a request including the token with a private key and verifying the request |
US9106413B2 (en) * | 2012-11-02 | 2015-08-11 | Alcatel Lucent | Method and apparatus for resilient end-to-end message protection for large-scale cyber-physical system communications |
US9917694B1 (en) | 2013-11-27 | 2018-03-13 | EMC IP Holding Company LLC | Key provisioning method and apparatus for authentication tokens |
WO2016147382A1 (ja) | 2015-03-19 | 2016-09-22 | 三菱電機株式会社 | 暗号通信システムの端末装置、暗号通信システムの中継装置、暗号通信システムの制御方法 |
US9832024B2 (en) * | 2015-11-13 | 2017-11-28 | Visa International Service Association | Methods and systems for PKI-based authentication |
US10664451B1 (en) * | 2019-08-29 | 2020-05-26 | Blockstack Pbc | Systems and methods for encrypting data in backend storage caches shared by multiple decentralized applications |
-
2020
- 2020-06-08 US US16/894,941 patent/US11405197B2/en active Active
- 2020-12-16 KR KR1020237000440A patent/KR20230020519A/ko unknown
- 2020-12-16 JP JP2022575461A patent/JP7329703B2/ja active Active
- 2020-12-16 CN CN202080101621.2A patent/CN115699673A/zh active Pending
- 2020-12-16 EP EP20842387.1A patent/EP4140094A1/en active Pending
- 2020-12-16 WO PCT/US2020/065249 patent/WO2021252014A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4140094A1 (en) | 2023-03-01 |
US20210385083A1 (en) | 2021-12-09 |
WO2021252014A1 (en) | 2021-12-16 |
JP2023523091A (ja) | 2023-06-01 |
KR20230020519A (ko) | 2023-02-10 |
JP7329703B2 (ja) | 2023-08-18 |
US11405197B2 (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194465B (zh) | 用于管理密钥的方法、用户设备、管理设备、存储介质 | |
US9094212B2 (en) | Multi-server authentication token data exchange | |
JP5564453B2 (ja) | 情報処理システム、及び情報処理方法 | |
RU2417422C2 (ru) | Услуга распределенной единой регистрации в сети | |
EP1914658B1 (en) | Identity controlled data center | |
US9749130B2 (en) | Distributing keys for decrypting client data | |
JP2020036234A (ja) | 情報処理装置及び認可システムと検証方法 | |
WO2022179115A1 (zh) | 用户认证方法、装置、服务器及存储介质 | |
CN113748657B (zh) | 用于许可认证的方法、节点、系统和计算机可读存储介质 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
US20220029808A1 (en) | System, Product and Method for Providing Secured Access to Data | |
US11394698B2 (en) | Multi-party computation (MPC) based authorization | |
CN114270386A (zh) | 用于同意架构的认证器应用 | |
US10855463B2 (en) | System and method for providing quality of service during transport key rotation at a distributed management controller group | |
US20110113481A1 (en) | Ip security certificate exchange based on certificate attributes | |
CN115699673A (zh) | 使用签署密钥轮换的安全令牌到期 | |
JP6581611B2 (ja) | 認証鍵共有システムおよび認証鍵共有方法 | |
US20230231850A1 (en) | Integration of Third-Party Encryption Key Managers with Cloud Services | |
CN111741012A (zh) | 授权签名生成方法、节点管理方法、装置、设备和介质 | |
CN110557401B (zh) | 基于区块链的品牌事务处理方法、装置、设备和介质 | |
JP2019134333A (ja) | 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム | |
CN117044166A (zh) | 经许可区块链对计算网络进行访问的系统和方法 | |
KR102162108B1 (ko) | Nfv 환경을 위한 lw_pki 시스템 및 그 시스템을 이용한 통신방법. | |
CN111698299B (zh) | Session对象复制方法、装置、分布式微服务架构及介质 | |
CN115280718B (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 |