fieldtester.io

Tilmelding og sikkerhed

OTAA og ABP, en enheds nøgler, og hvorfor en gateway ikke kan læse dine data.

OTAA og ABP

OTAA (over-the-air activation): Enheden tilmelder sig med en join request. Den skal bruge tre værdier:

  • DevEUI: enhedens globalt entydige nummer (16 hex-tegn),
  • JoinEUI (tidligere AppEUI): identificerer join-serveren,
  • AppKey: den hemmelige nøgle (32 hex-tegn).

Ud fra dem afledes nye sessionsnøgler ved hver tilmelding. OTAA er den anbefalede metode.

ABP (activation by personalization): Sessionsnøglerne og enhedsadressen er faste. Enheden tilmelder sig aldrig. Enklere, men mindre sikkert og fejlbehæftet, når frametællerne kommer ud af trit.

Kryptering

EnhedGatewayNetværks-serverApplikations-serverApplikationfieldtester.ioPayload krypteret med AppSKey, end-to-endsigneret med netværksnøglen, kontrolleret af netværketser kunkrypterede bytespayloadendekrypteres her
Payloaden forbliver krypteret fra enheden til applikationsserveren. Gateway og netværksserver ser kun krypterede bytes.

LoRaWAN bruger AES-128 på to niveauer:

  • NwkSKey (flere netværksnøgler i LoRaWAN 1.1): beskytter beskeden mod ændringer; netværket bruger den til at kontrollere, at en besked er ægte.
  • AppSKey: krypterer payloaden end-to-end. Gateway og netværksoperatør ser kun krypterede bytes; kun applikationsserveren dekrypterer dem.

Frametæller

Hver besked har en løbende tæller (FCnt). Netværket kasserer beskeder med en tællerværdi, det allerede har set. Det forhindrer, at nogen afspiller gamle pakker igen.

Hvis en ABP-enhed genstarter og begynder forfra ved 0, kasserer netværket dens beskeder. Med OTAA begynder tælleren forfra efter hver tilmelding, hvilket er korrekt dér.