IP Library Granted Patent US 9,948,648
Granted Patent B1
US 9,948,648 · App. 13/804,064 · Granted Apr 17, 2018

System and method for enforcing access control to publicly-accessible web applications

Inventor: Dan King-Britton (Curry Rivel, GB)
Assignee: Dell Software Inc.
H04L63/10
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,948,648
App. No.
13/804,064
Granted
Apr 17, 2018
Kind
B1
Abstract

A method for enforcing access control to a web application. The method includes generating a computationally-secure pseudo-random password, associating the generated computationally-secure pseudo-random password with an application username of at least one web client, and storing, in a user account credential store module, the generated computationally-secure pseudo-random password and the associated application username. The method also includes requesting, via a web proxy connected to the at least one web client, access to a protected page offered by the web application, intercepting, by the web proxy, a login page from the web application, and inserting, by the web proxy on behalf of the at least one web client, the stored generated computationally-secure pseudo-random password and the associated application username into the login page. The method also includes forwarding the login page with the inserted computationally-secure pseudo-random password and the associated application username to the web application to complete, by the web proxy, an authentication process with the web application to allow the at least one web client to access the protected page offered by the web application.

Claims (47)

1. A method for enforcing access control to a web application, the method comprising:

generating, by a user account registration module, a computationally-secure pseudo-random password;

associating, by the user account registration module, the generated computationally-secure pseudo-random password with an application username of a web client;

storing, in a user account credential store module, the generated computationally-secure pseudo-random password and the associated application username;

requesting, via a web proxy connected to the web client, access to a protected page offered by the web application;

determining, by the web proxy, whether the web client has previously been authenticated to the web proxy;

responsive to a determination that the web client has previously been authenticated, intercepting, by the web proxy, a login page from the web application;

retrieving, by the web proxy, the stored generated computationally-secure pseudo-random password and the associated application username from the user account credential store module;

inserting, by the web proxy on behalf of the web client, the retrieved stored generated computationally-secure pseudo-random password and the associated application username into the login page;

wherein the retrieving and inserting is performed by the web proxy that is directly connected to the web client without the need for re-authentication of the web client with the web proxy;

wherein the web proxy is configured to read an organization's security policy settings from a proxy configuration module to determine credentials required to authenticate the web client and redirect the user to the login page for authentication according to an organization's security policy; and

forwarding, by the web proxy, the login page with the inserted computationally-secure pseudo-random password and the associated application username to the web application to complete an authentication process with the web application to allow the web client to access the protected page offered by the web application.

2. The method of claim 1 , wherein the web proxy is a reverse proxy.

3. The method of claim 1 , wherein the web proxy comprises a server computer.

4. The method of claim 1 , wherein the web proxy is configured to retrieve resources for the web client from the web application and return the resources to the web client as though they originated from the web proxy.

5. The method of claim 1 , wherein the web proxy is configured for enabling Single-Sign-On (SSO) thereby allowing the web client to access multiple services offered by the web application without a need for re-authentication.

6. The method of claim 1 , wherein the at least one web client comprises at least one of a mobile phone, a laptop computer, a tablet computer, a personal digital assistant (PDA), a netbook computer, and a device capable of including a web browser application.

7. The method of claim 1 , wherein the user account registration module is configured to create a user account with the web application.

8. The method of claim 7 , wherein the user account registration module comprises a server computer.

9. The method of claim 1 , wherein the web proxy is interconnected to the web application via a network.

10. The method of claim 9 , wherein the network is the Internet.

11. A system comprising:

a web proxy computer server interoperably connected to at least one of a web application, a proxy configuration module, a user directory, a user account credential store module, and a user account registration server computer;

a web client comprising a processor and interoperably coupled to the web proxy computer server, wherein the web client communicates with the web application via the web proxy computer server;

wherein the user account registration server computer is configured to generate a computationally-secure pseudorandom password and associate the generated computationally-secure pseudo-random password with an application username of the web client;

wherein the web proxy computer server is configured to request access to a protected page offered by the web application, determine whether the web client has previously been authenticated to the web proxy computer server and response to a determination that the web client has previously been authenticated, intercept a login page from the web application, retrieve the computationally-secure pseudo-random password and the associated application username from the user account credential store module, insert the generated computationally-secure pseudo-random password and the associated application username into the login page, and forward the login page with the inserted computationally-secure pseudo-random password and the associated application username to the web application to complete an authentication process with the web application to allow the web client to access the protected page offered by the web application;

wherein the retrieval and insertion is performed by the web proxy computer server that is directly connected to the web client without the need for re-authentication of the web client with the web proxy computer server; and

wherein the web proxy computer server is configured to read an organization's security policy settings from a proxy configuration module to determine credentials required to authenticate the web client and redirect the user to the login page for authentication according to an organization's security policy.

12. The system of claim 11 , wherein the web proxy computer server is interconnected to the web application via a network.

13. The system of claim 12 , wherein the network is the Internet.

14. The system of claim 11 , wherein the web proxy computer server is configured to retrieve resources on behalf of the web client from the web application and return the resources to the web client as though they originated from the web computer.

15. The system of claim 11 , wherein the web proxy computer server is configured for enabling Single-Sign-On (SSO) thereby allowing the web client to access multiple services offered by the web application without a need for re-authentication.

16. The system of claim 11 , wherein the web proxy computer server is a reverse proxy computer.

17. The system of claim 11 , wherein the user account registration server computer is configured to create a user account with the web application.

18. The system of claim 11 , wherein the web client comprises at least one of a mobile phone, a laptop computer, a tablet computer, a personal digital assistant (PDA), a netbook computer, and a device capable of including a web browser application.

19. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method for enforcing access control to a web application, the method comprising:

generating, by a user account registration module, a computationally-secure pseudo-random password;

associating, by the user account registration module, the generated computationally-secure pseudo-random password with an application username of a web client;

storing, in a user account credential store module, the generated computationally-secure pseudo-random password and the associated application username;

requesting, via a web proxy connected to the web client, access to a protected page offered by the web application;

determining, by the web proxy, whether the web client has previously been authenticated to the web proxy;

responsive to a determination that the web client has previously been authenticated, intercepting, by the web proxy, a login page from the web application without re-authentication with the web proxy;

retrieving, by the web proxy, the stored generated computationally-secure pseudo-random password and the associated application username from the user account credential store module;

inserting, by the web proxy on behalf of the web client, the retrieved stored generated computationally-secure pseudo-random password and the associated application username into the login page;

wherein the retrieving and inserting is performed by the web proxy that is directly connected to the web client without the need for re-authentication of the web client with the web proxy;

wherein the web proxy is configured to read an organization's security policy settings from a proxy configuration module to determine credentials required to authenticate the web client and redirect the user to the login page for authentication according to an organization's security policy; and

forwarding, by the web proxy, the login page with the inserted computationally-secure pseudo-random password and the associated application username to the web application to complete an authentication process with the web application to allow the web client to access the protected page offered by the web application.

Assignments (27)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
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 Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044719/0565 →
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 →
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 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 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 →
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 SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2013
From: KING-BRITTON, DAN
To: QUEST SOFTWARE, INC.
Reel/Frame 030152/0851 →