I would also like to thank the entire technical IT team at UKZN, Westville campus. I would like to thank my friend who is very dear to me, Seeiso Jonas Koali. The strength of the encryption key is derived from the chaotic and random properties of the input noise.
1 Introduction
- Overview of the cloud computing paradigm
- Problem Statement
- Research questions
- Main research question
- Research objectives
- Research outputs
- Dissertation scope
- Dissertation outline
- Conclusion
A flaw in the used access control method can compromise the confidentiality of the hosted data [14]. Most security concerns center on the intentional or accidental disclosure of data hosted in the cloud. The purpose of the research is to address existing cloud security concerns.
Background: Cloud Computing and Security Challenges
Introduction
Cloud computing definition and Background
- Cloud computing definition
- Virtualization
- Cloud computing architecture
- Cloud computing services
- Cloud computing deployment models
- Public clouds
- Private clouds
- Community clouds
- Hybrid clouds
- Cloud computing model essential characteristics The following are the essential characteristics of cloud computing
Public clouds depict the basic concept of the pay-per-use model offered by the cloud computing paradigm [41]. Using this type of cloud deployment, the security configurations can be managed and controlled within the perimeters of the organizations that own the cloud. This is because hybrid cloud deployments inherit the same weaknesses as the constituent cloud deployment models, especially if public clouds form part of the hybrid.
Cloud computing security challenges
- Encryption and key Management
- Data leakages
- Partial deletions
- Data co-residency
- Loss of physical control
- Identification and authentication
- Insider threats
Some cloud data leakage threats target underlying infrastructure vulnerabilities. Given that the CSP has some control over cloud users' data, there is a need to improve methods to ensure data confidentiality. However, implementing cryptographic methods in the cloud is a major challenge given the multi-tenant and distributed nature of the cloud.
Cryptographic schemes
- Symmetric key cryptography
- Asymmetric key cryptography
Assuming that two entities (ie the sender and the receiver) want to share a plaintext file in a way that preserves the confidentiality of the plaintext file. The sender maintains a public key directory (also called public keyring), which is a list of all devices communicating with the sender. The sender selects a public key for the intended recipient of the plaintext file from the public key library.
The plaintext and the recipient's public key are used as inputs to an encryption algorithm, E, to produce the ciphertext, Y. After receiving the plaintext file, the recipient uses its private key, denoted PRr, and the ciphertext (i.e., Y) as input to the algorithm to decrypt to obtain the plaintext, i.e. Note that only the recipient's private key can decrypt the plaintext file.
Instead of encrypting with the recipient's public key, the sender encrypts the plaintext file with its private key. The receiver of the plaintext file maintains a directory of the public keys of all entities with which it communicates. The recipient decrypts the plaintext with the sender's public key because only the public key can decrypt the plaintext file.
In fact, the plaintext file can be intercepted and it can be easy for intruders to decrypt the ciphertext since the sender's public key is publicly available.
Conclusion
Literature Review
- Introduction
- Related work
- Encryption
- Key management
- Secret sharing
- Conclusion
This can also affect the confidentiality of the data if homomorphic encryption is performed by an experienced cryptanalyst. One of the most widely used schemes is identity-based encryption (IBE), which was first introduced by [84]. In addition to this, the work of [88] makes use of the Bell & Lapadula model to detect confidential data leaks on the cloud.
A key escrow attack is an interception of the key exchange protocol with the aim of gaining unauthorized access to the decryption keys. This variant of the identity-based encryption avoids the need to have a proxy certificate authority, which can compromise the confidentiality of client data. The next section discusses some of the secret sharing methods used to implement secret sharing schemes.
In terms of encryption, the confidentiality of an encrypted message is locked to rely on the secrecy of the key. Most of the existing and reviewed literature uses third-party key distribution centers (KDCs) or certificate authorities (CAs) for key management and revocations. For example, current encryption standards emphasize the key length as the strength of the cryptosystem.
This shows that the strength of the cryptosystem may not necessarily depend on the length of the encryption key.
Proposed Model
- Introduction
- System functional requirements
- Proposed model - CloudCrypt
- Key generation
- Encryption
- The Counter Propagation Neural Network (CPNN)
- Key learning
- Decryption
- Data sharing
- Secret sharing scheme
- Key share self-destruction
- Conclusion
For encryption to continue, the length of the plaintext must be equal to the length of the key. During the training process, the input vectors X and Y are used for the neural network to detect and "remember" the encryption key. Depending on the learning scheme used, the weights of the input vectors are automatically changed [117].
However, for computational purposes when computing the weights, the input binary data streams (i.e. ciphertext and key) are converted to their decimal equivalents before processing in the CPNN. The next section discusses the supervised learning process that occurs in the Grossberg layer of a CPNN. The plaintext is recovered by performing a bitwise XOR operation of the ciphertext and the key retained by the CPNN.
Based on the ciphertext samples, CPNN determines the key that was used to encrypt the data. To ensure that the correct key is maintained; a hashed key is generated. The encryption key is sent to the intended recipients as part of the key instead of the entire key.
The secret sharing scheme is part of the key management system implemented using a CPNN, discussed earlier.
Implementation and Evaluation of CloudCrypt
Introduction
Implementation
This is done to test the application and feasibility of CloudCrypt on a live cloud infrastructure. In this study, openNebula was set up in a way that allows one server and multiple client machines.
Experimental results
- Key generation
- Encryption
- Key learning
- Secret-Sharing
As shown in the screenshot above, the best fitness function, which looks like an approximation of the input random noise, is shown on the left. The strength of encryption keys depends on the distribution of random input noise. This indicates that random input will improve the strength of encryption keys.
There were four runs because the plaintext length was longer than the initial encryption key length (i.e., 56 bits). If the key length is greater than the plaintext length, the key bits are trimmed and extra bits are discarded. This is a positive result, since one of the system requirements was to develop a lightweight cryptosystem.
Once the data owner and other users have acknowledged being part of the system, the data owner can invoke the secret sharing process. The following results show the communication times (i.e. the time required to transfer each secret key share from its owner to the intended recipient). It is important to note that the key length is variable and depends on the length of the plaintext.
This was done to get a clear idea of the performance of the secret subprogram with respect to the different key sizes.
File Size vs Key shares required
As shown in Figure 5.14 above, the larger the file becomes, the more key shares are needed. Furthermore, CloudCrypt works as a one-time pad (OTP) encryption algorithm, where the key size must be equal to the length of the plaintext. The following results show the different key lengths plotted against the number of key shares needed to set up a secret sharing program.
Key length vs Number of key shares
Discussion of results
The results presented herein compare CloudCrypt with other encryption systems in the field of cryptography. In terms of computing resources such as CPU and memory, CloudCrypt also has better results compared to DES and 3-DES. CloudCrypt can be deployed on computing devices with low memory and CPU specifications, as it is designed as a client-side cryptosystem.
This attribute makes CloudCrypt ideal for deployment in a multi-user environment such as the cloud. This means that a 64-bit key is needed to have these key partitions, as illustrated in Figure 5.15. This means that a 192-bit key is needed for the secret sharing scheme to work, instead of the original 56-bit key used.
Padding is used to increase the plaintext length in binary form if the secret sharing scheme is to be used. Because the key generator concatenates initial keys to newly generated keys, the key is not padded.
Conclusion
Overall, we conclude based on the results obtained, that CloudCrypt is a lightweight and strong client-side encryption scheme. CloudCrypt's performance against existing, widely known cryptosystems makes it a better encryption scheme in terms of encryption and decryption times. Additionally, its low overall memory consumption makes it suitable for deployment on devices with low memory specifications.
The next chapter focuses on the conclusions drawn from this thesis, along with future perspectives regarding this research.
Conclusion and future work
- Introduction
- Conclusions
- Future work
CPNN is trained on ciphertext samples and the corresponding key combination. As discussed in previous chapters, key management consists of any process that deals with a key other than the encryption and decryption process itself. Although CloudCrypt handles key management processes, it places a heavy burden on the data owner.
This is because with CloudCrypt, the data owner creates groups of participants who will have access to the encrypted data. To demonstrate the proof of concept, the OpenNebula IaaS cloud was successfully set up as a testbed. This was done to test the usability and practicality of CloudCrypt on an active cloud infrastructure.
Application of CloudCrypt provides data confidentiality guarantees through a client-side encryption and key management system. With CloudCrypt, data owners have their data encrypted before it can be sent to the cloud. With all the success achieved in this research, the belief is that data confidentiality is still full of challenges and of crucial importance in the cloud, and many research problems need to be identified and investigated.
Various security issues still need to be analyzed to enforce data confidentiality guarantees.
Voas, "National Institute of Standards and Technology DRAFT Cloud Computing Synopsis and Recommendations". Grance, “NIST Definition for Cloud Computing, National Institute of Standards and Technology Recommendations,” Natl. Gajala, "Cloud Computing: A State of the Cloud", International Journal of Computer Trends and Technology, vol.
In Proceedings of the 17th International Conference on Theory and Application of Cryptographic Techniques, EUROCRYPT'99, pages 223–238, Berlin, Heidelberg, 1999. In Proceedings of the Second International Conference on Theory of Cryptography, TCC'05, pages 325–341, Berlin, Heidelberg, 2005. In Proceedings of the 3rd ACM Workshop on Cloud Computing Security, CCSW '11, New York, NY, USA, 2011.
In Proceedings of the 24th Annual International Conference on Theory and Applications of Cryptographic Techniques, EUROCRYPT'05, pages 457–473, Berlin, Heidelberg, 2005. In Proceedings of the 21st Annual International Conference on Cryptology on Advances in Cryptology, pages CRYPTO00 213 -. Sousa, “DepSky: reliable and secure cloud storage,” in Proceedings of the Sixth Conference on Computing Systems.
Krawczyk, "Secret Sharing Made Short," in Proceedings of the 13th Annual International Cryptologic Conference on Advances in Cryptology, 1993.