In this article, I explain what Convergent Encryption is and how it can be used.
Convergent encryption is also known as content hash keying, that creates identical ciphertext from an identical plaintext file. It contains some applications in cloud computing to eliminate all duplicate files from storage services, without a provider needing to have access to encryption keys.
This system also gained greater visibility in 2011 when cloud storage platform providers announced Bitcasa. At times, they were using convergent encryption in order to enable data deduplication in cloud storage service areas. I think it can offer better privacy than most traditional cloud storage encryption methods, therefore, in the upcoming section, I discuss the types of services that use Convergent encryption in more detail.
Technical Details Related to Convergent Encryption
Generally, when cloud storage services encrypt data, they use a simple encryption key. With the help of convergent encryption, data encryption keys are derived from a particular file in storage. Therefore, you are able to produce an identical ciphertext from each plain text file. Cloud storage services can let you store a large amount of data at very low prices while providing better privacy than traditional cloud storage mediums.
List of Services Using Convergent Encryption
- SurDoc: The company has recommended their users download each file immediately to avoid any risk or data loss. SurDoc is a cloud-based service that gives up to 100 GB of free storage space. Moreover, there is no limitation on computer backed up and more affordable unlimited storage plans. With this service, you can sync, share, and make a backup copy as well.
- Bitcasa: Provides up to 1TB of space in the cloud for only $10/month. For this, you can maintain backups of your entire hard drive to the cloud. It allows uploading one or more files with very fast receiving speeds. It also provides support for Android, iOS, and the Windows operating system.
Attacks Against Convergent Encryption
Convergent Encryption is open to the "confirmation of a file" attack, whereby an attacker can confirm whether a given target file has been used for encrypting, and thus be able to unencrypt files, or plain-text, by simply comparing output values with the files possessed by the target. This type of attack poses issues for users storing information publicly or in files that are already stored by an adversary.
An argument can be made that confirmation of the file attacks can be rendered less effective by adding unique data like random characters to plain text before data encryption; this can cause uploaded files to be unique to the results in the encrypted form. Further, this also makes that file unique by adding extra bytes to the beginning or end of the process.
Is Convergent Encryption Really Secure?
This is a question that often arises so it can become quite challenging to perform secure deduplication in cloud storage. Nevertheless, Convergent Encryption is being used for secure deduplication of the data as it allows for the management of large numbers of convergent keys. Besides this, data deduplication is a specialized technique to remove all duplicate copies of data and has been commonly used in cloud storage to free up storage space and reduce upload bandwidth.