IP Library Granted Patent US 9,077,754
Granted Patent B2
US 9,077,754 · App. 13/858,011 · Granted Jul 7, 2015

Systems and methods for nextproto negotiation extension handling using mixed mode

Inventors: Swarupa Gonuguntla (Bangalore, IN); Ashoke Saha (Bangalore, IN); Tushar Kanekar (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L63/168H04L63/0281
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 9,077,754
App. No.
13/858,011
Granted
Jul 7, 2015
Kind
B2
Abstract

This disclosure is directed to systems and methods for handling the processing of a next protocol negotiation extension for a transport layer security (TLS) session. A device, intermediary to a client and a server, may receive a client hello message from the client in a handshake to establish a transport layer security (TLS) session with the server. The client hello message may include a next protocol negotiation extension. The device may include a first TLS processor that is software based and a second TLS processor that is hardware based. The device may determine that the client hello message includes the next protocol negotiation extension. The device may establish, responsive to the determination, the TLS session using the first TLS processor. The device may process, upon establishment of the TLS session using the first TLS processor, encrypted data for the TLS session using the second TLS processor.

Claims (29)

1. A method for handling the processing of a next protocol negotiation extension for a transport layer security (TLS) session, the method comprising:

(a) receiving, by a device intermediary to a client and a server, a client hello message from the client in a handshake to establish a transport layer security (TLS) session with the server, the client hello message comprising a next protocol negotiation extension, the device comprising a first TLS processor that is software based and configured to establish TLS sessions with protocol negotiation and a second TLS processor that is hardware based and configured to process data of established TLS sessions;

(b) determining by the device, that the client hello message includes the next protocol negotiation extension;

(c) establishing, by the device responsive to the determination, the TLS session using the first TLS processor; and

(d) processing, by the device upon establishment of the TLS session using the first TLS processor, encrypted data for the TLS session using the second TLS processor.

2. The method of claim 1 , wherein step (a) further comprises receiving, by the device, the client hello message to establish the TLS session comprising a secure socket layer (SSL) session.

3. The method of claim 1 , wherein step (b) further comprises parsing, by the device, the client hello message for TLS extensions.

4. The method of claim 1 , wherein step (c) further comprises completing, by the device, the TLS handshake with the client.

5. The method of claim 1 , wherein step (c) further comprises transmitting, by the device, a server hello message with the next protocol negotiation extension and advertising a list of protocols.

6. The method of claim 1 , wherein step (d) further comprises obtaining, by the device, a first TLS context of the first TLS session from the first TLS processor.

7. The method of claim 6 , further comprising establishing, by the device, a second TLS context for the TLS session with the second TLS processor based on the first TLS context.

8. The method of claim 6 , further comprising communicating, by the device, to the second TLS processor, cipher specification information from the next protocol handshake message from establishing the TLS session.

9. The method of claim 1 , wherein step (d) further comprises receiving, by the device, encrypted data from one of the client or the server over the TLS session.

10. The method of claim 9 , further comprising providing, by the device responsive to identifying that the TLS is using next protocol negotiation extensions, the encrypted data to the second TLS processor for decryption.

11. A system for handling the processing of a next protocol negotiation extension for a transport layer security (TLS) session, the system comprising:

a device intermediary to a client and a server, the device configured to receive a client hello message from the client in a handshake to establish a transport layer security (TLS) session with the server, the client hello message comprising a next protocol negotiation extension,

a first TLS processor of the device that is software based and configured to establish TLS sessions with protocol negotiation;

a second TLS processor of the device that is hardware based and configured to process data of established TLS sessions;

wherein the device is configured to determine that the client hello message includes the next protocol negotiation extension and establish, responsive to the determination, the TLS session using the first TLS processor; and

wherein the device upon establishment of the TLS session using the first TLS processor is configured to use the second TLS processor for processing encrypted data for the TLS session.

12. The system of claim 11 , wherein the TLS session comprises a secure socket layer (SSL) session.

13. The system of claim 11 , wherein the device is configured to parse TLS messages for TLS extensions.

14. The system of claim 11 , wherein the device is configured to complete the TLS handshake with the client.

15. The system of claim 11 , wherein the device is configured to transmit a server hello message with the next protocol negotiation extension and advertising a list of protocols.

16. The system of claim 11 , wherein the device is configured to obtain a first TLS context for the TLS session from the first TLS processor.

17. The system of claim 16 , wherein the device is configured to establish a second TLS context for the TLS session with the second TLS processor based on the first TLS context.

18. The system of claim 16 , wherein the device is configured to communicate to the second TLS processor, cipher specification information from the next protocol handshake message from establishing the TLS session.

19. The system of claim 11 , wherein the device is configured to receive encrypted data from one of the client or the server over the TLS session.

20. The system of claim 19 , wherein the device is configured to provide, responsive to identifying that the TLS is using next protocol negotiation extensions, the encrypted data to the second TLS processor for decryption.

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 →
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 →
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 →
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 2, 2013
From: GONUGUNTLA, SWARUPA; SAHA, ASHOKE; KANEKAR, TUSHAR
To: CITRIX SYSTEMS, INC.
Reel/Frame 031695/0965 →
Continuity (1)
Related Publication 20140304498A1 · Oct 9, 2014