Next Article in Journal
Analyzing Core Competencies and Correlation Paths of Emerging Engineering Talent in the Construction Industry—An Integrated ISM–MICMAC Approach
Previous Article in Journal
The Impact of Digitization on the Formation of a New Model for Geospatial Data
Previous Article in Special Issue
Blockchain-Enabled Communication Framework for Secure and Trustworthy Internet of Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Improved End-to-End Data Security Approach for Cloud Computing

1
Department of Computer Science, Galgotias University, Greater Noida 203201, UP, India
2
Department of Computer Science and Data Science, Meharry Medical College, Nashville, TN 37208, USA
3
Electrical Engineering Department, College of Engineering, King Saud University, Riyadh 11451, Saudi Arabia
*
Author to whom correspondence should be addressed.
Sustainability 2023, 15(22), 16010; https://doi.org/10.3390/su152216010
Submission received: 27 June 2023 / Revised: 9 October 2023 / Accepted: 18 October 2023 / Published: 16 November 2023
(This article belongs to the Special Issue Trust Privacy and Security for Future Sustainable Smart Cities)

Abstract

:
Cloud computing is one of the major cutting-edge technologies that is growing at a gigantic rate to redefine computation through service-oriented computing. It has addressed the issue of owning and managing computational infrastructure by providing service through a pay-and-use model. However, a major possible hindrance is security breaches, especially when the sender uploads or the receiver downloads the data from a remotely accessed server. It is a very generic approach to ensuring data security through different encryption techniques, but it might not be able to maintain the security standard. This paper proposes an end-to-end data security approach from the sender side to the receiver side by adding extra padding sequences, as well as randomized salting, followed by hashing and an encryption technique. The effectiveness of the proposed method was established using both a simulated system and mathematical formulations with different performance metrics. Furthermore, its performance was compared with those of contemporary algorithms, showing that the proposed algorithm creates a larger ciphertext that is almost impossible to crack due to randomization modules. However, it has significantly longer encryption and decryption times, although our primary concern is ensuring security, not reducing time.

1. Introduction

Recent technical advancements make it possible to think of computing power as a utility service that can be executed by switching it on and off. This allows users to pay for whatever amount of computational power they have used, and the services are only available whenever they are required, owing to the nature of cloud computing technology [1,2,3]. End users can access computational processing power, memory, storage, etc., from a cloud service provider through the Internet based on the pay-and-use model, avoiding the extra headache of buying, managing, and maintaining IT infrastructure [4,5]. Moreover, it is possible to scale up and down the entire IT infrastructure instantly as per the requirements of the client work development cycle, whereas, in the traditional scenario, it is essential to acquire all resources before the development phase starts [6,7]. In a nutshell, the cloud can be considered a service-oriented computing paradigm that delivers computing services on demand through the Internet.
The entire spectrum of services provided by cloud computing is roughly divided into three dimensions: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) [8,9]. Hence, the subscriber can obtain any kind of service, ranging from hardware and platforms to software. The entire service can be run on the Internet from any remote location in the world. Sometimes, confidential personal data need to be transferred through the public Internet, which is an insecure medium. There may be a high chance of compromised data security, as any illegitimate user can access the data illegally. Moreover, secure information is stored on the server of a third-party cloud service provider, which may raise a point of concern about breaches of trust. However, in the cloud model, clients need to rely on the service provider to keep the data secure.
As the power of cloud computing is utilized to a great extent, the amount of data stored on the cloud is increasing exponentially, opening up room for work on data security. A slight compromise in the security aspect may cause illegitimate access to highly confidential data, which may cause huge losses for the client organization. Although cloud service providers ensure that the data stored in the cloud are safe, the security measures are not as reliable as they claim. Several incidents directly point to questions about such claims. For example, in 2009, Amazon’s cloud storage service was interrupted twice [10], stopping the operation of some storage systems that were fully dependent on the service.
In the same year, a compromise of security vulnerabilities occurred in Google Docs. As a consequence, confidential user information was exposed. Similar security vulnerabilities were also reported for VMware [10,11]. The above-mentioned scenarios create a strong foundation for us to work on data security in the cloud environment. In this work, we propose an approach to ensuring end-to-end cloud data security by combining data encryption and hashing. It should be mentioned that encryption is a method by which data are converted or encrypted into an unreadable form, which can later be decrypted when needed using a password key. However, an individual generic encryption algorithm does not need to be so strong that it can eliminate the chance of a security violation [12,13]. To address this issue, we applied the hash function to a selected portion of encrypted data. To strengthen encryption, we added random salt and extra padding. A more-detailed description of the proposed methodology is provided in Section 3. Several performance metrics, namely ciphertext size, encryption and decryption time, and encryption and decryption throughput, were used to establish the efficiency of the proposed approach. The performance of our proposed algorithm was compared with that of other standard algorithms, with the results reflecting the fact that the proposed algorithm converted plain text to a larger ciphertext by adding extra randomization, making it nearly invulnerable to compromise by an attacker. However, both the encryption and decryption throughput values were low with the proposed approach. As a result, it took longer to encrypt and decrypt messages. As time was not our prime concern, we did not address this issue in the present work, although it should be addressed in the future.
The contributions of this paper are as follows:
  • We propose an end-to-end data security approach from the sender side to the receiver side.
  • On the sender side, data security is provided by the proposed algorithm, which combines random salting and hashing with data encryption.
  • On the receiver side, the encrypted message is decrypted and eventually accepted or rejected after verification.
  • Despite its lower throughput, the algorithm produces a larger random ciphertext that is almost impossible to decipher.
