IP Library Granted Patent US 11,363,018
Granted Patent B2
US 11,363,018 · App. 16/533,744 · Granted Jun 14, 2022

Verifying user device access rights for application data requests

Inventors: Anurag Kahol (Los Gatos, CA); Anoop Kumar Bhattacharjya (Campbell, CA); Balas Natarajan Kausik (Los Gatos, CA)
Assignee: Bitglass, LLC
H04L63/0876H04L63/0263H04L63/0428H04L63/0853H04L63/18
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,363,018
App. No.
16/533,744
Granted
Jun 14, 2022
Kind
B2
Abstract

A proxy server enforces security rules on data accesses. Network traffic between a client application and a cloud application is routed to the proxy. The proxy tags data that is stored in the cloud applications in order to track the data. When a data request is received by the proxy, the proxy uses a set of rules to decide whether the requesting user is allowed access to the data from the cloud application.

Claims (82)

1. A method, comprising:

receiving an application data request from a user device across a network, the application data request requesting data from a third-party application;

storing information associated with the application data request;

forwarding the application data request to the third-party application;

receiving a response message from the third-party application;

extracting a data portion from the response message, the data portion including tag information, wherein the tag information includes information associated with any combination of: data source identification, user identification, user device identification, or user device location;

determining whether the user device has permission to access the data portion using the stored information and the tag information;

upon determining that the user device has permission to access the data portion, sending a message to the user device that includes the data portion with the tag information removed;

upon determining that the user device does not have permission to access the data portion, sending a message to the user device denying the application data request.

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

receiving an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

inserting tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

sending the application data storage request to the third-party application.

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

receiving an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

inserting tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

encrypting the data portion in the application data storage request;

sending the application data storage request to the third-party application.

4. The method as recited in claim 1 , wherein the determining whether the user device has permission further comprises:

determining one or more access rules for the application data request by matching a pattern in the application data request with a pattern associated with one or more access rules among a plurality of access rules;

applying the one or more access rules to the stored information and the tag information to determine whether the user device has permission to access the data portion.

5. The method as recited in claim 1 , wherein the determining whether the user device has permission further comprises:

determining one or more access rules for the application data request by matching a pattern in the application data request with a pattern associated with one or more access rules among a plurality of access rules, the one or more access rules define one or more trusted zones where data may be accessed;

applying the one or more access rules to the stored information and the tag information to determine whether the user device has permission to access the data portion.

6. The method as recited in claim 1 , wherein the upon determining that the user device has permission to access the data portion further comprises:

decrypting the data portion;

sending the message to the user device that includes the decrypted data portion with the tag information removed.

7. The method as recited in claim 1 , wherein the extracting the data portion from the response message, further comprises:

decrypting the data portion.

8. 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 an application data request from a user device across a network, the application data request requesting data from a third-party application;

storing information associated with the application data request;

forwarding the application data request to the third-party application;

receiving a response message from the third-party application;

extracting a data portion from the response message, the data portion including tag information, wherein the tag information includes information associated with any combination of: data source identification, user identification, user device identification, or user device location;

determining whether the user device has permission to access the data portion using the stored information and the tag information;

upon determining that the user device has permission to access the data portion, sending a message to the user device that includes the data portion with the tag information removed;

upon determining that the user device does not have permission to access the data portion, sending a message to the user device denying the application data request.

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

receiving an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

inserting tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

sending the application data storage request to the third-party application.

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

receiving an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

inserting tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

encrypting the data portion in the application data storage request;

sending the application data storage request to the third-party application.

11. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the determining whether the user device has permission further comprises:

determining one or more access rules for the application data request by matching a pattern in the application data request with a pattern associated with one or more access rules among a plurality of access rules;

applying the one or more access rules to the stored information and the tag information to determine whether the user device has permission to access the data portion.

12. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the determining whether the user device has permission further comprises:

determining one or more access rules for the application data request by matching a pattern in the application data request with a pattern associated with one or more access rules among a plurality of access rules, the one or more access rules define one or more trusted zones where data may be accessed;

applying the one or more access rules to the stored information and the tag information to determine whether the user device has permission to access the data portion.

13. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the upon determining that the user device has permission to access the data portion further comprises:

decrypting the data portion;

sending the message to the user device that includes the decrypted data portion with the tag information removed.

14. An apparatus, comprising:

a message processor, implemented at least partially in hardware, in communication with a memory, configured to:

receive an application data request from a user device across a network, the application data request requesting data from a third-party application;

store information associated with the application data request;

forward the application data request to the third-party application; and

receive a response message from the third-party application;

a data access evaluator, implemented at least partially in hardware, configured to:

extract a data portion from the response message, the data portion including tag information; and

determine whether the user device has permission to access the data portion using the stored information and the tag information;

wherein the message processor, upon a determination that the user device has permission to access the data portion, sends a message to the user device that includes the data portion with the tag information removed;

wherein the message processor, upon a determination that the user device does not have permission to access the data portion, sends a message to the user device denying the application data request.

15. The apparatus as recited in claim 14 ,

wherein the message processor receives an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

wherein the data access evaluator inserts tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

wherein the message processor sends the application data storage request to the third-party application.

16. The apparatus as recited in claim 14 ,

wherein the message processor receives an application data storage request from the user device, the application data storage request requesting a third-party application to store a data portion of the application data storage request;

wherein the data access evaluator inserts tag information into the data portion, the tag information including information associated with any combination of: data source identification, user identification, user device identification, or user device location;

wherein the data access evaluator encrypts the data portion in the application data storage request;

wherein the message processor sends the application data storage request to the third-party application.

17. The apparatus as recited in claim 14 , wherein the determination whether the user device has permission further comprises:

wherein the data access evaluator determines one or more access rules for the application data request by matching a pattern in the application data request with a pattern associated with one or more access rules among a plurality of access rules, the one or more access rules define one or more trusted zones where data may be accessed;

wherein the data access evaluator applies the one or more access rules to the stored information and the tag information to determine whether the user device has permission to access the data portion.

18. The apparatus as recited in claim 14 , wherein the upon determining that the user device has permission to access the data portion further comprises:

wherein the message processor decrypts the data portion;

wherein the message processor sends the message to the user device that includes the decrypted data portion with the tag information removed.

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 Oct 21, 2019
From: KAHOL, ANURAG; BHATTACHARJYA, ANOOP KUMAR; KAUSIK, BALAS NATARAJAN
To: BITGLASS, INC.
Reel/Frame 050777/0439 →