Vulnerabilite des reseaux lorawan
De la technologie LoRa au réseau LoRaW
LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence alors que LoRaWAN, pour LoRa Wide Area Network, désigne la couche de protocole orientée très basse consommation.
Architecture d’un réseau LoRaWan
Topologie en étoile :
-(Classe A) les équipements – appelés end-devices – communiquent en LoRa avec
-(Classe B) des concentrateurs – appelés gateways. Ces concentrateurs centralisent les messages pour les transmettre au
-(Classe C) serveur de gestion du réseau ou serveur de données. La liaison entre les concentrateurs et le serveur de gestion du réseau s’appuie sur des technologies très haut débit (Ethernet, 4G,...).
LoRaWan se base sur le protocole nommé LoRaMAC qui définit l’interaction entre les nœuds et les passerelles. Le protocole LoRaMAC propose plusieurs mécanismes intéressants comme la synchronisation temporelle des nœuds, la gestion d’adaptation de la puissance d’émission du nœud au travers d’un échange avec la passerelle, ainsi qu’un ensemble de clés d’identification du nœud, du réseau et de l’application.
La sécurité d’un réseau LoRaWan
Deux chiffrements AES-128, actuellement le plus utilisé et le plus sûr.
Network Session Key (NwkSKey) – assure l’authenticité des équipements sur le réseau.
Application Session Key (AppSKey) – la sécurité et la confidentialité des données transmises à travers le réseau.
En fait, la clé réseau permet à l’opérateur de sécuriser son réseau alors que la clé applicative permet au fournisseur de l’application de sécuriser les données qui transitent à travers le réseau.
C’est à dire les données applicatives sont cryptées avec AppSKey.
Ces données cryptées avec les informations sur les devices, réseaux sont cryptées avec NwkSKey.
Faille protocolaire
Découverte de failles sur Sigfox par Renaud Lifchitz, chercheur en sécurité chez Digital Security.
Possibilité d’intercepter des messages et d’usurper l’identité des équipements qui constituent un réseau LoRaWAN.
L’implantation du chiffrement AES128 n’est pas optimale et ouvre la porte à des attaques de déchiffrement partiel ou total.
Un simple codage en XOR
Le chiffrement des données utilise un simple codage en XOR, donc génération d’une succession de clés (« keystream »).
Coder chaque bloc du message en XOR. Ainsi, => le message chiffré a exactement la même taille que le message non chiffré
=> Si l’on connaît le contenu d’un message, il est possible de récupérer un keystream. Et en rejouant ce keystream, on peut alors déchiffrer les messages ultérieurs.
Usurpation et dumps de mémoire
Failles dans des implémentations logicielles et matérielles
Certaines passerelles ne sont pas authentifiées et il est assez facile d’usurper leur identité.
Chaque passerelle envoie régulièrement vers les serveurs un numéro d'identification appelé Gateway EUI qu’il est assez facile de connaître. Il suffit d’avoir une passerelle qui envoie le même numéro mais de manière plus fréquente pour se substituer à la vraie passerelle.
Solutions proposées
-Envoyer systématiquement des messages de taille fixe et en binaire
-Utiliser des plateformes matérielles inviolables (Secure Elements) pour stocker et protéger les clés de chiffrement sur les objets connectés
-Choisir des clés différentes pour chaque objet