The rest of this paper is organized as follows. Section 2 of this paper discusses some prominent related works in this field, along with their limitations. The details of the proposed methodology are explained and an in-depth block diagram is presented in Section 3. Section 4 includes an analysis of the results based on the considered performance metrics, as well as a comparison with previous works. Finally, the paper is concluded in Section 5, along with suggestions for directions for further work.

2. Related Works

Several studies have been conducted on data security and privacy issues in cloud computing, particularly in the last decade. In this section, we take a look at a few pioneering works that have received extensive attention from researchers in this field.
The authors of [14] prepared a survey on aspects of cloud computing security, but focused the discussion only on possible security threats, without exploring any possible remedies. Modi et al. analyzed the different factors impacting security-related issues in cloud computing along with possible solutions to those findings [15]. However, they lacked the future directions of the work. Abbas et al. reviewed an extensive and comprehensive study of privacy issues in cloud computing [16]. However, this work focused on the privacy challenges of a particular type of cloud, which was deployed for e-health only and not for any other general purpose. In [17], Xiao et al. analyzed the probable security and privacy threats and proposed some possible solutions to the existing vulnerabilities. However, the work put most of the attention on defining the security parameters and was confined to a brief discussion on the solutions for the vulnerabilities. A storage security protocol, namely SecCloud [18], was proposed by Wei et al. It provided security for data storage and performed computation auditing. However, the effectiveness of this protocol is limited due to a scalability issue. A prominent user authentication protocol for mobile cloud computing [19] was proposed by Roy et al. In this proposal, a lightweight security mechanism through a cryptographic hash function, bitwise XOR, and fuzzy extractor functions was proposed. However, they mainly focused on high-end security with minimal communication and computation costs, which is much more suitable for the mobile cloud computing domain. Another notable work by Hamid et al. dealt with bilinear pairing cryptography to provide security for storing and accessing healthcare-related data in cloud and fog computing environments [20]. Here, security is ensured by generating a session key, which is shared among the participants, which may cause some extra overhead. Some of the approaches are much more concentrated on reducing the extra overhead of cryptography-based security techniques. In [21], the authors, Xu et al. followed the same principle to propose a less computationally expensive public key encryption technique for cloud-based WSNs. However, this work may be compromised by security standards. Sharma et al. developed a signature-generating technique [22] to authenticate sender and receiver transactions securely in IoT communication models. Here, the signature was generated through a well-known hashing algorithm, namely SHA-3 [23]. However, their work was confined to authentication only without considering other security parameters, which may compromise the data security. In [24], Farwan et al. used the salted hash algorithm to provide multi-level security privileges for an e-payment system. However, the work was very application-specific, with a limited set of results discussed. Ghosh et al. proposed a software-defined network based on the information-centric cloud environment [25] to ensure the security standard as per the service level agreement between the client and service provider. The work was not only restricted to security issues, but also ensured offering other network resources to the user. There have been several works already performed on security and privacy protection for the cloud, edge, and fog computing environments accessing big data. Makkar et al. proposed a security-preserving federated learning algorithm for the edge–cloud environment [26]. In [27], Gupta et al. proposed a homomorphic-encryption-based method for an energy-efficient cloud environment. Sun et al. surveyed secure cloud computing techniques along with the future directions for the research in [28]. Another good study on big data and the cloud is available in the literature [29]. Batra et al. proposed the hybrid logical security framework (HLSF), which ensured data privacy in the green IoT environment [30]. The main objective of their work was to provide security while maintaining minimal energy usage. For that purpose, the proposed framework was capable of providing a lightweight security solution with a minimum key size. A hybrid scheme combining data encryption, access control, and intrusion detection was proposed by Razaque et al. for big data security in the cloud environment [31]. However, due to its hybrid nature, the procedure may be computationally expensive. Moreover, it can be implemented with other sets of algorithms. Almiani et al. developed an intelligent network intrusion-detection model [32] using the backpropagation neural network for DDoS attacks on a cloud computing platform. To detect malicious DDoS activity, the method sifts through the traffic flows through the containerized microservices architecture. However, the work focused on a particular type of attack in the native cloud system. All the listed literature surveys convinced us that the works were concentrated mostly on giving more security assurance through cryptographic key generation. But still, there are some gaps in providing end-to-end data security, which is almost impossible to crack. Here, we addressed the security issues by using data encryption combined with hashing and random salt to keep the sender’s data safe until they reach the receiver’s side.

3. The Proposed Methodology

In this section, the proposed approach for providing an end-to-end data security mechanism for the cloud computing paradigm is discussed. Here, random salt and padding are added to the sender’s data to make it difficult to identify the actual data portion of the entire message. Then, the whole message is encrypted, and a part of the message should go through the hashing function. After that, the encrypted message along with the hashed portion should be uploaded to the cloud server from the sender’s side. Although the cloud service provider signed a service level agreement to ensure the privacy of the data in the public cloud, they can be compromised, as data encryption or password hashing techniques do not truly ensure it. As an example, today’s encrypted text can be easily broken using different approaches, like brute-force attacks, dictionary attacks, lookup tables, reverse lookup tables, or rainbow tables [33]. However, our approach is difficult to crack, as the sender’s data are jumbled with different techniques like random salting, padding, encryption, and hashing, which are almost impossible to revert. It should be mentioned that, here, we used asymmetric encryption, where the encryption key is public, so it can be made available to many people working in the same organization, who can encrypt the data before uploading them to the cloud. The decryption key in the asymmetric encryption method is kept private, so it is made available only to the selected user with whom the organization wants to share the data. So, it also enhances the data security standard as it is only shared with selected users. Further, a detailed description of the proposed approach is given in the next section.

