Distributed Systems Group Work - 101408
Distributed Systems Group Work - 101408
Cryptography is the strong tool for keeping confidentiality , integrity and authenticity of the
message and data in many different systems , cryptography is all about secured methods of
communication and information techniques that are based on mathematical algorithms to encrypt
the messages such that it is not readable by the third parties.
Cryptography involves secure communication in the presence of the third parties whereby it
comprises of variety of techniques for ensuring the security of information and communication
systems. In the field of computer science, cryptography is implemented based on mathematical
and rules-based algorithms which are called algorithms, encrypt messages so that they may not
be read by unintended parties. These deterministic algorithms show the purpose of cryptographic
key generation , digital signing , verification , data privacy protection , web browsing on the
internet and the confidential information transfer like credit card transactions and email.
Advantages of cryptography
Disadvantages of cryptography
In the field of computer science, the cryptography has its own drawbacks as explained below;
• Cryptography is very complex ; Cryptographic systems are not quite easy to implement
and manage because of high level of technical skills needed hence specialized knowledge
and expertise are should enhanced.
• It enhances performance overhead ; Efficient encryption /decryption at the point of
degrading performance may compromise the overall efficiency especially in cases of
resource-constrained environments.
• It may enhance vulnerabilities; Cryptography algorithms and their implementations are
known by the security attackers therefore it is possible that the cryptography operators
can uncover unauthentic weakness. This leaves the virtual system at risk of being
compromised with the whole system’s cyber security destroyed.
• It has key compromise ; When keys of the cryptography are compromised or even
stolen , this leads to third part to gain unauthorized access and decryption of sensitive
information
• It has regulatory compliance ; Rule compliance in the crypto field can be troublesome
for the corporate bodies as it requires engagement with policies and practices that are
used exclusively in the effort to be legalized.
( b ) Describe security techniques needed in securing distributed system
1. Authentication Mechanisms
Authentication is the first line of defense in securing distributed systems. It ensures that only
authorized users and services can access resources. Key authentication techniques include:
2. Authorization Controls
Data protection is critical in safeguarding sensitive information from unauthorized access. Key
practices include:
• Encryption of Data at Rest and in Transit: Encrypting data stored on servers as well as
data being transmitted across networks protects against interception and unauthorized
access. TLS should be used for securing communication channels.
• Full Disk Encryption: Encrypting entire disk volumes ensures all data is protected
without needing individual file encryption mechanisms.
• Application-Level Encryption: If full disk encryption isn’t feasible, encrypt sensitive
application data at the database level to ensure confidentiality even if the database is
compromised.
• Use protocols like TLS over SSL for secure communications between clients and servers
as well as inter-node communications.
• Implement VPNs or private networks where possible to further isolate traffic from
potential threats.
Regular monitoring of system activities helps detect anomalies that may indicate security
breaches:
• Implement logging mechanisms that track user activities and system changes.
• Conduct regular audits of security policies and configurations to ensure compliance with
best practices and regulatory requirements.
• Develop clear procedures for identifying, responding to, and recovering from security
incidents.
• Regularly test the incident response plan through simulations to ensure effectiveness
during actual events.
Before implementing any security measures, it is crucial to assess the specific security
requirements of the distributed system. This includes identifying:
• Data Sensitivity: Determine what data needs protection (e.g., personal information,
financial records).
• Threat Model: Analyze potential threats and vulnerabilities that could affect the system.
• Compliance Needs: Understand regulatory requirements (e.g., GDPR, HIPAA) that may
dictate certain security practices.
Designing a secure architecture is foundational for any distributed system. Key considerations
include:
• Network Segmentation: Divide the network into segments to limit access and reduce
attack surfaces.
• Trust Boundaries: Define trust boundaries within the system where different levels of
security controls apply.
• Redundancy and Failover Mechanisms: Implement redundancy to ensure availability
even during attacks or failures.
Cryptography plays a vital role in securing data in transit and at rest. The following
cryptographic techniques should be implemented:
• Encryption: Use strong encryption algorithms (e.g., AES-256) for encrypting sensitive
data both at rest and in transit. Implement end-to-end encryption for communications
between nodes to prevent eavesdropping.
• Digital Signatures: Utilize digital signatures to verify the authenticity of messages and
transactions within the system. Ensure that public key infrastructure (PKI) is established
for managing keys securely.
• Hash Functions: Apply cryptographic hash functions (e.g., SHA-256) to ensure data
integrity by generating unique hashes for data blocks. Use hashes in combination with
digital signatures to provide non-repudiation.
Authentication is critical in ensuring that only authorized users can access the system. Steps
include:
• Transport Layer Security (TLS): Employ TLS for securing communications between
clients and servers, ensuring confidentiality and integrity.
• Secure APIs: If using APIs, ensure they are secured using OAuth or similar protocols to
control access effectively.
• Patch Management: Regularly apply patches and updates to all software libraries,
frameworks, and operating systems used within the distributed system.
• Vulnerability Scanning: Conduct regular vulnerability assessments using automated
tools to identify potential weaknesses.
Continuous monitoring helps detect anomalies that may indicate security breaches:
Having a well-defined incident response plan ensures quick action during a security breach:
By following these steps systematically, organizations can significantly enhance the security
posture of their distributed systems through effective implementation of cryptography and other
necessary security techniques.
REFERENCES
3.Boneh, D., & Shoup, V. (2020). A Graduate Course in Applied Cryptography. Version 0.5,
available online.
4. Abadi, M., & Needham, R. M. (1996). Prudent Engineering Practice for Cryptographic
Protocols. IEEE Transactions on Software Engineering, 22(1), 6-15
5.Castro, M., & Liskov, B. (2002). Practical Byzantine Fault Tolerance and Proactive Recovery.
ACM Transactions on Computer Systems, 20(4), 398-461.
6.Schneier, B. (2000). Secrets and Lies: Digital Security in a Networked World. Wiley.