fieldtester.io

Присъединяване и сигурност

OTAA и ABP, ключовете на едно устройство и защо шлюзът не може да прочете вашите данни.

OTAA и ABP

OTAA (over-the-air activation, активиране по радиото): устройството се присъединява със заявка за присъединяване (join request). То има нужда от три стойности:

  • DevEUI: глобално уникалният номер на устройството (16 шестнадесетични знака),
  • JoinEUI (по-рано AppEUI): идентифицира сървъра за присъединяване,
  • AppKey: секретният ключ (32 шестнадесетични знака).

От тях при всяко присъединяване се извеждат нови сесийни ключове. OTAA е препоръчителният начин.

ABP (activation by personalization, активиране чрез персонализация): сесийните ключове и адресът на устройството са фиксирани. Устройството никога не се присъединява. По-просто, но по-малко сигурно и податливо на грешки, когато броячите на кадрите се разминат.

Криптиране

УстройствоШлюзМрежовсървърСървър наприложениетоПриложениеfieldtester.ioДанните са криптирани с AppSKey от край до крайподписано с мрежовия ключ, проверено от мрежатавижда самокриптирани байтоветук даннитесе декриптират
Полезните данни остават криптирани от устройството до сървъра на приложението. Шлюзът и мрежовият сървър виждат само криптирани байтове.

LoRaWAN използва AES-128 на две нива:

  • NwkSKey (няколко мрежови ключа в LoRaWAN 1.1): защитава съобщението срещу промени; мрежата го използва, за да провери, че съобщението е истинско.
  • AppSKey: криптира полезните данни от край до край. Шлюзът и операторът на мрежата виждат само криптирани байтове; само сървърът на приложението ги декриптира.

Брояч на кадрите

Всяко съобщение носи пореден брояч (FCnt). Мрежата отхвърля съобщения с брояч, който вече е виждала. Така никой не може да изпрати повторно стари пакети.

Ако ABP устройство се рестартира и започне отново от 0, мрежата отхвърля съобщенията му. При OTAA броячът започва отначало след всяко присъединяване, което там е правилно.