3.1. System Architecture

Here, the sender’s data are stored and transmitted using the cloud server, where the data are converted by an encryption technique, which is combined with a hash function. The elliptic curve cryptography (ECC) and simple hashing algorithm (SHA-3) [23] are used for encryption and hashing, respectively. Furthermore, the security of the user data is made stronger by adding some random amounts of salt and padding bits to the original data before performing the encryption.
On the receiver side, while trying to decrypt the downloaded message from the cloud server, the secret key of the receiver is used to obtain two different parts, namely the decrypted message and hashed-valued text. Then, the first part is once again hashed with the same algorithm and compared with the second hashed-valued text. The message is accepted if both parts are equal; otherwise, it will be rejected. The details of the different modules used on both the sender and receiver sides are illustrated through the system architecture, as shown in Figure 1.

3.2. Sender Side Module

This section explains each module applied to the user data from the sender side, and the ultimate converted version will be uploaded to the cloud server. As depicted in Figure 1, the sender data (D[ D l e n ]) have a length of D l e n and are appended with a predefined-sized P l e n text padding (P[ D l e n ]), which is used to identify the end of the data portion. The combination of sender data followed by text padding is considered the message (M[ ]), which is mathematically depicted in Equation (1). As the length of P[ D l e n ] is greater than zero, the length of M must be larger than the length of D[ D l e n ].
M [ ] D [ D l e n ] + P [ P l e n ]
Then, the random salt generator module produces a bit sequence of random length ( R l e n ), which is referred to as salt ( S [ R l e n ] ), at any time instance ( T i ). The salt generated at any time instance ( T i ) is independent of the salt created at any other time instance ( T j ). Hence, the salt generated in any time instance is different from another salt that is produced in any other time instance. It should be mentioned that the length of the salt is generally quite short in comparison with the length of the data ( D l e n > > R l e n ). Salt is also appended to the message after the padding sequence. Hence, the whole message ( M [ ] ) constitutes three portions, namely data, padding, and salt, as shown in Equation (2). It should be mentioned that, due to the randomness of the salt portion, different messages can be generated even from the same data and padding portion.
M [ ] D [ D l e n ] + P [ P l e n ] + S [ R l e n ] w h e r e M [ ] N [ ] e v e n i f f , M [ ] D [ D l e n ] + P [ P l e n ] + S M [ R l e n ] M [ ] D [ D l e n ] + P [ P l e n ] + S N [ R l e n ]
Then, M [ ] is duplicated into two different message instances, namely M i 1 [ ] and M i 2 []. Here, both M i 1 [ ] and M i 2 [ ] are equal with their parental message M [ ] , as illustrated in Equation (3).
M [ ] ( M i 1 [ ] M i 2 [ ] ) W h e r e , M [ ] = M i 1 [ ] = M i 2 [ ]
M i 1 [ ] is passed through the SHA-3 hash function. It is also required to mention that, here, we used the 512 bit SHA-3 algorithm, which will convert M i 1 into an almost unique 512 bit hash value sequence ( H M i 1 ), as shown in Equation (4).
M i 1 S H A 3 ( M i 1 ) H M i 1 w h e r e | H M i 1 |   =   | H M i 2 | | H M i n |   =   | H M n |   =   512 i f H M i x = H M j y M i x = M j y
However, the hashing technique may be compromised by the attacker due to a brute-force attack, rainbow table attack, etc., [33]. So, further giving the uttermost security, we encrypted the hash value using elliptic curve cryptography (ECC) [34]. Here, H M i 1 is encoded in a point, namely ( P H M i 1 ) in the elliptic curve, and this point will be further encrypted ( ( E ( H M i 1 ) ) ), as shown in Equation (5), where G H M i 1 is the base point, k is a random positive integer, and P u b r e c is the public key of the receiver.
E ( H M i 1 ) = k G H M i 1 , P H M i 1 + k P u b r e c
Then, the encrypted hash code E ( H M i 1 ) will be append to the second part of the message ( M i 2 ), and we encrypt the resultant sequence once again by following the mentioned procedure in Equation (5). So, M i 2 will become E( M i 2 ), and E ( H M i 1 ) will be E ( E ( H M i 1 ) ) as shown in Equation (6). The combined message is uploaded to the cloud server via the public Internet, which should be accessible from the receiver end. Here, the message M i 2 and E ( H M i 1 ) are encoded into the points in the elliptic curve denoted as P M i 2 and P E ( H M i 1 ) , respectively, and those points are encrypted. Moreover, G M i 2 and G E ( H M i 1 ) are the base points of the elliptic curve.
E ( M i 2 + E ( H M i 1 ) ) E ( M i 2 ) + E ( E ( H M i 1 ) ) W h e r e , E ( M i 2 ) = k G M i 2 , P M i 2 + k P u b r e c ; E ( E ( H M i 1 ) ) = k G E ( H M i 1 ) , P E ( H M i 1 ) + k P u b r e c
The above-discussed procedure, which needs to be executed by the sender before uploading to the cloud, is also illustrated in Figure 1.

3.3. Receiver Side Module

