Открыть сервис

Шифрование LoRaWAN

LoRaWAN-шифрование — это совокупность криптографических протоколов и механизмов, используемых в сети LoRaWAN для обеспечения конфиденциальности, целостности и аутентификации данных, передаваемых между конечными устройствами (нодами), шлюзами и сетевым сервером. Оно базируется на симметричных алгоритмах шифрования AES-128 и реализует двухуровневую модель безопасности: на уровне сети и на уровне приложения.

Архитектура безопасности LoRaWAN

Безопасность в LoRaWAN построена на разделении ключей и функций. Каждое устройство при активации получает два основных ключа, которые никогда не передаются в открытом виде по радиоканалу:

Кроме того, существует AppKey (Application Key) — корневой ключ, используемый при активации устройства по процедуре OTAA (Over-The-Air Activation). Из него выводятся NwkSKey и AppSKey.

Процедуры активации и генерации ключей

Активация по эфиру (OTAA)

При OTAA устройство и сетевой сервер обмениваются специальными join-запросами и join-ответами. Устройство отправляет Join-request, содержащий DevEUI (глобальный уникальный идентификатор устройства), AppEUI (идентификатор приложения) и DevNonce (случайное число). Сетевой сервер, зная AppKey устройства, вычисляет AppSKey и NwkSKey на основе полученных данных и отправляет Join-accept, зашифрованный с помощью AppKey.

После успешного join-процесса устройство и сервер имеют одинаковые сессионные ключи, которые используются для всех последующих передач.

Активация по персонализации (ABP)

При ABP ключи NwkSKey и AppSKey заранее записываются в память устройства и на сетевой сервер. Устройство сразу начинает передачу данных без join-процедуры. Этот метод проще, но менее безопасен, так как ключи могут быть скомпрометированы при физическом доступе к устройству или в процессе производства.

Шифрование на сетевом уровне

На сетевом уровне используется алгоритм AES-128 в режиме CTR (Counter) для шифрования payload сообщения. Ключом служит NwkSKey. Шифрование применяется к полю FRMPayload (собственно данные), но не к заголовкам MAC-уровня (MACHeader, DevAddr, FCtrl, FOpts и др.).

Для обеспечения целостности сообщения вычисляется MIC (Message Integrity Code) длиной 4 байта. MIC вычисляется с помощью алгоритма AES-CMAC на основе NwkSKey и всего сообщения (включая заголовки и зашифрованный payload). Если MIC, вычисленный сервером, не совпадает с полученным от устройства, сообщение отбрасывается.

Шифрование на уровне приложения

На уровне приложения payload, уже зашифрованный на сетевом уровне, дополнительно шифруется с использованием AppSKey (также AES-128 в режиме CTR). Это обеспечивает сквозное шифрование: даже если злоумышленник перехватит радиосигнал и расшифрует сетевой уровень (например, скомпрометировав NwkSKey), он не сможет прочитать содержимое данных без AppSKey.

Таким образом, конечное приложение (сервер приложений) получает зашифрованный payload и расшифровывает его с помощью AppSKey. Сетевой сервер видит только заголовки и MIC, но не содержимое данных приложения.

Версии протокола и эволюция безопасности

LoRaWAN 1.0.x (1.0, 1.0.1, 1.0.2)

В этих версиях использовалась описанная выше двухуровневая модель с NwkSKey и AppSKey. Однако были выявлены уязвимости, связанные с повторным использованием DevNonce и возможностью атак повторения (replay attacks).

LoRaWAN 1.1

Версия 1.1, выпущенная в 2017 году, внесла существенные улучшения:

LoRaWAN 1.2 (в разработке)

На момент написания статьи (2025 год) спецификация LoRaWAN 1.2 находится в стадии разработки. Ожидается внедрение постквантовой криптографии для защиты от будущих квантовых компьютеров, а также улучшенные механизмы управления ключами.

Критика и уязвимости

Несмотря на относительно высокий уровень безопасности, LoRaWAN-шифрование имеет ряд ограничений:

Применение и нормативное регулирование в России

В Российской Федерации LoRaWAN-сети используются в системах «Умный город», промышленном Интернете вещей (IIoT), сельском хозяйстве и логистике. Шифрование LoRaWAN соответствует требованиям ФСБ России к криптографической защите информации, если реализация сертифицирована. Однако в ряде случаев (например, для передачи персональных данных) требуется использование дополнительных сертифицированных средств криптографической защиты информации (СКЗИ), так как стандартное LoRaWAN-шифрование не сертифицировано в РФ.

Источники

  1. LoRa Alliance Technical Committee. LoRaWAN™ 1.1 Specification. LoRa Alliance, 2017.
  2. LoRa Alliance Technical Committee. LoRaWAN™ 1.0.4 Specification. LoRa Alliance, 2020.
  3. J. P. S. Sundaram, W. Du, Z. Zhao. A Survey on LoRaWAN Security: Attacks, Vulnerabilities and Countermeasures. Sensors, 2020.
  4. S. M. Mathews, A. S. Nair. Security Analysis of LoRaWAN: A Survey. International Journal of Advanced Research in Computer Science, 2021.
  5. Федеральный закон РФ № 152-ФЗ «О персональных данных» (с изменениями).
  6. Приказ ФСБ России № 378 «Об утверждении требований к средствам криптографической защиты информации».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →