IP Library Granted Patent US 8,707,043
Granted Patent B2
US 8,707,043 · App. 12/396,904 · Granted Apr 22, 2014

Split termination of secure communication sessions with mutual certificate-based authentication

Inventors: Prashant Wason (San Francisco, CA); Nitin Gupta (Fremont, CA); Robert Adler (San Francisco, CA)
Assignee: Riverbed Technology, Inc.
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 8,707,043
App. No.
12/396,904
Granted
Apr 22, 2014
Kind
B2
Abstract

A method and apparatus are provided for split-terminating a secure client-server communication connection when the client and server perform mutual authentication by exchanging certificates, such as within a Lotus Notes environment. When the client submits a certificate to the server, an intermediary device intercepts the certificate and submits to the server a substitute client certificate generated by that intermediary. A certificate authority's private key is previously installed on the intermediary to enable it to generate public keys, private keys and digital certificates. With the private key corresponding to the substitute certificate, the intermediary extracts a temporary key from a subsequent server message. The intermediary uses the temporary key to read a session key issued later by the server. Thereafter, the intermediary shares the session key with another intermediary, and together they use the session keys to access and optimize (e.g., accelerate) messages sent by the client and the server.

Claims (88)

1. A method of facilitating split-termination of a secure communication connection between a client computing device and a server computing device that perform mutual authentication, the method comprising, at a first intermediate network device situated in a communication path between the client and the server:

intercepting a client digital certificate transmitted toward the server by the client;

generating a substitute digital certificate in a name of the client, wherein said generating comprises:

constructing a substitute client private key and a substitute client public key; and

signing the substitute digital certificate with a private key of a certificate authority recognized by the server;

transmitting the substitute digital certificate to the server;

intercepting a message addressed to the client and issued by the server after the server receives the substitute digital certificate;

decrypting the message with a key associated with the substitute digital certificate;

extracting a ticket from the message;

re-encrypting the message with a key associated with the client digital certificate;

forwarding the re-encrypted message toward the client;

extracting a temporary key from the ticket; and

using the temporary key to retrieve a session key from a subsequent message issued by the server and addressed to the client.

2. The method of claim 1 , further comprising, prior to said generating:

storing a private key of the certificate authority recognized by the server.

3. The method of claim 2 , wherein the client digital certificate was issued by the certificate authority.

4. The method of claim 1 , wherein:

the message was encrypted with the substitute client public key.

5. The method of claim 1 , further comprising:

storing the ticket to facilitate a subsequent authentication of the client to the server.

6. The method of claim 1 , further comprising:

deleting the substitute digital certificate after said retrieving a session key.

7. The method of claim 1 , further comprising:

intercepting a second client digital certificate transmitted toward the server by a second client;

altering the substitute digital certificate to include a name of the second client in place of a name of the client;

re-signing the substitute digital certificate with the private key of the certificate authority; and

transmitting the substitute digital certificate to the server.

8. The method of claim 1 , further comprising:

storing a public key of the first intermediate network device on the server.

9. The method of claim 8 , further comprising:

intercepting a second client digital certificate transmitted toward the server by a second client;

constructing a second substitute client private key and a second substitute client public key;

signing a second substitute digital certificate with a private key of the first intermediate network device; and

transmitting the second substitute digital certificate to the server in place of the second client digital certificate.

10. The method of claim 1 , wherein the first intermediate network device is configured to operate with a second intermediate network device to optimize communications between the client and the server, wherein the second intermediate network device is also situated in a communication path between the client and the server.

11. The method of claim 1 , further comprising, after said retrieving a session key:

transmitting the session key from the first intermediate network device to a second intermediate network device situated in closer proximity to the client than the first intermediate network device.

12. The method of claim 11 , further comprising:

at the second intermediate network device:

receiving a message from the client directed toward the server;

decrypting the message with the session key;

encrypting the message with an intermediary key shared between the first intermediate network device and the second intermediate network device; and

transmitting the message toward the first intermediate network device; and

at the first intermediate network device:

decrypting the message with the shared intermediary key;

encrypting the message with the session key; and

transmitting the message toward the server.

13. The method of claim 12 , further comprising:

at the first intermediate network device:

receiving from the server a response directed toward the client;

decrypting the message with the session key;

encrypting the message with the shared intermediary key; and

transmitting the message toward the second intermediate network device; and

at the second intermediate network device:

decrypting the message with the shared intermediary key;

encrypting the message with the session key; and

transmitting the message toward the client.

14. A non-transitory computer-readable medium storing instructions that, when executed by a first intermediate network device, cause the first intermediate network device to perform a method of facilitating split-termination of a secure communication connection between a client computing device and a server computing device that perform mutual authentication, the method comprising:

intercepting a client digital certificate transmitted toward the server by the client;

generating a substitute digital certificate in a name of the client, wherein said generating comprises:

constructing a substitute client private key and a substitute client public key; and signing the substitute digital certificate with a private key of a certificate authority recognized by the server;

transmitting the substitute digital certificate to the server;

intercepting a message addressed to the client and issued by the server after the server receives the substitute digital certificate;

decrypting the message with a key associated with the substitute digital certificate;

extracting a ticket from the message;

re-encrypting the message with a key associated with the client digital certificate;

forwarding the re-encrypted message toward the client;

extracting a temporary key from the ticket; and

using the temporary key to retrieve a session key from a subsequent message issued by the server and addressed to the client.

15. A hardware apparatus situated in a path of communication between a client and server, wherein the client is configured to authenticate the server using a digital certificate associated with the server and the server is configured to authenticate the client using a digital certificate associated with the client, the hardware apparatus comprising:

at least one microprocessor; and

memory storing logic for execution by the at least one processor, the logic including:

first intercept logic for intercepting a client digital certificate transmitted toward the server by the client;

key logic for generating a substitute public key and a substitute private key;

certificate logic for generating a substitute client digital certificate encompassing a name of the client and the substitute public key, wherein generating the substitute client digital certificate comprises:

constructing a substitute client private key and a substitute client public key; and

signing the substitute digital certificate with a private key of a certificate authority recognized by the server;

authentication logic for transmitting the substitute client digital certificate toward the server in place of the client digital certificate;

second intercept logic for intercepting messages addressed to the client by the server; and

encryption/decryption logic for:

decrypting a first intercepted from the server with the substitute private key, to retrieve a temporary key;

re-encrypting the first intercepted message with a public key corresponding to the intercepted client digital certificate, for transmission toward the client; and

decrypting a second intercepted message from the server with the temporary key, to retrieve a client-server session key, wherein the client-server session key is shared between the server, the client, and the hardware apparatus.

16. The hardware apparatus of claim 15 , the memory further including:

storage logic for storing a private key of the certificate authority trusted by the server.

17. The hardware apparatus of claim 15 ,

wherein the apparatus does not comprise the certificate authority.

18. The hardware apparatus of claim 15 , wherein the apparatus is configured to operate cooperatively with a second apparatus situated in the path of communications to optimize communications between the client and the server.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2009
From: WASON, PRASHANT; GUPTA, NITIN; ADLER, ROBERT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 022451/0550 →
Continuity (1)
Related Publication 20100228968A1 · Sep 9, 2010