Aanmelden en beveiliging
OTAA en ABP, de sleutels van een apparaat en waarom een gateway je gegevens niet kan lezen.
OTAA en ABP
OTAA (over-the-air activation): het apparaat meldt zich aan met een join request. Het heeft daarvoor drie waarden nodig:
- DevEUI: het wereldwijd unieke nummer van het apparaat (16 hexadecimale tekens),
- JoinEUI (vroeger AppEUI): identificeert de join-server,
- AppKey: de geheime sleutel (32 hexadecimale tekens).
Hieruit worden bij elke aanmelding nieuwe sessiesleutels afgeleid. OTAA is de aanbevolen manier.
ABP (activation by personalization): de sessiesleutels en het apparaatadres liggen vast. Het apparaat meldt zich nooit aan. Eenvoudiger, maar minder veilig en foutgevoelig als de frametellers niet meer overeenkomen.
Versleuteling
LoRaWAN gebruikt AES-128 op twee niveaus:
- NwkSKey (in LoRaWAN 1.1 meerdere netwerksleutels): beschermt het bericht tegen wijzigingen; het netwerk controleert daarmee of een bericht echt is.
- AppSKey: versleutelt de payload end-to-end. Gateway en netwerkbeheerder zien alleen versleutelde bytes; alleen de applicatieserver ontsleutelt ze.
Frameteller
Elk bericht bevat een doorlopende teller (FCnt). Het netwerk verwerpt berichten met een teller die het al gezien heeft. Zo kan niemand oude pakketten opnieuw afspelen.
Als een ABP-apparaat opnieuw opstart en weer bij 0 begint, verwerpt het netwerk zijn berichten. Bij OTAA begint de teller na elke aanmelding opnieuw, en dat is daar juist.