Securing the Cloud with
Homomorphic Encryption
A major concern of cloud users is the
potential for losing data privacy once
the data has moved to the cloud. Customers
need assurance that their data
is well protected by cloud service providers.
Encryption can alleviate this
fear, but it also has drawbacks. To
avoid time-consuming downloading
and uploading of data for customers,
the cloud provider can perform operations in the
cloud. However, to manipulate encrypted data in the
cloud, users must share their encryption/decryption
keys with the cloud provider, effectively allowing
them access to the data.
One of the top threats to cloud computing is malicious
insiders. An insider can be a rogue administrator
employed by a cloud service provider, an employee
of the victim organization who exploits vulnerabilities
to gain unauthorized access, or an attacker who uses
cloud resources to launch attacks. The multitenant
nature of the cloud computing environment makes it
difficult to detect and prevent insider attacks.
Homomorphic encryption allows computations
to be carried out on encrypted data (also known
as ciphertext), thus generating an encrypted result,
which, when decrypted, matches the result of the
same operations performed on the original data
(plaintext). This can be a major advantage for applications
that outsource encrypted data to the cloud.
Homomorphic encryption is attractive for many
applications, but it has a serious limitation: the homomorphic
property is typically restricted to one
operation only, usually addition or multiplication.
Methods having the homomorphic property for both
addition and multiplication simultaneously bring us
a step closer to real-life applications. Ronald Rivest
and his colleagues introduced the concept of fully
homomorphic encryption under the name privacy
homomorphisms in 1978,5 but it was only in 2009 that Craig Gentry proposed a fully homomorphic encryption
(FHE) scheme.6 Gentry’s scheme allowed
an arbitrary number of additions and multiplications
on encrypted data while guaranteeing that the results
were correctly reflected in the decrypted data.