Key management for expiring ciphertexts
AssigneeAmazon Technologies, Inc.
InventorsBryan James Donlan, Gregory Alan Rubin
Life of this patent
Estimating the term…
Abstract
Techniques described herein enhance information security in contexts that utilize key management systems and cryptographic keys. A cryptographic structure is utilized to maintain cryptographic keys with associated expiration times such that after an expiration time associated with a cryptographic key has passed, the cryptographic key is no longer accessible.
Claims19
A computer-implemented method, comprising:
- detecting, at a key management system, a time-based trigger corresponding to a first expiration of a first set of cryptographic keys;
- as a result of detection of the time-based trigger, performing a set of operations to expire the first set of cryptographic keys, the set of operations comprising:
- calculating a first cryptographic key in a tree structure that is usable to derive a second set of cryptographic keys that expire after the first expiration;
- storing the first cryptographic key;
- and
- destroying a second cryptographic key in the tree structure that is usable to derive a third cryptographic key in the first set of cryptographic keys to cause the key management system to lack an ability to derive the third cryptographic key;
- obtaining, at the key management system, a request to encrypt data, the request indicating a second expiration;
- using the first cryptographic key to derive a fourth cryptographic key corresponding to the second expiration;
- and
- using, in response to the request, the fourth cryptographic key to generate ciphertext that is undecryptable after the second expiration.
A system, comprising:
- one or more processors;
- and
- memory that stores computer-executable instructions executable to cause the system to:
- store cryptographic material that is sufficient to derive, according to a tree structure, a plurality of cryptographic keys with respective expirations;
- and
- update the stored cryptographic material, wherein the computer-executable instructions are executable to update the stored cryptographic material by at least:
- deriving second cryptographic material from the stored cryptographic material;
- storing the second cryptographic material;
- and
- destroying a portion of the stored cryptographic material to prevent the system from being able to derive cryptographic keys of the plurality of cryptographic keys that have expired while still being able to derive, using the tree structure, cryptographic keys of the plurality of cryptographic keys that have yet to expire.
A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
- detect a time-based trigger;
- and
- in response to detection of the time-based trigger, update stored cryptographic material by at least deriving first cryptographic material and destroying second cryptographic material, the first cryptographic material and the second cryptographic material being derived from a common node in a tree structure, wherein the first cryptographic material corresponds to a set of unexpired keys and the second cryptographic material corresponds to a set of expired keys.
Dependencies are inferred from the claim text.