IP Library › Granted Patent US 10,754,973
Granted Patent B2
US 10,754,973 · App. 15/872,336 · Granted Aug 25, 2020

Secure cloud storage system

Inventors: Alexander Ocher (San Francisco, CA); Viktor Lapitski (San Francisco, CA)
Assignee: SAP SE
G06F21/6227H04L9/0618H04L9/0643H04L9/0863H04L9/14H04L9/3226H04L9/3239H04L2209/30
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,754,973
App. No.
15/872,336
Granted
Aug 25, 2020
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for a secured cloud storage system. An embodiment operates by receiving a compressed file comprising data that has been compressed using a compression algorithm. The compressed data is divided into a plurality of separate files. A password for each of the separate files is determined. Each of the separate files is encrypted with its corresponding password. The encrypted files are stored across a plurality of servers.

Claims (67)

1. A computer-implemented method, comprising:

receiving a compressed file comprising a series of bits corresponding data that has been compressed using a compression algorithm;

determining a number of separate files into which to divide the compressed file;

dividing the compressed file into a plurality of bit sequences, wherein a length of each bit sequence corresponds to the number of separate files, and wherein one bit from each bit sequence is sequentially divided into each of the separate files;

repeating the dividing until all of the bits of the compressed file from each of the bit sequences are sequentially divided amongst the number of separate files;

determining a password for each of the separate files;

encrypting each of the separate files with its corresponding password; and

storing the encrypted files across a plurality of servers, wherein each server only includes a portion of the compressed data.

2. The method of claim 1 , wherein the encrypting comprises:

selecting a first one of a plurality of encrypting schemes for a first one of the plurality of separate files.

3. The method of claim 2 , further comprising:

selecting a second one of the plurality of encrypting schemes, different from the first encrypting scheme, for a second one of the plurality of separate files;

encrypting the first file with the first encrypting scheme; and

encrypting the second file with the second encrypting scheme.

4. The method of claim 1 , wherein the determining the password comprises:

receiving the password from a user.

5. The method of claim 4 , further comprising:

generating, based on the received password, a unique password for each of the separate files.

6. The method of claim 5 , further comprising:

hashing each of the unique passwords.

7. The method of claim 1 , further comprising:

generating a control file including metadata for retrieving the compressed data from the received file, including a location identifying where each of the encrypted files is stored.

8. The method of claim 7 , further comprising:

storing the control file on a computing device different from the plurality of servers where the encrypted files are stored.

9. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive a compressed file comprising a series of bits corresponding data that has been compressed using a compression algorithm;

determine a number of separate files into which to divide the compressed file;

divide the compressed file into a plurality of bit sequences, wherein a length of each bit sequence corresponds to the number of separate files, and wherein one bit from each bit sequence is sequentially divided into each of the separate files;

repeat the dividing until all of the bits of the compressed file from each of the bit sequences are sequentially divided amongst the number of separate files;

determine a password for each of the separate files;

encrypt each of the separate files with its corresponding password; and

store the encrypted files across a plurality of servers, wherein each server only includes a portion of the compressed data.

10. The system of claim 9 , wherein the at least one processor that encrypts is configured to:

select a first one of a plurality of encrypting schemes for a first one of the plurality of separate files.

11. The system of claim 9 , wherein the at least one processor is further configured to:

select a second one of the plurality of encrypting schemes, different from the first encrypting scheme, for a second one of the plurality of separate files;

encrypt the first file with the first encrypting scheme; and

encrypt the second file with the second encrypting scheme.

12. The system of claim 9 , wherein the at least one processor that determines the password is configured to:

receive the password from a user.

13. The system of claim 12 , wherein the at least one processor is further configured to:

generate, based on the received password, a unique password for each of the separate files.

14. The system of claim 13 , wherein the at least one processor is further configured to:

hash each of the unique passwords.

15. The system of claim 9 , wherein the at least one processor is further configured to:

generate a control file including metadata for retrieving the compressed data from the received file, including a location identifying where each of the encrypted files is stored.

16. The system of claim 15 , wherein the at least one processor is further configured to:

store the control file on a computing device different from the plurality of servers where the encrypted files are stored.

17. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving a compressed file comprising a series of bits corresponding data that has been compressed using a compression algorithm;

determining a number of separate files into which to divide the compressed file;

dividing the compressed file into a plurality of bit sequences, wherein a length of each bit sequence corresponds to the number of separate files, and wherein one bit from each bit sequence is sequentially divided into each of the separate files;

repeating the dividing until all of the bits of the compressed file from each of the bit sequences are sequentially divided amongst the number of separate files;

determining a password for each of the separate files;

encrypting each of the separate files with its corresponding password; and

storing the encrypted files across a plurality of servers, wherein each server only includes a portion of the compressed data.

18. The non-transitory computer-readable device of claim 17 , wherein the encrypting comprises:

selecting a first one of a plurality of encrypting schemes for a first one of the plurality of separate files;

selecting a second one of the plurality of encrypting schemes, different from the first encrypting scheme, for a second one of the plurality of separate files;

encrypting the first file with the first encrypting scheme; and

encrypting the second file with the second encrypting scheme.

19. The non-transitory computer-readable device of claim 17 , further comprising:

generating, based on the received password, a unique password for each of the separate files; and

hashing each of the unique passwords.

20. The method of claim 1 , wherein a chunk of data comprising a plurality of the sequence of bits is divided into each of the number of files.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2018
From: OCHER, ALEXANDER; LAPITSKI, VIKTOR
To: SAP SE
Reel/Frame 044641/0067 →
Continuity (1)
Related Publication 20190220618A1 · Jul 18, 2019