Once the message is uploaded to the cloud from the sender’s side, the receiver will be able to access it with the proper authentication key. More specifically, it will be decrypted by employing the receiver’s secret key. The first part of E ( M i 2 ) is multiplied with the private key by the receiver, as depicted in the first line of Equation (7). Then, the resultant of the multiplication is subtracted from the second part of E ( M i 2 ) , as illustrated in Equation (7). Here, we substitute ( G M i 2 × P r i r e c ) as the public key of the receiver ( P u b r e c ) and, finally, return back the encoded point ( P M i 2 ) , which will be decoded into the original message M i 2 .
k G M i 2 × P r i r e c P M i 2 + k P u b r e c ( k G M i 2 × P r i r e c ) = P M i 2 +   k P u b r e c k P u b r e c = P M i 2 D e c o d e d ( P M i 2 ) M i 2
The last portion of the received message E ( E ( H M i 1 ) ) is also decrypted at the receiver’s side by following the procedure described in the last paragraph. The approach will, finally, return the encrypted hashed message, as illustrated in Equation (8).
k G E ( H M i 1 ) × P r i r e c P E ( H M i 1 ) + k P u b r e c ( k G E ( H M i 1 ) × P r i r e c ) = P E ( H M i 1 ) +   k P u b r e c k P u b r e c = P E ( H M i 1 ) D e c o d e d ( P E ( H M i 1 ) ) E ( H M i 1 )
In the next step, M i 2 is passed through the SHA-3 hash function by following the same procedure and parameters as discussed in Equation (4). So, here, we considered that M i 2 should be converted to H M i 2 , as shown in Equation (9).
M i 2 S H A 3 ( M i 2 ) H M i 2
The other resultant component of the receiving message, E ( H M i 1 ) , is further decrypted by following the previously discussed decryption procedure in Equation (7). Consequently, E ( H M i 1 ) is decrypted to the hashed value H M i 1 by applying the private key of the receiver, as illustrated in Equation (10).
k G ( H M i 1 )   ×   P r i r e c P ( H M i 1 )   +   k P u b r e c ( k G ( H M i 1 ) × P r i r e c )   =   P ( H M i 1 ) +   k P u b r e c k P u b r e c =   P ( H M i 1 ) D e c o d e d ( P ( H M i 1 ) ) H M i 1
The receiver only accepts the message if the hashed value H M i 1 of Equation (10) is the same as the value obtained by applying the hashing technique to M i 2 . So, the receiver accepts the message while H M i 1 is equal to H M i 2 . As in the sender end, both M i 1 and M i 2 are equal. Otherwise, if both of them are unequal, then it is conclusive that the message must have been compromised or altered between sending and receiving. Hence, the proposed approach ensures both the authenticity and confidentiality aspects by employing hashing and message encryption along with adding random salt and padding bits. Further, the efficiency of the proposed approach was critically evaluated based on several performance metrics, as discussed in the following Section 4.

4. Results and Comparison

To implement the proposed method, we simulated the environment using the following hardware setup with the C programming language with the GMPLibrary (GMP-5.1.1) [35], Miracl Library [36], and PBC Library (pbc-0.5.13) [37]. The simulation environment was as follows:
  • The server ran on a PowerEdge R420 PC Server, whose settings are listed below: CPU: Intel®, Xeon®, Processor E5-2400 and E5-2400 v2 product families with a physical memory: 8GB DDR3 1600MH, which uses Ubuntu 13.04 Linux 3.8.0-19-generic SMP i686.
  • The client systems were PC laptops with the settings of CPU I PDC E6700 with a 3.2 GHz DDR3 2 G 1600 MHz RAM, which runs Windows 7.
In order to establish the efficiency of the proposed approach, it was analyzed through both system-simulated performance and the mathematical formulation of the considered performance metrics, namely ciphertext size, encryption time, decryption time, encryption throughput, and decryption throughput. It should be mentioned that larger-sized ciphertext should be more secure against any brute-force attack [38]. The time taken for encryption and decryption can be reflected in the system overhead of the proposed approach. Further, if a high amount of time is required for encryption and decryption, then the throughput is also reduced, as both are inversely related.

4.1. Cipher Text Size

