IP Library Granted Patent US 11,297,048
Granted Patent B2
US 11,297,048 · App. 17/092,777 · Granted Apr 5, 2022

Secure application access system

Inventors: Anurag Kahol (Los Gatos, CA); Anoop Kumar Bhattacharjya (Campbell, CA); Balas Natarajan Kausik (Los Gatos, CA)
Assignee: Bitglass, LLC
H04L63/0815H04L63/0281H04L63/0884H04L63/10H04L63/105H04L63/20H04L67/1002H04L67/28
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 11,297,048
App. No.
17/092,777
Granted
Apr 5, 2022
Kind
B2
Abstract

A proxy server receives a synchronization request from an application program resident on a user device. The proxy server determines that the user device requires removal of application program data and synchronizes the application program resident on the user device with a null account that is associated with application program.

Claims (124)

1. A method for improving secure user access to application programs, comprising:

receiving, by a proxy server, a single-sign-on request from a device for user access to an application program, the device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the device to an identity provider by sending the device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the device to the application server by sending the device a network location of the application server and the valid identification assertion, the device communicates directly with the application server using the network location of the application server and the valid identification assertion, the device thereafter communicates directly with the application server for subsequent accesses to the application program.

2. The method as recited in claim 1 , wherein the device is a user device.

3. The method as recited in claim 1 , wherein the device is a user device, and wherein the user device sends a request for access to the cloud-based application program to an application provider and receives the cloud network location of the proxy server from the application provider.

4. The method as recited in claim 1 , wherein the device is a user device, wherein the user device sends a request for access to the application program to an application provider and receives the cloud network location of the proxy server from the application provider, and wherein the user device sends the single-sign-on request to the proxy server using the cloud network location of the proxy server.

5. The method as recited in claim 1 , further comprising:

monitoring, by the proxy server, an operating status of the application server;

in response to the monitoring of the operating status of the application server detecting that the application server is no longer available, directing the device to an application provider by sending the device a cloud network location of the application provider to the device.

6. The method as recited in claim 1 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program.

7. The method as recited in claim 1 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program;

receiving, by the application server, a response from the application program;

forwarding, by the application server, the response to the device.

8. The method as recited in claim 1 , further comprising:

logging, by the proxy server, network requests from devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

9. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

receiving, by a proxy server, a single-sign-on request from a device for user access to an application program, the device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the device to an identity provider by sending the device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the device to the application server by sending the device a network location of the application server and the valid identification assertion, the device communicates directly with the application server using the network location of the application server and the valid identification assertion, the device thereafter communicates directly with the application server for subsequent accesses to the application program.

10. The one or more non-transitory computer-readable storage media as recited in claim 9 , wherein the device is a user device.

11. The one or more non-transitory computer-readable storage media as recited in claim 9 , wherein the device is a user device, and wherein the user device sends a request for access to the cloud-based application program to an application provider and receives the cloud network location of the proxy server from the application provider.

12. The one or more non-transitory computer-readable storage media as recited in claim 9 , wherein the device is a user device, wherein the user device sends a request for access to the application program to an application provider and receives the cloud network location of the proxy server from the application provider, and wherein the user device sends the single-sign-on request to the proxy server using the cloud network location of the proxy server.

13. The one or more non-transitory computer-readable storage media as recited in claim 9 , further comprising:

monitoring, by the proxy server, an operating status of the application server;

in response to the monitoring of the operating status of the application server detecting that the application server is no longer available, directing the device to an application provider by sending the device a cloud network location of the application provider to the device.

14. The one or more non-transitory computer-readable storage media as recited in claim 9 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program.

15. The one or more non-transitory computer-readable storage media as recited in claim 9 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program;

receiving, by the application server, a response from the application program;

forwarding, by the application server, the response to the device.

16. The one or more non-transitory computer-readable storage media as recited in claim 9 , further comprising:

logging, by the proxy server, network requests from devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

17. A method for improving secure user access to application programs, comprising:

receiving, by a proxy server, a single-sign-on request from a user device for user access to an application program, the user device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the user device to an identity provider by sending the user device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the user device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the user device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the user device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the user device to a cloud network location of an application proxy server with a valid identification assertion, the user device thereafter communicates with the application program via a URL rewritten to go through the application proxy server, the URL originally addressed to the application program, the application proxy server not co-located with the application server.

18. The method as recited in claim 17 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program.

19. The method as recited in claim 17 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program;

receiving, by the application proxy server, a response from the application program;

forwarding, by the application proxy server, the response to the user device.

20. The method as recited in claim 17 , further comprising:

logging, by the proxy server, network requests from user devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

21. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

