IP Library Granted Patent US 7,137,143
Granted Patent B2
US 7,137,143 · App. 09/901,350 · Granted Nov 14, 2006

Method and system for caching secure web content

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 7,137,143
App. No.
09/901,350
Granted
Nov 14, 2006
Kind
B2
Abstract

A method and system for securing network communications are provided. In a network a Secure Reverse Proxy (“SRP”) is placed among a server and a client where the client and SRP establish a secure connection using TLS protocol. Upon receiving a request from the client for a secure HTTP page, the SRP determines if the secure page is maintained in its cache. If the page is present, the SRP responds to the client by sending the requested secure HTTP page without contacting the server. If the page is not contained within the SRP's cache, the SRP establishes secure TLS connection with the server and forwards the request for the HTTP page. Receiving the HTTP page from the server, the SRP places it in its cache for future use. Having the page in its cache the SRP retrieves the page, encrypts it, and sends it to the requesting client. Subsequent requests for the same page do not involve the server enhancing the efficiency of network operations.

Claims (87)

1. A method for caching secure content in a Secure Reverse Proxy (“SRP”) in a secure network, comprising:

coupling at least one SRP among at least one web browser and at least one web server wherein the at least one SRP receives from the at least one web browser requests for establishing a first secure session;

establishing the first secure session using a first secure session protocol between the at least one SRP and the at least one web browser, wherein the at least one web browser sends an encrypted request for content to the at least one SRP;

decrypting the encrypted request for content from the at least one web browser at the at least one SRP using the first secure session protocol, wherein the at least one SRP determines that the at least one SRP does not possess the requested content;

establishing a second secure session using a second secure session protocol between the at least one SRP and the at least one web server, wherein the second secure session is maintained;

encrypting the request for content from the at least one web browser using the second secure session protocol;

sending the encrypted request for content to the at least one web server using the second secure session;

receiving the requested content from the at least one web server at the at least one SRP using the second secure session;

decrypting the requested content using the second secure session protocol;

encrypting the reauested content using the first secure session protocol for sending, using the first secure session, to the at least one web browser from the at least one SRP in response to the encrypted request for content from the at least one web browser;

determining at the at least one SRP if the requested content is a static content;

encrypting the requested content, if the requested content is the static content, using a third secure session protocol for storing the encrypted requested content locally in a memory at the at least one SRP, wherein the third secure session protocol is known only to the at least one SRP;

decrypting the encrypted static content from the memory at the at least one SRP upon subsequent requests for the static content; and

sending the static content to the at least one web browser.

2. The method of claim 1 , wherein storing includes using non-volatile media.

3. The method of claim 1 , wherein coupling includes establishing a dedicated secure line between the SRP and the web server.

4. The method of claim 1 , wherein coupling includes collocating the web server and the SRP.

5. The method of claim 1 , wherein content includes an HTTP page.

6. The method of claim 1 , wherein the first secure session includes Transport Layer Security protocol.

7. The method of claim 1 , wherein the second secure session includes Transport Layer Security protocol.

8. The method of claim 1 , wherein the first secure session includes Secure Socket Layer protocol.

9. The method of claim 1 , wherein the second secure session includes Secure Socket Layer protocol.

10. The method of claim 1 , wherein the first secure session includes Internet Protocol Secure (“IPSec”) techniques.

11. The method of claim 1 , wherein the second secure session includes Internet Protocol Secure (“IPSec”) techniques.

12. The method of claim 1 , wherein the static content is a banner or a navigation button.

13. The method of claim 5 , further comprising, before storing the HTTP page, encrypting the HTTP page.

14. A method for caching secure content over a network comprising:

establishing a first secure session between a client and a proxy server using a first secure session protocol;

encrypting a request for content at the client using the first secure session protocol;

sending the encrypted request for content from the client to the proxy server using the first secure session;

receiving the encrypted request for content at the proxy server using the first secure session;

decrypting the encrypted request for content at the proxy server using the first secure session protocol;

determining that the content is not available at the proxy server;

establishing a second secure session between the proxy server and a web server using a second secure session protocol;

encrypting the request for content using the second secure session protocol at the proxy server;

sending the encrypted request for content from the proxy server to the web server using the second secure session;

receiving the encrypted request for content at the web server using the second secure session;

decrypting the encrypted request for content at the web server using the second secure session protocol;

encrypting the content at the web server using the second secure session protocol;

sending the encrypted content from the web server to the proxy server using the second secure session;

receiving the encrypted content at the proxy server using the second secure session;

decrypting the encrypted content at the proxy server using the second secure session protocol;

determining if the content is a static content at the proxy server;

encrypting the content, if the content is the static content, using a third secure session protocol at the proxy server for storing the static content locally in a memory at the proxy server, wherein the third secure session protocol is known only to the proxy server;

encrypting the content at the proxy server using the first secure session protocol;

sending the encrypted content from the proxy server to the client using the first secure session;

