IP Library › Granted Patent US 11,469,896
Granted Patent B2
US 11,469,896 · App. 17/351,888 · Granted Oct 11, 2022

Method for securing the rendezvous connection in a cloud service using routing tokens

Inventors: Viswanath Yarangatta Suresh (Bengaluru, IN); Roberto Valdes (Fort Lauderdale, FL)
Assignee: Citrix Systems, Inc.
H04L9/3228H04L9/3213H04L45/02H04L45/42H04L45/72
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,469,896
App. No.
17/351,888
Granted
Oct 11, 2022
Kind
B2
Abstract

Systems and methods for establishing a secure connection are described. A server receives a plurality of routing tokens for establishing a service connection between a service node and the server along a network path through a plurality of network devices. The routing tokens can be validated by a corresponding network device. The server transmits a packet including the routing tokens to a first network device. The first network device validates a first routing token associated therewith, then directs the packet along the network path to a second network device, and so forth, until each of the network device receives and validates their routing token. The server establishes a cryptographic context between the service node and server for establishing a secure channel between the service node and the server. The server transmits a service node routing token to the service node via the secure channel for validation.

Claims (31)

1. A method comprising:

receiving, by a first computing device, a plurality of tokens for establishing a secure connection between the first computing device and a second computing device via one or more third computing devices intermediary to the first computing device and the second computing device, each of the plurality of tokens being specific to a respective computing device of the one or more third computing devices and configured to be validated by the respective computing device;

communicating, by the first computing device, the plurality of tokens to the one or more third computing devices along a network path to the second computing device to cause each of the one or more third computing devices to validate respective tokens of the plurality of tokens; and

establishing between the first computing device and the second computing device a secure connection via the network path of the one or more third computing devices responsive to each of the plurality of tokens being validated by the one or more third computing devices.

2. The method of claim 1 , further comprising communicating by the first computing device to the second computing device, a second token to be validated by the second computing device for establishing the secure connection.

3. The method of claim 1 , further comprising communicating, by the first computing device to the second computing device, handshake data for establishing the secure connection.

4. The method of claim 1 , wherein the plurality of tokens is included in handshake data for establishing the secure connection.

5. The method of claim 1 , further comprising communicating, by the first computing device, the plurality of tokens via a packet transmitted to the one or more third computing devices.

6. The method of claim 1 , where each of the plurality of tokens is valid for one of a predetermined time or a single use.

7. The method of claim 1 , further comprising communicating data over the secure connection between the first computing device and the second computing device via the one or more third computing devices without one of decryption or encryption by the one or more third computing devices.

8. A system comprising:

a first computing device comprising one or more processors, coupled to memory and configured to:

receive a plurality of tokens for establishing a secure connection between the first computing device and a second computing device via one or more third computing devices intermediary to the first computing device and the second computing device, each of the plurality of tokens being specific to a respective computing device of the one or more third computing devices and configured to be validated by the respective computing device;

communicate the plurality of tokens to the one or more third computing devices along a network path to the second computing device to cause the one or more third computing devices to validate respective tokens of the plurality of tokens; and

establish between the first computing device and the second computing device a secure connection via the network path of the one or more third computing devices responsive to at least each of the plurality of tokens being validated by each of the one or more third computing devices.

9. The system of claim 8 , wherein the first computing device is further configured to communicate to the second computing device a second token to be validated by the second computing device in order to establish the secure connection.

10. The system of claim 8 , wherein the first computing device is further configured to communicate to the second computing device handshake data used to establish the secure connection.

11. The system of claim 8 , wherein the plurality of tokens is included in handshake data for establishing the secure connection.

12. The system of claim 8 , wherein the first computing device is further configured to communicate the plurality of tokens via a packet transmitted to the one or more third computing devices.

13. The system of claim 8 , where each of the plurality of tokens is valid for one of a predetermined time or a single use.

14. The system of claim 8 , wherein the first computing device is further configured to communicate data over the secure connection between the first computing device and the second computing device via the one or more third computing devices without one of decryption or encryption by the one or more third computing devices.

15. A system comprising:

a server in communication with a controller via one or more networks, the server configured to:

receive a plurality of tokens from the controller in response to a request by a client device to access a service on a remote computing device, wherein each of the plurality of tokens is configured to be validated by a corresponding intermediary device of one or more intermediary devices along a network path between the server and the remote computing device to establish a secure connection for the client's access to the service provided by the remote computing device; and

communicate the plurality of tokens to the one or more intermediary devices along the network path to the remote computing device to cause the one or intermediary devices and the remote computing device to validate each of their corresponding token of the plurality of tokens, wherein each token of the plurality of tokens is specific to a respective intermediary device of the one or more intermediary devices; and

establish a secure connection between the server and the remote computing device via the network path of the one or more third computing devices responsive to at least each of the plurality of tokens being validated.

16. The system of claim 15 , wherein the controller is deployed on one or more networks external to one of the client device or the server.

17. The system of claim 15 , wherein the server is further configured to initiate negotiation of a cryptographic content with a next device of the one or more intermediary devices in the network path by communicating a packet comprising handshake information.

18. The system of claim 15 , where each of the plurality of tokens is valid for one of a predetermined time or a single use.

19. The system of claim 15 , wherein the server is further configured to establish a connection with the client responsive to the request.

20. The system of claim 15 , wherein the server is further configured to communicate data over the secure connection between the server and the remote computing device via the one or more intermediary devices without one of decryption or encryption by the one or more intermediary devices.

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 Jun 18, 2021
From: SURESH, VISWANATH YARANGATTA; VALDES, ROBERTO
To: CITRIX SYSTEMS, INC.
Reel/Frame 056588/0167 →
Continuity (2)
Continuation 16223965 · Dec 18, 2018
Related Publication 20210314160A1 · Oct 7, 2021