IP Library Granted Patent US 9,438,577
Granted Patent B2
US 9,438,577 · App. 13/967,202 · Granted Sep 6, 2016

Query interface to policy server

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,438,577
App. No.
13/967,202
Granted
Sep 6, 2016
Kind
B2
Abstract

A scalable access filter that is used together with others like it in a virtual private network to control access by users at clients in the network to information resources provided by servers in the network. Each access filter uses a local copy of an access control data base to determine whether an access request is made by a user. Each user belongs to one or more user groups and each information resource belongs to one or more information sets. Access is permitted or denied according to access policies which define access in terms of the user groups and information sets. The first access filter in the path performs the access check, encrypts and authenticates the request; the other access filters in the path do not repeat the access check. The interface used by applications to determine whether a user has access to an entity is now an SQL entity. The policy server assembles the information needed for the response to the query from various information sources, including source external to the policy server.

Claims (38)

1. A method for end-to-end encryption, the method comprising:

receiving an encrypted message at a first access filter in a virtual private network session, the data packet sent from a client device associated with the first access filter, the data packet addressed to a server associated with a second access filter, wherein there are one or more intermediate access filters between the first access filter and the second access filter, each intermediate access filter applying one or more access policies;

executing instructions stored in memory of the first access filter, wherein execution of the instructions by a processor:

decrypts the message based on a secret shared between the client device and the first access filter, wherein the decrypted message includes authentication information related to a user of the client device,

verifies that the user of the client device is permitted to access the server based on the authentication information, and

reencrypts the message based on a transport key shared between the first access filter and the second access filter, wherein the transport key is generated from public and private keys; and

sending the reencrypted message through one or more intermediate access filters to the second access filter, wherein the one or more intermediate access filters allow the reencrypted message through based on authentication at the first access filter without requiring decryption at the respective intermediate access filter, wherein the second filter decrypts the reencrypted message sent through the one or more intermediate access filters and performs IP-level access checking on an original header before further reencrypting the message for the server, wherein the original header is encrypted while passing through the one or more intermediate access filters, wherein the only unencrypted IP address associated with the reencrypted message are associated with the first access filter or the second access filter, and wherein the second access filter further reencrypts the message for the server.

2. The method of claim 1 , wherein a tunnel is constructed on a path between the first access filter and the second access filter.

3. The method of claim 1 , further comprising maintaining an access control database in memory, wherein the access control database stores identification and certification information for the client, the server, and the first and second access filters.

4. The method of claim 3 , wherein the access control database further stores identification and certification information for the intermediate access filters along a path between the first and second access filters.

5. The method of claim 4 , wherein the one or more access filters allow the session based on authentication at the first access filter.

6. The method of claim 1 , wherein the transport key is encrypted.

7. The method of claim 1 , further comprising configuring the client device by providing the client device with a certificate associated with the first access filter, wherein the first access filter is provided with a certificate associated with the client device.

8. The method of claim 1 , wherein the second access filter determines that the reencrypted message sent through the one or more intermediate access filters is really from the first access filter before further reencrypting the message for the server.

9. The method of claim 1 , wherein the second access filter determines that the reencrypted message sent through the one or more intermediate access filters has not been tampered with before further reencrypting the message for the server.

10. A system for end-to-end encryption, the system comprising:

a client device;

a server; and

a first access filter associated with the client device that:

receives an encrypted message in a virtual private network session, the data packet sent from the client device, the data packet addressed to a server associated with a second access filter, wherein there are one or more intermediate access filters between the first access filter and the second access filter, each intermediate access filter applying one or more access policies, and

executes instructions stored in memory, wherein execution of the instructions by a processor:

decrypts the message based on a secret shared between the client device and the first access filter, wherein the decrypted message includes authentication information related to a user of the client device,

verifies that the user of the client device is permitted to access the server based on the authentication information, and

reencrypts the message based on a transport key shared between the first access filter and a second access filter associated with the server, wherein the transport key is generated from public and private keys; and

