Article Preview
TopIntroduction
The cloud computing technology is a remote system that offers various remote services, such as Database-as-a-service, to allow companies and end-users to outsource their data and computations easily. Database-as-a-service (DBaaS) provides organizations with unlimited data storage. It is a cost-effective, cloud-based service that is characterized by easy deployment and higher availability. However, it also introduces new challenges to protecting data privacy. The amount of sensitive information stored in the cloud systems is increasing very quickly, and this information has to be protected from malicious access and processing. Although the cloud architecture has set up a set of techniques to preserve the confidentiality of data or to control access to them, the sensitive data need to be protected efficiently to have sufficient control over who can access these data. Homomorphic encryption schemes (HESs) have been proposed to allow executing operations over encrypted data without the need to decrypt them to get sensitive records.
HESs allow performing the logical operations XOR and AND over encrypted bit values without decryption (Gentry, 2010). Based on this type of scheme, it is possible to create processing systems and architectures through which the one can outsource only encrypted data and ask untrusted parties (maybe a cloud provider or a cloud server) to execute blind operations on its behalf without revealing data content. Applications based on this concept bring a high added value to the remote computation concept and blind processing techniques (Boneh et al., 2013; Gahi, Guennoun, and El-Khatib, 2011; Gahi et al., 2011; Gahi et al., 2012a; Gahi et al., 2012b; Raykova et al., 2012).
While data encryption and HES-based applications can add an important security layer, they also introduce several challenges that should be addressed. These challenges are related to key management and access policies. Almost all HES-based schemes only consider the case of a single user (the data owner) attempting to retrieve (encrypted) records from a database server (with the assumption that he/she is the only one capable of decrypting those records). In practice, however, a database system is usually queried by multiple users. Furthermore, current HES-based schemes assume that all users have the same access rights to the shared data.
The straightforward approach of transforming a single-user scheme to a multi-user one by sharing the decryption key among all users is a simple solution that suffers from a significant shortcoming. Clearly, with such an approach, it is quite challenging to determine the actual data requester since all requesters are using the same key. Moreover, if the transformation approach is to rely on a third party or key management systems, new problems related to key sharing, key distribution, and key revocation (which sometimes requires costly data re-encryption) will arise.