{'fraction_non_alphanumeric': 0.031425152717425534, 'fraction_numerical': 0.005290005667863216, 'mean_word_length': 4.724585436193223, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Survey on Cloud Data Security using Image Steganography

Now-a-days, cloud computing proved its impor-tance where it is being used by small and big organizations. The importance of cloud computing is due to the various services provided by the cloud. One of these services is storage as a service (SaaS) which allows users to store their data in the cloud databases. The drawback of this service is the security challenge since a third party manages the data. The users need to feel safe to store their data in the cloud. Consequently, we need for models that will enhance the data security. The image steganography is a way to protect data from unauthorized access. Image steganography allows users to conceal secret data in a cover image. In this paper, we review and compare some of the recent works proposed to protect cloud data using image steganography. The first comparison of models based on the algorithms they used, advantages and drawbacks. The second comparison of the models based on the aims of steganography: quality where the model produces a stego-image with high quality, security where the secret data is difficult to detect and capacity where the model allows to hide large amounts of data.


I. INTRODUCTION
Cloud computing provides flexible services for users by combining many of resources and applications based on a payas-you-need concept [1]. One of the services provided by the cloud is store data in the cloud. This service provides fast distribution, low-cost and reliability [2].
When storing data in cloud storage, storage devices has vulnerability to internal leakage, hacking and other reasons that may lead to lose data confidentiality [3].
Some of data stored in the cloud are very sensitive data, such as banking and government information, which must be protected against unauthorized people including the cloud service provider [2].
There are many researches that use cryptography techniques to protect the cloud confidentiality of the data [1], but the main disadvantage of encryption is although the data is encrypted and became unreadable, it is still exists as a secret data. The attacker could decrypt the data if he has enough time [4]. Steganography is a way to solve this problem since it allows the user to hide data into other object such as text, image, audio or video, these techniques will increase the sensitive data security [1]. In this paper, we focus on the image steganography to protect cloud data. Fig. 1 illustrate the usage of image steganography in cloud environment. In this paper, we check the existing cloud data security techniques used image steganography. This paper is structured as follows. Section II, present an overview of cloud computing. Section III, give an overview of steganography. In Section IV, we introduce an overview of image steganography. In Section V, we review some of recent techniques of cloud data security using image steganography. In Section VI, we compare the techniques based on different aspects and discuss the current status. In Section VII, we discuss the future works.

II. CLOUD COMPUTING OVERVIEW
In this section, we give an overview of the cloud computing, service models, deployment models and security requirements of cloud computing.
Cloud computing provides IT services to users over the Internet. The NIST defined cloud computing as "a model for enabling ubiquitous, convenient, on-demand network access to shared pool of configurable computing resources (e.g., networks, servers, storage applications and services) that can be rapidly provisioned and released with minimal management effort and or service interaction" [5].

A. Service Model of Cloud Computing
• Software as a service (SaaS): User can only use the applications provided by the provider without ability to manage the applications [6].
• Platform as a service (PaaS): User creates applications on the cloud infrastructure and the user will be able to deploy and manage the applications [6].
• Infrastructure as a service (IaaS): User will provide the fundamental computing resources, such as networks, storage and processing [6].
• File storage as a service (FSaaS): The cloud provides the ability to store, manage and access the data from an interface of browser. the cloud provider holds the maintenance responsibility and oversees the infrastructure storage [7].

B. Deployment Model of Cloud Computing
• Private cloud: Cloud service provider makes the resources and applications available to cloud users. The users must subscribe to get the benefits of the resources, and they will pay based on the subscription [6].
• Public cloud: Users use the resources dynamically over the Internet, and they will pay based on their use [6].
• Hybrid cloud: It consists of distributed private clouds linked together and have a central management. The payment system in this model is complex [6].

C. Cloud Computing Security Requirements
• Audit: It includes authentications and authorisation, to ensure user's identity by implementing a strong verification process [8].
• Confidentiality: Protect data stored in the database from unauthorized users [8].
• Integrity: It is used to ensure the data consistency, and to protect data from iteration [9].

III. STEGANOGRAPHY OVERVIEW
In this section, we presents an overview of the steganography, its types, its objectives.
Steganography is the science of hiding the secret data in a multimedia file [10]. Steganography as a word is combine of two Greek words "Sregano" and "Graphy", and the meaning is "cover writing" [11].

A. Types of Steganography
• Text steganography: Use text file to hide secret data [12].
• Image steganography: Hide secret data in a cover image [13].
• Audio steganography: Use an audio file to conceal secret data [13].
• Video steganography: Hide secret data in a video file [14].
• Protocol steganography: Hide secret data in network protocol such as, IP, TCP and UDP [16].

B. Objectives of Steganography
• Security: The attacker unable to detect the secret data [7].
• Payload (Capacity): Allow to hide large amount of data into the cover object [7].
• Invisibility (Quality): The changes in the cover object undetectable by the Human Visual System (HVS) [7].

IV. IMAGE STEGANOGRAPHY OVERVIEW
This section, provides an overview of image steganography, some techniques of image steganography and types of images.
The image steganography is the process of hiding the secret data in a cover image to produce a stego image [7].
A. Some of Image Steganography Techniques: • Least Significant Bit (LSB) based Steganography: Hide the bits of secret data in the LSB of the cover image. This technique is the most popular used [17].
• Discrete Cosine Transform (DCT): Use subdivision of quantized DCT coefficient to hide the secret data [17].
• Discrete Wavelet Transform (DWT): It is used to decompress the image mathematically into a set of wavelet [7]. This technique used for medical and military applications [17].

B. Types of Images
• The binary images: consists of black and white pixels [7].
• The grayscale images: consists of pixels with shades of gray colors [7].
• The color images: uses some integration of red, green and blue to specify the pixels' colors [7].
V. CURRENT WORKS PROPOSED FOR CLOUD DATA SECURITY USING IMAGE STEGANOGRAPHY In this section, we review some works proposed for cloud data security using image steganography.
Mohis and Devipriya in [2], proposed an improved approach that increases the security of public cloud data by using mediated certificateless public key encryption (MCL-PKE) and LSB steganography algorithm. The proposed system consists of three modules: registration module, cloud module and embedding module. In the registration module, the user registers to the cloud and generates public and private keys, keep the private key for the users and transfer the public key to the Key Generation Centre (KGC). In the cloud module, if the user requests the data the Security Mediator (SEM) check if the user legitimate it will decrypt partially the data and will provide it to the user, then the user fully decrypts it using the private key. In the embedding module, the user before storing the data in the cloud he will embed the sensitive data within an image. The authors compared the proposed approach with other system. The proposed approach reduces overhead at the owner side, and reduces unauthorized access on the data. This technique does not produce high quality stego image and does not allow to hide large amount of data.
Ebrahim et al. [1] combined encryption and steganography to prevent unauthorized access to cloud data. In the proposed model, there are three phases. The first phase, compute hash value of secret data using SHA-256, then use RSA to encrypt the hash value and session key. The second phase, use AES-256 to encrypt the secret data. The third phase, use advanced LSB algorithm to hide encrypted data in a cover image. The authors were evaluated the proposed model and compared it with other models. The result shows this model provides security against cryptanalysis and steganalysis attacks and stetisstical changes, and produces a stego image with high quality.
Seshubhavan et al. in [18], used steganography and genetic algorithms to secure the data in the cloud. The proposed technique tries to insert the secret data in suitable pixels in the cover image without affecting the characteristics of the cover image. This technique work only on the grayscale image. Therefore, if the cover image is colored image convert it to gray scale image, then extract the least significant bit and most significant bit and convert them to 0's and 1's array. Use the AES algorithm to encrypt the secret data and the key converted to 0's and 1's array. The two arrays combined and split into R Block, and L Block. These segments are applying to genetic algorithm to produce an address block, which is used to embed the secret data in the cover image and produce the stego image that will store in the cloud database. This algorithm compared with other existing algorithms. The result shows that, the proposed algorithm is better quality, but does not provide high capacity payload.
Rahman et al. [19] proposed a new combination of encryption and steganography to secure cloud data. They used blowfish algorithm to encrypt secret data, to embed encrypted data in a cover image E-LSB algorithm is used, and to preserve the integrity of produced stego image they used SHA-256. The analysis of the proposed model presents the model provides security against statistical and visual attacks.
Suneetha and Kumar in [20] have improved the security of cloud data by using partition random edge-based technique for image steganography. They supposed this technique will help to reduce changes between cover image and produced a stego image. In the embedding process, convert the cover image into grayscale image and portion it into 9 partitions. Then, use Canny edge detection method to identify the edge pixels and select the prime number of random pixels of an image. After that encrypt the secret data and embed the key in the selected pixels. The authors compared their method with others existing methods and the result shows that, this method is better and works on different types of data. It provides security against steganalysis attack. This work focuses on security and quality, but ignores the amount of data can be embedded in the cover image.
Kumar and Suneetha [21] used image segmentation along with image steganography to increase the security of data in cloud environment. To embed secret data in a cover image covert the cover image into black and white or grayscale image, then apply the image segmentation technique to identify and extract the iris part of the cover image. After that use Canny edge detection to select edge pixels of inner and outer circle, and use RSA algorithm to encrypt the secret data. Hide the secret key in the selected pixels and store the stego image in the cloud. The authors were analyzed the technique and the result shows that this technique provides better security than others existing techniques based on steganography and segmentation.
Shanthakumari and Malliga [22] proposed a combination of International Data Encryption Standard Algorithm (IDEA) and Least Significant Bit Grouping (LSBG) algorithm to improve security and capacity of data embedding to the cover image. In the embedding phase, the IDEA algorithm performed to encrypt secret data, then LSBG is applying to embed the encrypted data into cover image and produce stego image which is uploaded to the cloud. In the extracting phase, download the stego image from the cloud and use LSBG to extract the secret data, then perform IDEA decryption to decrypt the secret data. The authors were evaluated the proposed technique and compared it with other techniques. The result shows this technique provides good security for secret data and produces stego image with high quality and increase the embedding capacity.

VI. DISCUSSION
In this section, we compare the current techniques based on different aspects and discuss the current status. Table I shows a comparison of the reviewed techniques based on the algorithms they used, advantages and drawbacks. From Table I, we conclude there is no technique totally strong without weaknesses, each technique has its own strengths and weaknesses.
In Table II, we compare the current techniques based on steganography objectives: security, capacity and quality.
From Table II, we can conclude all proposed techniques satisfies the security objective, and five of them produces a stego image with high quality, but only one technique allows to hide large amounts of data.
The reviewed techniques works on different types of images where [18] and [20] suitable for a grayscale image, [21] works on black and white or grayscale images and some suitable for color image such as [1], [19] and [22].

VII. FUTURE WORK
for the future work, we intend to improve efficient solutions that satisfy the objectives of steganography. These solutions should allow to hide large amounts of data, produce a stego image with high quality and the hidden data must be undetectable.

VIII. CONCLUSION
Cloud computing provides many benefits to the users but it has security challenges. Image steganography is a way to protect secret data in the cloud by hide the secret data in a cover image. This paper, present a review of some -Mediated certificateledd public key encryption (MCL-PKE).
-Reduce overhead at the owner side.
-Protect the secret data against unautherized access.
-Does not produce a stego image with high quality.
-Does not allow to hide large amount of data.
-Expensive and difficult.
-Allows to embed any type of data in any format of image.
-Produces stego image with high quality.
-Protects cloud data against attacks and statistical changes.
-Capacity of embedded data depends on the size of cover image.
Allows to insert secret data in cover image without affecting the characteristic of the cover image.
-use only with gray scale images.
Ignores the quality of stego image and capacity of embedded data.
-Reduces changes between cover image and stego image produced.
-Suitable for different type of data.
-Used only for grayscale images.
-High requirements on memory.
increase the security.
-Using for black and white or grayscale images.
-Increase the security.
-Produce stego image with high quality -Allow to hide large amount of data.
IDEA uses large number of weak keys. recently proposed techniques for cloud data security using image steganography. We compared these techniques based on algorithms they used, advantages and drawbacks, and based on the objectives of steganography. We concluded each technique has its own advantages and weaknesses which make it difficult to choose one technique as the best solution.