receiving, by a proxy server, a single-sign-on request from a user device for user access to an application program, the user device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the user device to an identity provider by sending the user device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the user device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the user device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the user device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the user device to a cloud network location of an application proxy server with a valid identification assertion, the user device thereafter communicates with the application program via a URL rewritten to go through the application proxy server, the URL originally addressed to the application program, the application proxy server not co-located with the application server.

22. The one or more non-transitory computer-readable storage media as recited in claim 21 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program.

23. The one or more non-transitory computer-readable storage media as recited in claim 21 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program;

receiving, by the application proxy server, a response from the application program;

forwarding, by the application proxy server, the response to the user device.

24. The one or more non-transitory computer-readable storage media as recited in claim 21 , further comprising:

logging, by the proxy server, network requests from user devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

25. A system, comprising:

one or more processors; and

a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to perform:

receiving, by a proxy server, a single-sign-on request from a user device for user access to an application program, the user device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the user device to an identity provider by sending the user device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the user device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the user device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the user device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the user device to a cloud network location of an application proxy server with a valid identification assertion, the user device thereafter communicates with the application program via a URL rewritten to go through the application proxy server, the URL originally addressed to the application program, the application proxy server not co-located with the application server.

26. The system as recited in claim 25 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program.

27. The system as recited in claim 25 , further comprising:

receiving, by the application proxy server, a request for the application program from the user device;

forwarding, by the application proxy server, the request to the application program;

receiving, by the application proxy server, a response from the application program;

forwarding, by the application proxy server, the response to the user device.

28. The system as recited in claim 25 , further comprising:

logging, by the proxy server, network requests from user devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

29. A system, comprising:

one or more processors; and

a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to perform:

receiving, by a proxy server, a single-sign-on request from a device for user access to an application program, the device directed by an application server to a cloud network location of the proxy server, the proxy server configured to authenticate computer security validation requests for the application program, the single-sign-on request identifying a user;

directing, by the proxy server, the device to an identity provider by sending the device a network location of the identity provider, the identity provider configured to authenticate computer security validation requests for the proxy server, the device communicates directly with the identity provider using the network location of the identity provider, the identity provider redirects the device to the cloud network location of the proxy server with a single-sign-on validation after authenticating the user;

receiving, at the proxy server, the single-sign-on validation from the device;

creating, by the proxy server, a valid identification assertion;

directing, by the proxy server, the device to the application server by sending the device a network location of the application server and the valid identification assertion, the device communicates directly with the application server using the network location of the application server and the valid identification assertion, the device thereafter communicates directly with the application server for subsequent accesses to the application program.

30. The system as recited in claim 29 , wherein the device is a user device.

31. The system as recited in claim 29 , wherein the device is a user device, and wherein the user device sends a request for access to the cloud-based application program to an application provider and receives the cloud network location of the proxy server from the application provider.

32. The system as recited in claim 29 , wherein the device is a user device, wherein the user device sends a request for access to the application program to an application provider and receives the cloud network location of the proxy server from the application provider, and wherein the user device sends the single-sign-on request to the proxy server using the cloud network location of the proxy server.

33. The system as recited in claim 29 , further comprising:

monitoring, by the proxy server, an operating status of the application server;

in response to the monitoring of the operating status of the application server detecting that the application server is no longer available, directing the device to an application provider by sending the device a cloud network location of the application provider to the device.

34. The system as recited in claim 29 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program.

35. The system as recited in claim 29 , further comprising:

receiving, by the application server, a request for the application program from the device;

forwarding, by the application server, the request to the application program;

receiving, by the application server, a response from the application program;

forwarding, by the application server, the response to the device.

36. The system as recited in claim 29 , further comprising:

logging, by the proxy server, network requests from devices to application programs;

creating a report relating to resource accesses based on the logged network requests.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
SECURITY INTEREST Recorded Apr 1, 2025
From: FORCEPOINT LLC; BITGLASS, LLC
To: SOCIÉTÉ GÉNÉRALE
Reel/Frame 070703/0887 →
PATENT SECURITY AGREEMENT Recorded Dec 14, 2021
From: BITGLASS, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 058514/0547 →
CONVERSION FROM A CORPORATION TO A LIMITED LIABILITY COMPANY Recorded Nov 30, 2021
From: BITGLASS, INC.
To: BITGLASS, LLC
Reel/Frame 058919/0164 →
CERTIFICATE OF FORMATION Recorded Nov 22, 2021
From: DEVINE, KIM
To: BITGLASS, LLC
Reel/Frame 058220/0740 →
MERGER Recorded Nov 18, 2021
From: DAYTONA BOBCAT, INC.
To: BITGLASS, INC.
Reel/Frame 058150/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: KAHOL, ANURAG; BHATTACHARJYA, ANOOP KUMAR; KAUSIK, BALAS NATARAJAN
To: BITLASS, INC.
Reel/Frame 054434/0509 →