In this section, we calculated the ciphertext size before uploading the message to the cloud. Let us consider the sender’s data sequence ( D [ D l e n ] ) having length D l e n as the considered plain text (PT). So, the length of the message M [ M l e n ] after adding padding of length | P l e n | and random salt having length | R l e n | is calculated as shown in Equation (11).
P T l e n = | D l e n | M [ M l e n ] =   | D l e n |   +   | P l e n |   +   | R l e n |
Then, the original message M [ ] is duplicated into two different message instances, namely M i 1 [ ] and M i 2 [ ] , both of which have the same length ( M [ M l e n ] ). So, the ultimate length of the message M [ ] is calculated in Equation (12).
M [ M l e n ] =   | M i 1 [ M l e n ] |   +   | M i 1 [ M l e n ] |   = 2   ×   | [ M l e n ] |
Then, M i 1 [ ] is passed through the 512 bit S H A 3 hash function, which makes it a 512 bit-long sequence, namely H M i 1 . After that, H M i 1 is encrypted by the ECC algorithm. So, the generated ciphertext E ( H M i 1 ) length is approximated by Equation (13).
| E ( H M i 1 ) |   =   | H M i 1 |   +   3 × | P u b r e c |   +   1
Then, the encrypted hash code | E ( H M i 1 ) | will be appended with the second part of the message ( M i 2 ) and, finally, once again encrypted by following the same procedure. So, the total length of the encrypted message will be as calculated in Equation (14).
| E ( | M i 2 |   +   | E ( H M i 1 ) | ) | =   | H M i 1 |   +   3 × | P u b r e c |   +   1   +   | H M i 2 |   +   3 × | P u b r e c |   +   1   | H M i 1 |   +   | H M i 2 |   +   6 × | P u b r e c | 2 × M [ ] + 6 × | P u b r e c |
Here, we implemented the proposed encryption technique on three different data lengths along with a predefined fixed-size padding and a random-sized salt bit sequence, as listed in Table 1. It should be mentioned that all the encrypted messages generated by our proposed approach were almost equal in length. So, the length of the message is independent of the data length. The reason behind this is that all the sender’s data are converted to a fixed-length hashed message to which the encryption algorithm is applied.
The encrypted message size also compares with the message generated by using other contemporary algorithms, namely the Advanced Encryption Standard (AES) and the Data Encryption Standard (DES), by keeping all other settings unchanged. The corresponding results are shown in Table 2. Moreover, the listed results in Table 2 are represented visually through Figure 2 for better understanding by the readers.
It was concluded from the results presented in Table 2 and Figure 2 that the encrypted text size of our proposed algorithm was significantly larger than both those of the AES and DES algorithms. As a consequence, it must be capable of converting any plain text to encrypted text, which is stronger against any brute-force attack as compared to the ciphertext generated by the considered AES and DES algorithms. Moreover, it generated almost the same length of ciphertext irrespective of the original message size, which provides the same level of security for all message sizes. However, if the data size is remarkably larger than 512 bits, then the proposed algorithm’s performance should be degraded, as it is confined by the length of the hashing operation. However, it is quite impractical for the data size to be higher than that, as password texts, which are required, for most security, are generally short in length.

4.2. Encryption Time

The encryption time ( E T i m e ) of an algorithm refers to the amount of time required for converting the plain text to ciphertext. E T i m e is directly proportional to the size of the plain text. More specifically, larger plain text takes more time to produce the ciphertext by any algorithm as compared to smaller plain text. However, the proposed algorithm has a non-significant variation of E T i m e for different sizes of the plain text that is ultimately hashed into the same size text. So, any plain text internally is converted to a 512 bit-long hashed text and then goes through the encryption process.
On the sender side, the total time required for the entire encryption process ( T E T i m e ) can be calculated by summing up the total time required for the pre-encryption P r e E T i m e module’s execution time, encryption time E T i m e , and overhead time O T i m e , which is mostly system and integration overhead. The calculation of T E T i m e is formally expressed in Equation (15). It should be mentioned that P r e E T i m e is a combination of several sub-modules, like padding time P T i m e , salting time S T i m e , message-duplicating time M D T i m e , and hashing time H T i m e , as shown in Equation (16).
T E T i m e = P r e E T i m e + E T i m e + O T i m e
P r e E T i m e = P T i m e + S T i m e + M D T i m e + H T i m e
We compared the encryption time for the proposed algorithm with the AES and DES algorithms, which are shown in Table 3. Moreover, the same comparison is visually depicted in Figure 3 for a clearer understanding for the reader. It was reflected from those data that the proposed algorithm took more time to encrypt the considered message than both the AES and DES algorithms, as the extra time was required for bit salting, padding, and other pre-processing operations. The proposed algorithms also took almost the same amount of time to encrypt different sizes of text as it went for the same-sized hashed data to be encrypted in the internal phase.

4.3. Encryption Throughput

The encryption throughput T H E is referred to as how much data are encrypted in a unit of time. So, it can be calculated by dividing the size of the encrypted data by the total amount of time required, as shown in Equation (17).
T H E = D S i z e / T E T i m e
The average encryption throughput T H E A v g can be calculated by taking the average of several throughputs that are obtained from different encryption text size considerations, as shown in Equation (18).
T H E A v g = i = 1 n T H E 1 + T H E 2 + + T H E n n
The calculated T H E and T H E A v g for the proposed algorithm and other considered algorithms are included in Table 4.
It was concluded from Table 4 that T H E significantly varied with the length of the data used for encryption, irrespective of the algorithm used. It is also noted that T H E increased while larger data were provided for encryption, as shown in Figure 4. Moreover, T H E was lower for the proposed algorithm as it passed through the salting, padding, and hashing modules, which added up to extra overhead in the encryption process and, as an ultimate consequence, reduced the throughput.

4.4. Decryption Time

The decryption time ( D T i m e ) of an algorithm refers to the amount of time required to revert the ciphertext to plain text. It is directly proportional to the size of the ciphertext. The total time required for the total decryption process ( T D T i m e ) on the receiver side can be calculated by summing the total time required for the decryption time ( D T i m e ), post-decryption module ( P o s t D T i m e ), and system integration overhead time ( O T i m e ), as illustrated in Equation (19). Further, P o s t D T i m e is calculated by adding the decryption for the E ( H M i 1 ) portion of the receiving message, the hashing time ( H T i m e ) for the M i 2 part of the receiving message, and the comparison time ( C T i m e ) between H M i 1 and H M i 2 . The detailed calculation is shown in Equation (20).
T D T i m e = D T i m e + P o s t D T i m e + O T i m e
P o s t D T i m e = D T i m e + H T i m e + C T i m e
We compared T D T i m e for the proposed algorithm with the other contemporary approaches, namely the AES and DES algorithms. The evaluation result is listed in Table 5. It was inferred from the results that the proposed algorithm took more time in the decryption process than the AES and DES algorithms, as an extra hashing operation was performed on the M i 2 portion of the receiving message and one extra decryption operation needed to be performed on the E ( H M i 1 ) part of the receiving message. Moreover, for the proposed algorithm, the decryption message length was significantly higher than the other algorithms in all the considered cases, as the sender side message that was received was already larger for the proposed approach. It should be mentioned that, for the almost equal length of the messages, the decryption time was almost the same for the proposed algorithm, as visualized in Figure 5.

