Rambler's Top100
Статьи ИКС № 1 2019
Андрей ЭКОНОМОВ  26 марта 2019

Сеть LoRaWAN: безопасность обеспечивается

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

Технология интернета вещей LoRaWAN развивается независимым партнерством LoRa Alliance с 2015 г. LoRa -- сокращение английских слов Long Range (дальнее действие). Сети LoRaWAN относятся к категории сетей малой мощности LPWAN (Low Power Wide Area Network) и базируются на методе модуляции радиоинтерфейса LoRa, запатентованном Semtech Corporation, а также на открытом протоколе LoRaWAN, разработанном исследовательским центром IBM Research в партнерстве с Semtech Corporation.

Для строительства сетей интернета вещей LoRa Alliance специфицировал ряд нелицензируемых диапазонов частот (табл. 1).

Табл. 1. Диапазоны частот для строительства сетей IoT, специфицированные LoRa Alliance

Диапазоны частот, МГц

Страны

433, 863--870

Страны Европейского союза

902--928

США

470--510, 779--787

Китай

915--928

Австралия

865-867

Индия

920--923

Южная Корея

 Для России подготовлен отдельный проект регионального частотного диапазона 864--869 МГц, представляющий собой усеченный европейский диапазон 863--870 МГц.


К отличительным особенностям стандарта LoRaWAN, помимо работы в нелицензируемом спектре, можно отнести помехоустойчивую линейно-частотную модуляцию (chirp spread spectrum, CSS), позволяющую уверенно принимать сигнал от абонентских устройств на уровнях мощности ниже уровня шума, а также длительную работу абонентских устройств без подзаряда батарей (до 10 лет от одного аккумулятора АА).

По состоянию на 2018 г. LoRa является лидирующей технологией LPWAN. Несмотря на сходство, технологии NB-IoT и LoRaWAN имеют не вполне одинаковые свойства и не полностью пересекающиеся области применения. Все ведущие рынки ориентируются на сочетание стандартов интернета вещей, работающих в лицензионных и безлицензионных полосах частот. Преимущество нелицензионных полос – дешевизна и быстрота развертывания системы.

Целевые области применения сетей LoRa/LoRaWAN в системах IoT:
  • автономные устройства без внешнего электропитания;
  • устройства, генерирующие малые потоки данных;
  • устройства, сравнительно редко выходящие в эфир;
  • территории, покрытие на которых необходимо развернуть быстро и с минимальными затратами.
Таким образом, несмотря на возможный быстрый рост технологии NB-IoT, конкурирующей с LoRaWAN, последняя, по мнению аналитиков, и в перспективе сохранит значимую долю мирового рынка, что подтверждает прогноз поставок абонентских устройств IoT (рис. 1).
В настоящее время сети LoRaWAN развернуты на всех континентах, а участниками LoRa Alliance являются более 500 компаний со всего мира, в том числе три из России («Лартех», МТТ и «ЭР-Телеком»).

Архитектура сети LoRaWAN

Сеть LoRaWAN состоит из абонентских терминалов, базовых станций (шлюзов), сетевого сервера и серверов приложений (рис. 2).


Абонентский терминал -- обобщающее название сенсоров, датчиков, счетчиков, актуаторов и радиомодулей IoT, устанавливаемых на стороне пользователя. Стандарт LoRaWAN определяет три класса терминалов (табл. 2).

Табл. 2. Классы терминалов LoRaWAN


Класс устройства

Режим работы

А

Сеанс связи инициирует терминал. Основная задача – передавать данные от устройства к сети, прием данных возможен только сразу после передачи (терминал открывает два «окна» приема). Терминалы класса А применяются в приложениях, где передача данных от сети возможна только как ответная реакция на получение данных от конечного устройства и требуется максимальное время работы от автономного источника питания

B

В дополнение к возможностям класса А появляется возможность по расписанию принимать данные от сети, т.е. сеанс связи может быть инициирован как устройством, так и сетью. Терминалы класса В используются в случаях, когда прием данных от сети требуется, но не моментально, а по назначенному заранее расписанию (например, раз в 32 с), чем достигается баланс между скоростью реакции устройства на внешнюю команду и его энергопотреблением

C

Устройства класса С постоянно готовы принимать данные от сети, прием прекращается только во время передачи данных самим устройством. Таким образом, сеанс связи, как и для устройств класса В, может быть инициирован и устройством, и сетью. Терминалы класса С применяются в приложениях, где быстрота реакции на команду, полученную от сети, важнее экономии электропитания, а также в тех случаях, когда устройству необходимо получать через IoT-сеть большие объемы данных


