IP Library › Granted Patent US 11,936,633
Granted Patent B2
US 11,936,633 · App. 18/164,403 · Granted Mar 19, 2024

Centralized management of private networks

Inventors: David F. Carney (Toronto, CA); Avery Pennarun (Montreal, CA); David Crawshaw (Berkeley, CA)
Assignee: Tailscale Inc.
H04L63/0442H04L61/5007H04L63/0807H04L63/083
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,936,633
App. No.
18/164,403
Granted
Mar 19, 2024
Kind
B2
Abstract

Described herein are systems, methods, and software to manage private networks for computing elements. In one example, a computing element may obtain credential information associated with a user and generate a public-private key pair for the computing element. The computing element may further communicate the public key from the pair with metadata to a coordination service to register the computing element at the coordination service. Once registered, the computing element may receive communication information associated with one or more other computing elements that permit the computing element to communicate with the other computing elements.

Claims (41)

1. A method of operating a computing element comprising:

receiving, from a coordination service, communication information associated with one or more other computing elements for a private network, wherein the communication information comprises at least a public key associated with each computing element of the one or more other computing elements and internet protocol (IP) addressing associated with each computing element of the one or more other computing elements, and wherein the IP addressing associated with each computing element of the one or more computing elements comprises at least a private IP address assigned by the coordination service and a public IP address;

identifying a packet directed the private IP address assigned to a second computing element of the one or more other computing elements by the coordination service;

encrypting the packet with the private IP address using the public key associated with the second computing element;

placing the encrypted packet in a payload of a second packet;

adding at least the public IP address associated with the second computing element to a header portion of the second packet; and

communicating the second packet to the second computing device.

2. The method of claim 1 , wherein the computing element comprises a physical computing device or a virtual machine.

3. The method of claim 1 further comprising:

generating a public key and a private key for the computing element in the private network; and

communicating the public key associated with the computing element to the coordination service.

4. The method of claim 3 further comprising:

obtaining credential information associated with a user of the computing element; and

generating the public key and private key in response to obtaining the credential information.

5. The method of claim 3 further comprising:

communicating one or more public IP addresses associated with the computing element to the coordination service.

6. The method of claim 3 further comprising:

generating a second public key and a second private key for the computing element in the private network; and

communicating the second public key to the coordination service to replace the public key for the computing element, wherein the communication demonstrates possession of the private key by the computing element.

7. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system to operate as a computing element in a private network that, when executed by the processing system, direct the computing apparatus to:

receive, from a coordination service, communication information associated with one or more other computing elements for the private network, wherein the communication information comprises at least a public key associated with each computing element of the one or more other computing elements and internet protocol (IP) addressing associated with each computing element of the one or more other computing elements, and wherein the IP addressing associated with each computing element of the one or more computing elements comprises at least a private IP address assigned by the coordination service and a public IP address;

identify a packet directed the private IP address assigned to a second computing element of the one or more other computing elements by the coordination service;

encrypt the packet with the private IP address using the public key associated with the second computing element;

place the encrypted packet in a payload of a second packet;

add at least the public IP address associated with the second computing element to a header portion of the second packet; and

communicate the second packet to the second computing device.

8. The computing apparatus of claim 7 , wherein the one or more other computing elements comprise physical computing devices or virtual machines.

9. The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to:

generate a public key and a private key for the computing element in the private network; and

communicate the public key associated with the computing element to the coordination service.

10. The computing apparatus of claim 9 , wherein the program instructions further direct the computing apparatus to:

obtain credential information associated with a user of the computing element; and

generate the public key and private key in response to obtaining the credential information.

11. The computing apparatus of claim 9 , wherein the program instructions further direct the computing apparatus to:

communicate one or more public IP addresses associated with the computing element to the coordination service.

12. The computing apparatus of claim 9 , wherein the program instructions further direct the computing apparatus to:

generate a second public key and a second private key for the computing element in the private network; and

communicate the second public key to the coordination service to replace the public key for the computing element, wherein the communication demonstrates possession of the private key by the computing element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: CARNEY, DAVID F.; PENNARUN, AVERY; CRAWSHAW, DAVID J.
To: TAILSCALE INC.
Reel/Frame 062589/0277 →
Continuity (2)
Continuation 16936076 · Jul 22, 2020
Related Publication 20230179582A1 · Jun 8, 2023