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).
- Secure Communication (SSL/TLS):
- Uses
sslmodule 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.
- Uses
- Client-Server Architecture:
- Multi-threaded Server: Handles multiple patients simultaneously using Python
threading. - Stateful Connections: Maintains session context for each connected client.
- Multi-threaded Server: Handles multiple patients simultaneously using Python
- Authentication & Integrity:
- Server authenticates using a customized Root CA certificate.
- Verifies data integrity during transmission.
- Interactive GUI:
- User-friendly interface built with PyQt5 (
.uifiles integrated).
- User-friendly interface built with PyQt5 (
- Language: Python 3.x
- Networking: Socket Programming (TCP/IP), SSL/TLS Context.
- Concurrency: Threading.
- GUI: PyQt5.
- Data: JSON (Lightweight medical knowledge base).
git clone [https://github.com/mariamashraf731/SecureMed-Connect.git](https://github.com/mariamashraf731/SecureMed-Connect.git)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/' directoryStart the Server first:
python src/server/server.pyStart a Client (Patient):
python src/client/main.py- 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.