IP Library Granted Patent US 11,012,429
Granted Patent B2
US 11,012,429 · App. 16/210,793 · Granted May 18, 2021

Method to save computational resources by detecting encrypted payload

Inventors: Praveen Raja Dhanabalan (Bengaluru, IN); Surya Prakash Patel (Bengaluru, IN); J Mohan Rao Arisankala (Bengaluru, IN)
Assignee: Citrix Systems, Inc.
H04L63/0478H04L9/0643H04L12/4633H04L63/029H04L69/22
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,012,429
App. No.
16/210,793
Filed
Dec 5, 2018
Granted
May 18, 2021
Kind
B2
Art Unit
2439
USPC
713/160
Abstract

Described embodiments provide systems and methods for remapping connections to tunnels selected based on a security level of the communications. A first network device may be in communication with a second network device via a plurality of communication tunnels. The plurality of communication tunnels may include an encrypted communication tunnel and an unencrypted communication tunnel. The first network device may receive a packet, the packet including header information and a payload. The first network device may determine whether the received packet is encrypted to meet a threshold level of security. The first network device may, responsive to determining that the packet is to meet the threshold level of security, communicate an identifier of the payload and the header information to the second network device via the encrypted communication tunnel, and communicate the payload to the second network device via the unencrypted communication tunnel.

Claims (64)

1. A system comprising:

a first network device in communication with a second network device via a plurality of communication tunnels, the plurality of communication tunnels including an encrypted communication tunnel and an unencrypted communication tunnel, the first network device configured to:

receive a packet, the packet including header information and a payload;

determine whether the received packet is encrypted to meet a threshold level of security; and

responsive to determining that the packet is encrypted to meet the threshold level of security,

communicate an identifier of the payload and the header information to the second network device via the encrypted communication tunnel,

communicate the payload to the second network device via the unencrypted communication tunnel, and

cause, at the second network device, the header information communicated via the encrypted communication tunnel, to be combined with the payload communicated via the unencrypted communication tunnel.

2. The system of claim 1 , wherein the first network device is further configured to:

responsive to determining the received packet is not to be encrypted to meet the threshold level of security, communicate the packet to the second network device via at least one of: the encrypted communication tunnel or an additional encrypted communication tunnel of the plurality of communication tunnels.

3. The system of claim 1 , wherein the header information comprises at least one of: transport layer header information or network layer header information.

4. The system of claim 1 , wherein the identifier of the payload comprises a digest of the payload, and the threshold level of security comprises at least one of a specified type of encryption or a threshold level of encryption.

5. The system of claim 4 , wherein the first network device is further configured to:

generate the digest of the packet using a secure hash algorithm (SHA) based scheme to generate a hash of a transport layer payload of the packet, responsive to determining that the received packet is to be encrypted to meet the threshold level of security.

6. The system of claim 1 , wherein the first network device is further configured to:

responsive to determining that the packet is to be encrypted to meet the threshold level of security, store connection information of one or more connections of the first network device, the connection information comprising a connection tuple and session information of a connection associated with the received packet.

7. The system of claim 6 , wherein the received packet is a first packet, and the first network device is further configured to:

determine whether a second packet received at the first network device has information that matches the connection information stored in a database of the first network device and associated with the first packet; and

responsive to determining that the second packet has information that matches the connection information associated with the first packet, communicate an identifier of a payload of the second packet and header information of the second packet via the encrypted communication tunnel, and communicate the payload of the second packet via the unencrypted communication tunnel.

8. The system of claim 1 , wherein the first network device is further configured to:

identify a communication protocol of the packet; and

determine the threshold level of security according to the identified communication protocol.

9. The system of claim 1 , wherein the second network device is configured to:

receive the identifier and the header information of the packet via the encrypted communication tunnel, and the payload of the packet via the unencrypted communication tunnel; and

associating the header information received via the encrypted communication tunnel to the payload received via the unencrypted communication tunnel, using the identifier received via the encrypted communication tunnel, to recover the packet.

10. A method, comprising:

establishing, by a first network device, a plurality of communication tunnels with a second network device, the plurality of communication tunnels including an encrypted communication tunnel and an unencrypted communication tunnel;

receiving, by the first network device, a packet that includes header information and a payload;

determining, by the first network device, whether the received packet is encrypted to meet a threshold level of security; and

responsive to determining that the packet is encrypted to meet the threshold level of security:

communicating, by the first network device, an identifier of the payload and the header information to the second network device via the encrypted communication tunnel;

communicating, by the first network device, the payload to the second network device via the unencrypted communication tunnel; and

causing, at the second network device, the header information communicated via the encrypted communication tunnel, to be combined with the payload communicated via the unencrypted communication tunnel.

11. The method of claim 10 , further comprising:

responsive to determining the received packet is not to be encrypted to meet the threshold level of security, communicating, by the first network device, the packet to the second network device via an additional encrypted communication tunnel of the plurality of communication tunnels.

12. The method of claim 10 , wherein the header information comprises at least one of: transport layer header information or network layer header information.

13. The method of claim 10 , wherein the identifier of the payload comprises a digest of the payload, and the threshold level of security comprises at least one of a specified type of encryption or a threshold level of encryption.

14. The method of claim 13 , further comprising:

generating, by the first network device, the digest of the packet using a secure hash algorithm (SHA) based scheme to generate a hash of a transport layer payload of the packet, responsive to determining that the received packet is to be encrypted to meet the threshold level of security.

15. The method of claim 10 , further comprising:

responsive to determining that the packet is to be encrypted to meet the threshold level of security, storing, by the first network device, connection information of one or more connections of the first network device, the connection information comprising a connection tuple and session information of a connection associated with the received packet.

16. The method of claim 15 , wherein the received packet is a first packet, and further comprising:

determining, by the first network device, if a second packet received at the first network device has information that matches the connection information stored in a database of the first network device and associated with the first packet; and

responsive to determining that the second packet has information that matches the connection information associated with the first packet:

communicating, by the first network device, an identifier of a payload of the second packet and header information of the second packet via the encrypted communication tunnel; and

communicating, by the first network device, the payload of the second packet via the unencrypted communication tunnel.

17. The method of claim 10 , further comprising:

identifying, by the first network device, a communication protocol of the packet; and

determining, by the first network device, the threshold level of security according to the identified communication protocol.

18. The method of claim 10 , further comprising:

receiving, at the second network device, the identifier and the header information of the packet via the encrypted communication tunnel, and the payload of the packet via the unencrypted communication tunnel; and

associating, at the second network device, the header information received via the encrypted communication tunnel to the payload received via the unencrypted communication tunnel, using the identifier received via the encrypted communication tunnel, to recover the packet.

19. A non-transitory computer readable medium storing program instructions for causing one or more processors to:

establish, at a first network device, a plurality of communication tunnels with a second network device, the plurality of communication tunnels including an encrypted communication tunnel and an unencrypted communication tunnel;

receive, at the first network device, a packet that includes header information and a payload;

determine, at the first network device, whether the received packet is encrypted to meet a threshold level of security; and

responsive to determining that the packet is encrypted to meet the threshold level of security:

communicate, at the first network device, an identifier of the payload and the header information to the second network device via the encrypted communication tunnel;

communicate, at the first network device, the payload to the second network device via the unencrypted communication tunnel; and

cause, at the second network device, the header information communicated via the encrypted communication tunnel, to be combined with the payload communicated via the unencrypted communication tunnel.

20. The non-transitory computer readable medium of claim 19 , storing program instructions for causing the one or more processors to:

responsive to determining the received packet is not to be encrypted to meet the threshold level of security:

encrypt, at the first network device, the packet; and

communicate, at the first network device, the encrypted packet to the second network device via an additional encrypted communication tunnel of the plurality of communication tunnels.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2018
From: DHANABALAN, PRAVEEN RAJA; PATEL, SURYA PRAKASH; ARISANKALA, J MOHAN RAO
To: CITRIX SYSTEMS, INC.
Reel/Frame 047725/0245 →
Continuity (1)
Related Publication 20200186507A1 · Jun 11, 2020
Cited By (1)
US 12,695,560