Quick Study Revision Points: Distributed Systems and Networking - Security and Protection Mechanisms
Security in Distributed Systems:
Definition: Security refers to protecting distributed systems from unauthorized access, data breaches, and malicious activities.
Confidentiality: Ensuring that data is accessible only to authorized parties and remains private.
Integrity: Maintaining the accuracy and consistency of data throughout its lifecycle.
Authentication: Verifying the identities of users, processes, and devices in a distributed system.
Authorization: Granting or denying access to resources based on predefined policies and user roles.
Non-repudiation: Ensuring that actions or transactions cannot be denied or falsely attributed to a specific user or entity.
Security Threats: Malware, network attacks, data breaches, insider threats, and social engineering.
Security Measures: Encryption, access control, intrusion detection systems, firewalls, and security audits.
Protection Mechanisms in Distributed Systems:
Fault Tolerance: Designing systems to continue functioning despite failures or errors.
Redundancy: Duplication of critical components or data to ensure availability and reliability.
Replication: Creating multiple copies of data across different nodes to enhance performance and fault tolerance.
Consistency Models: Defining rules and protocols to maintain data consistency in distributed systems (e.g., eventual consistency, strong consistency).
Load Balancing: Distributing workload evenly across multiple servers or nodes to optimize resource utilization and prevent overloading.
Caching: Storing frequently accessed data closer to the users or applications for faster retrieval and improved performance.
Scalability: Designing systems to handle increasing workloads and accommodate growth without sacrificing performance.
Partitioning: Dividing data or workload across multiple servers or nodes to improve scalability and fault tolerance.
Data Compression: Reducing the size of data to optimize storage space and network bandwidth.
Data Encryption: Encoding data using cryptographic algorithms to protect it from unauthorized access or tampering.
Distributed File Systems: File systems designed to manage data across multiple networked machines (e.g., Hadoop Distributed File System).
Distributed Databases: Databases that store data across multiple nodes or servers for improved scalability and fault tolerance (e.g., Cassandra, MongoDB).