Method and apparatus of securely processing data for file backup, de-duplication, and restoration
View Patent ↗Disclosed are an apparatus and methods of determining if at least one data file has been de-duplicated. One example method may include receiving a filekey based on at least a portion of the content of the at least one data file, checking a de-duplication registry in a database to determine whether a pre-stored filekey is present, decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey, and comparing the decrypted at least first data with the decrypted at least second data to determine whether the at least one file has been de-duplicated.
1. A method of determining if at least one data file has been de-duplicated, the method comprising:
receiving a filekey based on at least a portion of the content of the at least one data file;
checking a de-duplication registry in a database to determine whether a pre-stored filekey is present;
decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;
comparing the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same;
determining the at least one data file is a candidate for de-duplication;
creating a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and
storing the link file at a location of the de-duplicated file.
2. The method of claim 1 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.
3. The method of claim 2 , further comprising:
matching the decrypted at least first data with the decrypted at least second data and determining they are the same;
decrypting a random advanced encryption standard (AES) key stored in a registry row of the database; and
re-encrypting the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.
4. The method of claim 3 , further comprising:
incrementing a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.
5. The method of claim 4 , further comprising:
transmitting a true value indicating the match was the same, the re-encrypted AES key and the (URI) of the at least one data file to the agent application.
6. The method of claim 5 , wherein the URI of at least one de-duplicated data file stored in the database and the re-encrypted AES key are stored in metadata of the link file.
7. An apparatus configured to determine if at least one data file has been de-duplicated, the apparatus comprising:
a receiver configured to receive a filekey based on at least a portion of the content of the at least one data file; and
a processor configured to
check a de-duplication registry in a database to determine whether a pre-stored filekey is present;
decrypt at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;
compare the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same;
determine the at least one data file is a candidate for de-duplication;
create a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and
store the link file at a location of the de-duplicated file.
8. The apparatus of claim 7 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.
9. The apparatus of claim 8 , wherein the processor is further configured to match the decrypted at least first data with the decrypted at least second data and determine they are the same, decrypt a random advanced encryption standard (AES) key stored in a registry row of the database, and re-encrypt the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.
10. The apparatus of claim 9 , wherein the processor is further configured to increment a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.
11. The apparatus of claim 10 , wherein the transmitter is further configured to transmit a true value indicating the match was the same, the re-encrypted AES key and the URI of the at least one data file to the agent application.
12. The apparatus of claim 11 , wherein the URI of at least one de-duplicated data file stored in the database and the re-encrypted AES key are stored in metadata of the link file.
13. A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform determining if at least one data file has been de-duplicated, the processor being further configured to perform:
receiving a filekey based on at least a portion of the content of the at least one data file;
checking a de-duplication registry in a database to determine whether a pre-stored filekey is present;
decrypting at least a first data associated with the filekey and at least a second data associated with the pre-stored filekey;
comparing the decrypted at least first data with the decrypted at least second data to determine at least one of whether the at least one data file has been de-duplicated and whether the at least one data file is a candidate for de-duplication, by determining the filekey and the pre-stored filekey are the same; and
determining the at least one data file is a candidate for de-duplication;
creating a link file comprising a pointer to a location of the at least one data file, and wherein the link file comprise a uniform resource indicator (URI) of at least one de-duplicated data file stored in the database and an advanced encryption standard (AES) key; and
storing the link file at a location of the de-duplicated file.
14. The non-transitory computer readable storage medium of claim 13 , wherein the at least a first data is a cyclic redundancy check checksum (CRC) of the at least one data file, and the at least a second data is a CRC of at least one data file that has been de-duplicated.
15. The non-transitory computer readable storage medium of claim 14 , wherein the processor is further configured to perform:
matching the decrypted at least first data with the decrypted at least second data and determining they are the same;
decrypting a random advanced encryption standard (AES) key stored in a registry row of the database; and
re-encrypting the random advanced encryption standard (AES) key stored in a registry row of the database prior to transmitting the AES key to an agent application.
16. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:
incrementing a counter representing the number of de-duplication operations performed in the de-duplication registry row of the database.
17. The non-transitory computer readable storage medium of claim 16 , wherein the processor is further configured to perform:
transmitting a true value indicating the match was the same, the re-encrypted AES key and the URI of the at least one data file to the agent application.