IP Library Granted Patent US 10,382,411
Granted Patent B2
US 10,382,411 · App. 15/803,660 · Granted Aug 13, 2019

Manage encrypted network traffic using DNS responses

Inventors: Paul Michael Martini (San Diego, CA); Peter Anthony Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L63/0464H04L41/00H04L61/10H04L61/103H04L61/1511H04L61/1552H04L61/2007H04L63/0428H04L67/02H04L29/12066H04L61/6009
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,382,411
App. No.
15/803,660
Granted
Aug 13, 2019
Kind
B2
Abstract

The present disclosure generally relates to managing encrypted network traffic using Domain Name System (DNS) responses. One example method includes requesting an address associated with the a domain name included in a predetermined set of domain names for which secure requests are to be identified; receiving a response from the resolution server including one or more addresses associated with the domain name; associating with the domain name a particular address selected from the received addresses; receiving a request to resolve the domain name; sending a response to the request to resolve the domain name including the particular address associated with the domain name; receiving a secure request for a resource, the secure request directed to the particular address associated with the domain name; and determining that the secure request is directed to the domain name based on the association between the particular address and the domain name.

Claims (83)

1. A computer-implemented method executed by one or more processors, the method comprising:

requesting, by a first server, an address associated with a particular domain name from a resolution server, the particular domain name included in a predetermined set of domain names for which secure requests are to be identified;

receiving, by the first server, a response from the resolution server including a plurality of addresses associated with the particular domain name;

determining, by the first server, a single address from the plurality of addresses based on the single address not being previously assigned with any domain name by the first server;

assigning, by the first server, the single address selected from the received plurality of addresses to the particular domain name, wherein the first server is configured to each of the plurality of addresses to at most one domain name;

receiving, by the first server, a request to resolve the particular domain name from a client device;

sending, by the first server, a response to the request to resolve the particular domain name to the client device, the sent response including the single address assigned to the particular domain name;

receiving, by a second server associated with the single address, an encrypted request for a resource from the client device, the encrypted request directed to the single address assigned to the particular domain name, wherein the second server is different than the first server; and

determining, by the second server, that encrypted request is directed to the particular domain name based on the assignment of the single address to the particular domain name.

2. The method of claim 1 , wherein the particular domain name is a first domain name, the method further comprising:

requesting, by the first server, an address associated with a second domain name different than the first domain name from the resolution server;

receiving, by the first server, a second response from the resolution server including a plurality of addresses associated with the second domain name, wherein the plurality of addresses associated with the second domain name includes the single address assigned to the first domain name; and

modifying, by the first server, the second response to remove the single address assigned to the first domain name.

3. The method of claim 1 , wherein:

the single address includes an internet protocol (IP) address,

requesting the address associated with the particular domain name from the resolution server includes sending a Domain Name System (DNS) request;

receiving the response from the resolution server includes receiving a DNS response;

receiving the request to resolve the particular domain name includes receiving a DNS request; and

sending the response to the request to resolve the particular domain name includes sending a DNS response.

4. he method of claim 1 , further comprising selectively decrypting, by the second server, the secure request after determining that the encrypted request is directed to the particular domain name.

5. The method of claim 4 , wherein selectively decrypting, by the second server, the encrypted request comprises:

determining that the encrypted request should be decrypted based at least in part on one or more rules; and

decrypting the encrypted request to generate decrypted information.

6. The method of claim 5 , further comprising:

inspecting, by the second server, the decrypted information;

determining, by the second server, that the encrypted request should be forwarded based at least in part on inspecting the decrypted information and at least in part on the one or more rules; and

forwarding, by the second server, the encrypted request to an address assigned to the particular domain name.

7. The method of claim 6 , wherein forwarding, by the second server, the encrypted request comprises:

re-encrypting the encrypted request; and

sending the encrypted request to the address assigned to the particular domain name.

8. The method of claim 5 , further comprising:

inspecting, by the second server, the decrypted information;

determining, by the second server, that the encrypted request should be forwarded based at least in part on inspecting the decrypted information and at least in part on the one or more rules;

modifying, by the second server, the decrypted information based at least in part on the one or more rules;

encrypting, by the second server, the decrypted information to produce a second encrypted request; and

forwarding, by the second server, the second encrypted request to an address associated with the particular domain name.

9. The method of claim 5 , further comprising:

inspecting, by the second server, the decrypted information;

determining, by the second server, that the secure request should be blocked based at least in part on inspecting the decrypted information and at least in part on the one or more rules; and

blocking, by the second server, the encrypted request.

10. The method of claim 9 , wherein blocking the encrypted request includes sending a redirect response to the secure request, the redirect response including an address associated with a block notification page.

11. The method of claim 1 , wherein receiving, by the second server, the encrypted request for the resource comprises:

establishing a first encrypted connection with a sender of the secure request,

