HYBRID CRYPTOGRAPHY IN CLOUD COMPUTING SECURITY
TABLE OF CONTENTS
Contents
2.1.1 Security Issues in Cloud Computing 5
2.2.3 Symmetric- key cryptography 9
2.2.4 Asymmetric-key cryptography 11
2.3.2 A Hybrid Cryptography Algorithm for Cloud Computing Security (Timothy & Santra, 2017) 14
2.3.5 Two-phase Hybrid Cryptography Algorithm for Wireless Sensor Networks (Rizk & Alkady, 2015) 16
2.4 Summary of Related Works 17
2.5 Summary of Related Works 19
3.1 Overview of Research Methodology 20
3.6 Document and Test the Program 30
3.7 Operate and Maintain the System 30
LIST OF FIGURES
Figure 2.1: General concept of cryptography 7
Figure 2.2: How Caesar Cipher works 8
Figure 2.3: Symmetric-key cryptography, where a single key is used for encryption and decryption 11
Figure 2.4: Hybrid Architecture for Cryptography 13
Figure 3.1: A generic software development life cycle 20
Figure 3.2: Encryption process 23
Figure 3.3: Decryption process 24
LIST OF TABLES
Table 3.1: The framework of the research methodology 21
Table 3.2: Software requirement 23
Table 3.3: Hardware requirement 24
CHAPTER 1
INTRODUCTION
1.1 Project Background
The Cloud Computing is a powerful technology which is used to manage information’s and applications on demand. Cloud computing is reliable and consistent, due to this organization do not need to build or maintain their own inhouse computer Infrastructure. It provides resources like Software, Applications and Services to their Customers. Cloud computing is cost saving technology for any type or size of business and organization, just like electricity bill they have to pay for cloud computing resources based on their consumption. Cloud computing is famous for allowing proper network access on demand to a shared tank of constructive computing resources, mainly net, server, and storage application. That can be quickly provisioned and discharged with negligible administration or service supplier. Today, most of the businessmen’s, application developers, officers and students are using cloud on a regular basis because it is easily accessible. Cloud is profitable because of its characteristics like on-demand administration, resource pooling, broad net access, rapid flexibility and the most important one is measured service in which user has to pay for services according to their service usage (just like electricity bill).
Cryptography technique translates original data into unreadable form. Cryptography technique is divided into symmetric key cryptography and public key cryptography. This technique uses keys for translate data into unreadable form. So only authorized person can access data from cloud server. Cipher text data is visible for all people. Symmetric key cryptography algorithms are AES, DES, 3DES, IDEA, BRA and blowfish. The main issue is to deliver the key to receiver into multi user application. These algorithms require low delay for data encode decode but provides low security. Public key cryptography algorithm is RSA and ECC algorithm. Public and private keys are manipulated into public key cryptography algorithms. These algorithms accomplished high level security but increase delay for data encode and decode. Steganography hide the secret data existence into envelope. In this technique existence of data is not visible to all people. Only valid receiver knows about the data existence. Text steganography technique is used to produce high security for data. Secret data of user hide into text cover file. After adding text into text cover file, it looks like normal text file. If text file found by illegitimate user, then they also cannot get the sensitive data. If illegitimate user tries to recover original data than large amount of time is essential. DES algorithm is used for text encode and decode. Advantage of text steganography technique is to provide security to text. Minimum space is essential for text steganography as compare to image steganography. (Abu Marjan, 2014)
Hybrid encryption is a mode of encryption that merges two or more encryption systems. It incorporates a combination of asymmetric and symmetric encryption to benefit from the strengths of each form of encryption. These strengths are respectively defined as speed and security. Hybrid encryption is considered a highly secure type of encryption as long as the public and private keys are fully secure. A hybrid encryption scheme is one that blends the convenience of an asymmetric encryption scheme with the effectiveness of a symmetric encryption scheme. Hybrid encryption is achieved through data transfer using unique session keys along with symmetrical encryption. Public key encryption is implemented for random symmetric key encryption. The recipient then uses the public key encryption method to decrypt the symmetric key. Once the symmetric key is recovered, it is then used to decrypt the message.
1.2 Problem Statement
Though cloud has many advantages, it has some disadvantages as well, and one of them is security issue. Cloud computing has a number of security issues such as data access control, identity management, risk management, auditing and logging, integrity control, infrastructure and dependent risks. If any organization is using cloud computing, they should provide their important data to service provider. The possibility of sensitive information going to wrong hand is increasing due to cloud services being easily accessible and available for all. The organizations cannot take risks with their sensitive information.
In existing system, single algorithm is used for data encode and decode purpose. But use of single algorithm is not accomplish high level security. If we use single symmetric key cryptography algorithm, then we have to face security problem because in this type of algorithm applies a single key for data encode and decode. So key transmission problem occurs while sharing key into multiuser environment. Public key cryptography algorithms accomplish high security, but maximum delay is needed for data encode and decode. Hence, there is a need to resolve the security issue of cloud computing.
Secure data transmissions prevent contact lists and personal e-mail from being read by someone other than the intended recipient, keep firmware upgrades out of devices they don’t belong in and verify that the sender of a piece of information is who he says he is. The sensibility of data security is even mandated by law in certain applications: in the U.S., electronic devices cannot exchange personal medical data without encrypting it first and electronic engine controllers must not permit tampering with the data tables used to control engine emissions and performance.
1.3 Research Objective
The objective of this project is as follow:
- To find encryption algorithms that could provide better security compared to existing hybrid cryptography encryption algorithm.
- To improvise proposed hybrid cryptography encryption algorithm.
- To evaluate the effectiveness of the algorithm in term of security, integrity and confidentiality of the data.
1.4 Project Scope
The scope of this project is to ensure the objectives are accomplished. The scope of this project is based on below:
- In this project, I am focusing at the Platform-as-a-Service (PaaS) layer in cloud computing which is the middle layer.
- This project focusing on network security in cloud computing.
- I will combine 3DES together with Blowfish and RSA that have been proposed by Divya Prathana Timothy and Ajit Kumar Santra.
- Software requirements for this project are Windows 7 and above, SQL Server 2008 and Visual Studio 2010.
- Hardware requirements for this project are processor (Core i3), hard disk (160 GB), memory (2GB) and internet connection.
1.5 Project Significance
Generally, this project will benefit all cloud user that keep their sensitive data on the cloud. As security has been the biggest concern in cloud computing, this improvised algorithm will tighten the security of the cloud while consume less time in encoding and decoding the data. Cloud user do not need to worry anymore about their data being hacked or stole by unauthorised user.
1.6 Conclusion
In this chapter, it justified that the creation of improvised hybrid cryptography algorithm for cloud computing which will help to tighten the security of the cloud and attract more people to use cloud to store their data and information.
CHAPTER 2
LITERATURE REVIEW
2.1 Cloud Computing
From the article, it is said that as a metaphor for the Internet, “the cloud” is a familiar cliché, but when joined with “computing,” the meaning gets bigger and fuzzier. Some analysts and vendors define cloud computing closely as an updated version of utility computing. Basically, virtual servers available over the Internet. Others go very broad, arguing anything you consume outside the firewall is “in the cloud,” including conventional outsourcing.
Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT existing capabilities.
Cloud computing is at an early stage, with a motley crew of providers large and small delivering a slew of cloud-based services, from full-blown applications to storage services to spam filtering. Yes, utility-style infrastructure providers are part of the mix, but so are SaaS (software as a service) providers such as Salesforce.com. Today, for the most part, IT must plug into cloud-based services individually, but cloud computing aggregators and integrators are already emerging (Knorr & Gruman, 2008).
2.1.1 Security Issues in Cloud Computing
As cloud computing is becoming more popular, people are concerns about the security issues introduced through the adoption of this new model. The effectiveness and efficiency of traditional protection mechanisms are being reconsidered, as the characteristics of this innovative deployment model, differ widely from them of traditional architectures (Zissis & Lekkas, 2010; Timothy & Santra, 2017).
Despite the potential benefits and revenues that could be realized from the cloud computing model, the model still has a lot of open issues that impact the cloud computing model credibility and pervasiveness. Some of the issues are cloud security, vendor lock-in, multi-tenancy, secure data management, service portability and SLA management. These are some of the well know open research problems for the cloud computing model. From the cloud provider and more so from consumers’ perspective, security is a major concern that hampers the adoption of the cloud computing model (Catteddu & Hogben) because of the following reasons, which are loss of control (Sen & Tiwari, 2017) – outsource security management to a third party without knowledge of where the data is stored and who has access to it, multi-tenancy (Velte, Toby J. Velte, & Elsenpeter, 2010), (Sosinsky, 2011), (Chong, Carraro, & Wolter, 2016 ) – co residency of different tenants in the same logical and/or physical medium and SLA (Amazon, 2018) – without the right expectations at service level agreement, data is at risk of being unavailable when needed the most.
In a conference proceeding written by (Kaur & Kaur, 2015), it is stated that cloud computing infrastructure use latest technology and services, most which have not been fully evaluated with respect to security. Customers who are sharing the same infected cloud may get affected. Some of the security issues that were stated in the conference proceeding are data access control, data integrity, data loss, data theft, privacy issues, user level issues and security issue in provider level.
2.2 History of Cryptography
Some techniques are required for the application of security goals. The two most dominant techniques used today are cryptography and steganography (Forouzan & A, 2011) (H.Abood, 2017). Two Greek words ‘Kryptos’ meaning ‘secret’ and ‘Graphein’ meaning ‘writing’ derive the word ‘Cryptography’. Therefore, Cryptography means ‘secret writing’, a science of transforming a message into an unintelligible form (Biswas, Gupta, & Haque, 2019). The unencrypted message is called ‘plain text’ and after encryption, it is converted into an unintelligible form which is called ‘cipher text’ (Devi, 2013). The cipher text is then sent over an insecure channel with the presence of a third party called adversary or intruder and at the receiving end after decrypting the cipher text again the plain text is found. Figure 2.1 illustrates the general concept of cryptography using a block diagram.
Figure 2.1: General concept of cryptography
Before the modern era, cryptography focused on message confidentiality (i.e., encryption)—conversion of messages from a comprehensible form into an incomprehensible one and back again at the other end, rendering it unreadable by interceptors or eavesdroppers without secret knowledge (namely the key needed for decryption of that message). Encryption attempted to ensure secrecy in communications, such as those of spies, military leaders, and diplomats. In recent decades, the field has expanded beyond confidentiality concerns to include techniques for message integrity checking, sender/receiver identity authentication, digital signatures, interactive proofs and secure computation, among others.
2.2.1 Classic Cryptography
The main classical cipher types are transposition ciphers, which rearrange the order of letters in a message (e.g., ‘hello world’ becomes ‘ehlol owrdl’ in a trivially simple rearrangement scheme), and substitution ciphers, which systematically replace letters or groups of letters with other letters or groups of letters (e.g., ‘fly at once’ becomes ‘gmz bu podf’ by replacing each letter with the one following it in the Latin alphabet). Simple versions of either have never offered much confidentiality from enterprising opponents. An early substitution cipher was the Caesar cipher, in which each letter in the plaintext was replaced by a letter some fixed number of positions further down the alphabet. Suetonius reports that Julius Caesar used it with a shift of three to communicate with his generals. Atbash is an example of an early Hebrew cipher. The earliest known use of cryptography is some carved ciphertext on stone in Egypt (ca 1900 BCE), but this may have been done for the amusement of literate observers rather than as a way of concealing information. Figure 2.2 below illustrate how Caesar Cipher works in a diagram.
Figure 2.2: How Caesar Cipher works
2.2.2 Modern Cryptography
Encryption in modern times is achieved by using algorithms that have a key to encrypt and decrypt information. These keys convert the messages and data into “digital gibberish” through encryption and then return them to the original form through decryption. In general, the longer the key is, the more difficult it is to crack the code. This holds true because deciphering an encrypted message by brute force would require the attacker to try every possible key. To put this in context, each binary unit of information, or bit, has a value of 0 or 1. An 8-bit key would then have 256 or 2^8 possible keys. A 56-bit key would have 2^56, or 72 quadrillion, possible keys to try and decipher the message. With modern technology, cyphers using keys with these lengths are becoming easier to decipher. DES, an early US Government approved cypher, has an effective key length of 56 bits, and test messages using that cypher have been broken by brute force key search. However, as technology advances, so does the quality of encryption. Since World War II, one of the most notable advances in the study of cryptography is the introduction of the asymmetric key cyphers (sometimes termed public-key cyphers). These are algorithms which use two mathematically related keys for encryption of the same message. Some of these algorithms permit publication of one of the keys, due to it being extremely difficult to determine one key simply from knowledge of the other (Froomkin, 1998).
Beginning around 1990, the use of the Internet for commercial purposes and the introduction of commercial transactions over the Internet called for a widespread standard for encryption. Before the introduction of the Advanced Encryption Standard (AES), information sent over the Internet, such as financial data, was encrypted if at all, most commonly using the Data Encryption Standard (DES). This had been approved by NBS (a US Government agency) for its security, after public call for, and a competition among, candidates for such a cypher algorithm. DES was approved for a short period but saw extended use due to complex wrangles over the use by the public of high-quality encryption. DES was finally replaced by the AES after another public competition organized by the NBS successor agency, NIST. Around the late 1990s to early 2000s, the use of public-key algorithms became a more common approach for encryption, and soon a hybrid of the two schemes became the most accepted way for e-commerce operations to proceed. Additionally, the creation of a new protocol known as the Secure Socket Layer, or SSL, led the way for online transactions to take place. Transactions ranging from purchasing goods to online bill pay and banking used SSL. Furthermore, as wireless Internet connections became more common among households, the need for encryption grew, as a level of security was needed in these everyday situations (Lee, 2013).
2.2.3 Symmetric- key cryptography
Symmetric-key cryptography refers to encryption methods in which both the sender and receiver share the same key (or, less commonly, in which their keys are different, but related in an easily computable way). This was the only kind of encryption publicly known until June 1976 (Diffie & Hellman, New directions in cryptography, Nov 1976). Symmetric key ciphers are implemented as either block ciphers or stream ciphers. A block cipher enciphers input in blocks of plaintext as opposed to individual characters, the input form used by a stream cipher.
The Data Encryption Standard (DES) and the Advanced Encryption Standard (AES) are block cipher designs that have been designated cryptography standards by the US government (though DES’s designation was finally withdrawn after the AES was adopted) (National Institute of Standards and Technology, 2015). Despite its deprecation as an official standard, DES (especially its still-approved and much more secure triple-DES variant) remains quite popular; it is used across a wide range of applications, from ATM encryption to e-mail privacy (Callas, Donnerhacke, Finney, & Thayer, 1998) and secure remote access (Golen, 2002). Many other block ciphers have been designed and released, with considerable variation in quality. Many, even some designed by capable practitioners, have been thoroughly broken, such as FEAL (Menezes, van Oorschot, & Vanstone, 1997) (Schneier, 1996).
Stream ciphers, in contrast to the ‘block’ type, create an arbitrarily long stream of key material, which is combined with the plaintext bit-by-bit or character-by-character, somewhat like the one-time pad. In a stream cipher, the output stream is created based on a hidden internal state that changes as the cipher operates. That internal state is initially set up using the secret key material. RC4 is a widely used stream cipher; see Category: Stream ciphers (Menezes, van Oorschot, & Vanstone, 1997). Block ciphers can be used as stream ciphers; see Block cipher modes of operation.
Cryptographic hash functions are a third type of cryptographic algorithm. They take a message of any length as input, and output a short, fixed length hash, which can be used in (for example) a digital signature. For good hash functions, an attacker cannot find two messages that produce the same hash. MD4 is a long-used hash function that is now broken; MD5, a strengthened variant of MD4, is also widely used but broken in practice. The US National Security Agency developed the Secure Hash Algorithm series of MD5-like hash functions: SHA-0 was a flawed algorithm that the agency withdrew; SHA-1 is widely deployed and more secure than MD5, but cryptanalysts have identified attacks against it; the SHA-2 family improves on SHA-1, but is vulnerable to clashes as of 2011; and the US standards authority thought it “prudent” from a security perspective to develop a new standard to “significantly improve the robustness of NIST’s overall hash algorithm toolkit.” (Federal Register, 2008) Thus, a hash function design competition was meant to select a new U.S. national standard, to be called SHA-3, by 2012. The competition ended on October 2, 2012 when the NIST announced that Keccak would be the new SHA-3 hash algorithm ( National Institute of Standards and Technology, 2012). Unlike block and stream ciphers that are invertible, cryptographic hash functions produce a hashed output that cannot be used to retrieve the original input data. Cryptographic hash functions are used to verify the authenticity of data retrieved from an untrusted source or to add a layer of security.
Message authentication codes (MACs) are much like cryptographic hash functions, except that a secret key can be used to authenticate the hash value upon receipt; (Menezes, van Oorschot, & Vanstone, 1997) this additional complication blocks an attack scheme against bare digest algorithms, and so has been thought worth the effort. Below, figure 2.3 simplified and shows how a single key is used for both encryption and decryption in symmetric-key cryptography.
Figure 2.3: Symmetric-key cryptography, where a single key is used for encryption and decryption
2.2.4 Asymmetric-key cryptography
The asymmetric key cryptography is known as public key cryptography. In the article, it says that in this technique, a public key of the receiver is used by the sender for encryption and private key of the receiver’s is used to decrypt the message. The concept of self-certification is absent here instead digital signatures are used to certify the keys. This method is more helpful and gives better authentication as the privacy remains untouched. There are various algorithms to apply this encryption mechanism. These are RSA, Diffie-Hellman, ECC and Digital Signature Algorithm. (Chandra, Paira, Alam, & Sanyal, 2014)
In a ground breaking 1976 paper, Whitfield Diffie and Martin Hellman proposed the notion of public-key (asymmetric key) cryptography in which two different but mathematically related keys are used—a public key and a private key (Diffie & Hellman, Multiuser cryptographic techniques, 1976). A public key system is so constructed that calculation of one key (the ‘private key’) is computationally infeasible from the other (the ‘public key’), even though they are necessarily related. Instead, both keys are generated secretly, as an interrelated pair. Historian David Kahn described public-key cryptography as “the most revolutionary new concept in the field since polyalphabetic substitution emerged in the Renaissance” (Kahn, 1979).
In public-key cryptosystems, the public key may be freely distributed, while its paired private key must remain secret. In a public-key encryption system, the public key is used for encryption, while the private or secret key is used for decryption. While Diffie and Hellman could not find such a system, they showed that public-key cryptography was indeed possible by presenting the Diffie–Hellman key exchange protocol, a solution that is now widely used in secure communications to allow two parties to secretly agree on a shared encryption key (Diffie & Hellman, New directions in cryptography, Nov 1976). The X.509 standard defines the most commonly used format for public key certificates (Schatten, 2019).
2.2.5 Hybrid Cryptography
In the article, it was stated that it is desired to communicate data with high security. At present, various types of cryptographic algorithms provide high security to information on controlled networks. These algorithms are required to provide data security and users authenticity. This new security protocol has been designed for better security using a combination of both symmetric and asymmetric cryptographic techniques.
Figure 2.4: Hybrid Architecture for Cryptography
As shown in the figure 2.4, to achieve both the Confidentiality and Integrity, the Symmetric Key Cryptographic Techniques such as Elliptic Curve Cryptography, and MD5 are used. The Asymmetric Key Cryptography technique, Dual RSA used for Authentication. The above discussed three primitives can be accomplished with the help of this Security Protocol Architecture. The architecture is as shown in the Figure 4 (Dubal, R, & Ghosh, 2011).
2.3 Related Works
2.3.1 An Efficient Algorithm for Confidentiality, Integrity and Authentication Using Hybrid Cryptography and Steganography (Biswas, Gupta, & Haque, 2019)
In this paper, they were at first apply both the hybrid cryptography and steganography to create the stego image at the sender side. Then, the complete message is extracted from the stego image are decrypted at the receiving end. They used AES to encrypt the message. The security level is increased because the symmetric key used for message encryption has also been encrypted using the public key of RSA. Then, to produce the digital signature, a hash value of the message is generated that is encrypted again with the help of the public key of RSA. This way, it can check the message integrity at the receiving end. All the encrypted files have been combined and a complete message is formed. This complete message has been embedded using the steganography technique, LSB. The histograms for both the cover image and stego image are displayed and are almost the same. This proof the resistivity of the proposed system against attack has been ensured. Thus, this algorithm provides confidentiality, integrity and authentication together.
2.3.2 A Hybrid Cryptography Algorithm for Cloud Computing Security (Timothy & Santra, 2017)
In this paper, the new hybrid cryptography method includes the combination of both symmetric and asymmetric algorithm which are Blowfish, RSA and SHA-2 algorithms. Blowfish algorithm is responsible for encryption of data, which is selected by the user while RSA is used as the secret key. RSA algorithm uses different key for encryption and decryption. During encryption process, signature generation phase provides the message authentication with the help of Digital signature using SHA-2. For secure data transmissions and authorization, digital signature us used. Digital signature assures that the data is authorized by authenticated person during data transmission. On message digest, private key is used for digital signature. Message digest is produced by applying Secure Hash Algorithm-2 (SHA-2) on encrypted user data. Next, during the decryption process, RSA decryption algorithm decrypts the encrypted key to help gets the original data. Then, with the help of decrypted key, blowfish algorithm decrypts the encrypted data. In signature verification phase, message digest is generated using SHA-2 to verify the signature.
2.3.3 Enhancing the Data Security in Cloud by Implementing Hybrid (RSA & AES) Encryption Algorithm (Mahalle & Shahade, 2014)
In this paper, the proposed hybrid encryption algorithm is using RSA and AES algorithms for providing data security to the user in the Cloud. The biggest advantage provided from this hybrid encryption is that the keys are generated on the basis of system time and so no intruder can even guess them there by giving it increased security along with convenience. User’s private data is not accessible to anyone not even the Cloud’s Administrator as the Private Key and Secret Key is only known to the user. The main purpose behind using RSA and AES encryption algorithm is that it provides three keys which are public key for encryption, and private key and secret key for decryption. The data after uploading is stored in an encryption form and can only be decrypted by the private key and the secret key of the user. Therefore, the data is very secure on the cloud.
2.3.4 Secure File storage in Cloud Computing using Hybrid Cryptography Algorithm (Maitri & Verma, 2016)
In this project, cloud storage issues are solved using cryptography and steganography techniques. By using AES, RC6, Blowfish and BRA algorithms, block wise data security is achieved. Key information security is accomplished using LSB technique. Data integrity is accomplished using SHA-1 hash algorithm. Low delay parameter is achieved using multithreading technique. With the help of proposed security mechanism data integrity, high security, low delay, authentication and confidentiality parameters are accomplished. Using proposed text file encryption need 17% to 20% less time as compare to AES algorithm. For AES text decryption needs 15% to 17% maximum time as compare to proposed system. In Blowfish for encryption need 12% to 15% maximum time as compare to proposed hybrid algorithm. Text file decryption using hybrid algorithm need 10% to 12% less time with respect to Blowfish algorithm.
2.3.5 Two-phase Hybrid Cryptography Algorithm for Wireless Sensor Networks (Rizk & Alkady, 2015)
In this paper, a robust hybrid security algorithm for WSNs is proposed. The purpose of this design is to solve several problems such as practical implementation, short response time, efficient computation and the strength of cryptosystem. The proposed THCA tries to trap the intruder by splitting the plain text and then applies two different techniques. First, it takes the advantages of the combination of both symmetric and asymmetric cryptographic techniques using both AES and ECC algorithms. Second, since XOR-DUAL RSA is more robust and cannot be easily attacked is used. In addition, hashing is also used for data integrity using MD5 to be ensured that the original text is not being altered in the communication medium. The performance of THCA is compared with other existing security algorithms. THCA offers better security for a shorter encryption and decryption time and smallest cipher text size. Thereby, it decreases the processing overhead and achieves lower energy consumption that is appropriate for all WSN applications. The proposed THCA is implemented in the case of image encryption. It is shown that it is robust against different types of attacks.
2.4 Summary of Related Works
Title/ Author | Hybrid Encryption Used | Algorithms Used | Strength |
An Efficient Algorithm for Confidentiality, Integrity and Authentication Using Hybrid Cryptography and Steganography (Biswas, Gupta, & Haque, 2019) | · Cryptography · Steganography | · AES · RSA | · Security level increased · Resistivity of the proposed system against attack has been ensured · Provides confidentiality, integrity and authentication together |
A Hybrid Cryptography Algorithm for Cloud Computing Security (Timothy & Santra, 2017) | · Cryptography | · Blowfish · RSA · SHA-2 | · Difficulty level is increased for unauthorized person or hacker to decrypt the encrypted data · Provides efficiency and high security on data transmission |
Enhancing the Data Security in Cloud by Implementing Hybrid (RSA & AES) Encryption Algorithm (Mahalle & Shahade, 2014) | · Cryptography | · RSA · AES | · Data on cloud is very secure |
Secure File storage in Cloud Computing using Hybrid Cryptography Algorithm (Maitri & Verma, 2016) | · Cryptography · Steganography | · AES · RC6 · Blowfish · BRA | · Low delay parameter · High security · Provides data integrity, authentication and confidentiality |
Two-phase Hybrid Cryptography Algorithm for Wireless Sensor Networks (Rizk & Alkady, 2015) | · Cryptography | · AES · ECC · XOR-DUAL RSA · MD5
| · Provides data integrity · Offer better security for a shorter encryption and decryption time and smallest cipher text size · Robust against different types of attack |
2.5 Summary of Related Works
In conclusion, the hybrid cryptography algorithm encryption has been widely used on various platform such as cloud computing and wireless sensor network. In addition, each hybrid algorithms provides many benefits to the users in terms of security, integrity and confidentiality. Therefore, users will not have to worry when they use the networks because it has been implemented with hybrid encryption.
CHAPTER 3
METHODOLOGY
In this chapter it will be consist of Overview of the Methodology, Research Framework and explanation of each phase in the Research Framework, Gantt chart and lastly is the list of hardware and software requirement and their functionalities.
3.1 Overview of Research Methodology
The research methodology will explain about the methods that has been used to conduct this project. There will be 5 phases to develop this project as shown in the Table 3.1. This table contain the activities that will be conducted during the phases and the deliverable activities that has been conducted.
3.2 Research Framework
Figure 3.1: A generic software development life cycle
The research framework that been used to develop this project is based on figure 3.1. It shows 5 phases which include analysis, design the program, implementation, document and test the program and operate and maintain the system.
Table 3.1: The framework of the research methodology
Phase | Activities | Deliverables |
1. Analysis | · Gathering information on related work from the information on research paper, journal, article and website · Identify the problem statement based on current issues · Identify the objective and that are reasonable to develop the algorithm · Identify the scope and limitation of the project · Identify the significance based on problem statement | · Gathering information about cloud computing and hybrid cryptography encryption · List of problem statement · List the project objective · List the scope and limitation · List the significance of the project
|
2. Design the program | · Identify the hardware and software components required · Design the flowchart of the program · Design the case diagram · Identify the programming language and the text editor to be used in the project development | · List the hardware and software that are required for this project · Determine the algorithms that will be used · Elaboration on literature review · Create a design that satisfies the requirements in analysis phase |
3. Implementation | · Translate the algorithm into programming language · Write the coding on coding software | · A complete algorithm that can be implemented |
4. Document and test the program | · Document the program flow to keep track of the process · Test the programme code to find any error or bugs | · Test the public key to encrypt the data · Test the private key to decrypt the data · Test the time consumption to encrypt and decrypt the data · Test the level of security against attacks |
5. Operate and maintain the system | · Record all the data and document the result in the form of report that are going to be used as an official report for the project | · Submission of the final year project report |
The Table 3.1 shows the phase that are involved for development of the project in details. Every phase has been arranged in order from what should be done first and the last things that have to do. Each of the phases has its own functionalities.
3.3 Analysis
Analysis is the initial process in developing a system that involves an information gathering process. This very first stage is crucial, as it will give a better understanding on the project. More than twenty journal and past researches about the related works to develop a secure cloud computing environment based on hybrid encryption. Information on these researches was collected from articles, conference, journal article and other trusted resources. The main objective of collecting this related work and information is to find the comparison and get the best solution. Therefore, the best algorithm and software that are going to be used can be identified to create a better algorithm compared to the existing one. This phase also focused on the project background, the problem statement on current issues, objectives and the scope of the project. Below, both figure 3.2 and 3.3 shows the encryption and decryption process based on the proposed algorithm by (Timothy & Santra, 2017). These process is being analysed to compare and create an improvised algorithm.
Figure 3.2: Encryption process
Figure 3.3: Decryption process
3.4 Design the program
The second phase is the to design the programme and determine the hardware and software requirements for the development process of this project. Within this process, the design of the encryption and decryption process will be provided to illustrate how the propose algorithm work.
To create an algorithm that work on hybrid cryptography encryption, this project will use Visual Studio 2019 that provides feature to create, test, debug and store coding of the proposed algorithm. Visual Studio can be run on Windows, Linux or any Operation System which make it more reliable, better performance and easy to use. The requirement hardware for this project are laptop with processor of i5, hard disk (160 GB), memory (2 GB) and internet connection.
3.4.1 Software Requirement
In order to develop a better and efficient algorithm, it is required to have a suitable software to ensure the process flow is smooth and according to plan. The table 3.2 shows the list of applications that will be used for programming the encryption and decryption key. There are also a few other applications that are required for the project development.
Table 3.2: Software requirement
Description | Software | Function/ Features |
Operating System | Windows 10 | Support software applications that need to be run in order to develop the project. |
Programming Language | JavaScript | Create programme code of the encryption and decryption process. |
Application | SQL Server 2008 | Storing and retrieving data as requested by Visual Studio. |
Visual Studio 2019 | Used to write and save all the programming work for the encryption and decryption process of the proposed algorithm. | |
Google Cloud | Where the proposed algorithm will be applied, and user will transfer their data |
3.4.2 Hardware Requirement
In order to develop the new hybrid cryptography encryption algorithm, hardware such as laptop or pc are required for the programming and testing purposes. The list of hardware used are shown in table 3.3 below.
Table 3.3: Hardware requirement
Hardware | Specification |
Laptop | With processor of Core i5 |
Hard disk | 160 GB |
Memory | 2 GB |
Internet connection | To connect to the cloud |
3.4.3 Flowchart
Flowchart is an important tool for the improvement of processes. By providing a graphical representation, it helps to identify the different elements of a process and understand the interrelationships among the various steps. In this project, there is only one flowchart involved which is how the encryption and decryption process works.
START |
User upload data that they want to send |
Generate a symmetric key |
Encrypt the data using the secret symmetric key |
A |
Send the encrypted symmetric key to the receiver |
The public key of the receiver is being shared with the user (sender) |
Encrypt the symmetric key using the public key of the receiver |
Send the encrypted message text |
A |
B |
The receiver decrypts the encrypted symmetric key using her private key and gets the symmetric key needed for decryption |
The receiver uses the decrypted symmetric key to decrypt the message |
Receiver received the original message |
End |
B |
3.5 Implementation
In the third phase, the proposed algorithm for both encryption and decryption process are translated into JavaScript programming language using the Visual Studio software application. This process will be the longest phase because along the way, we will debug and find error of the coding. Finally, after a flawless coding is written, it is applied on the cloud at both end of the receiver and sender.
3.6 Document and Test the Program
After implementation phase has been completed comes document and program testing where the system will undergo a few functionality tests. This phase is crucial to make sure the algorithm is working properly and no system failure in either hardware, software or cloud. In this phase, it will evaluate the system in the term of security, integrity and confidentiality between the cloud and user. If failure error is detected or data can be easily altered, the analysis design coding to be review again to eliminate the error.
Here are tests that are going to be carried out to determine the functionality of the project:
- Test whether the data is encrypted into string that cannot be understand at all using the public key of receiver.
- Test whether the encrypted can be decrypted using the private of the receiver.
- Test the algorithm if it is resistant against different attacks.
- Test the consumption time for the keys to encrypt and the decrypt the data.
- Test the security level if either hacker can hack the data easily or not.
3.7 Operate and Maintain the System
The last phase is to operate and maintain the system. Once the cloud has been rolled out and any necessary user training has been completed, it will be necessary to monitor the performance of the system over time to ensure that it is behaving as expected. The system will need to be maintained, and parts of it such as coding will need to be updated from time to time because soon or later hacker will find a way to break the code.
In the documentation procedure, all of the data and result from the project will be documented and presented as final year project report. All result from the project will be compared with the objective of the project in order to evaluate either the objective have been accomplished or not. In the final report, it will be elaborate and explain all the detail that have relation to project that are from analysis, design, implementation and result testing.
3.8 Summary
In conclusion, there are five crucial steps that need to be followed in development process of hybrid cryptography encryption algorithm which are including analysis, design the program, implementation, document and test the program and operate and maintain the system. these steps need to be followed in order to satisfy the objective and scope of the project.
REFERENCES
National Institute of Standards and Technology. (02 October, 2012). NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition.
Abu Marjan, P. U. (October, 2014). Developing Efficient Solution to Information Hiding Through Text Steganography Along with Cryptography. IEEE IFOST, 14 – 17.
Amazon. (2018). Amazon EC2 SLA. Retrieved from Amazon Web Services: http://aws.amazon.com/ec2-sla/
Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., . . . Zaharia, M. (2010). A View of Cloud Computing. In Communications of The ACM. Association for Computing Machinery.
Biswas, C., Gupta, U. D., & Haque, M. M. (2019). An Efficient Algorithm for Confidentiality Integrity and Authentication Using Hybrid Cryptography and Steganography. 2019 International Conference on Electrical, Computer and Communication Engineering (ECCE). IEEE.
Callas, J., Donnerhacke, L., Finney, H., & Thayer, R. (1998). OpenPGP Message Format.
Catteddu, D., & Hogben, G. (n.d.). Cloud Computing: Benefits, risks and recommendations for information security. ENISA.
Chandra, S., Paira, S., Alam, S. S., & Sanyal, D. G. (2014). A comparative survey of symmetric and asymmetric key. 2014 International Conference on Electronics, Communication and Computational Engineering (ICECCE), 83-93.
Chong, F., Carraro, G., & Wolter, R. (2016 ). Multi‐Tenant Data Architecture.
Cocks, C. (1973). A NOTE ON ‘NON-SECRET ENCRYPTION’. CESG Research Report.
Dent, A. W. (2005). Hybrid Cryptography.
Devi, T. R. (2013). Importance of Cryptography in Network Security. 2013 International Conference on Communication Systems and Network Technologies. Gwalior, India: IEEE.
Diffie, W., & Hellman, M. E. (1976). Multiuser cryptographic techniques. AFIPS ’76 Proceedings of the June 7-10, 1976, national computer conference and exposition, 109-112.
Diffie, W., & Hellman, M. E. (Nov 1976). New directions in cryptography. IEEE.
Dubal, M. J., R, M. T., & Ghosh, P. A. (2011). DESIGN OF NEW SECURITY ALGORITHM. 99-101.
Federal Register. (2008). Notices.
Forouzan, & A, B. (2011). Cryptography and Network Security. Tata Mcgraw Hill Education.
Froomkin, D. (8 May, 1998). Deciphering Encryption. Retrieved from Washington Post: https://www.washingtonpost.com/wp-srv/politics/special/encryption/encryption.htm
Golen, P. (19 July, 2002). SSH. Retrieved from TechGenix: http://techgenix.com/SSH/
H.Abood, M. (2017). An Efficient Image Cryptography Using Hash-LSB Steganogrpahy with RC4 and Pixel Shuffling Encryption Algorithms. Annual Conference on New Trends in Information & Communications. Baghdad.
International Organization for Standardization. (2003). Encryption Algorithms — Part 1: General. In Information technology — Security techniques. International Organization for Standardization.
Kahn, D. (1979). Cryptology Goes Public. Foreign Affairs, 141-159.
Kaur, R., & Kaur, J. (2015). Cloud computing security issues and its solution: A review. 2015 2nd International Conference on Computing for Sustainable Global Development (INDIACom) (p. 3). New Delhi: IEEE.
Knorr, E., & Gruman, G. (2008). What Cloud Computing Really Means.
Lee, T. (18 September, 2013). aip.org. Retrieved from American Institute of Physics: https://www.yumpu.com/en/document/read/4375760/cryptography-and-the-new-economy-american-institute-of-physics
Mahalle, V. S., & Shahade, A. K. (2014). Enhancing The Data Security in Cloud by Implementing Hybrid (RSA & AES) Encryption Algorithm. INPAC-2014, At Government College of Engineering, Amravati. ResearchGate.
Maitri, P. V., & Verma, A. (2016). Secure File storage in Cloud Computing using Hybrid Cryptography Algorithm. IEEE WiSPNET 2016 conference (pp. 1635-1638). IEEE.
Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing.
Menezes, A., van Oorschot, P., & Vanstone, S. (1997). Handbook of Applied Cryptography. Boca Raton : CRC Press.
National Institute of Standards and Technology. (2015). “FIPS PUB 197: The official Advanced Encryption Standard”.
Rivest, R., Shamir, A., & Adleman, L. (1978). A Method for Obtaining Digital. 120–126.
Rizk, R., & Alkady, Y. (2015). Two-phase Hybrid Cryptography Algorithm for Wireless Sensor Network. Journal of Electrical Systems and Information Technology 2, 296–313.
Schatten, J. (21 February, 2019). Using Client-Certificate based authentication with NGINX on Ubuntu. Retrieved from SSLTrust: https://www.ssltrust.com.au/help/setup-guides/client-certificate-authentication
Schneier, B. (1996). Applied Cryptography (2nd ed.). John Wiley & Sons, Inc.
Sen, A. K., & Tiwari, P. K. (2017). Security Issues and Solutions in Cloud Computing. 67-72.
Singh, S. (1999). The code book : the evolution of secrecy from Mary, Queen of Scots, to quantum cryptography. New York : Doubleday.
Sosinsky, B. (2011). Cloud Computing. Wiley Publishing, Inc.
Timothy, D. P., & Santra, A. K. (2017). A Hybrid Cryptography Algorithm for Cloud Computing Security. 2017 International conference on Microelectronic Devices, Circuits and Systems (ICMDCS). IEEE.
Velte, A. T., Toby J. Velte, P., & Elsenpeter, R. (2010). Cloud Computing – Practical Approach. The McGraw-Hill Companies.
WAYNER, P. (24 December, 1997). British Document Outlines Early Encryption Discovery. Retrieved from The New York Times: https://archive.nytimes.com/www.nytimes.com/library/cyber/week/122497encrypt.html
Zissis, D., & Lekkas, D. (2010). Addressing cloud computing security issues. Future Generation Computer Systems, 583-592.