fieldtester.io

Anmeldung und Sicherheit

OTAA und ABP, die Schlüssel eines Geräts und warum ein Gateway Deine Daten nicht lesen kann.

OTAA und ABP

OTAA (Over-the-Air Activation): Das Gerät meldet sich mit einem Join-Request an. Dafür braucht es drei Werte:

  • DevEUI: die weltweit eindeutige Nummer des Geräts (16 Hex-Zeichen),
  • JoinEUI (früher AppEUI): kennzeichnet den Join-Server,
  • AppKey: der geheime Schlüssel (32 Hex-Zeichen).

Daraus entstehen bei jeder Anmeldung neue Sitzungsschlüssel. OTAA ist der empfohlene Weg.

ABP (Activation by Personalization): Die Sitzungsschlüssel und die Geräteadresse sind fest eingetragen. Das Gerät meldet sich nie an. Einfacher, aber unsicherer und fehleranfällig, wenn die Paketzähler nicht zusammenpassen.

Verschlüsselung

GerätGatewayNetzwerk-serverAnwendungs-serverAnwendungfieldtester.ioNutzdaten mit dem AppSKey verschlüsselt, von Ende zu Endemit dem Netzwerkschlüssel signiert, vom Netz geprüftsieht nurverschlüsselte Byteshier werden dieNutzdaten entschlüsselt
Die Nutzdaten bleiben vom Gerät bis zum Anwendungsserver verschlüsselt. Gateway und Netzwerkserver sehen nur verschlüsselte Bytes.

LoRaWAN verwendet AES-128 auf zwei Ebenen:

  • NwkSKey (in LoRaWAN 1.1 mehrere Netzwerkschlüssel): sichert die Nachricht gegen Veränderung, das Netz prüft damit die Echtheit.
  • AppSKey: verschlüsselt die Nutzdaten von Ende zu Ende. Gateway und Netzwerkbetreiber sehen nur verschlüsselte Bytes, erst der Anwendungsserver entschlüsselt sie.

Paketzähler

Jede Nachricht trägt einen fortlaufenden Zähler (FCnt). Das Netz verwirft Nachrichten mit einem Zähler, den es schon gesehen hat. Das verhindert, dass jemand alte Pakete erneut einspielt.

Wird ein ABP-Gerät neu gestartet und beginnt wieder bei 0, verwirft das Netz seine Nachrichten. Bei OTAA beginnt der Zähler nach jedem Join neu, das ist dort korrekt.