Skip to content

Add SSL/TLS encryption for secure peer communication #16

@Ashleesh

Description

@Ashleesh

This issue proposes to enhance the application's security by implementing SSL/TLS encryption for all communication between peers. The current network protocol sends all commands and file data in plaintext, which is vulnerable to eavesdropping and data interception.


What is this feature?
This feature will modify the application to use secure sockets (SSLSocket) instead of standard sockets. It will involve:

Generating a keystore and a truststore to manage digital certificates.

Configuring an SSLContext within the application.

Using a secure server socket to listen for encrypted connections.

Using secure client sockets to initiate encrypted connections.


How it can help:

Confidentiality: All data, including commands, filenames, and file content, will be encrypted in transit, preventing unauthorized parties from reading it.

Data Integrity: SSL/TLS provides a mechanism to detect if data has been tampered with during transfer.

Authentication: Certificates ensure that peers are communicating with the expected party, protecting against man-in-the-middle attacks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions