Skip to content

Ollopic/echange-cle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation / Lancement

Installer les dépendances :

pip install -r requirements.txt

Lancer l'écoute des messages :

python3 nodeB.py

Lancer l'envoi de messages :

python3 nodeA.py send

Explication du fonctionnement

node.py

Le script node.py définit une classe Node qui représente un nœud dans le système. Chaque nœud :

  • Génère une paire de clés privée/publique
  • Peut générer une demande de signature de certificat (CSR)
  • Peut demander un certificat à la PKI via la méthode request_certificate

secure_mqtt_node.py

Le script secure_mqtt_node.py implémente la classe SecureMQTTNode, qui étend les fonctionnalités d'un nœud pour inclure :

  • Une connexion sécurisée au broker MQTT
  • La vérification des certificats des messages reçus
  • L'envoi de messages signés avec le certificat du nœud

nodeA.py, nodeB.py, nodeC.py, nodeD.py

Ces scripts représentent des instances spécifiques de noeuds (A, B, C, D) qui :

  • Génèrent leurs certificats respectifs
  • Se connectent au broker MQTT via un SecureMQTTNode
  • Écoutent les messages entrants
  • Optionnellement, envoient des messages à d'autres noeuds (par exemple, nodeA.py peut envoyer un message à nodeB.py)

pki.py

Le script pki.py gère les opérations liées à la PKI (l'autorité), notamment :

  • La génération de paires de clés
  • La génération d'un certificat d'autorité (CA)
  • La génération et signature des certificats pour les noeuds

Par ailleurs, les demandes de certificats des noeuds sont faites en même temps que leur création. Celui de la PKI est créé lorsque l'on crée un noeud, et que celui-ci tente d'accéder au certificat de la PKI. S'il ne le trouve pas, alors il lance la génération depuis la PKI.

About

Projet de cours visant à faire communiquer des messages de manière sécurisée par file MQTT

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages