Communicateur LoRa : Un Terminal de Communication Sécurisé et Autonome
Je vous présente ici un projet de terminal de communication sécurisé fonctionnant grâce à un pi pico et un modem LoRa. Un USB host est émulé pour permettre la connexion à un clavier USB. Le dispositif permet la réception et la saisie de messages chiffrés de manière autonome.
Bertrand Selva
11/21/20245 min read


Les appareils sophistiqués, tels que les smartphones et les ordinateurs personnels, présentent une vulnérabilité face à un large éventail de failles de sécurité. Cette fragilité découle principalement de leur complexité intrinsèque et des nombreuses couches logicielles interposées entre le matériel et l'utilisateur.
Complexité logicielle : Les systèmes d'exploitation comme Windows, avec des dizaines de millions de lignes de code propriétaire, rendent la détection et la correction des vulnérabilités particulièrement ardues.
Failles matérielles : Des vulnérabilités au niveau du hardware existent comme en témoignent les attaques PACMAN ciblant les puces M1 et M2 d'Apple.
Risques liés aux communications Internet : Même lorsque les contenus sont chiffrés, les métadonnées — telles que les informations sur l'expéditeur, le destinataire et les horodatages — restent exposées. On sait qui communique avec qui.
Sans parler des nombreuses attaques qui semblent impliquer carrément des puissances étatiques, des agences de renseignements : le logiciel espion Pegasus ; Stuxnet, il y a une dizaine d’années, utilisé contre le programme nucléaire iranien ; NotPetya le malware dirigé contre l’Ukraine ou plus récemment la XZ Backdoor qui aurait dû infecter et potentiellement donner l’accès à des dizaines de millions de PC de par le monde.
N'étant pas informaticien et voyant ça avec une certaine distance, il me semble que le rapport de force ne sera jamais en faveur des usagers s’ils veulent préserver un caractère privé à leurs données ou à leurs communications et que les correctifs et autres solutions arrivent toujours après la bataille. Il y a certainement aujourd’hui de nombreuses failles en exploitation qui seront découvertes dans seulement quelques mois ou jamais….
La solution : le communicateur LoRa
Je propose ici une potentielle solution : Plutôt que d'essayer de concurrencer directement les avancées en hacking ou en cryptanalyse de grandes agences du renseignement —l'équivalent de monter sur le ring avec le "Mike Tyson" de la cryptanalyse —il est plus judicieux de changer de terrain de jeu et d’utiliser une approche lowtech en développant son propre matériel.
Deux approches sont proposées avec ce projet :
1. Transférer la saisie et l'encapsulation des données dans un environnement matériel contrôlé : un petit microcontrôleur aux ressources très limitées, sans OS et ultra spécialisé. Un tel matériel élimine la possibilité d'exploiter des portes dérobées ou des failles d'implémentation logicielles. Cela réduit considérablement la surface d'attaque.
2. Utilisation de clés plus longues que le message : En renouvelant la clé à chaque message et en utilisant une clé de chiffrement de longueur égale ou supérieure au message lui-même, un chiffrement de type "One-Time Pad" (OTP) peut être mis en œuvre. Lorsqu'il est correctement utilisé, le OTP est théoriquement inviolable, car chaque clé est utilisée une seule fois et est véritablement aléatoire. Pour maximiser la sécurité, cette méthode est combinée avec l'AES-256, ajoutant une couche supplémentaire de complexité pour un éventuel attaquant.
C'est ce que permet ce communicateur LoRa, un terminal de communication texte sécurisé et autonome utilisant une partie matériel minimaliste : un petit pi Pico, pas d'OS, une communication "hors réseau" en LoRa. Voici une vidéo de démonstration illustrant le fonctionnement du communicateur :