4.5. Decryption Throughput

The decryption throughput ( T H D ) refers to how much of the encrypted text can be reverted to normal plain text within a unit of time. It can be calculated by dividing the size of the encrypted text ( E S i z e ) that is decrypted within the total amount of time ( T D T i m e ), as shown in Equation (21).
T H D = E S i z e / T D T i m e
The average decryption throughput T H D A v g is calculated by taking an average of several throughputs that are obtained from different encrypted texts that are given for decryption, as shown in Equation (22).
T H D A v g = i = 1 n T H D 1 + T H D 2 + + T H D n n
The measured values of T H D and T H D A v g for the proposed and other considered algorithms are shown in Table 6.
It was concluded from Table 6 that T H D significantly varied with the length of the data used in both the AES and DES algorithms. The change in T H D was directly proportional to the size of the data. However, the changes were almost invariant for the proposed algorithm as the data size was the same in all the scenarios, as depicted in Figure 6. Moreover, while the larger-sized data were taken into consideration, the value of T H D was lower for the proposed algorithm in comparison with the other algorithms, as an extra overhead in the decryption process.

5. Conclusions

Providing end-to-end data security from the sender side to the receiver side in the context of cloud computing is a very crucial concern. In this paper, we addressed the security issue by proposing an algorithm that combines different techniques, namely salting, padding, asymmetric data encryption, and hashing. Here, randomization was added by using the salting and padding techniques, followed by the hashing and encryption techniques. It produced the final encrypted data, which were almost impossible to crack. Further, it created a larger ciphertext compared to the AES and DES algorithms, which were also difficult to crack, particularly by brute-force attack. However, the encryption and decryption times for the proposed algorithm were significantly longer than the AES and DES algorithms due to the extra processing time required for salting padding and other pre- and post-processing steps. As a result, it reduced the throughput for both the encryption and decryption phases. Moreover, it should be mentioned that the encryption and decryption times of the proposed algorithm were the least sensitive to text size compared to the other algorithms considered. This work can be extended by considering other parametric settings. Moreover, it can be further enhanced towards the reduction of the encryption and decryption times, which was not considered the primary scope in the current context.

Author Contributions

Conceptualization S.G.; Methodology S.G., S.K.V., U.G., M.A.-N.; Validation U.G.; Investigation S.G., U.G.; Resources M.A.-N.; Writing—original draft, S.G., U.G.; Writing—review & editing, S.K.V.; Project administration S.K.V., U.G., M.A.-N. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Acknowledgments

