Introduction to Cloud Computing
Computing Technology History
Computing has evolved through several major revolutions over the decades:
- Personal Computing (1985-1995): Isolated personal computers with limited storage (e.g., 5MB to 20MB hard drives, floppy disks) and no network connectivity [1-4].
- Network Computing (1995-2005): Computers connected via the Internet through cables, allowing for web browsing and email [1, 2, 4].
- Mobile Computing (2005-2015): The rise of mobile devices connected via Wi-Fi and 3G/4G, greatly improving mobility but facing limits in local computing and storage resources [1, 2, 5, 6].
- Cloud Computing (2015-2025): Storing data and applications on remote servers and accessing them via the Internet, removing the need to save or install them on local devices [1, 3, 6-8].
Pros and Cons of Cloud Computing
Advantages: Lower computer and software costs, unlimited storage capacity, easier group collaboration, device independence, and instant software updates [7, 9-11]. Disadvantages: Requires a constant and reasonably fast internet connection, potential security and privacy risks, and the possibility of stored data getting lost [7, 11].
Essential Characteristics
Cloud computing possesses five essential characteristics:
- On-demand self-service [12, 13].
- Broad network access [12, 13].
- Resource pooling [12, 13].
- Rapid elasticity [12, 13].
- Measured service [12, 13].
Cloud Computing Models
Service Models
Cloud service models define how clients utilize cloud resources [14]:
- SaaS (Software as a Service): Users access ready-to-use software remotely via a web browser or thin client (e.g., Gmail, Dropbox, Google Docs) [12, 14-16]. The provider manages the entire underlying stack [17].
- PaaS (Platform as a Service): Provides the execution runtime, databases, and web servers [12]. The client manages the applications and data, while the vendor manages everything else (e.g., Google App Engine) [17, 18].
- IaaS (Infrastructure as a Service): Provides virtual machines, servers, and storage [12, 19]. The client manages the OS, middleware, runtime, data, and applications (e.g., Amazon EC2) [18, 20, 21].
Deployment Models
- Public Cloud: Hosted by a provider who rents space to many tenants [18, 21].
- Private Cloud: Dedicated to a single tenant, offering greater control and customization [18, 22].
- Hybrid Cloud: A combination of public and private clouds, allowing apps to burst into the public cloud during high demand [18, 22, 23].
Virtualization
Virtualization is the core underlying technology of cloud computing. It is the creation of a virtual version of computing resources (like an OS, server, or storage) that hides physical hardware characteristics from users [24, 25].
- Hypervisor: Also known as a Virtual Machine Monitor (VMM), it is software/hardware that creates and runs VMs. Type 1 runs directly on hardware, while Type 2 runs on a host OS [15, 26-28].
- Virtual Machines (VMs): An OS and application environment installed on a hypervisor that imitates dedicated hardware [26, 28, 29].
- VM Migration & Snapshots: VMs can be migrated between physical hosts for disaster recovery and business agility [30, 31]. Snapshots capture the VM's disk file at a specific point in time to restore the system if a failure occurs [30, 32].
Cloud Security and Privacy Issues
Despite its benefits, security remains a top concern preventing some companies from adopting cloud computing [33-35].
Internet Attacks & Security Requirements
Since cloud computing relies on the Internet, it is vulnerable to standard network attacks [35, 36]:
- Eavesdropping (Passive): Overcome by Confidentiality (Encryption) [29, 33, 37-39].
- Masquerade/Impersonation (Active): Overcome by Authentication (Passwords, Biometrics) [29, 33, 37, 38, 40].
- Modification (Active): Overcome by Integrity (Hash functions/MAC) [29, 33, 37, 38, 41].
- Deny/Delay (Active): Overcome by Non-repudiation (Digital signatures) [33, 37, 38, 42].
Password Vulnerabilities
Passwords are typically hashed rather than stored in plain text [43, 44]. However, they are still vulnerable to attacks such as Dictionary attacks, Rainbow tables, Brute force, and Hybrid attacks [44-47].
Virtualization-Specific Attacks
Cloud environments introduce unique threats due to shared hardware [48]:
- Inter-VM Attacks: Attackers use shared physical servers or shared folders to access or alter another VM's data [45, 49, 50].
- Side Channel Attacks: Attackers place their VM on the same physical hardware as a target to monitor shared resources (e.g., CPU cache) and extract cryptographic keys [45, 51].
- Attacks on VM Migration: Intruders attempt to steal the VM file during its transit between physical servers [45, 52].
- Attacks on Hypervisors: Compromising the hypervisor allows an attacker to manipulate all guest VMs hosted on it [45, 53].
Secret Key Encryption Principles
To maintain data privacy and confidentiality in the cloud, encryption is heavily utilized [54].
Conventional Encryption Model
In this model, a sender uses a Secret Key and an encryption algorithm to convert Plaintext into Ciphertext. The receiver uses the exact same key to decrypt the Ciphertext back into Plaintext [54-57].
Substitution and Shift Ciphers
- Substitution Cipher: Replaces plaintext letters with other letters, numbers, or symbols [56, 58].
- Caesar Cipher: A specific type of shift cipher historically used by Julius Caesar. It replaces each letter with the letter standing three places further down the alphabet (Key = 3) [58-60].