Firmware Over-The-Air
Auteur: Juan P. Cadavid
FOTA (Firmware Over-The-Air) dans les réseaux LPWAN
Introduction
Les réseaux **LPWAN** (Low-Power Wide Area Network) sont utilisés dans le milieu industriel, notamment, pour les dispositifs qui ont besoin d’envoyer très peu de données dans des grandes distances en utilisant peu de batterie.
LPWAN et LoRaWAN
Si on parle de LPWAN, on peut parler de **LoRaWAN**, qui est un protocole standard dans les réseaux LPWAN. Grâce à ce protocole (LoRaWAN), les dispositifs connectés peuvent recevoir des données sur des longues distances et en utilisant très peu d’énergie, grâce aux ondes radio. Une des utilisations possibles, est de mettre à jour le firmware d’un dispositif à distance, sans avoir besoin d’accès physique à lui.
Cas d’utilisation
Pourquoi est-elle intéressante cette technologie ? Pour mieux comprendre les enjeux, il faut savoir que les dispositifs industriels sont construits dans un but précis. Comme dans tous les domaines, les exigences et les standards évoluent, et en plus, des possibles vulnérabilités peuvent être trouvées dans les dispositifs. Pour être capable de répondre à ces nouveaux besoins d’adaptabilité, les réseaux LPWAN utilisent les fréquences radio pour envoyer les mises à jour des firmware sur les appareils. Modifier le firmware, l’améliorer ou corriger une faille de sécurité, devient plus simple.
FOTA un peu plus en détails
Pour que la modification du firmware soit possible, il faut ajouter deux caractéristiques aux dispositifs:
- Un **moyen** d’envoyer l’image du firmware sans que le dispositif le demande, pour optimiser son cycle de vie et réduire sa consommation d’énergie. De cette façon, le dispositif n’est pas obligé de demander constamment s’il y a eu des mises à jour dans le firmware, ce qui réduit son autonomie.
- Un **support multicast**, pour mettre à jour plusieurs dispositifs au même temps.
Tous les dispositifs doivent être actualisés pour qu’ils écoutent au même temps, la même fréquence, la mêmes données et la même session de sécurité (Même session pour déchiffrer les données, car LoRaWAN utilise un chiffrement AES-128 pour les paquets).
Pour une mise à jour réussie, la première instruction envoyée par le support multicast contient l’adresse temporaire qui sera utilisée et les clés de sécurité de la session pour le chiffrement. La deuxième instruction informe aux dispositifs à quel moment ils doivent se réveiller pour commencer à écouter les données qui seront envoyées.