IP Library › Granted Patent US 11,824,841
Granted Patent B2
US 11,824,841 · App. 16/996,472 · Granted Nov 21, 2023

Secure transport session resumption for constrained devices

Inventor: Sergey Slovetskiy (Bellevue, WA)
Assignee: T-Mobile USA, Inc.
H04L63/0428H04L9/0819H04L63/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,824,841
App. No.
16/996,472
Granted
Nov 21, 2023
Kind
B2
Abstract

A constrained device, such as an Internet of Things (IoT) device, can use a handshake procedure to establish a secure transport session with a server and generate a corresponding client session state. The constrained device can encrypt the client session state into an encrypted client session state, and transmit the encrypted client session state to the server. When the constrained device enters an idle mode, the client session state may be cleared from memory of the constrained device. However, when the constrained device next wakes from the idle mode and re-enters an active mode, the constrained device can retrieve the encrypted client session state from the server. The constrained device can decrypt the encrypted client session state to recover the client session state, and use the recovered client session state to resume the secure transport session instead of establishing a new secure transport session with a new client session state.

Claims (55)

1. A method, comprising:

establishing, by a constrained device, a secure transport session with a server including receiving a session identifier associated with the secure transport session from the server;

storing, by the constrained device,

a client session state associated with the secure transport session in short-term memory of the constrained device, and

the session identifier in long-term memory of the constrained device while the constrained device is in the idle state;

generating, by the constrained device, an encrypted client session state by encrypting the client session state;

transmitting, by the constrained device, the encrypted client session state to the server;

terminating the secure transport session by clearing, by the constrained device, the client session state from the short-term memory upon the constrained device entering an idle state;

transmitting, by the constrained device, a request for the encrypted client session state to the server upon the constrained device exiting the idle state, the request including the session identifier;

receiving, by the constrained device from the server, the encrypted client session state associated with the session identifier;

decrypting, by the constrained device, the encrypted client session state to recover the client session state; and

resuming, by the constrained device, the secure transport session previously established using the client session state decrypted from the encrypted client session state.

2. The method of claim 1 , wherein the client session state stored in the short-term memory is automatically cleared upon the constrained device entering the idle state.

3. The method of claim 1 , further comprising generating, by the constrained device, at least one client session state key associated with the secure transport session, wherein the constrained device uses the at least one client session state key to generate the encrypted client session state and to decrypt the encrypted client session state.

4. The method of claim 3 , further comprising storing, by the constrained device, the at least one client session state key in the long-term memory while the constrained device is in the idle state.

5. The method of claim 1 , wherein the establishing comprises:

sending, by the constrained device to the server, a request message including a client-initiated session resumption capability parameter; and

receiving, by the constrained device from the server, an acknowledgement message including a client-initiated session resumption capability acknowledgement parameter.

6. The method of claim 1 , wherein the request for the encrypted client session state includes one or more parameters indicating that the constrained device is requesting the encrypted client session state associated with the secure transport session.

7. The method of claim 1 , wherein the constrained device is an Internet of Things (IoT) device.

8. The method of claim 1 , wherein the secure transport session is a Transport Layer Security session or a Datagram Transport Layer Security session.

9. The method of claim 1 , wherein the server is a distributed set of servers, the constrained device transmits the encrypted client session state to a first server instance of the distributed set of servers, the first server instance stores the encrypted client session state in shared server memory accessible by the distributed set of servers, and the constrained device receives the encrypted client session state from a second first server instance of the distributed set of servers in response to the request.

10. A constrained device, comprising:

one or more processors; and

memory comprising long-term memory and short-term memory, the memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

establishing a secure transport session with a server including receiving a session identifier associated with the secure transport session from the server;

storing a client session state associated with the secure transport session in the short-term memory and the session identifier in the long-term memory;

generating an encrypted client session state by encrypting the client session state;

transmitting the encrypted client session state to the server;

terminating the secure transport session by clearing the client session state from the short-term memory upon the constrained device entering an idle state;

transmitting a request for the encrypted client session state to the server upon the constrained device exiting the idle state, the request including the session identifier;

receiving the encrypted client session state associated with the session identifier from the server;

decrypting the encrypted client session state to recover the client session state; and

resuming the secure transport session previously established using the client session state decrypted from the encrypted client session state,

wherein the short-term memory is automatically cleared upon the constrained device entering the idle state.

11. The constrained device of claim 10 , wherein the operations further comprise storing, in the long-term memory, at least one client session state key the constrained device uses to encrypt and decrypt the encrypted client session state.

12. The constrained device of claim 10 , wherein the constrained device is an Internet of Things (IoT) device.

13. The constrained device of claim 10 , wherein the secure transport session is a Transport Layer Security session or a Datagram Transport Layer Security session.

14. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors of a constrained device, cause the constrained device to perform operations comprising:

establishing a secure transport session with a server including receiving a session identifier associated with the secure transport session from the server;

storing a client session state associated with the secure transport session in short-term memory of the constrained device and the session identifier in long-term memory of the constrained device;

generating an encrypted client session state by encrypting the client session state;

transmitting the encrypted client session state to the server;

terminating the secure transport session by clearing the client session state from the short-term memory upon the constrained device entering an idle state;

transmitting a request for the encrypted client session state to the server upon the constrained device exiting the idle state, the request including the session identifier;

receiving the encrypted client session state from the server associated with the session identifier;

decrypting the encrypted client session state to recover the client session state; and

resuming the secure transport session previously established using the client session state decrypted from the encrypted client session state,

wherein the client session state stored in the short-term memory is automatically cleared upon the constrained device entering the idle state.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the operations further comprise:

generating at least one client session state key associated with the secure transport session; and

storing the at least one client session state key in the long-term memory while the constrained device is in the idle state,

wherein the constrained device uses the at least one client session state key to generate the encrypted client session state and to decrypt the encrypted client session state.

16. The one or more non-transitory computer-readable media of claim 14 , wherein the storing the session identifier in the long-term memory includes storing the session identifier in the long-term memory while the constrained device is in the idle state.

17. The one or more non-transitory computer-readable media of claim 14 , wherein the secure transport session is a Transport Layer Security session or a Datagram Transport Layer Security session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: SLOVETSKIY, SERGEY
To: T-MOBILE USA, INC.
Reel/Frame 053529/0006 →
Continuity (1)
Related Publication 20220060450A1 · Feb 24, 2022