IP Library Granted Patent US 11,784,977
Granted Patent B2
US 11,784,977 · App. 17/110,054 · Granted Oct 10, 2023

Methods, apparatus, and systems for an encryption mode via a virtual private network

Inventors: Tirumaleswar Reddy Konda (Bangalore, IN); Shashank Jain (Bengaluru, IN); Himanshu Srivastava (Bangalore, IN)
Assignee: MCAFEE, LLC
H04L63/0272H04L63/029H04L63/166
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,784,977
App. No.
17/110,054
Granted
Oct 10, 2023
Kind
B2
Abstract

Methods, apparatus, systems and articles of manufacture for communicating encrypted data via a virtual private network are disclosed. An example computer system disclosed herein includes a memory including instructions that, when executed, cause one or more processors to establish a first tunnel and a second tunnel between a VPN client and a VPN server. The instructions further cause the one or more processors to access a request message to be sent via the VPN and determine, in response to a payload being formatted using a first protocol, whether a packet associated with the request message includes an encrypted server name indication (SNI). The instructions further cause the one or more processors to, in response to the packet including the encrypted SNI, encrypt the header of the request message to form an encrypted header, create an encrypted message including the encrypted header and the payload of the request message, and transmit the encrypted message through the first tunnel.

Claims (78)

1. A computer system for sending encrypted data via a virtual private network (VPN), the computer system comprising:

memory including instructions; and

one or more processors to execute instructions to cause the one or more processors to:

establish a first tunnel and a second tunnel between a VPN client and a VPN server, the first tunnel to facilitate transmission of packets identified for partial encryption, the second tunnel to facilitate transmission of packets identified for full encryption;

access a request message to be sent via the VPN;

determine if a payload of the request message is formatted using a first protocol;

determine, in response to the payload being encrypted using the first protocol, whether a packet associated with the request message includes a server name indication (SNI) encrypted with a public key obtained based on a redirection from a first domain name service (DNS) server to a second DNS server; and

in response to the packet including the encrypted SNI:

encrypt an inner IP header and a user datagram protocol header of the request message to form an encrypted inner header;

create an encrypted message including the encrypted inner IP header and the payload of the request message, the payload to include a quick user data protocol internet connection (QUIC) public header and a QUIC encrypted header stored as associated data; and

transmit the encrypted message through the first tunnel.

2. The computer system of claim 1 , wherein the first protocol is the QUIC protocol.

3. The computer system of claim 1 , wherein to create the encrypted message, the one or more processors is to append the payload of the request message as associated data.

4. The computer system of claim 1 , wherein the request message is a first request message, the payload is a first payload, and the encrypted message is a first encrypted message, wherein the instructions, when executed, cause the one or more processors to:

access a second request message to be sent via the VPN;

determine if a second payload of the second request message is encrypted using the first protocol; and

in response to the second payload of the second request message not being encrypted using the first protocol:

encrypt the second request message to form a second encrypted message; and

transmit the second encrypted message through the second tunnel.

5. The computer system of claim 1 , wherein the request message is a first request message, the payload is a first payload, the encrypted message is a first encrypted message and the packet is a first packet, wherein the instructions, when executed, cause the one or more processors to:

access a second request message to be sent via the VPN;

determine if a second payload of the second request message is encrypted using the first protocol;

determine, in response to the second payload being encrypted using the first protocol, whether a second packet of the second request message includes an encrypted server name indication (SNI); and

in response to the second packet not including the encrypted SNI:

encrypt the second request message to form a second encrypted message; and

transmit the second encrypted message through the second tunnel.

6. The system of claim 1 , wherein the encrypted message further includes an outer packet including an outer IP header and a partially encrypted and authenticated security payload header stored as associated data.

7. At least one non-transitory machine readable storage medium comprising instructions that, when executed by a processor, cause the processor to at least:

establish a first tunnel and a second tunnel between a VPN client and a VPN server, the first tunnel to facilitate transmission of packets identified for partial encryption, the second tunnel to facilitate transmission of packets identified for full encryption;

access a request message to be sent between the VPN client and the VPN server;

determine if a payload of the request message is encrypted using a first protocol;

determine, in response to the payload being encrypted using the first protocol, whether a packet of the request message includes a server name indication (SNI) obtained based on a redirection from a first domain name service (DNS) server to a second DNS server; and

in response to the packet including the encrypted SNI:

encrypt an inner IP header and a user datagram protocol header of the request message to form an encrypted inner header;

create an encrypted message including the encrypted inner header and the payload of the request message, the payload to include a quick user data protocol internet connection (QUIC) public header and a QUIC encrypted header stored as associated data; and