Базовая станция – типовое понятие для многих радиосистем, включая сети IoT. В сети LoRaWAN базовая станция (БС) выполняет функции сопряжения и взаимодействия радиосети с абонентским терминалом и концентрации нагрузки с группы терминалов, поэтому в документации LoRa Alliance БС именуется шлюзом и/или концентратором. Сигнал от одного терминала может приниматься несколькими БС. Совокупность базовых станций оператора обеспечивает радиопокрытие сети и прозрачную двунаправленную передачу данных между конечными устройствами и сетевым сервером. Базовая станция оснащена приемно-передающей антенной (секторной или всенаправленной), а также (опционально) GPS/ГЛОНАСС-антенной для прецизионной синхронизации внутренних часов и определения точных координат приемно-передающей антенны.

Сетевой сервер – программно-аппаратный комплекс, выполняющий следующие функции:
  • Управление радиосетью. Сетевой сервер сети LoRaWAN выбирает БС для передачи сообщений в направлении «вниз» (downlink), принимает решения о необходимости изменения скорости передачи данных для каждого терминала, мощности передатчика, контролирует заряд батарей конечных устройств, шифрует данные и т.п.
  • Контроль радиосети включает мониторинг, сбор статистики и аварийное информирование.
  • Маршрутизация пакетов данных от абонентских терминалов до соответствующих серверов приложений. Каждый пакет данных, отправляемый абонентским терминалом, имеет в своем составе уникальный идентификатор DevAddr, а на сетевом сервере хранится запись о соответствии DevAddr и URL сервера приложений, которому предназначена информация от терминала (датчика). На основании этого соответствия сетевой сервер выполняет маршрутизацию пакета до сервера приложений, где происходит его дальнейшая обработка приложением сервис-провайдера.
Сервер приложений -- платформа, которая выполняет первый уровень шифрации/дешифрации и производит обработку данных, получаемых от терминалов и направляемых к терминалам. Помимо работы с данными, сервер приложений может управлять терминалами с уровня приложения (например, переводить их в режим работы другого класса, управлять опцией адаптивной передачи данных, мультикаста и т.п.).

При изготовлении в абонентское устройство заносятся следующие константы:
  • DevEUI (Device Identifier -- уникальный идентификатор устройства [64 бита]);
  • AppEUI (Application Identifier -- уникальный идентификатор приложения [64 бита]). Начиная с версии стандарта V1.1 называется JoinEUI – идентификатор Join-сервера;
  • AppKey (Application Key -- уникальный корневой ключ шифрования [128 бит]). Используется в процессе вычисления сессионных ключей шифрования AppSKey и NwkSKey.
  • Активация устройства (рис. 3) может осуществляться как через радиоэфир, так и оператором. Во время процесса активации формируются следующие данные:
  • DevAddr (End-Device Address -- локальный адрес устройства в конкретной сети [32 бита]). Состоит из двух полей: NetID и NwkAddr. Чем короче NetID (идентификатор сети оператора, присваиваемый LoRa Alliance, минимальный размер – 6 бит), тем длиннее поле NwkAddr и тем больше разных устройств может быть зарегистрировано в сети (максимум на один NetID – 33,5 млн абонентских терминалов);
  • NwkSKey (Network Session Key -- сетевой сессионный ключ шифрования [128 бит]). Используется для шифрования данных между терминалом и сетевым сервером, а также для вычисления поля MIC (Message Integrity Code) с целью проверки целостности данных при передаче их по радиоэфиру;
  • AppSKey (Application Session Key -- сессионный ключ шифрования приложения [128 бит]). Служит для шифрования данных на уровне приложения (между абонентским терминалом и сервером приложения).
Сессионные ключи шифрования формируются независимо на абонентском терминале и на сетевой части на основании идентификаторов сети (NetID) и устройства (DevEUI), корневого ключа безопасности AppKey, а также сгенерированных уникальных для каждой сессии случайных чисел DevNonce, JoinNonce (см. рис. 3). При активации терминала оператором смена сессионных ключей шифрования без демонтажа устройства невозможна, ввиду чего этот вариант активации использовать не рекомендуется.

DevAddr, NwkSKey и AppSKey сохраняются в памяти абонентского устройства, DevAddr, NwkSKey – на сетевом сервере, а AppSKey – на сервере приложений.

Стандартные средства безопасности

В сети IoT LoRaWAN используется многоуровневая система безопасности передачи данных (рис. 4):
  • Уровень 1. AES-шифрование на уровне приложения (между абонентским терминалом и сервером приложений) с помощью 128-битного переменного сессионного ключа AppSKey. Этот ключ хранится в абонентском терминале и на сервере приложений и недоступен оператору сети. Доступ к AppSKey есть только у клиента -- владельца сервера приложений.
  • Уровень 2. AES-шифрование и проверка целостности сообщений на сетевом уровне (между абонентским терминалом и сетевым сервером) с помощью 128-битного переменного сессионного ключа NwkSKey. Этот ключ хранится в абонентском терминале и на сетевом сервере и недоступен клиенту. Доступ к NwkSKey есть только у оператора сети – владельца сетевого сервера.
  • Уровень 3. Стандартные методы аутентификации и шифрования интернет-протокола (IPsec, TLS и т.п.) при передаче данных по транспортной сети между узлами сети (базовая станция, сетевой сервер, Join-сервер, сервер приложений).

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

