IP Library Granted Patent US 10,454,944
Granted Patent B2
US 10,454,944 · App. 15/856,984 · Granted Oct 22, 2019

Geofencing of data in a cloud-based environment

Inventors: Kirill Minkovich (Campbell, CA); Pranava Adduri (Fremont, CA)
Assignee: Box, Inc.
H04L63/107G06F21/00G06F21/602G06F21/6218H04L9/0872H04L9/3236H04L9/3297H04W4/021H04W12/08G06F2221/2111
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 10,454,944
App. No.
15/856,984
Granted
Oct 22, 2019
Kind
B2
Abstract

Disclosed is an approach to incorporate geographical access control features for a cloud-based storage platform. This allows, for example, enterprise administrators to define geographical areas (geofences) with arbitrary precision within which content access can be denied for items of data.

Claims (38)

1. A method for managing access to data, the method comprising:

configuring a geographic region for a data item, wherein the geographic region is represented by a plurality of grid squares that is definable by a single coordinate location, the plurality of grid squares defines an area of protection for the data item;

encrypting the data item with a key (DEK), wherein the DEK is encrypted by using the plurality of grid squares to generate a set of encrypted encryption key (EDEK);

receiving a request to access the data item;

identifying a location associated with the request to access the data item;

determining whether to decrypt the data item based at least in part on the location associated with the request to access the data item, wherein the data item is decryptable if the location associated with the request corresponds to at least one EDEK from among the set of EDEK; and

allowing or denying access to the data item based at least in part on if the location corresponds to a geographic location for which access is denied for the data item.

2. The method of claim 1 , wherein the location associated with the request is identified using a GPS mechanism at a mobile device that sends the request.

3. The method of claim 2 , wherein the information pertaining to the location comprises a one-way hashed value of location data for the mobile device.

4. The method of claim 1 , where boundaries of the area are defined by incrementing or decrementing a digit of the coordinate.

5. The method of claim 4 , wherein the location information comprises a hash of a value corresponding to the geographic region.

6. The method of claim 4 , wherein the DEK can be decrypted only if the location information does not correspond to the location associated with the request to access the data item, where the data item is not decryptable unless the DEK can be decrypted, where the EDEK is encrypted to generate a double-encrypted key (KEDEK) that is stored in a cloud-based storage system.

7. The method of claim 6 , where a set of KEDEKs is stored that corresponds to a set of location units corresponding to the geographic region, where upon receipt of the request, a set of KEDEKs are processed to determine if any KEDEK corresponds to the location associated with the request, and where access is denied to the data item if the location associated with the request does correspond to at least one KEDEK.

8. A computer program product, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a process, the process comprising:

configuring a geographic region for a data item, wherein the geographic region is represented by a plurality of grid squares that is definable by a single coordinate location, the plurality of grid squares defines an area of protection for the data item;

encrypting the data item with a key (DEK), wherein the DEK is encrypted by using the plurality of grid squares to generate a set of encrypted encryption key (EDEK);

receiving a request to access the data item;

identifying a location associated with the request to access the data item;

determining whether to decrypt the data item based at least in part on the location associated with the request to access the data item, wherein the data item is decryptable if the location associated with the request corresponds to at least one EDEK from among the set of EDEK; and

allowing or denying access to the data item based at least in part on if the location corresponds to a geographic location for which access is denied for the data item.

9. The computer program product of claim 8 , wherein the location associated with the request is identified using a GPS mechanism at a mobile device that sends the request.

10. The computer program product of claim 9 , wherein the information pertaining to the location comprises a one-way hashed value of location data for the mobile device.

11. The computer program product of claim 8 , where boundaries of the area are defined by incrementing or decrementing a digit of the coordinate.

12. The computer program product of claim 11 , wherein the location information comprises a hash of a value corresponding to the geographic region.

13. The computer program product of claim 11 , wherein the DEK can be decrypted only if the location information does not correspond to location associated with the request to access the data item, where the data item is not decryptable unless the DEK can be decrypted.

14. The computer program product of claim 13 , where the EDEK is encrypted to generate a double-encrypted key (KEDEK) that is stored in a cloud-based storage system with the data item.

15. The computer program product of claim 13 , where a set of KEDEKs is stored that corresponds to a set of location units corresponding to the geographic region.

16. The computer program product of claim 15 , where upon receipt of the request, a set of KEDEKs are processed to determine if any KEDEK corresponds to the location associated with the request, and where access is denied to the data item if the location associated with the request does correspond to at least one KEDEK.

17. A system for managing access to data, the system comprising:

a processor;

a memory comprising a computer program product, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by the processor causes the processor to execute a process, the process comprising:

configuring a geographic region for a data item, wherein the geographic region is represented by a plurality of grid squares that is definable by a single coordinate location, the plurality of grid squares defines an area of protection for the data item;

encrypting the data item with a key (DEK), wherein the DEK is encrypted by using the plurality of grid squares to generate a set of encrypted encryption key (EDEK);

receiving a request to access the data item;

identifying a location associated with the request to access the data item;

determining whether to decrypt the data item based at least in part on the location associated with the request to access the data item, wherein the data item is decryptable if the location associated with the request corresponds to at least one EDEK from among the set of EDEK; and

allowing or denying access to the data item based at least in part on if the location corresponds to a geographic location for which access is denied for the data item.

18. The system of claim 17 , wherein the location associated with the request is identified using a GPS mechanism at a mobile device that sends the request.

Assignments (1)
SECURITY INTEREST Recorded Jul 26, 2023
From: BOX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 064389/0686 →
Continuity (2)
Continuation 14929920 · Nov 2, 2015
Related Publication 20180124066A1 · May 3, 2018
Cited By (1)
US 12,682,094