Fonctionnalités
Échange de Messages Textuels
Le terminal permet l'envoi et la réception de messages via le protocole LoRa. Les messages sont saisis grâce à un clavier USB connecté au dispositif. L'interface utilisateur permet d'afficher les 256 lignes précédentes, qu'elles soient reçues ou envoyées.
Navigation et Échange de Coordonnées GPS
Le terminal permet l'échange et l'utilisation de coordonnées GPS. Les utilisateurs peuvent envoyer leurs coordonnées, et le dispositif calculera la distance et l'azimut pour rejoindre la position cible. Cette fonctionnalité est particulièrement utile dans des contextes de recherche et de sauvetage ou de navigation en milieu naturel.
Fonction de Relais
Le dispositif peut être configuré comme un relais, permettant de connecter deux zones géographiques différentes et d'étendre la portée des communications au-delà des limitations directes du LoRa.
Gestion de l'Énergie et Réglage des Débits
Le terminal permet de régler la puissance d'émission et le débit de données pour optimiser la consommation énergétique et assurer la transmission dans des conditions de signal variées. Un algorithme de correction d'erreurs de type Reed-Solomon a également été implémenté pour améliorer la fiabilité des transmissions.
Autonomie et Résilience
Le dispositif offre une autonomie de plusieurs dizaines d'heures grâce à une gestion optimisée de l'énergie. Sa robustesse physique (boîtier avec renfort et épaisseur de 3 mm) et électronique (alimentation compatible avec des tensions entre 8V et 35V) le rend adapté à des environnements difficiles, tels que les opérations en montagne ou en zones isolées.
L'Enjeu du Chiffrement : La Taille de la Clé
Le véritable enjeu en matière de chiffrement se pose lorsque la clé de chiffrement est plus petite que le message à protéger. En revanche, si la clé est égale ou plus longue que le message, comme avec le One-Time Pad (OTP), il n'y a pas besoin d'un chiffrement complexe et potentiellement plus de vulnérabilité associée à cette étape.
Stratégies de Renouvellement de Clé
Pour maximiser la sécurité, nous avons mis en place des stratégies de renouvellement de clé :
Renouvellement Fréquent des Clés : Les clés sont renouvelées toutes les deux minutes. Cela signifie qu'une même clé est utilisée pour tous les messages envoyés dans cet intervalle, réduisant ainsi la fenêtre de vulnérabilité.
Synchronisation par GPS et RTC : La synchronisation des clés est assurée par le signal GPS. En cas de perte du signal, une horloge temps réel avec TCXO maintient une dérive temporelle très faible, assurant la continuité de la synchronisation.
Destruction Automatique des Clés Périmées : En cas de capture du dispositif, les clés déjà utilisées sont automatiquement écrasées par des données aléatoires après une période d'inactivité, empêchant toute récupération.
Vous trouverez des détails sur ce projet sur mon portfolio : https://selvasystems.net/iot.
Pourquoi le LoRa pour ce dispositif ?
Le LoRa utilise la modulation Chirp Spread Spectrum (CSS), qui étale le signal sur une large bande spectrale, améliorant la résistance aux interférences et la sensibilité (environ -137 dBm vs -120 dBm en FSK). Cela le rend particulièrement adapté pour des communications longue portée à faible consommation d'énergie. Vous trouverez des détails sur un billet précédent de mon blog : https://selvasystems.net/chirp-cheap-et-chic-lora
Améliorations Futures
J'aimerais bien dans une prochaine version conserver le LoRa mais rajouter une communication via Internet, pour une intégration avec les infrastructures réseau existantes. Par exemple en remplaçant le pi PICO par un ESP32 et en utilisant le WiFi pour permettre d’envoyer directement des paquets de données vers une IP destinataire. Dans cette configuration, on garderait l'encapsulation des données dans un environnement matériel contrôlé pour la saisi et le chiffrement mais on pourrait bénéficier de l’efficacité d'Internet pour véhiculer l'information...
Limitations
Une des limitations est qu'il faut échanger physiquement les cartes SD, pour échanger les clés de chiffrement, entre les différents postes avant qu'ils puissent échanger des messages. C'est une grosse limitation mais en même temps cela reste conforme à l'esprit du dispositif en étant compatible avec l'échelle "locale" des échanges possibles (la portée actuelle est d'environ 20 km avec le modem LoRa Ebyte E22).
© 2024. All rights reserved.
© 2024. Tous droits réservés.
Innovation
Systèmes embarqués, intelligence artificielle, deep learning, solutions sur mesure, efficacité, innovation, sécurité, fiabilité.
Contact
contact@selvasystems.net
SIREN 939271441
© 2025. All rights reserved.
© 2025. Tous droits réservés.