IP Library Granted Patent US 10,992,741
Granted Patent B2
US 10,992,741 · App. 16/102,132 · Granted Apr 27, 2021

System and method for providing a configuration file to client devices

Inventors: Christopher Dowd (Belleville, NJ); Christopher Lalonde (Austin, TX); Thomas Michael Leavy (River Edge, NJ); Arjun Bhatnagar (Matawan, NJ); Dipakkumar R. Kasabwala (Edison, NJ); David Lautz (New York, NY); Matthew Downs (Brooklyn, NY)
Assignee: Wickr Inc.
H04L67/1002
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 10,992,741
App. No.
16/102,132
Granted
Apr 27, 2021
Kind
B2
Abstract

A solution for circumventing censorship is disclosed. A first device connects to a first server hosted in a content delivery network (CDN). The CDN routes the first device's connection request to the first server. The first server responds by providing the first device with a configuration file that contains a plurality of secondary servers for the first device to access. Accordingly, the first device disconnects from the first server and hops between one or more of the plurality of secondary servers contained in the configuration file. By distributing the configuration file from a first server hosted in a CDN, the first device is able to obfuscate the true endpoint of the connection. Thus, the first device is able to obtain the configuration file without drawing the ire of censors. By hopping from server-to-server, the first device is able to stay one-step ahead of censors. Accordingly, the present disclosure describes a multi-prong approach to staying a step ahead of eavesdroppers, sniffers, and censors.

Claims (48)

1. A method for circumventing censorship, the method comprising:

transmitting, by a first device, a first connection request for a first service to a first server;

receiving, by the first device, a first configuration file from the first server, wherein the first configuration file includes a plurality of second servers;

verifying, by the first device, the first configuration file received from the first server by verifying a first signature included with the first configuration file;

obtaining, based on a verification of the first configuration file, at least one second server from the first configuration file;

transmitting, by the first device, a second connection request to the at least one second server;

accessing, by the first device, the first service via the at least one second server;

setting, by the first device and based on accessing the first service via the at least one second server, a flag indicating a prior connection to the at least one second server; and

selecting, by the first device, a different second server from the first configuration file during each subsequent connection request.

2. The method of claim 1 , wherein the first server is located in a content distribution network (CDN).

3. The method of claim 1 , wherein obtaining at least one second server from the first configuration file further comprises:

selecting, by the first device, the at least one second server from the plurality of second servers in response to an input received from a first user.

4. The method of claim 3 , wherein the first user is a user of the first device.

5. The method of claim 3 , wherein the first user is an administrator.

6. The method of claim 1 , wherein the plurality of second servers are configured to receive login requests from the first device and provide the first device with the first service.

7. The method of claim 1 , further comprising:

receiving, by the first device, a first timestamp associated with the first configuration file in response to the first connection request being transmitted to the first server; and

determining, by the first device, whether the first timestamp is more recent than a second timestamp, wherein the second timestamp is associated with a second configuration file that is present on the first device.

8. The method of claim 7 , wherein receiving the first configuration file from the first server further comprises:

pulling, by the first device, the first configuration file from the first server when the first timestamp is more recent than the second timestamp.

9. The method of claim 1 , further comprising:

determining, by the first device, whether a first timestamp associated with the first configuration file received from the first server is more recent than a second timestamp, wherein the second timestamp is associated with a second configuration file that is present on the first device; and

updating, by the first device, the second configuration file using the first configuration file when the first timestamp is more recent than the second timestamp.

10. The method of claim 9 , further comprising:

deleting, by the first device, the first configuration file when the second timestamp is more recent than the first timestamp.

11. A system for circumventing censorship, comprising:

a first interface configured to transmit a first connection request for a first service to a first server, receive a first configuration file from the first server, wherein the first configuration file includes a plurality of second servers, and transmit a second connection request to a second server;

a processor configured to verify the first configuration file received from the first server by verifying a first signature included with the first configuration file, select the second server from the first configuration file, access the first service via the second server, set a flag indicating a prior connection to the second server based on accessing the first service via the second server, and select a different second server from the first configuration file during each subsequent connection request; and

a memory coupled to the processor and configured to provide the processor with instructions.

12. The system of claim 11 , comprising:

a second interface configured to enable censorship circumvention.

13. The system of claim 12 , wherein the second interface is further configured to receive a selection of a second server from a user input.

14. The system of claim 12 , wherein the second interface is further configured to check a status of one or more of the second servers contained in the first configuration file.

15. A non-transitory computer-readable medium comprising instructions that when, executed by at least one processor, perform the steps of:

transmitting a first connection request for a first service to a first server;

receiving a first configuration file from the first server, wherein the first configuration file includes a plurality of second servers;

verifying the first configuration file received from the first server by verifying a first signature included with the first configuration file;

obtaining, based on a verification of the first configuration file, at least one second server from the first configuration file;

transmitting a second connection request to the at least one second server;

accessing the first service via the at least one second server;

setting, based on accessing the first service via the at least one second server, a flag indicating a prior connection to the at least one second server; and

selecting a different second server from the first configuration file during each subsequent connection request.

16. The method of claim 1 , further comprising:

removing, by the first device and based on accessing the first service via the at least one second server, the at least one second server from the first configuration file.

17. The method of claim 1 , wherein the second connection requests comprises:

a first domain name identifying a content delivery network; and

a second encrypted domain name identifying a hostname associated with the first service.

18. The method of claim 17 , wherein the at least one second server comprises a decryption key to decrypt the second encrypted domain name to route the second connection request to a third server associated with the first service.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: JENSEN, PETER BRYAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059875/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: WICKR LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057366/0573 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2018
From: DOWD, CHRISTOPHER; LALONDE, CHRISTOPHER; LEAVY, THOMAS MICHAEL; BHATNAGAR, ARJUN; KASABWALA, DIPAKKUMAR R; LAUTZ, DAVID; DOWNS, MATTHEW
To: WICKR INC.
Reel/Frame 046827/0977 →