Cloud computing is a revolutionary approach to computation, where services and resources are delivered over the Internet as per user demand. The cloud encompasses hardware and software resources in data centers that offer various services via the network or Internet to meet user needs. It represents a cost-effective computing model that enables on-demand service provision. The cloud paradigm consists of three well-known service models: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). SaaS involves the deployment of software and data by a cloud provider, accessible through web browsers [1]. PaaS facilitates users with specific software programs to accomplish tasks. IaaS provides users with virtual machines and storage to enhance their business capabilities. The cloud environment primarily offers computing and data storage functions. Users can access their data and perform computing tasks through Internet connectivity without being aware of the data's physical location or the machines executing the tasks. Data storage in the cloud requires robust data protection and security measures to instill user trust and ensure successful adoption of cloud technology. Although several techniques have been proposed to address data protection and security in cloud computing, there is still a need for further advancements in this domain. Based on the access scope, cloud computing can be categorized into three types: public cloud, private cloud, and hybrid cloud. The public cloud is owned by a service provider and accessible to the general public. On the other hand, a private cloud is owned by a specific organization and restricted to authorized users. A hybrid cloud combines elements of both public and private clouds. The majority of existing cloud services are offered by prominent companies like Google, Amazon, and IBM [2]. Public clouds are designed for public use, allowing anyone to utilize the cloud services. In contrast, private clouds are exclusively used by a particular company or organization, limiting access to authorized users. Hybrid clouds incorporate features of both public and private clouds, offering a more flexible and customizable cloud environment.
Figure 1 depicts the organizational structure of cloud computing with a focus on data security aspects, including data integrity, confidentiality, and availability. Data integrity refers to maintaining the accuracy and consistency of information stored in the cloud. It ensures that data is not lost or altered by unauthorized individuals. Data integrity is crucial for providing cloud computing services such as SaaS, PaaS, and IaaS. Techniques like RAID-like strategies and digital signatures can be employed to achieve data integrity [3]. Data confidentiality is essential for users to store their private or sensitive data in the cloud. Authentication and access control strategies are implemented to safeguard data confidentiality. Addressing data confidentiality, authentication, and access control issues in cloud computing requires enhancing cloud reliability and trustworthiness. Users often hesitate to store sensitive data directly in cloud storage due to a lack of trust in cloud providers and the potential insider threats they pose. Therefore, ensuring data confidentiality and integrity becomes crucial. Data availability refers to the ability to use or recover user data in the event of accidents like hard disk damage, IDC fire, or network failures. Techniques for data verification should be employed to reduce reliance solely on the credit guarantees provided by the cloud service provider. Storing data on servers located in different jurisdictions raises concerns for clients, as cloud vendors are subject to local laws [4]. Clients need to be aware of these laws and the cloud service provider should ensure data security, particularly confidentiality and integrity. Establishing a trust relationship and sharing these concerns with the client is crucial for the cloud provider. The cloud vendor should provide guarantees of data safety and clarify the jurisdiction of local laws to clients.
With the rising popularity of devices like laptops, cell phones, and tablets, there is a growing need for ubiquitous and extensive network storage to manage users' expanding digital lives. Cloud-based storage and file sharing services such as Dropbox, Google Drive, and Amazon S3 have emerged to fulfill these requirements due to their user-friendly interfaces and affordable storage costs. However, these centralized cloud storage services have faced criticism for gaining control over users' data, enabling storage providers to perform marketing and advertising analytics [5]. Additionally, data leakage risks exist, including insider threats, backdoors, and coercion. Malicious insiders who have access to cloud data warehouses can exploit multiple database searches and cross-correlations to extract sensitive information, which is a new security concern that has received limited attention in the past. As the volume of data stored on public clouds by organizations continues to increase, the impact of information leakage is likely to amplify. Despite the potential risks, many governmental agencies and enterprises are transitioning to private or hybrid clouds with the belief that they offer improved security in addition to cost savings. Cloud Service Providers (CSPs) now universally offer Database as a Service (DBaaS), which is expected to experience steady growth. While CSPs ensure the availability and scalability of cloud services, safeguarding data confidentiality poses significant challenges in the face of evolving threats. Unauthorized access to confidential information and data theft are major concerns for individuals and organizations that entrust their data to CSPs [6]. Insider attackers who can correlate information from multiple cloud databases present a particular risk, as sensitive information can be inferred from low-risk datasets hosted within the same cloud environment.
Encryption techniques play a crucial role in ensuring information security and addressing data leakage and privacy concerns. Encryption can be applied at different levels, ranging from individual data elements to aggregated data items. However, it is essential to consider that higher granularity of encryption can also increase the risk of information leakage. Encrypting a single attribute, for example, may inadvertently expose the frequency of that attribute in the database records. On the other hand, encrypting an entire document or collection as a single unit can reduce such information leakage. There are various encryption methods and cryptosystems used for cloud-hosted databases. Some of these techniques include:
i. Deterministic Encryption: In Deterministic encryption is an encryption scheme where the same plaintext-key pair consistently produces the same ciphertext. An example of such a scheme is the use of block ciphers in the Electronic Code Book (ECB) mode with a constant initialization vector. However, deterministic encryption schemes have a drawback in terms of information leakage. They preserve the equality property, which means that the frequency of encrypted data corresponds to the frequency of the original plaintext data. This leakage of information can be exploited by potential attackers [7].
$$for j=1,\dots ,n; {C}_{j}={E}_{k}\left({P}_{j}\right);{P}_{j}={D}_{k}\left({C}_{j}\right) \left(1\right)$$
Equation 1 defines the process of deterministic encryption and decryption. It involves the use of an encryption algorithm (\({E}_{k}\)), a decryption algorithm (\({D}_{k}\)), a secret key (\(k\)), a plaintext data block (\({P}_{j}\)), and a ciphered data block (\({C}_{j}\)).
ii. Random Encryption: This encryption scheme involves combining a message with a key (k) and a randomly generated Initial Vector (IV). Unlike deterministic encryption, this scheme is non-deterministic, which means that encrypting the same message with the same key will produce varying ciphertexts. Random encryption schemes offer semantic security, ensuring protection against plaintext attacks. The encryption and decryption process of a block cipher in Cipher Block Chaining (CBC) mode is defined by Eq. 2 [8].
\(for j=2\dots n\) \(\left\{\begin{array}{c}{C}_{1}={E}_{k}\left({P}_{1}\oplus IV\right),{P}_{1}=IV\oplus {D}_{k}\left({C}_{1}\right)\\ {C}_{j}={E}_{k}\left({P}_{1}\oplus {C}_{j-1}\right),{P}_{j}={C}_{j-1}\oplus {D}_{k}\left({C}_{j}\right)\end{array}\right. \left(2\right)\)
In the equation above, "\({E}_{k}\)" represents the encryption algorithm using the key "k," "\({D}_{k}\)" represents the decryption algorithm, "\({P}_{j}\)" represents a plaintext data block, "\({C}_{j}\)" represents the corresponding ciphertext block, "\({C}_{j-1}\)" represents the previous ciphertext block, and "IV" represents the randomly generated Initial Vector. The XOR operation is utilized to combine the data blocks and perform encryption and decryption operations.
iii. Advanced Encryption Standard (AES): This scheme is considered one of the most secure symmetric block cipher algorithms. It operates with key sizes of 128, 192, or 256 bits and a fixed block size of 128 bits. Eq. 3 demonstrates the construction of a random encryption function using a deterministic one. This is achieved by concatenating a random number of fixed length (r) to each input.
$${E}_{k}\left(x\right)={E}_{k}^{{\prime }}\left(x\parallel r\right) \left(3\right)$$
The equation illustrates the process of constructing a random encryption function by concatenating a fixed-length random number (\(r\)) to each input, alongside the use of the encryption key (\(k\)) and both deterministic (\({E}^{{\prime }}\)) and random \({E}_{k}\left(x\right)\) encryption functions [9].
iv. Fully Homomorphic Encryption (FHE): Fully Homomorphic Encryption (FHE) allows computation to be done on encrypted data [33]. However, the full homomorphic encryption algorithm is very intricate and the overhead of computations with FH-encrypted data is several orders of magnitude larger than that of computations with the corresponding plaintext data. Another reason for FHE impracticality is that a query to an FH-encrypted database must be expressed as a circuit over an entire dataset.
v. Order-Preserving Encryption (OPE): OPE (Order Preserving Encryption) is a deterministic cryptosystem that maintains the ordering of plaintext data in its corresponding ciphertext. This property allows for the execution of aggregate queries, such as comparisons, finding minimum and maximum values, on datasets encrypted with OPE. Eq. 4 demonstrates the preservation of the order relation of the plaintext in the ciphertext using a key-based OPE, denoted as \(OP{E}_{k}\).
\({\forall }_{x},y|x,y\in Data Domain\) \(x<y\Rightarrow OP{E}_{k}\left(x\right)<OP{E}_{k}\left(y\right) \left(4\right)\)
OPE (Order Preserving Encryption) provides lower levels of protection compared to Fully Homomorphic Encryption (FHE) and can inadvertently disclose critical information about the plaintext data. Despite its limitations, the OPE algorithm is utilized in cloud database services. An extension to OPE called Modular Order-Preserving Encryption (MOPE), which aims to enhance security, still suffers from information leakage [10].
vi. Additive Homomorphic Encryption (AHOME): AHOME (Additively Homomorphic Encryption) is a type of partially homomorphic cryptosystem that enables a database server to perform computations involving homomorphic addition and multiplication on ciphertext. An example of AHOME is Paillier's cryptosystem. The homomorphic addition operation in AHOME can be expressed as follows:
$${D}_{k}\left({E}_{k}\left({m}_{1},{r}_{1}\right).{E}_{k}\left({m}_{2},{r}_{2}\right)mod{n}^{2}\right)={m}_{1}+{m}_{2}\left(mod n\right) \left(5\right)$$
In the equation, \({m}_{1}\) and \({m}_{2}\) represent plaintext messages that belong to the set of integers \({\mathbb{Z}}_{n}\). Similarly, \({r}_{1}\) and \({r}_{2}\) are randomly selected from the set of non-zero integers \({\mathbb{Z}}_{n}^{*}\). The value of n is obtained by multiplying two large prime numbers. \({\mathbb{Z}}_{n}\) represents the set of integers modulo n, and \({\mathbb{Z}}_{n}^{*}\) represents the set of non-zero integers modulo n.