« LoRaWAN » : différence entre les versions

2 523 octets ajoutés ,  il y a 1 an
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 27 : Ligne 27 :
== Fonctionnement du réseau ==
== Fonctionnement du réseau ==
LoRaWAN est un protocole qui définit comment les objets communiquent.
LoRaWAN est un protocole qui définit comment les objets communiquent.
=== Provisionning des objets sur le réseau ===
Pour qu'un objet puisse communiquer sur un réseau LoRaWAN, il faut qu'il soit "provisionné" (déclaré) sur ce réseau. Cette déclaration nécessite à minima un idendifiant (DevEUI) et une clef (AppKey).
Note : le mode dit "OTAA" est à privilégier : c'est celui que nous décrivons ici. Le mode "ABP" doit être évité.
Lors de la phase dite de Join (qui se lance notamment la première fois que l'objet est mis sous tension), le Network Server va échanger avec le device des clefs dites de session afin de communiquer ensuite de manière cryptée avec l'objet. Pendant cette phase de join, d'autres informations spécifiques au réseau vont être échangées. Le stockage de ces clefs de session et leur accès est donc :
# Un élément majeur de sécurité
# Essentiel pour anticiper une reprise après sinistre sans devoir forcer les capteurs ou les objets à refaire un join
=== Adaptative Data Rate (ADR) ===
LoRaWAN intègre la possibilité de moduler la façon dont les capteurs communiquent afin d'économiser de l'énergie tout en gardant une bonne qualité de transmission.
Pour cela, le network server peut se baser sur plusieurs indicateurs :
* Le niveau du signal radio (RSSI)
* Le rapport Signal / Bruit (SNR)
* Les éventuels sauts de trames
En fonction de ces indicateurs, il pourra demander au capteur ou à l'objet (via ce qu'on appelle des commandes MAC) :
* D'augmenter ou de réduire son temps dans l'air (Spreading Factor ou Data Rate)
* De répéter plusieurs fois les trames à chaque envoi
Plus le Spreading Factor est élevé, plus le temps dans l'air est long, et plus le device va consommer d'énergie à chaque envoi (va de SF7 à SF12, qui correspond à DR5 à DR0, l'échelle étant inversée).
=== Bidirectionnalité ===
LoRaWAN est naturellement bien adapté aux transmissions dites montantes (uplinks), c'est à dire partant du capteur et remontant vers le réseau. Le protocole permet également des liaisons dites descendantes, c'est à dire qu'il est possible d'envoyer des commandes aux capteurs ou aux objets.
La façon dont ces commandes sont reçues dépend essentiellement de la classe de l'appareil.
==== Classe A ====
==== Classe C ====


== Sécurité des données ==
== Sécurité des données ==
LoRaWAN offre des caractéristiques intéressantes sur le plan de la sécurité. En effet, les objets connectés par cette technologie ne sont pas directement connectés à Internet, et ont une capacité très limitée d'envoi de données. Cela rend les capteurs ainsi connectés nativement protégés contre les attaques par déni de service ou les malwares qui colonisent leur hôte pour canibaliser leurs ressources (par exemple en minant de la cryptomonnaie).
LoRaWAN offre des caractéristiques intéressantes sur le plan de la sécurité. En effet, les objets connectés par cette technologie ne sont pas directement connectés à Internet, et ont une capacité très limitée d'envoi de données. Cela rend les capteurs ainsi connectés nativement protégés contre les attaques par déni de service ou les malwares qui colonisent leur hôte pour canibaliser leurs ressources (par exemple en minant de la cryptomonnaie).


Le cryptage AES 128.
Les échanges de données entre les objets et le network server sont cryptées en AES128.
 
Les principaux risques en termes de sécurité sont les suivants :
 
* Risque de rejeu : quelqu'un "snif" une trame et la renvoie. Ce risque peut être mitigé par l'utilisation de compteurs (DevNonce)


== Composants d'un réseau LoRaWAN ==
== Composants d'un réseau LoRaWAN ==