Session resumption
AssigneeAmazon Technologies, Inc.
InventorsBryan James Donlan, Douglas Stewart Laurence
Life of this patent
Estimating the term…
Abstract
Techniques described herein enhance the durability of cryptographically protected communications sessions. The negotiation of a cryptographically protected communications session results in the negotiation of a primary secret and a secondary secret. The primary secret and secondary secret are stored in separate locations, such as in two locations in RAM, one of which being used as a RAM disk. The primary secret is used to cryptographically protect the communications session. Following the detection of a change of state event, the cryptographically protected communications session switches to the secondary secret in place of the primary secret to cryptographically protect the communications session.
Claims20
A system, comprising:
- one or more processors;
- and
- memory storing instructions executable by the one or more processors to cause the system to:
- perform a handshake of a protocol to establish a first encrypted communications session to be used by a computer system process, the handshake resulting in negotiation of a primary session secret and a secondary session secret;
- store the primary session secret in first memory in a first location of volatile memory;
- store the secondary session secret in a second location of the volatile memory, wherein an operating system of the system manages the volatile memory such that, in response to a computer system process using the first encrypted communications session being stopped, the operating system clears the primary session secret from the first location without clearing the secondary session secret from the second location;
- use the primary session secret for first encrypted communications over the first encrypted communications session;
- detect a switch to the secondary session secret for the first encrypted communications session;
- and
- as a result of detecting the switch to the secondary session secret:
- use the secondary session secret for second encrypted communications over the first encrypted communications session;
- initiate a handshake to establish a second encrypted communications session;
- and
- stop communicating over the first encrypted communications session as a result of the second encrypted communications session being established.
A computer-implemented method, comprising:
- determining, by a key agreement algorithm, a first secret and a second secret for a cryptographically protected communications session;
- storing the first secret in a first location;
- storing the second secret in a second location to be used to replace the first secret for the cryptographically protected communications session, wherein a restart of a process causes a first memory to stop storing the first secret while the second location continues to store the second secret;
- and
- using the first secret for cryptographic protection of communications over the cryptographically protected communications session until detection of a switch to the second secret for the cryptographically protected communications session.
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:
- store a first secret of a cryptographically protected communications session in a first location;
- store a second secret of the cryptographically protected communications session in a second location, wherein stopping a process that utilizes the cryptographically protected communications session causes the first location to stop storing the first secret while an operating system supporting the process continues to store the second secret in the second location;
- and
- replace the first secret with the second secret for cryptographically protecting communications over the cryptographically protected communications session as a result of detecting a switch from the first secret to the second secret.
Dependencies are inferred from the claim text.