Cloud computing is an internet-based computing service wherein resources are shared, software and other information are provided to end subscribers for their computers and devices on-demand. It is a new phenomenon that has revolutionised the way we use internet. The computing service is provided by the datacentres to the software service providers who further provide the application service to end users through internet. The latter is called software as a service (SaaS) and the former as infrastructure as a service (IaaS).
There are several major cloud service providers such as Google, Microsoft, Amazon, Yahoo, etc. The various services they provide include storage, e-mails, etc. Cloud systems are very economical and useful for businesses of all sizes. The various advantages it provides are unlimited storage, limitless flexibility, portability and better hardware reliability. The cloud computing infrastructures use new services and technologies, some of which have not been fully evaluated with respect to security.
Cloud computing has several major security issues which need to be taken care of such as data security, performance issues, data loss/leakage, traffic hijacking, risk of malicious insiders, preserving confidentiality and integrity of data. CONFIDENTIALITY is the prevention of disclosure of personal information. Preserving confidentiality is a major issue faced by cloud systems as the information is stored at a remote location to which the service provider has full access.
INTEGRITY is preventing the improper modification of information. Just like confidentiality, preventing integrity is a major issue faced by computing systems. There are many users with varying amounts of rights in a common database setup. A user with a limited set of rights might need to access a subset of data and also want to verify that the delivered results are not poisoned or altered. ENCRYPTION is the main technique to promise data security but it also has its own disadvantages.
It greatly affects database performance as whenever a query is run a huge amount of data is decrypted and the main operation on a database is to run queries due to which excessive decryption is performed. Thus it uses considerably more computational power. Due to encryption another problem we face is KEY MANAGEMENT as the encryption keys cannot be stored on cloud and thus the users need to control a key management system for any cryptography method that is used. VIRTUAL MACHINES are used to run and store business data and applications in a cloud.
But these virtual machines usually run on a server with other virtual machines which can be malicious. If any virtual machine hosts a malicious application on a server which breaches any legal barrier, then it may lead to service provider or other legal authorities shutting down and blocking access to the entire server, which in turn affects the users of other virtual machines on the server.
Various solutions have been suggested to these issues out of which encryption of data in the cloud is primary. It helps save the confidentiality and integrity. Digital signatures can be used to maintain integrity. Two level encryption which allows key management system to be stored in cloud can be a solution. The idea of data splitting is useful and faster than encryption in which data can be split over multiple hosts that cannot communicate with each other , only the owner who can access both hosts can collect and combine separate datasets to recreate the original. A technique of splitting data which uses multiple clouds known as Multi-clouds Database Model can be brought into use to ensure data splitting in a manner to ensure availability and preserve data confidentiality. People can enjoy full benefits of cloud if we address the real security concerns that come along with storing sensitive information in databases scattered around the internet.