Mohammed AL-Numay acknowledges financial support from the Researchers Supporting Project Number (RSP2023R150), King Saud University, Riyadh, Saudi Arabia.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Attaran, M.; Woods, J. Cloud computing technology: Improving small business performance using the Internet. J. Small Bus. Entrep. 2019, 31, 495–519. [Google Scholar] [CrossRef]
  2. Malik, M.I.; Wani, S.H.; Rashid, A. Cloud computing-technologies. Int. J. Adv. Res. Comput. Sci. 2018, 9, 1–6. [Google Scholar] [CrossRef]
  3. Biswas, N.K.; Banerjee, S.; Biswas, U.; Ghosh, U. An approach towards the development of new linear regression prediction model for reduced energy consumption and SLA violation in the domain of green cloud computing. Sustain. Energy Technol. Assess. 2021, 45, 101087. [Google Scholar] [CrossRef]
  4. Krutz, R.L.; Krutz, R.L.; Russell Dean Vines, R.D.V. Cloud Security a Comprehensive Guide to Secure Cloud Computing; Wiley: Hoboken, NJ, USA, 2010. [Google Scholar]
  5. Rashid, A.; Chaturvedi, A. Cloud computing characteristics and services: A brief review. Int. J. Comput. Sci. Eng. 2019, 7, 421–426. [Google Scholar] [CrossRef]
  6. Dillon, T.; Wu, C.; Chang, E. Cloud computing: Issues and challenges. In Proceedings of the 2010 24th IEEE International Conference on Advanced Information Networking and Applications, Perth, Australia, 20–23 April 2010; IEEE: New York, NY, USA, 2010; pp. 27–33. [Google Scholar]
  7. Mustafa, S.; Nazir, B.; Hayat, A.; Madani, S.A. Resource management in cloud computing: Taxonomy, prospects, and challenges. Comput. Electr. Eng. 2015, 47, 186–203. [Google Scholar] [CrossRef]
  8. Voorsluys, W.; Broberg, J.; Buyya, R. Introduction to cloud computing. In Cloud Computing: Principles and Paradigms; Wiley: Hoboken, NJ, USA, 2011; pp. 1–41. [Google Scholar]
  9. Guan, S.; Niu, S. Stability-Based Controller Design of Cloud Control System With Uncertainties. IEEE Access 2021, 9, 29056–29070. [Google Scholar] [CrossRef]
  10. Chen, D.; Zhao, H. Data security and privacy protection issues in cloud computing. In Proceedings of the 2012 International Conference on Computer Science and Electronics Engineering, Hangzhou, China, 23–25 March 2012; IEEE: New York, NY, USA, 2012; Volume 1, pp. 647–651. [Google Scholar]
  11. Mozumder, D.P.; Mahi, J.N.; Whaiduzzaman, M.; Mahi, M.J.N. Cloud computing security breaches and threats analysis. Int. J. Sci. Eng. Res. 2017, 8, 1287–1297. [Google Scholar]
  12. Zhang, Q. An overview and analysis of hybrid encryption: The combination of symmetric encryption and asymmetric encryption. In Proceedings of the 2021 2nd International Conference on Computing and Data Science (CDS), Stanford, CA, USA, 28–29 January 2021; IEEE: New York, NY, USA, 2021; pp. 616–622. [Google Scholar]
  13. He, Y.; Zhang, Y.Q.; Wang, X.Y. A new image encryption algorithm based on two-dimensional spatiotemporal chaotic system. Neural Comput. Appl. 2020, 32, 247–260. [Google Scholar] [CrossRef]
  14. Rong, C.; Nguyen, S.T.; Jaatun, M.G. Beyond lightning: A survey on security challenges in cloud computing. Comput. Electr. Eng. 2013, 39, 47–54. [Google Scholar] [CrossRef]
  15. Modi, C.; Patel, D.; Borisaniya, B.; Patel, A.; Rajarajan, M. A survey on security issues and solutions at different layers of Cloud computing. J. Supercomput. 2013, 63, 561–592. [Google Scholar] [CrossRef]
  16. Abbas, A.; Khan, S.U. A review on the state-of-the-art privacy-preserving approaches in the e-health clouds. IEEE J. Biomed. Health Inform. 2014, 18, 1431–1441. [Google Scholar] [CrossRef] [PubMed]
  17. Xiao, Z.; Xiao, Y. Security and privacy in cloud computing. IEEE Commun. Surv. Tutor. 2012, 15, 843–859. [Google Scholar] [CrossRef]
  18. Wei, L.; Zhu, H.; Cao, Z.; Dong, X.; Jia, W.; Chen, Y.; Vasilakos, A.V. Security and privacy for storage and computation in cloud computing. Inf. Sci. 2014, 258, 371–386. [Google Scholar] [CrossRef]
  19. Roy, S.; Chatterjee, S.; Das, A.K.; Chattopadhyay, S.; Kumar, N.; Vasilakos, A.V. On the design of provably secure lightweight remote user authentication scheme for mobile cloud computing services. IEEE Access 2017, 5, 25808–25825. [Google Scholar] [CrossRef]
  20. Al Hamid, H.A.; Rahman, S.M.M.; Hossain, M.S.; Almogren, A.; Alamri, A. A security model for preserving the privacy of medical big data in a healthcare cloud using a fog computing facility with pairing-based cryptography. IEEE Access 2017, 5, 22313–22328. [Google Scholar] [CrossRef]
  21. Xu, P.; He, S.; Wang, W.; Susilo, W.; Jin, H. Lightweight searchable public-key encryption for cloud-assisted wireless sensor networks. IEEE Trans. Ind. Inform. 2017, 14, 3712–3723. [Google Scholar] [CrossRef]
  22. Sharma, N.; Sultana, H.P.; Singh, R.; Patil, S. Secure hash authentication in IoT-based applications. Procedia Comput. Sci. 2019, 165, 328–335. [Google Scholar] [CrossRef]
  23. Dworkin, M.J. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2015.
  24. Al Farawn, A.; Rjeib, H.D.; Ali, N.S.; Al-Sadawi, B. Secured e-payment system based on automated authentication data and iterated salted hash algorithm. TELKOMNIKA Telecommun. Comput. Electron. Control. 2020, 18, 538–544. [Google Scholar] [CrossRef]
  25. Ghosh, U.; Chatterjee, P.; Tosh, D.; Shetty, S.; Xiong, K.; Kamhoua, C. An SDN-based framework for guaranteeing security and performance in information-centric cloud networks. In Proceedings of the 2017 IEEE 10th International Conference on Cloud Computing (CLOUD), Honolulu, HI, USA, 25–30 June 2017; IEEE: New York, NY, USA, 2017; pp. 749–752. [Google Scholar]
  26. Makkar, A.; Ghosh, U.; Rawat, D.B.; Abawajy, J.H. FedLearnSP: Preserving privacy and security using federated learning and edge computing. IEEE Consum. Electron. Mag. 2021, 11, 21–27. [Google Scholar] [CrossRef]
  27. Gupta, S.; Garg, R.; Gupta, N.; Alnumay, W.S.; Ghosh, U.; Sharma, P.K. Energy-efficient dynamic homomorphic security scheme for fog computing in IoT networks. J. Inf. Secur. Appl. 2021, 58, 102768. [Google Scholar] [CrossRef]
  28. Sun, P. Security and privacy protection in cloud computing: Discussions and challenges. J. Netw. Comput. Appl. 2020, 160, 102642. [Google Scholar] [CrossRef]
  29. Sandhu, A.K. Big data with cloud computing: Discussions and challenges. Big Data Min. Anal. 2021, 5, 32–40. [Google Scholar] [CrossRef]
  30. Batra, I.; Verma, S.; Malik, A.; Kavita; Ghosh, U.; Rodrigues, J.J.; Nguyen, G.N.; Hosen, A.S.; Mariappan, V. Hybrid logical security framework for privacy preservation in the green internet of things. Sustainability 2020, 12, 5542. [Google Scholar] [CrossRef]
  31. Razaque, A.; Shaldanbayeva, N.; Alotaibi, B.; Alotaibi, M.; Murat, A.; Alotaibi, A. Big data handling approach for unauthorized cloud computing access. Electronics 2022, 11, 137. [Google Scholar] [CrossRef]
  32. Almiani, M.; Abughazleh, A.; Jararweh, Y.; Razaque, A. Resilient back propagation neural network security model for containerized cloud computing. Simul. Model. Pract. Theory 2022, 118, 102544. [Google Scholar] [CrossRef]
  33. Raza, M.; Iqbal, M.; Sharif, M.; Haider, W. A survey of password attacks and comparative analysis on methods for secure authentication. World Appl. Sci. J. 2012, 19, 439–444. [Google Scholar]
  34. Hankerson, D.; Menezes, A.J.; Vanstone, S. Guide to Elliptic Curve Cryptography; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
  35. The GNU Multiple Precision Arithmetic Library (GMP). Available online: http://gmplib.org (accessed on 30 September 2023).
  36. Multiprecision Integer and Rational Arithmetic C/C++ Library (MIR- ACL). Available online: http://certivox.com (accessed on 2 October 2023).
  37. The Pairing-Based Cryptography Library (PBC). Available online: http://crypto.stanford.edu/pbc/howto.html (accessed on 6 October 2023).
  38. Al Hasib, A.; Haque, A.A.M.M. A comparative study of the performance and security issues of AES and RSA cryptography. In Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology, Busan, Republic of Korea, 11–13 November 2008; IEEE: New York, NY, USA, 2008; Volume 2, pp. 505–510. [Google Scholar]