transmit the encrypted message through the first tunnel.

8. The at least one non-transitory machine readable storage medium of claim 7 , wherein the first protocol the QUIC protocol.

9. The at least one non-transitory machine readable storage medium of claim 7 , wherein to create the encrypted message, the instructions, when executed, cause the processor to append the payload of the request message as associated data.

10. The at least one non-transitory machine readable storage medium of claim 7 , wherein the request message is a first request message, the payload is a first payload, and the encrypted message is a first encrypted message, wherein the instructions, when executed, cause the processor to:

access a second request message to be sent between the VPN client and the VPN server;

determine if a second payload of the second request message is encrypted using the first protocol; and

in response to the second payload of the second request message not being encrypted using the first protocol:

encrypt the second request message to form a second encrypted message; and

transmit the second encrypted message through the second tunnel.

11. The at least one non-transitory machine readable storage medium of claim 7 , wherein the request message is a first request message, the payload is a first payload, the encrypted message is a first encrypted message, and the packet is a first packet, wherein the instructions, when executed, cause the processor to:

access a second request message to be sent between the VPN client and the VPN server;

determine if a second payload of the second request message is encrypted using the first protocol;

determine, in response to the second payload being encrypted using the first protocol, whether a second packet of the second request message includes an encrypted server name indication (SNI); and

in response to the second packet not including the encrypted SNI:

encrypt the second request message to form a second encrypted message; and

transmit the second encrypted message through the second tunnel.

12. The non-transitory machine readable storage medium of claim 7 , wherein the encrypted message further includes an outer packet including an outer IP header and a partially encrypted and authenticated security payload header stored as associated data.

13. The at least one non-transitory machine readable storage medium of claim 8 , wherein the second DNS server is at least one of a domain name system (DNS) over hypertext transfer protocol secure (HTTPS) or DNS over transport layer security (TLS) server.

14. A method for sending encrypted data via a virtual private network (VPN), the method comprising:

establishing, by executing an instruction with a processor, a first tunnel and a second tunnel between a VPN client and a VPN server, the first tunnel to facilitate transmission of packets identified for partial encryption, the second tunnel to facilitate transmission of packets identified for full encryption;

access a request message to be communicated via the VPN;

determining, by executing an instruction with the processor, if a payload of the request message is encrypted using a first protocol;

determining, by executing an instruction with the processor and in response to the payload being encrypted using the first protocol, whether a packet of the request message includes a server name indication (SNI) encrypted with a public key obtained based on a redirection from a first domain name service (DNS) server to a second DNS server; and

in response to the packet including the encrypted SNI:

encrypting, by executing an instruction with the processor, an inner IP header and a user datagram protocol header of the request message to form an encrypted inner header;

creating, by executing an instruction with the processor, an encrypted message including the encrypted inner IP header and the payload of the request message, the payload to include a quick user data protocol internet connection (QUIC) public header and a QUIC encrypted header; and

transmitting the encrypted message through the first tunnel.

15. The method of claim 14 , wherein the first protocol is the QUIC protocol.

16. The method of claim 14 , wherein the creation of the encrypted message includes appending the payload of the request message as associated data.

17. The method of claim 14 , wherein the request message is a first request message, the payload is a first payload, and the encrypted message is a first encrypted message, the method further including:

accessing a second request message to be sent via the VPN;

determining if a second payload of the second request message is encrypted using the first protocol; and

in response to the second payload of the second request message not being encrypted using the first protocol:

encrypting the second request message to form a second encrypted message; and

transmitting the second encrypted message through the second tunnel.

18. The method of claim 14 , wherein the request message is a first request message, the payload is a first payload, the encrypted message is a first encrypted message, and the packet is a first packet, the method further including:

accessing a second request message to be sent via the VPN;

determining if a second payload of the second request message is encrypted using the first protocol;

determining, in response to the second payload being encrypted using the first protocol, whether a second packet of the second request message includes an encrypted server name indication (SNI); and

in response to the second packet not including the encrypted SNI:

encrypting the second request message to form a second encrypted message; and

transmitting the second encrypted message through the second tunnel.

19. The method of claim 14 , wherein the encrypted message further includes an outer packet including an outer IP header and a partially encrypted and authenticated security payload header stored as associated data.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2021
From: KONDA, TIRUMALESWAR REDDY; JAIN, SHASHANK; SRIVASTAVA, HIMANSHU
To: MCAFEE, LLC
Reel/Frame 055416/0463 →
Continuity (1)
Related Publication 20220174044A1 · Jun 2, 2022