sends the reencrypted message through one or more intermediate access filters to the second access filter, wherein the one or more intermediate access filters allow the reencrypted message through based on authentication at the first access filter without requiring decryption at the respective intermediate access filter, wherein the second filter decrypts the reencrypted message sent through the one or more intermediate access filters and performs IP-level access checking on an original header before further reencrypting the message for the server, wherein the original header is encrypted while passing through the one or more intermediate access filters, wherein the only unencrypted IP address associated with the reencrypted message are associated with the first access filter or the second access filter, and wherein the second access filter further reencrypts the message for the server.

11. The system of claim 10 , further comprising the second access filter associated with the server.

12. The system of claim 10 , wherein a tunnel is constructed on a path between the first access filter and the second access filter.

13. The system of claim 10 , further comprising an access control database that stores identification and certification information for the client, the server, and the first and second access filters.

14. The system of claim 13 , wherein the access control database further stores identification and certification information for the intermediate access filters along a path between the first and second access filters.

15. The system of claim 14 , wherein the one or more access filters allow the session based on authentication at the first access filter.

16. The system of claim 10 , wherein the transport key is encrypted.

17. The system of claim 10 , wherein the client device is configured by providing the client device with a certificate associated with the first access filter, wherein the first access filter is provided with a certificate associated with the client device.

18. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for end-to-end encryption, the method comprising:

receiving an encrypted message in a virtual private network session, the data packet sent from a client device associated with the first access filter, the data packet addressed to a server associated with a second access filter, wherein there are one or more intermediate access filters between the first access filter and the second access filter, each intermediate access filter applying one or more access policies;

decrypting the message based on a secret shared between the client device and the first access filter, wherein the decrypted message includes authentication information related to a user of the client device;

verifying that the user of the client device is permitted to access the server based on the authentication information;

reencrypting the message based on a transport key shared between the first access filter and the second access filter, wherein the transport key is generated from public and private keys; and

sending the reencrypted message through one or more intermediate access filters to the second access filter, wherein the one or more intermediate access filters allow the reencrypted message through based on authentication at the first access filter without requiring decryption at the respective intermediate access filter, wherein the second filter decrypts the reencrypted message sent through the one or more intermediate access filters and performs IP-level access checking on an original header before further reencrypting the message for the server, wherein the original header is encrypted while passing through the one or more intermediate access filters, wherein the only unencrypted IP address associated with the reencrypted message are associated with the first access filter or the second access filter, and wherein the second access filter further reencrypts the message for the server.

Assignments (33)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
CHANGE OF NAME Recorded May 29, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 047058/0082 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded May 16, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046169/0718 →
CHANGE OF NAME Recorded May 15, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046163/0137 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
CONVERSION AND NAME CHANGE Recorded Aug 25, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 036455/0195 →
MERGER Recorded Aug 25, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 036416/0900 →
MERGER Recorded Feb 10, 2015
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC. C/O THOMA BRAVO, LLC
Reel/Frame 034932/0190 →
CHANGE OF NAME Recorded Feb 10, 2015
From: PSM MERGER SUB (DELAWARE), INC.
To: SONICWALL, INC.
Reel/Frame 034932/0243 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 031011 FRAME 0682. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE SHOULD BE LISTED AS "SONICWALL, INC." NOT "SPNICWALL, INC.". Recorded Oct 31, 2013
From: REDLEAF GROUP, INC.
To: SONICWALL, INC.
Reel/Frame 031525/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: KENDALL HOLDINGS LLC
To: SONICWALL, INC.
Reel/Frame 031011/0727 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: REDCREEK COMMUNICATIONS, INC.; INTERNET DYNAMICS, INC.
To: REDLEAF GROUP, INC.
Reel/Frame 031011/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: MARSHMAN RESEARCH LLC
To: KENDALL HOLDINGS LLC
Reel/Frame 031011/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: REDLEAF GROUP, INC.
To: SPNICWALL, INC.
Reel/Frame 031011/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: HANNEL, CLIFFORD LEE; MAY, ANTHONY
To: INTERNET DYNAMICS, INC.
Reel/Frame 031011/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: REDLEAF GROUP, INC.
To: MARSHMAN RESEARCH LLC
Reel/Frame 031011/0720 →