Grouping data in an organized storage system
A method including determining, by a device, an assigned key pair including an assigned public key and an assigned private key; determining, by the device for a group associated with a folder, a group access key pair including a group access public key and a group access private key; encrypting, by the device, the group access private key by utilizing the assigned public key; and accessing, by the device, the folder based at least in part on decrypting the group access private key. Various other aspects are contemplated.
1 . A method, comprising:
determining, by a user device, an assigned key pair including an assigned public key and an assigned private key;
determining, by the user device for a group associated with a folder associated with encrypted content, a group access key pair including a group access public key and a group access private key;
determining, by the user device, for respective content, a respective symmetric key and a respective content access key pair including a respective content access public key and a respective content access private key;
encrypting the respective content, to determine the encrypted content, based at least in part on utilizing the respective symmetric key;
encrypting, by the user device, the respective symmetric key for the respective content based at least in part on utilizing the respective content access public key;
first encrypting, by the user device, the respective content access private key for the respective content based at least in part on utilizing the group access public key;
second encrypting, by the user device, the respective content access private key for the respective content based at least in part on utilizing the assigned public key;
encrypting, by the user device, the group access private key by utilizing the assigned public key;
transmitting, by the user device for storage in correlation with the folder, the encrypted respective symmetric key, the first encrypted content access private key, the second encrypted content access private key, and the encrypted group access private key; and
accessing, by the user device, the folder based at least in part on decrypting the group access private key.
2 . The method of claim 1 , further comprising:
determining a master key based at least in part on a master string of alphanumeric characters; and
encrypting the assigned private key by utilizing the master key.
3 . The method of claim 1 , further comprising:
decrypting the assigned private key, encrypted by utilizing a master key; and
decrypting the group access private key by utilizing the assigned private key.
4 . The method of claim 1 , further comprising:
decrypting the respective content based at least in part on decrypting the group access private key, the respective content access private key, and the respective symmetric key.
5 . The method of claim 1 , wherein the group access public key and the group access private key are specific to the group.
6 . The method of claim 1 , wherein the assigned public key and the assigned private key are specific to a registered account associated with the user device.
7 . The method of claim 1 , wherein the encrypted content is stored in association with the encrypted group access private key, the encrypted content access private key, and the encrypted symmetric key in a remote database.
8 . A user device, comprising:
a memory; and
a processor communicatively coupled to the memory, the memory and the processor being configured to:
determine an assigned key pair including an assigned public key and an assigned private key;
determine, for a group associated with a folder associated with encrypted content, a group access key pair including a group access public key and a group access private key;
determine, for respective content, a respective symmetric key and a respective content access key pair including a respective content access public key and a respective content access private key;
encrypt the respective content, to determine the encrypted content, based at least in part on utilizing the respective symmetric key;
encrypt the respective symmetric key for the respective content based at least in part on utilizing the respective content access public key;
first encrypt the respective content access private key for the respective content based at least in part on utilizing the group access public key;
second encrypt the respective content access private key for the respective content based at least in part on utilizing the assigned public key;
encrypt the group access private key by utilizing the assigned public key;
transmit, for storage in correlation with the folder, the encrypted respective symmetric key, the first encrypted content access private key, the second encrypted content access private key, and the encrypted group access private key; and
access the folder based at least in part on decrypting the group access private key.
9 . The user device of claim 8 , wherein the memory and the processor are configured to:
determine a master key based at least in part on the master string of alphanumeric characters; and
encrypt the assigned private key by utilizing the master key.
10 . The user device of claim 8 , wherein the memory and the processor are configured to:
decrypt the assigned private key, encrypted by utilizing a master key; and
decrypt the group access private key by utilizing the assigned private key.
11 . The user device of claim 8 , wherein the memory and the processor are configured to:
decrypt the respective content based at least in part on decrypting the group access private key, the respective content access private key, and the respective symmetric key.
12 . The user device of claim 8 , wherein the group access public key and the group access private key are specific to the group.
13 . The user device of claim 8 , wherein the assigned public key and the assigned private key are specific to a registered account associated with the device.
14 . The user device of claim 8 , wherein the encrypted content is stored in association with the encrypted group access private key, the encrypted content access private key, and the encrypted symmetric key in a remote database.
15 . A non-transitory computer-readable medium configured to store instructions, which when executed by a processor associated with a user device, configure the processor to:
determine an assigned key pair including an assigned public key and an assigned private key;
determine, for a group associated with a folder associated with encrypted content, a group access key pair including a group access public key and a group access private key;
determine, for respective content, a respective symmetric key and a respective content access key pair including a respective content access public key and a content access private key;
encrypt the respective content, to determine the encrypted content, based at least in part on utilizing the respective symmetric key;
encrypt the respective symmetric key for the respective content based at least in part on utilizing the respective content access public key;
first encrypt the respective content access private key for the respective content based at least in part on utilizing the group access public key;
second encrypt the respective content access private key for the respective content based at least in part on utilizing the assigned public key;
encrypt the group access private key by utilizing the assigned public key;
transmit, for storage in correlation with the folder, the encrypted respective symmetric key, the first encrypted content access private key, the second encrypted content access private key, and the encrypted group access private key; and
access the folder based at least in part on decrypting the group access private key.
16 . The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
determine a master key based at least in part on the master string of alphanumeric characters; and
encrypt the assigned private key by utilizing the master key.
17 . The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
decrypt the assigned private key, encrypted by utilizing a master key; and
decrypt the group access private key by utilizing the assigned private key.
18 . The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to:
decrypt the respective content included in the encrypted content based at least in part on decrypting the group access private key, the respective content access private key, and the respective symmetric key.
19 . The non-transitory computer-readable medium of claim 15 , wherein the group access public key and the group access private key are specific to the group.
20 . The non-transitory computer-readable medium of claim 15 , wherein the assigned public key and the assigned private key are specific to a registered account associated with the user device.