Figure 1. The proposed approach.
Figure 1. The proposed approach.
Sustainability 15 16010 g001
Figure 2. Comparison of encrypted message length for different algorithms.
Figure 2. Comparison of encrypted message length for different algorithms.
Sustainability 15 16010 g002
Figure 3. Comparison of the total time required for the encryption process on different algorithms.
Figure 3. Comparison of the total time required for the encryption process on different algorithms.
Sustainability 15 16010 g003
Figure 4. Comparison of encryption throughput for different algorithms.
Figure 4. Comparison of encryption throughput for different algorithms.
Sustainability 15 16010 g004
Figure 5. Comparison of decryption time for different algorithms.
Figure 5. Comparison of decryption time for different algorithms.
Sustainability 15 16010 g005
Figure 6. Comparison of decryption throughput for different algorithms.
Figure 6. Comparison of decryption throughput for different algorithms.
Sustainability 15 16010 g006
Table 1. Data length comparison in different intermediate steps in the proposed algorithms * .
Table 1. Data length comparison in different intermediate steps in the proposed algorithms * .
Data
Length
Padding
Size
Salt
Size
Hashed
Message
Size
Encrypted
Message
Size
201065122055
5010115122059
57010225122062
* All the measurements are in bits.
Table 2. Comparison of plain text and encrypted message length for different algorithms * .
Table 2. Comparison of plain text and encrypted message length for different algorithms * .
Data
Length
Encrypted Message Size
Proposed
Algorithm
AES
Algorithm
DES
Algorithm
2020554848
50205992190
57020628401068
* All the measurements are in bytes.
Table 3. Comparison of the total time required for the encryption process on different algorithms.
Table 3. Comparison of the total time required for the encryption process on different algorithms.
Data
Length
Total Encryption Time *
Proposed
Algorithm
AES
Algorithm
DES
Algorithm
2019611684
50202129102
570209176123
* All the measurements are in milliseconds.
Table 4. Comparison of encryption throughput for different algorithms.
Table 4. Comparison of encryption throughput for different algorithms.
Data
Length in Bites
Encryption Throughput *
Proposed
Algorithm
AES
Algorithm
DES
Algorithm
200.10200.17240.2380
500.24750.38750.4901
5702.72723.23864.6341
T H E A v g 1.02551.63942.2728
* All the measurements are in Kb/s.
Table 5. Comparison of total decryption time for different algorithms.
Table 5. Comparison of total decryption time for different algorithms.
Total Decryption Time *
Text Size * * Proposed Text Size AES Text Size DES
Algo Algo Algo
205537948324823
2059382924519042
2062386840119106896
* All the measurements are in milliseconds. ** All the measurements are in bytes.
Table 6. Comparison of total decryption throughput for different algorithms.
Table 6. Comparison of total decryption throughput for different algorithms.
Decryption Throughput
Text Proposed * Text AES Text DES
Size ** Algo Size Algo Size Algo
20555.4221481.5482.0869
20595.390922.041904.5238
20625.34198407.0588106811.0833
T H D A v g 5.3843.53295.898
* All the measurements are in milliseconds. ** All the measurements are in Kb/s.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ghosh, S.; Verma, S.K.; Ghosh, U.; Al-Numay, M. Improved End-to-End Data Security Approach for Cloud Computing. Sustainability 2023, 15, 16010. https://doi.org/10.3390/su152216010

AMA Style

Ghosh S, Verma SK, Ghosh U, Al-Numay M. Improved End-to-End Data Security Approach for Cloud Computing. Sustainability. 2023; 15(22):16010. https://doi.org/10.3390/su152216010

Chicago/Turabian Style

Ghosh, Soumalya, Shiv Kumar Verma, Uttam Ghosh, and Mohammed Al-Numay. 2023. "Improved End-to-End Data Security Approach for Cloud Computing" Sustainability 15, no. 22: 16010. https://doi.org/10.3390/su152216010

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop