Encrypted file storage
Various systems facilitate encrypted file storage. A client device may generate an encrypted version of a file. The client device may obtain at least one reference to at least one storage location for the encrypted version of the file. The client device may cause the encrypted version of the file to be store at the at least one storage location using the at least one reference to the at least one storage location.
1. A method for retrieving encrypted files, comprising:
receiving, at a file index server, a request from a client device to access an encrypted file stored at a cloud data storage provider remote from the file index server, wherein the request is performed on behalf of a user associated with access credentials of a user account of the cloud data storage provider;
identifying a reference of index data at the file index server, wherein the identified reference points to a storage location at the cloud data storage provider associated with the requested encrypted file;
transmitting, by the file index server to the client device, the identified reference to the storage location; and
transmitting to the client device, by at least one of a device management system and the file index server, an encryption key for decrypting the requested encrypted file, wherein the encryption key is different than the access credentials of the user account.
2. The method of claim 1 , wherein the storage location at the cloud data storage provider is associated with the user account that requested storage of the encrypted file at the cloud data storage provider.
3. The method of claim 1 , wherein identifying the reference comprises identifying a plurality of references to a plurality of storage locations at the cloud data storage provider associated with the requested encrypted file.
4. The method of claim 3 , wherein each of the plurality of storage locations are associated with the user account.
5. The method of claim 3 , wherein transmitting the identified reference comprises transmitting the plurality of references to the client device.
6. The method of claim 1 , wherein the encrypted file is partitioned into a plurality of subparts, and wherein each subpart is stored in a separate storage location at the cloud data storage provider.
7. The method of claim 1 , wherein transmitting the encryption key comprises transmitting a plurality of encryption keys required for decrypting the requested encrypted file.
8. A file index server for storing files, comprising:
a non-transitory, computer-readable storage medium containing instructions; and
a processor device that executes the instructions to perform stages comprising:
receiving, at the file index server, a request from a client device to access an encrypted file stored at a cloud data storage provider remote from the file index server, wherein the request is performed on behalf of a user associated with access credentials of a user account of the cloud data storage provider;
identifying a reference of index data at the file index server, wherein the identified reference points to a storage location at the cloud data storage provider associated with the requested encrypted file;
transmitting, by the file index server to the client device, the identified reference to the storage location; and
transmitting to the client device, by at least one of a device management system and the file index server, an encryption key for decrypting the requested encrypted file, wherein the encryption key is different than the access credentials of the user account.
9. The index server of claim 8 , wherein the storage location at the cloud data storage provider is associated with the user account that requested storage of the encrypted file at the cloud data storage provider.
10. The index server of claim 8 , wherein identifying the reference comprises identifying a plurality of references to a plurality of storage locations at the cloud data storage provider associated with the requested encrypted file.
11. The index server of claim 10 , wherein each of the plurality of storage locations are associated with the user account.
12. The index server of claim 10 , wherein transmitting the identified reference comprises transmitting the plurality of references to the client device.
13. The index server of claim 1 , wherein the encrypted file is partitioned into a plurality of subparts, and wherein each subpart is stored in a separate storage location at the cloud data storage provider.
14. The index server of claim 8 , wherein transmitting the encryption key comprises transmitting a plurality of encryption keys required for decrypting the requested encrypted file.
15. A non-transitory, computer-readable storage medium containing instructions for storing files, the instructions being executed by a processor device of a file index server to perform stages comprising:
receiving, at the file index server, a request from a client device to access an encrypted file stored at a cloud data storage provider remote from the file index server, wherein the request is performed on behalf of a user associated with access credentials of a user account of the cloud data storage provider;
identifying a reference of index data at the file index server, wherein the identified reference points to a storage location at the cloud data storage provider associated with the requested encrypted file;
transmitting, by the file index server to the client device, the identified reference to the storage location; and
transmitting to the client device, by at least one of a device management system and the file index server, an encryption key for decrypting the requested encrypted file, wherein the encryption key is different than the access credentials of the user account.
16. The non-transitory, computer-readable medium of claim 15 , wherein the storage location at the cloud data storage provider is associated with the user account that requested storage of the encrypted file at the cloud data storage provider.
17. The non-transitory, computer-readable medium of claim 15 , wherein identifying the reference comprises identifying a plurality of references to a plurality of storage locations at the cloud data storage provider associated with the requested encrypted file.
18. The non-transitory, computer-readable medium of claim 17 , wherein each of the plurality of storage locations are associated with the user account.
19. The non-transitory, computer-readable medium of claim 17 , wherein transmitting the identified reference comprises transmitting the plurality of references to the client device.
20. The non-transitory, computer-readable medium of claim 15 , wherein the encrypted file is partitioned into a plurality of subparts, and wherein each subpart is stored in a separate storage location at the cloud data storage provider.