IP Library Granted Patent US 10,298,601
Granted Patent B2
US 10,298,601 · App. 15/444,041 · Granted May 21, 2019

Embedding information or information identifier in an IPv6 address

Inventor: John Graham-Cumming (London, GB)
Assignee: CLOUDFLARE, INC.
H04L63/1416H04L9/3263H04L61/1511H04L61/2007H04L61/2076H04L61/6004H04L61/6059H04L63/0281H04L63/0428H04L63/0823H04L63/1441H04L63/166H04L67/141H04L63/168H04L2209/24H04L2209/64
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,298,601
App. No.
15/444,041
Granted
May 21, 2019
Kind
B2
Abstract

A network address includes a predefined portion that identifies a hostname, where the predefined portion is less than all of the network address. A request is received for a secure session at the network address. The hostname is identified from the predefined portion of the network address and a secure session negotiation is made including returning a digital certificate for the identified hostname.

Claims (83)

1. A method, comprising:

receiving a request for a secure session, the request having a destination IPv6 address, wherein the destination IPv6 address includes a first predefined portion that identifies a hostname, wherein the first predefined portion is less than all of the destination IPv6 address;

identifying the hostname from the first predefined portion of the destination IPv6 address;

participating in a secure session negotiation including returning a digital certificate for the identified hostname;

receiving an encrypted request for an action to be performed on a resource that is hosted at an origin server for the hostname;

determining the origin server for the hostname without decrypting the encrypted request to view a host header; and

transmitting the encrypted request to the determined origin server.

2. The method of claim 1 , further comprising:

receiving an indication that the hostname is experiencing traffic indicative of an attack;

assigning a different IPv6 address for the hostname, wherein the assigned different IPv6 address includes a second predefined portion that identifies that the hostname is experiencing traffic indicative of an attack; and

updating one or more Domain Name System (DNS) records such that a DNS request for the hostname returns the different IPv6 address.

3. The method of claim 2 , further comprising:

receiving a second request for an action to be performed on a second resource that is hosted at the origin server for the hostname, the second request having the different IPv6 address as its destination IPv6 address;

identifying, from the second predefined portion of the different IPv6 address that the hostname is experiencing traffic indicative of an attack; and

taking one or more security actions in response to identifying that the hostname is experiencing traffic indicative of an attack.

4. The method of claim 3 , wherein the one or more security actions include one or more of the following:

dropping packets for the second request;

causing one or more challenges to be presented to a sender of the second request and processing the second request including attempting to perform the action on the second resource if the one or more challenges are successfully passed;

routing packets for the second request to a dedicated data center or hardware device to process; and

rate limiting packets for the second request.

5. The method of claim 1 , further comprising:

wherein the received request for the secure session identifies the hostname; and

determining that the hostname identified in the received request matches the hostname identified from the first predefined portion of the destination IPv6 address.

6. The method of claim 1 , further comprising:

wherein the destination IPv6 address includes a second predefined portion that identifies one or more configuration settings including one or more of: a priority level for processing traffic; and whether the hostname is configured to only accept secure session connections;

determining the one or more configuration settings from the second predefined portion of the destination IPv6 address; and

applying the determined one or more configuration settings.

7. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, cause said processor to perform operations comprising:

receiving a request for a secure session, the request having a destination IPv6 address, wherein the destination IPv6 address includes a first predefined portion that identifies a hostname, wherein the first predefined portion is less than all of the destination IPv6 address;

identifying the hostname from the first predefined portion of the destination IPv6 address;

participating in a secure session negotiation including returning a digital certificate for the identified hostname;

receiving an encrypted request for an action to be performed on a resource that is hosted at an origin server for the hostname;

determining the origin server for the hostname without decrypting the encrypted request to view a host header; and

transmitting the encrypted request to the determined origin server.

8. The non-transitory machine-readable storage medium of claim 7 that provides instructions that, when executed by the processor, cause the processor to further perform operations comprising:

receiving an indication that the hostname is experiencing traffic indicative of an attack;

assigning a different IPv6 address for the hostname, wherein the assigned different IPv6 address includes a second predefined portion that identifies that the hostname is experiencing traffic indicative of an attack; and

updating one or more Domain Name System (DNS) records such that a DNS request for the hostname returns the different IPv6 address.

9. The non-transitory machine-readable storage medium of claim 8 that provides instructions that, when executed by the processor, cause the processor to further perform operations comprising:

receiving a second request for an action to be performed on a second resource that is hosted at the origin server for the hostname, the second request having the different IPv6 address as its destination IPv6 address;

identifying, from the second predefined portion of the different IPv6 address that the hostname is experiencing traffic indicative of an attack; and

taking one or more security actions in response to identifying that the hostname is experiencing traffic indicative of an attack.

10. The non-transitory machine-readable storage medium of claim 9 , wherein the one or more security actions include one or more of the following:

dropping packets for the second request;

causing one or more challenges to be presented to a sender of the second request and processing the second request including attempting to perform the action on the second resource if the one or more challenges are successfully passed;

routing packets for the second request to a dedicated data center or hardware device to process; and

rate limiting packets for the second request.

11. The non-transitory machine-readable storage medium of claim 7 that provides instructions that, when executed by the processor, cause the processor to further perform operations comprising:

wherein the received request for the secure session identifies the hostname; and

determining that the hostname identified in the received request matches the hostname identified from the first predefined portion of the destination IPv6 address.

12. The non-transitory machine-readable storage medium of claim 7 that provides instructions that, when executed by the processor, cause the processor to further perform operations comprising:

wherein the destination IPv6 address includes a second predefined portion that identifies one or more configuration settings including one or more of: a priority level for processing traffic; and whether the hostname is configured to only accept secure session connections;

determining the one or more configuration settings from the second predefined portion of the destination IPv6 address; and

applying the determined one or more configuration settings.

13. An apparatus, comprising:

a processor;

a non-transitory machine-readable storage medium coupled with the processor that stores instructions that, when executed by the processor, cause said processor to perform the following:

receive a request for a secure session, the request to have a destination IPv6 address, wherein the destination IPv6 address is to include a first predefined portion that identifies a hostname, wherein the first predefined portion is less than all of the destination IPv6 address;

identify the hostname from the first predefined portion of the destination IPv6 address;

participate in a secure session negotiation including returning a digital certificate for the identified hostname;

receive an encrypted request for an action to be performed on a resource that is hosted at an origin server for the hostname;

determine the origin server for the hostname without decrypting the encrypted request to view a host header; and

transmit the encrypted request to the determined origin server.

14. The apparatus of claim 13 , wherein the non-transitory machine-readable storage medium further stores instructions that, when executed by the processor, cause said processor to perform the following:

receive an indication that the hostname is experiencing traffic indicative of an attack;

assign a different IPv6 address for the hostname, wherein the assigned different IPv6 address includes a second predefined portion that identifies that the hostname is experiencing traffic indicative of an attack; and

update one or more Domain Name System (DNS) records such that a DNS request for the hostname returns the different IPv6 address.

15. The apparatus of claim 14 , wherein the non-transitory machine-readable storage medium further stores instructions that, when executed by the processor, cause said processor to perform the following:

receive a second request for an action to be performed on a second resource that is hosted at the origin server for the hostname, the second request to have the different IPv6 address as its destination IPv6 address;

identify, from the second predefined portion of the different IPv6 address that the hostname is experiencing traffic indicative of an attack; and

take one or more security actions in response to identifying that the hostname is experiencing traffic indicative of an attack.

16. The apparatus of claim 15 , wherein the one or more security actions include one or more of the following:

drop packets for the second request;

cause one or more challenges to be presented to a sender of the second request and processing the second request including attempting to perform the action on the second resource if the one or more challenges are successfully passed;

route packets for the second request to a dedicated data center or hardware device to process; and

rate limit packets for the second request.

17. The apparatus of claim 13 , wherein the non-transitory machine-readable storage medium further stores instructions that, when executed by the processor, cause said processor to perform the following:

wherein the received request for the secure session identifies the hostname; and

determine that the hostname identified in the received request matches the hostname identified from the first predefined portion of the destination IPv6 address.

18. The apparatus of claim 13 , wherein the non-transitory machine-readable storage medium further stores instructions that, when executed by the processor, cause said processor to perform the following:

wherein the destination IPv6 address is to include a second predefined portion that identifies one or more configuration settings including one or more of: a priority level for processing traffic; and whether the hostname is configured to only accept secure session connections

determine the one or more configuration settings from the second predefined portion of the destination IPv6 address; and

apply the determined one or more configuration settings.

Assignments (2)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2018
From: GRAHAM-CUMMING, JOHN
To: CLOUDFLARE, INC.
Reel/Frame 047041/0801 →
Continuity (2)
Continuation 14875645 · Oct 5, 2015
Related Publication 20170171232A1 · Jun 15, 2017