Dołączanie i bezpieczeństwo
OTAA i ABP, klucze urządzenia i dlaczego bramka nie może odczytać Twoich danych.
OTAA i ABP
OTAA (over-the-air activation): urządzenie dołącza do sieci za pomocą żądania dołączenia (join request). Potrzebuje trzech wartości:
- DevEUI: globalnie unikalny numer urządzenia (16 znaków szesnastkowych),
- JoinEUI (dawniej AppEUI): identyfikuje serwer dołączania,
- AppKey: tajny klucz (32 znaki szesnastkowe).
Z nich przy każdym dołączeniu wyprowadzane są nowe klucze sesji. OTAA to zalecany sposób.
ABP (activation by personalization): klucze sesji i adres urządzenia są stałe. Urządzenie nigdy nie dołącza. Prostsze, ale mniej bezpieczne i podatne na błędy, gdy liczniki ramek przestają być zgodne.
Szyfrowanie
LoRaWAN stosuje AES-128 na dwóch poziomach:
- NwkSKey (w LoRaWAN 1.1 kilka kluczy sieciowych): chroni wiadomość przed zmianami; sieć sprawdza nim, czy wiadomość jest autentyczna.
- AppSKey: szyfruje ładunek od końca do końca. Bramka i operator sieci widzą tylko zaszyfrowane bajty; odszyfrowuje je wyłącznie serwer aplikacji.
Licznik ramek
Każda wiadomość zawiera kolejną wartość licznika (FCnt). Sieć odrzuca wiadomości z wartością licznika, którą już widziała. Zapobiega to ponownemu odtwarzaniu starych pakietów.
Jeśli urządzenie ABP uruchomi się ponownie i zacznie znowu od 0, sieć odrzuca jego wiadomości. W OTAA licznik zaczyna się od nowa po każdym dołączeniu, co jest tam prawidłowe.