establishing a second encrypted connection with an address associated with the resource after establishing the first secure connection with the sender.

12. The method of claim 1 , wherein receiving, by the second server, the encrypted request for the resource comprises:

establishing a first encrypted connection with an address associated with the resource; and

establishing a second encrypted connection with a sender of the encrypted request after establishing the first encrypted connection with the address assigned to the resource.

13. The method of claim 1 , wherein the particular domain name is a first domain name, the method further comprising:

receiving, by the first server, a request to resolve a second domain name different than the first domain name;

determining, by the first server, that the second domain name is not included in the predetermined set of domain names; and

sending, by the first server, a response to the request to resolve the second domain name, the response including an address corresponding to the second domain name.

14. The method of claim 1 , further comprising:

receiving, by the first server, a second request to resolve the particular domain name;

determining, by the first server, that the particular domain name is assigned to the single address; and

sending, by the first server, a response to the second request to resolve the particular domain name, the response including the single address.

15. The method of claim 1 , wherein receiving the encrypted request for the resource includes receiving a request according to Hypertext Transfer Protocol Secure (HTTPS).

16. The method of claim 1 , further comprising selectively blocking, by the second server, the encrypted request based at least in part on determining that the encrypted request is directed to the particular domain name.

17. The method of claim 1 , wherein requesting the address for the particular domain name from the resolution server, receiving the response from the resolution server, and assigning the single address to the particular domain name are performed in response to receiving the request to resolve the particular domain name.

18. The method of claim 1 , wherein determining, by the second server, that the encrypted request is directed to the particular domain name is performed without decrypting the encrypted request.

19. A system comprising:

memory for storing data; and

one or more processors operable to perform operations comprising:

requesting, by a first server, an address associated with a particular domain name from a resolution server, the particular domain name included in a predetermined set of domain names for which secure requests are to be identified;

receiving, by the first server, a response from the resolution server including a plurality of addresses associated with the particular domain name;

determining, by the first server, a single address from the plurality of addresses based on the single address not being previously assigned with any domain name by the first server;

assigning, by the first server, the single address selected from the received plurality of addresses to the particular domain name, wherein the first server is configured to each of the plurality of addresses to at most one domain name;

receiving, by the first server, a request to resolve the particular domain name from a client device;

sending, by the first server, a response to the request to resolve the particular domain name to the client device, the sent response including the single address assigned to the particular domain name;

receiving, by a second server associated with the single address, an encrypted request for a resource from the client device, the encrypted request directed to the single address assigned to the particular domain name, wherein the second server is different than the first server; and

determining, by the second server, that encrypted request is directed to the particular domain name based on the assignment of the single address to the particular domain name.

20. The system of claim 19 , wherein the particular domain name is a first domain name, the operations further comprising:

requesting, by the first server, an address associated with a second domain name different than the first domain name from the resolution server;

receiving, by the first server, a second response from the resolution server including a plurality of addresses associated with the second domain name, wherein the plurality of addresses associated with the second domain name includes the single address assigned to the first domain name; and

modifying, by the first server, the second response to remove the single address assigned to the first domain name.

21. A non-transitory, computer-readable medium encoded with instructions that, when executed, cause one or more processors to perform operations comprising:

requesting, by a first server, an address associated with a particular domain name from a resolution server, the particular domain name included in a predetermined set of domain names for which secure requests are to be identified;

receiving, by the first server, a response from the resolution server including a plurality of addresses associated with the particular domain name;

determining, by the first server, a single address from the plurality of addresses based on the single address not being previously assigned with any domain name by the first server;

assigning, by the first server, the single address selected from the received plurality of addresses to the particular domain name, wherein the first server is configured to each of the plurality of addresses to at most one domain name;

receiving, by the first server, a request to resolve the particular domain name from a client device;

sending, by the first server, a response to the request to resolve the particular domain name to the client device, the sent response including the single address assigned to the particular domain name;

receiving, by a second server associated with the single address, an encrypted request for a resource from the client device, the encrypted request directed to the single address assigned to the particular domain name, wherein the second server is different than the first server; and

determining, by the second server, that encrypted request is directed to the particular domain name based on the assignment of the single address to the particular domain name.

Assignments (6)
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Dec 12, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK TRUST COMPANY
To: IBOSS, INC.
Reel/Frame 066140/0480 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 061463/0331 →
SECURITY INTEREST Recorded Dec 16, 2020
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 054789/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2017
From: MARTINI, PAUL MICHAEL; MARTINI, PETER ANTHONY
To: IBOSS, INC.
Reel/Frame 044181/0253 →
Continuity (4)
Continuation 15382392 · Dec 16, 2016
Continuation 14848219 · Sep 8, 2015
Continuation 14280513 · May 16, 2014
Related Publication 20180063097A1 · Mar 1, 2018