В версии стандарта LoRaWAN V1.0.x хранение корневого ключа AppKey и формирование сессионных ключей на стороне сети производятся на сетевом сервере (NS), однако в версии V1.1 для этих целей выделяется специальный сервер (Join-сервер) (рис. 5). Join-сервер может быть дополнительно защищен отдельным аппаратным модулем безопасности HSM (Hardware Security Module).


В этом случае для безопасной передачи сгенерированных сессионных ключей между серверами, а также хранения их на сетевом сервере и сервере приложений вводятся дополнительные ключи: AS_Key для ключа AppSKey и LRC_K для ключа NwkSKey. На абонентском устройстве ключи шифрования опционально могут защищаться специальным аппаратным элементом безопасности (например, микроконтроллером Microchip ATECC608A), что исключит их компрометацию в случае физического воздействия на терминал.

Внедрение аппаратных средств защиты в сети и на терминале делает бесполезными попытки перехвата сессионных ключей при их передаче между серверами и попытки взлома сетевых серверов или абонентских устройств с целью извлечения сессионных
ключей.

Рассмотренные средства также создают условия для защищенного роуминга данных (безопасной авторизации датчиков в гостевой сети и защищенной передачи данных домашнему серверу приложений из гостевой сети).

С целью дополнительной защиты процесса генерации сессионных ключей Join-сервер может быть размещен на территории клиента или производителя устройств (рис. 6). В этом случае даже сотрудники оператора не смогут получить доступ к сессионным и корневым ключам шифрования.


Дополнительные меры безопасности

Несмотря на то что в нашей стране не требуется обязательная сертификация средств шифрования при передаче сообщений, не составляющих государственную тайну (Извещение по вопросу использования несертифицированных средств кодирования (шифрования) при передаче сообщений в информационно-телекоммуникационной сети «Интернет», ФСБ России, 18.07.2016), по требованию заказчика используемые в стандарте LoRaWAN уровни шифрования AES-128 могут быть дополнены одним из стандартизованных в России алгоритмов, входящих в семейство ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012, или алгоритмом «Кузнечик» (согласно ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015).

Для этого предлагается при производстве абонентских терминалов LoRaWAN устанавливать в них дополнительный микроконтроллер, сертифицированный ФСБ России и соответствующий требованиям, которые предъявляются к шифровальным средствам класса КС3 (дистанционное банковское обслуживание, электронный документооборот в государственном секторе и т.д.). Таким микроконтроллером может быть, например, микропроцессор отечественного производства MIK51SC72D, сертифицированный ФСТЭК и ФСБ России, имеющий небольшие размеры (14 кв. мм) и малое энергопотребление.

При установке дополнительного микроконтроллера в сети LoRaWAN появляется дополнительный, нулевой уровень безопасности СКЗИ (рис. 7).



Ключ шифрования уровня СКЗИ, например SubSKey (согласно ГОСТ Р 34.12-2015), «прошивается» в абонентский терминал при производстве так же, как и корневой ключ AppKey уровней шифрования 1--2 LoRaWAN. Дешифрация данных уровня СКЗИ осуществляется на территории заказчика сервером приложений после дешифрации уровня приложения сессионным ключом AppSKey. Ключ шифрования SubSKey передается клиенту вместе с датчиком непосредственно производителем абонентского терминала и недоступен сотрудникам оператора сети LoRaWAN.

Кастомизация системы безопасности

В зависимости от требований и объема финансирования заказчик может прибегнуть к следующим мерам усиления безопасности:
1)    настройка для каждого абонентского терминала периодической генерации нового комплекта сессионных ключей шифрования с помощью МАС-команды RejoinParamSetupReq;
2)    использование специального микроконтроллера для безопасного хранения корневых и сессионных ключей шифрования на стороне абонентского терминала;
3)    выделение особого Join-сервера для аутентификации абонентских терминалов и хранения корневых и сессионных ключей шифрования на стороне сети;
4)    дополнительная защита Join-сервера с помощью аппаратного модуля безопасности HSM;
5)    размещение связки Join-сервера и модуля HSM на территории заказчика;
6)    внедрение дополнительного уровня шифрования по сертифицированным ФСБ алгоритмам СКЗИ с использованием специального микропроцессора.

Андрей Экономов, руководитель технического сопровождения IoT, «ЭР-Телеком Холдинг»
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!