IP Library Granted Patent US 9,817,981
Granted Patent B2
US 9,817,981 · App. 15/350,038 · Granted Nov 14, 2017

Secure cloud storage distribution and aggregation

Inventor: David A. Redberg (Brooklyn, NY)
Assignee: Fortinet, Inc.
G06F21/602G06F17/3012G06F17/30106G06F17/30194G06F21/60G06F21/6218G06F21/6227G06F21/6272H04L9/0631H04L63/02H04L63/06H04L63/20
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,817,981
App. No.
15/350,038
Filed
Nov 12, 2016
Granted
Nov 14, 2017
Kind
B2
Art Unit
2495
USPC
713/165
Abstract

Methods and systems for secure cloud storage are provided. According to one embodiment, a gateway maintains multiple cryptographic keys. A file that is to be stored across multiple third-party cloud storage services is received by the gateway from a user of an enterprise network. The file is partitioned into chunks. A directory is created within a cloud storage service having a name attribute based on an encrypted version of a name of the file. For each chunk: (i) existence of data is identified within the chunk associated with one or more predefined search indices; (ii) searchable encrypted metadata is generated based on the identified data and a selected cryptographic key; (iii) an encrypted version of the chunk is generated; and (iv) a file is created within the directory in which a name attribute includes the searchable encrypted metadata and the file content includes the encrypted chunk.

Claims (42)

1. A method comprising:

maintaining, by a trusted gateway device logically interposed between an enterprise network and a plurality of third-party cloud storage services, a plurality of cryptographic keys;

receiving, by the trusted gateway device, a local file from a user of the enterprise network that is to be stored across one or more cloud storage services of the plurality of third-party cloud storage services;

partitioning, by the trusted gateway device, the local file into a plurality of chunks of a predefined or configurable size;

causing to be created, by the trusted gateway device, a directory within the one or more cloud storage services, wherein a name attribute of the directory is set based on an encrypted version of a name of the local file;

selecting, by the trusted gateway device, a cryptographic key of the plurality of cryptographic keys based on a policy defined by the enterprise for the user; and

for each chunk of the plurality of chunks:

identifying, by the trusted gateway device, existence of data within the chunk associated with one or more predefined search indices of a plurality of predefined searchable indices;

generating, by the trusted gateway device, searchable encrypted metadata based on the identified data and the selected cryptographic key;

generating, by the trusted gateway device, an encrypted version of the chunk based on the selected cryptographic key; and

causing to be created, by the trusted gateway device, a remote file within the directory, wherein a name attribute of the remote file includes the searchable encrypted metadata and wherein a contents of the remote file includes the encrypted version of the chunk.

2. The method of claim 1 , further comprising:

receiving, by the trusted gateway device, a query from the user, wherein the query includes a value of a predefined search index of the plurality of predefined searchable indices;

creating, by the trusted gateway device, a corresponding token for the value by encrypting the value based on an appropriate cryptographic key of the plurality of cryptographic keys;

causing, by the trusted gateway device, the one or more cloud storage services to identify one or more files containing those of the plurality of chunks satisfying the query by invoking respective filename search functions of the one or more cloud storage services with the corresponding token; and

retrieving, by the trusted gateway device, the identified one or more files from the one or more cloud storage services on behalf of the user.

3. The method of claim 1 , wherein the local file includes one or more records of a database and wherein the predefined or configurable size is based on sizes of the one or more records.

4. The method of claim 1 , wherein a policy database is maintained by the trusted gateway device and wherein the policy database contains therein information defining the predefined or configurable size, the policy defined by the enterprise for the user and permissible values of each of the plurality of predefined search indices.

5. The method of claim 4 , wherein the policy database defines for each user of the enterprise network a manner in which file data is encrypted, stored, accessed and processed.

6. The method of claim 1 , wherein the encrypted version of the name of the local file is created with an Advanced Encryption Standard (AES) encryption algorighm and wherein the plurality of cryptographic keys have key lengths of 512 bits.

7. The method of claim 1 , wherein encrypted versions of the plurality of chunks are distributed among two or more cloud storage services of the plurality of third-party cloud storage services.

8. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processors of a trusted gateway device logically interposed between a plurality of third-party cloud storage services and an enterprise network, cause the one or more processors to perform a method comprising:

maintaining a plurality of cryptographic keys;

receiving a local file from a user of the enterprise network that is to be stored across one or more cloud storage services of the plurality of third-party cloud storage services;

partitioning the local file into a plurality of chunks of a predefined or configurable size;

causing to be created a directory within the one or more cloud storage services, wherein a name attribute of the directory is set based on an encrypted version of a name of the local file;

selecting a cryptographic key of the plurality of cryptographic keys based on a policy defined by the enterprise for the user; and

for each chunk of the plurality of chunks:

identifying existence of data within the chunk associated with one or more predefined search indices of a plurality of predefined searchable indices;

generating searchable encrypted metadata based on the identified data and the selected cryptographic key;

generating an encrypted version of the chunk based on the selected cryptographic key; and

causing to be created a remote file within the directory, wherein a name attribute of the remote file includes the searchable encrypted metadata and wherein a contents of the remote file includes the encrypted version of the chunk.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises:

Receiving a query from the user, wherein the query includes a value of a predefined search index of the plurality of predefined searchable indices;

creating a corresponding token for the value by encrypting the value based on an appropriate cryptographic key of the plurality of cryptographic keys;

causing the one or more cloud storage services to identify one or more files containing those of the plurality of chunks satisfying the query by invoking respective filename search functions of the one or more cloud storage services with the corresponding token; and

retrieving the identified one or more files from the one or more cloud storage services on behalf of the user.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the local file includes one or more records of a database and wherein the predefined or configurable size is based on sizes of the one or more records.

11. The non-transitory computer-readable storage medium of claim 8 , wherein a policy database is maintained by the trusted gateway device and wherein the policy database contains therein information defining the predefined or configurable size, the policy defined by the enterprise for the user and permissible values of each of the plurality of predefined search indices.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the policy database defines for each user of the enterprise network a manner in which file data is encrypted, stored, accessed and processed.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the encrypted version of the name of the local file is created with an Advanced Encryption Standard (AES) encryption algorighm and wherein the plurality of cryptographic keys have key lengths of 512 bits.

14. The non-transitory computer-readable storage medium of claim 8 , wherein encrypted versions of the plurality of chunks are distributed among two or more cloud storage services of the plurality of third-party cloud storage services.

Continuity (3)
Continuation 14824769 · Aug 12, 2015
Continuation 14094484 · Dec 2, 2013
Related Publication 20170061141A1 · Mar 2, 2017