receiving the encrypted content at the client using the first secure session;

decrypting the encrypted content at the client using the first secure session protocol; and

decrypting the encrypted static content at the proxy server using the third secure session protocol when an additional request for the static content is sent from the client to the proxy server.

15. The method of claim 14 , wherein a plurality of clients are each securely connected to the proxy server via a plurality of differing secure session protocols and the proxy server is securely connected to the web server via the second secure session protocol in order to retrieve secure content requested by the plurality of clients that is not contained at the proxy server.

16. The method of claim 14 , wherein the static content is a banner or a navigation button.

17. A method for caching secure content over a network comprising:

establishing a first secure session between a client and a proxy server using a first secure session protocol;

sending an encrypted request for content from the client to the proxy server using the first secure session;

receiving the encrypted request for content at the proxy server using the first secure session;

decrypting the encrypted request for content at the proxy server using the first secure session protocol;

determining that a first part of the content is available at the proxy server and a second part is not available at the proxy server;

establishing a second secure session between the proxy server and a web server using a second secure session protocol to retrieve the second part of the content;

encrypting a second request for the second part of the content using the second secure session protocol at the proxy server;

sending the encrypted second request for the second part of the content from the proxy server to the web server using the second secure session;

receiving the encrypted second request for the second part of the content at the web server using the second secure session;

decrypting the encrypted second request for the second part of the content at the web server using the second secure session protocol;

encrypting the second part of the content at the web server using the second secure session protocol;

sending the encrypted second part of the content from the web server to the proxy server using the second secure session;

receiving the encrypted second part of the content at the proxy server using the second secure session;

decrypting the encrypted second part of the content at the proxy server using the second secure session protocol;

determining if the second part of the content is a static content at the proxy server;

encrypting the second part of the content, if the second part of the content is the static content, using a third secure session protocol at the proxy server for storing the static content locally in a memory at the proxy server, wherein the third secure session protocol is known only to proxy server;

decrypting the first part of the content at the proxy server using the third session protocol;

encrypting the first and second parts of the content at the proxy server using the first secure session protocol;

sending the encrypted first and second parts of the content from the proxy server to the client using the first secure session;

receiving the encrypted first and second parts of the content at the client using the first secure session;

decrypting the encrypted second and first parts of the content at the client using the first secure session protocol; and

decrypting the first and second parts of the content at the proxy server using the third secure session protocol when an additional request for the first and the seconds parts of the content is sent from the client to the proxy server.

18. The method of claim 17 , wherein a plurality of clients are each securely connected to the proxy server via a plurality of differing secure session protocols and the proxy server is securely connected to the web server via the second secure session protocol in order to retrieve secure content requested by the plurality of clients that is not contained at the proxy server.

19. The method of claim 17 , wherein the static content is a banner or a navigation button.

20. A method comprising:

establishing a first secure session between a client and a secure reverse proxy (SRP), wherein the first secure session prevents intermediate storing between the client and the SRP of secure static content on a reverse proxy;

receiving a request for content from the client at the SRP, wherein the requested content is uncached at the SRP;

establishing a second secure session between the SRP and a web server, wherein the second secure session prevents intermediate storing between the SRP and the web server of secure static content on a reverse proxy;

in response to the request for content:

obtaining, by way of the second secure session, secure static content from the web server at the SRP;

caching the secure static content at the SRP;

sending, by way of the first secure session, the secure static content from the SRP to the client.

21. The method of claim 20 , wherein said caching the secure static content results in a reduced number of requests at the web server for encrypted content.

22. The method of claim 20 , wherein the first secure session is a TLS session.

23. The method of claim 20 , wherein the second secure session is a TLS session.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS (FIRST LIEN) Recorded Jan 30, 2015
From: BANK OF AMERICA, N.A.
To: SAFENET, INC.
Reel/Frame 034862/0366 →
RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Jan 30, 2015
From: BANK OF AMERICA, N.A.
To: SAFENET, INC.
Reel/Frame 034862/0394 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 14, 2014
From: SAFENET, INC.
To: BANK OF AMERICA, N.A. AS COLLATERAL AGENT
Reel/Frame 032448/0677 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2014
From: SAFENET, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032441/0015 →
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: SAFENET, INC.
Reel/Frame 032437/0761 →
FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: SAFENET, INC.
Reel/Frame 032437/0741 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 24, 2009
From: SAFENET, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 022288/0976 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 23, 2009
From: SAFENET, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 022288/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2008
From: INGRIAN NETWORKS, INC.
To: SAFENET, INC.
Reel/Frame 021520/0014 →
CHANGE OF NAME Recorded Feb 13, 2008
From: INGRIAN SYSTEMS, INC.
To: INGRIAN NETWORKS, INC.
Reel/Frame 020497/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2001
From: CHAWLA, RAJEEV; TSIRIGOTIS, PANAGIOTIS; BONEH, DAN
To: INGRIAN SYSTEMS INC.
Reel/Frame 012012/0951 →