Skip to content

mariamashraf731/Encrypted-Medical-Consultant-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

🔒 SecureMed Connect: Encrypted Medical Chat System

Python Security Protocol GUI

📌 Project Overview

SecureMed Connect is a secure Client-Server application designed for confidential medical consultations. Unlike standard chatbots, this system prioritizes data privacy by establishing an Encrypted SSL/TLS Channel between the doctor (Server) and the patient (Client).

The application is built using raw Python Sockets to demonstrate a deep understanding of network protocols, multi-threading, and secure communication standards required in the healthcare industry (HIPAA compliance simulation).

⚙️ Key Technical Features

  • Secure Communication (SSL/TLS):
    • Uses ssl module to wrap standard TCP sockets.
    • Implements Public Key Infrastructure (PKI) using Self-Signed Certificates.
    • Ensures end-to-end encryption to prevent Man-in-the-Middle (MITM) attacks.
  • Client-Server Architecture:
    • Multi-threaded Server: Handles multiple patients simultaneously using Python threading.
    • Stateful Connections: Maintains session context for each connected client.
  • Authentication & Integrity:
    • Server authenticates using a customized Root CA certificate.
    • Verifies data integrity during transmission.
  • Interactive GUI:
    • User-friendly interface built with PyQt5 (.ui files integrated).

🛠️ Tech Stack

  • Language: Python 3.x
  • Networking: Socket Programming (TCP/IP), SSL/TLS Context.
  • Concurrency: Threading.
  • GUI: PyQt5.
  • Data: JSON (Lightweight medical knowledge base).

🚀 Installation & Setup

1. Clone the Repository

git clone [https://github.com/mariamashraf731/SecureMed-Connect.git](https://github.com/mariamashraf731/SecureMed-Connect.git)

2. Generate Security Certificates (Critical Step)

Since private keys are sensitive, they are not included in the repo. You must generate them:

# Generate Root Key
openssl genrsa -out RootCA.key 2048
# Generate Root Certificate
openssl req -x509 -new -nodes -key RootCA.key -sha256 -days 1024 -out RootCA.pem
# Place these files in the 'certs/' directory

3. Run the System

Start the Server first:

python src/server/server.py

Start a Client (Patient):

python src/client/main.py

📂 Project Structure

  • src/server: Handles encrypted connections and queries the medical database.
  • src/client: GUI application for patients to interact securely.
  • data: Contains medical_db.json with symptom-disease mappings.

About

A secure Client-Server Medical Chatbot utilizing SSL/TLS encrypted sockets for confidential consultation. Features multi-threaded server architecture and a PyQt5 GUI, designed to simulate HIPAA-compliant communication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages