Quick Study Revision Points: Distributed Systems and Networking - Security and Protection Mechanisms

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).