Sécurité et chiffrement

Chiffrement MeshCore en détail

Tout sur le chiffrement AES-256, la gestion des clés PSK, le modèle de sécurité et le chiffrement par canal dans les réseaux mesh MeshCore

Comment MeshCore protège vos données

MeshCore utilise le chiffrement AES-256 pour sécuriser les messages. C'est le même chiffrement de niveau militaire utilisé par les banques et les gouvernements. Chaque canal peut avoir sa propre PSK (Pre-Shared Key) pour la communication privée.

Le modèle de sécurité de MeshCore repose sur le chiffrement symétrique : toute personne possédant la PSK peut chiffrer et déchiffrer les messages. Simple mais efficace pour les réseaux mesh avec un groupe fermé.

Dans ce guide technique, nous expliquons le fonctionnement du chiffrement, la gestion des clés, les mesures de sécurité et les limitations. Comprenez les compromis de sécurité avant de mettre en place un réseau chiffré.

Couches de sécurité dans MeshCore

🔐

Chiffrement de canal (AES-256)

Chaque canal peut être chiffré avec une PSK. Les messages sont chiffrés avant d'être envoyés par radio. Seuls les nœuds possédant la bonne PSK peuvent lire les messages.

🔑

Clés au niveau appareil

Chaque appareil possède une clé unique pour les fonctions admin. Cela empêche quiconque de reconfigurer votre nœud, même sur un canal public.

🛡️

Sécurité du canal admin

Les canaux admin disposent toujours d'une PSK séparée. La configuration à distance n'est possible que pour les nœuds autorisés possédant la clé admin.

Chiffrement AES-256-CTR

MeshCore utilise AES-256 en mode CTR (Counter Mode). C'est un stream cipher qui fonctionne efficacement sur des appareils embarqués basse consommation. Chaque paquet reçoit une valeur de compteur unique comme vecteur d'initialisation (IV).

Processus de chiffrement :
1. PSK (256 bits) + Compteur paquet (IV) → AES-CTR
2. Payload en clair XOR flux chiffré → Texte chiffré
3. Texte chiffré + Compteur envoyés par radio
4. Récepteur : déchiffrement AES-CTR avec même PSK + Compteur → Texte en clair

L'avantage du mode CTR est que le chiffrement et le déchiffrement sont la même opération (XOR). C'est extrêmement rapide sur les puces ESP32 qui disposent d'une accélération hardware AES. La clé 256 bits est extraordinairement difficile à forcer par brute-force (prendrait des milliards d'années).

Gestion des clés PSK

Génération de clés

Les PSK sont des clés aléatoires de 256 bits (32 octets). Généralement affichées en base64 ou chaîne hex. Générez les clés avec un générateur aléatoire cryptographiquement sûr, pas quelque chose comme "password123" !

Distribution des clés

Les PSK doivent être partagées de manière sécurisée avec les membres du groupe. Via code QR, configuration USB ou un canal sécurisé. N'envoyez jamais les clés par radio non chiffrée ou via internet public.

Rotation des clés

Changez périodiquement de PSK comme bonne pratique de sécurité. Surtout quand des membres quittent le groupe. MeshCore supporte plusieurs clés simultanément pour une transition en douceur.

Clés par défaut

Le canal principal n'a souvent pas de PSK (public). Les canaux secondaires utilisent généralement des PSK personnalisées. Il existe une clé standard "AQ==" mais elle n'est pas sûre car tout le monde la connaît !

Spécifications techniques

Paramètre Valeur Description
Algorithme de chiffrement AES-256-CTR Advanced Encryption Standard, clé 256 bits, mode compteur
Longueur de clé 256 bits (32 octets) Chiffrement de niveau militaire
IV (Vecteur d'initialisation) Compteur de paquet Valeur unique par paquet, évite les replay attacks
Accélération hardware Oui (ESP32) L'ESP32 dispose d'un AES hardware pour un chiffrement/déchiffrement rapide
Impact sur les performances <1 ms par paquet Overhead négligeable grâce au AES hardware
Confidentialité persistante Non Clé symétrique, pas de PFS comme avec TLS

Atouts du chiffrement MeshCore

🔒

Sécurité de niveau militaire

AES-256 est approuvé par la NSA pour les documents top-secret. Pratiquement impossible à craquer avec les ordinateurs actuels.

Efficace sur hardware embarqué

Le AES hardware de l'ESP32 rend le chiffrement extrêmement rapide (<1 ms). Aucun impact notable sur l'autonomie ou la latence.

🔀

Clés par canal

Chaque canal dispose de sa propre PSK. Différents niveaux de sécurité : canal principal public, canaux secondaires privés. Flexible par cas d'usage.

🛠️

Simple à configurer

Configurer une PSK est simple : entrez une clé de 32 octets et c'est fait. Pas de gestion complexe de certificats comme avec TLS/HTTPS.

📡

Transparent pour l'utilisateur

Le chiffrement se fait automatiquement. L'utilisateur ne remarque rien du processus. Les messages sont simplement lisibles dans l'application.

🔐

Protection du canal admin

Les fonctions admin sont toujours chiffrées. Cela empêche les attaquants de prendre le contrôle ou de reconfigurer votre nœud via la radio.

Questions fréquentes

Tous les messages sont-ils chiffrés dans MeshCore ?

Non, seuls les messages sur les canaux avec une PSK sont chiffrés. Le canal principal est souvent public (sans PSK) pour la communication générale. Les canaux secondaires peuvent être configurés en privé avec une PSK dédiée. Vous choisissez par canal si le chiffrement est actif.

Quelqu'un peut-il intercepter et lire mes messages ?

Sur les canaux publics sans PSK : oui, tout le monde avec un nœud MeshCore peut lire. Sur les canaux chiffrés : non, seules les personnes possédant la PSK peuvent déchiffrer. La radio LoRa est en broadcast, donc le chiffrement est essentiel pour la vie privée.

Le chiffrement AES-256 est-il vraiment sûr ?

AES-256 est extrêmement sûr. Avec les ordinateurs actuels, il faudrait des milliards d'années pour forcer une clé par brute-force. Il est utilisé pour les données gouvernementales classifiées. Tant que votre PSK reste secrète, vos messages sont pratiquement impossibles à décrypter.

Et si quelqu'un découvre ma PSK ?

Alors cette personne peut lire et envoyer tous les messages sur ce canal. C'est l'inconvénient du chiffrement symétrique. Changez donc immédiatement de PSK si vous soupçonnez une fuite de clé. Ne partagez les PSK que via des canaux sécurisés (pas par radio !).

MeshCore supporte-t-il le chiffrement de bout en bout entre individus ?

MeshCore offre un chiffrement au niveau du canal, pas de bout en bout par utilisateur. Tous les nœuds sur un canal chiffré peuvent lire les messages des uns et des autres. Pour un vrai E2E, il faudrait ajouter une couche de chiffrement supplémentaire (possible via plugins).

Le chiffrement a-t-il un impact sur la portée ou l'autonomie ?

Non, impact négligeable. Le AES hardware de l'ESP32 est extrêmement rapide (<1 ms par message). Vous ne remarquerez aucune différence de portée, vitesse ou autonomie entre les canaux chiffrés et non chiffrés. Le chiffrement est gratuit en termes de performances.

Sécurisez votre communication MeshCore

Prêt à mettre en place un réseau mesh chiffré ? Choisissez votre appareil et configurez des canaux privés avec le chiffrement AES-256.