IP Library Granted Patent US 11,641,345
Granted Patent B2
US 11,641,345 · App. 16/812,305 · Granted May 2, 2023

Discovery for token secured routing

Inventors: David R. Hall (Provo, UT); Jeff Campbell (Spanish Fork, UT); Joshua Dutton (Provo, UT); Monte Johnson (Provo, UT); David Crismon (Herriman, UT)
Assignee: Hall Labs LLC
H04L63/0407H04L45/02H04L45/021H04L63/0428H04L63/205
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,641,345
App. No.
16/812,305
Granted
May 2, 2023
Kind
B2
Abstract

Systems and methods for token secured routing and discovery in token secured routing are disclosed. An inbound routing table is maintained. A communication link is established with a second node via a first port. A discovery packet is sent to the second node via the first port. A token is generated for communication with the second node. A first inbound routing entry is added to the inbound routing table, wherein the first inbound routing entry maps the first token state to the second node.

Claims (62)

1. A method for communication by a first node, comprising:

maintaining an inbound routing table;

maintaining an outbound routing table;

establishing a communication link with a second node via a first port;

sending a discovery packet to the second node via the first port, wherein the discovery packet comprises a discovery token value;

receiving a key exchange request from the second node;

negotiating an encryption key with the second node;

generating a first token for communication with the second node, wherein the first token is generated based on the encryption key, and wherein the first token comprises a first token value;

identifying a first portion of the first token value, wherein the first portion of the first token value comprises a first token state of the first token;

adding a first inbound routing entry to the inbound routing table, wherein the first inbound routing entry sets the second node to the first token state;

adding a first outbound routing entry to the outbound routing table, wherein the first outbound routing entry sets the second node to the first token state;

obtaining a first message for the second node;

identifying the first token state based on the first outbound routing entry;

identifying a second portion of the first token value based on the first token state;

encrypting the first message using the second portion of the first token value; and

generating a first packet comprising the first token state and a first payload, wherein the first payload is the encrypted first message.

2. The method of claim 1 , further comprising:

negotiating a session nonce with the second node; and

negotiating a position offset bit value with the second node, wherein the first token is generated based on the encryption key, the session nonce, and the position offset bit value, and wherein the first token is cryptographically secured using the encryption key.

3. The method of claim 1 , further comprising:

adding a second outbound routing entry to the outbound routing table, wherein the second outbound routing entry maps the first token state to the first port.

4. The method of claim 3 , further comprising:

sending the first packet to the second node based on the second outbound routing entry.

5. The method of claim 1 , wherein the first token comprises a deterministic random number, wherein the first token has a plurality of token states, wherein each token state corresponds to a unique portion of the first token value, and wherein each token state has a unique value.

6. The method of claim 5 , wherein the token state of the first token changes with each communication, wherein the token state ratchets with each communication according to a ratcheting algorithm.

7. The method of claim 5 , further comprising:

establishing a secure channel with the second node using the first token.

8. The method of claim 7 , wherein the secure channel is maintained based at least in part on the token state of the first node being synchronized with a token state of the second node.

9. The method of claim 7 , further comprising:

generating a new token state for each communication via the secure channel.

10. The method of claim 1 , wherein the communication link is one of a hardware link or a wireless link.

11. A method for communication by a first node, comprising:

maintaining an inbound routing table;

maintaining an outbound routing table;

establishing a communication link with a second node via a first port;

receiving a discovery packet from the second node via the first port, wherein the discovery packet comprises a discovery token value;

sending a key exchange request from the second node;

negotiating an encryption key with the second node;

generating a first token for communication with the second node, wherein the first token comprises a first token value;

identifying a first portion of the first token value, wherein the first portion of the first token value comprises a first token state of the first token;

adding a first inbound routing entry to the inbound routing table, wherein the first inbound routing entry sets the second node to the first token state;

adding a first outbound routing entry to the outbound routing table, wherein the first outbound routing entry sets the second node to the first token state;

obtaining a first message for the second node;

identifying the first token state based on the first outbound routing entry;

identifying a second portion of the first token value based on the first token state;

encrypting the first message using the second portion of the first token value;

generating a first packet comprising the first token state and a first payload, wherein the first payload is the encrypted first message.

12. The method of claim 11 , further comprising:

negotiating a session nonce with the second node; and

negotiating a position offset bit value with the second node, wherein the first token is generated based on the encryption key, the session nonce, and the position offset bit value, and wherein the first token is cryptographically secured using the encryption key.

13. The method of claim 11 , further comprising:

adding a second outbound routing entry to the outbound routing table, wherein the second outbound routing entry maps the first token state to the first port.

14. The method of claim 3 , further comprising:

sending the first packet to the second node based on the second outbound routing entry.

15. The method of claim 11 , wherein the first token comprises a deterministic random number, wherein the first token has a plurality of token states, wherein each token state corresponds to a unique portion of the first token value, and wherein each token state has a unique value.

16. The method of claim 15 , wherein the token state of the first token changes with each communication, wherein the token state ratchets with each communication according to a ratcheting algorithm.

17. The method of claim 15 , further comprising:

establishing a secure channel with the second node using the first token.

18. The method of claim 17 , wherein the secure channel is maintained based at least in part on the token state of the first node being synchronized with a token state of the second node.

19. The method of claim 17 , further comprising:

generating a new token state for each communication via the secure channel.

20. The method of claim 11 , wherein the communication link is one of a hardware link or a wireless link.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2024
From: MEDIC, INC.
To: GUARDIAN HEALTH, INC.
Reel/Frame 066337/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: HALL LABS LLC
To: MEDIC, INC.
Reel/Frame 052671/0795 →
Continuity (2)
Provisional Application 62888780 · Aug 19, 2019
Related Publication 20210058312A1 · Feb 25, 2021