LoRaWAN как надежная и безопасная технология связи

Андрей Экономов, участник технического комитета LoRA Alliance, к. ф.-. н

В настоящее время в большинстве развитых стран мира в дополнение к мобильной связи активно развиваются радиосети нового типа – Интернета вещей (IoT) класса LPWAN (LowPower WAN), работающие на нелицензируемых (общедоступных) радиочастотах. В Российской Федерации с этой целью выделен диапазон 868 МГц (частоты 864–869,2 МГц), в котором уже построены сети как общемирового стандарта LoRaWAN, так и локальных спецификаций, например XNB и NB-Fi.

Базовые характеристики LoRa/LoRaWAN

По состоянию на начало 2020 г. именно стандарт LoRaWAN является драйвером развития направления IoT (Internet of Things) во всем мире и используется в качестве основного инструмента для управления критически важной инфраструктурой, транспортом, а также производством, здравоохранением, муниципальным и сельским хозяйством. И это далеко не пилотные проекты, например, в России уже более 10 тыс. уличных светильников управляются сетью LoRaWAN АО «ЭР-Телеком Холдинг».

Конференции, посвященные технологии LoRaWAN, собирают тысячи участников со всего мира, например ежегодная The Thing Conference в Нидерландах. В LoRa Alliance входит более 500 компаний, среди которых можно назвать мировых гигантов – Google, Alibaba, Orange, CISCO, NEC и IBM, а также отметить трех участников из России – «ЭР-Телеком», МТТ и «Лартех».

Спецификация LoRaWAN развивается с 2015 г.: LoRa – это сокращение от слов Long Range («дальнее действие»). Беспроводные сети базируются на методе модуляции радиоинтерфейса LoRa, запатентованном Semtech Corporation, и на открытом протоколе LoRaWAN, разработанном исследовательским центром IBM Research в партнерстве с Semtech Corporation.

К отличительным особенностям стандарта LoRaWAN следует отнести [2]:

  • помехоустойчивую модуляцию, относящуюся к классу ЛЧМ (линейно-частотной модуляции), в англоязычной терминологии – CSS (Chirp Spread Spectrum), что позволяет уверенно принимать сигнал от абонентских устройств на уровнях ниже уровня шума;
  • длительную работу абонентских устройств без подзаряда батарей (до десяти лет от одного аккумулятора типа «АА»);
  • существование трех классов абонентских терминалов с разными скоростями отклика на сообщения от сети и уровнями энергопотребления;
  • автоматический роуминг между сетями разных операторов;
  • возможность дистанционного обновления программного обеспечения абонентских терминалов через радиоэфир (технология FUOTA – Firmware Upgrade Over The Air);
  • опцию беспроводного репитера с батарейным питанием для покрытия подвалов и экранированных помещений;
  • режим вещания Multicast (одновременный прием одного сообщения несколькими датчиками);
  • мультилатерационную геолокацию, позволяющую определять координаты абонентского терминала с точностью до 200 м без использования GPS-приемника.

Сегодня нередко можно столкнуться с утверждениями, что беспроводные системы связи в общедоступных диапазонах частот якобы не способны обеспечивать уверенную связь из-за неконтролируемых помех. На самом деле в нелицензируемых диапазонах для средств радиоэлектронной связи (РЭС) действуют даже более строгие правила, чем в лицензируемых. В частности, в полосе 868 МГц согласно [3] ограничены: во-первых, излучаемая мощность (на большинстве каналов – не более 25 мВт), во-вторых, время нахождения в эфире (как правило, не более 1%). Причем наказания за нарушения указанных величин точно такие же, как и за несанкционированное вещание на лицензируемых частотах. Так что любые радиосистемы гражданского назначения вне зависимости от способа выделения спектра – по стандартным процедурам (лицензионный) или по упрощенным (нелицензионный) – могут пострадать от преднамеренных радиопомех. Однако это в равной мере незаконно, и способы борьбы с такими помехами известны и одинаково доступны всем пользователям радиоспектра.

Ключевое преимущество работы в нелицензируемом диапазоне частот, особенно в отечественных реалиях, – это дешевизна и быстрота развертывания сети.

Целевая область применения технологии LoRa/LoRaWAN в системах IoT:

  • автономные устройства без внешнего электропитания;
  • устройства, генерирующие малые потоки данных;
  • устройства, сравнительно редко выходящие в эфир;
  • территории, покрытие на которых необходимо развернуть быстро и с минимальными затратами.

Таким образом, несмотря на возможный быстрый рост технологии NB-IoT, конкурирующей с LoRaWAN, последняя, по мнению большинства аналитиков отрасли, в перспективе сохранит значимую долю мирового рынка, что подтверждает прогноз поставок абонентских устройств IoT [4] (рис. 1).

Рис. 1. Статистика и прогноз поставок абонентских устройств IoT 2016–2023 гг. (в млн штук, по данным LoRa Alliance)

 

Описание архитектуры сети LoRaWAN

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

Рис. 2. Архитектура сети LoRaWAN

 

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

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

 

Класс устройства Формат работы
А Сеанс связи инициирует терминал. Его основная задача – передавать данные от устройства к сети; прием данных возможен только сразу после передачи – терминал открывает два окна приема.

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

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

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

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

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

 

Базовая станция – типовое понятие для многих радиосистем, в том числе и для радиосетей IoT. Применительно к сети LoRaWAN (как и во многих других радиосетях) базовая станция (БС) выполняет функции сопряжения и взаимодействия радиосети с абонентским терминалом и концентрации нагрузки с группы терминалов, поэтому в документации LoRa Alliance она именуется шлюзом и/или концентратором. Тем не менее обычно в текстах используется более широкое и общепринятое понятие «базовая станция».

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

Сетевой сервер представляет собой программно-аппаратный комплекс (ПАК), управляющий радиосетью, контролирующий радиосеть и выполняющий маршрутизацию пакетов данных от абонентских терминалов до соответствующих серверов приложений.

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

Сервер приложений – это платформа, которая выполняет первый уровень шифрации/дешифрации и обработку данных, получаемых от терминалов и направляемых к ним. Помимо работы с данными сервер приложения может управлять терминалами с уровня приложения, например, переводить их в режим работы другого класса, управлять опцией адаптивной передачи данных, Multicast и т. п.

 

Особенности радиопротокола LoRaWAN

Модуляция LoRa базируется на импульсах линейно-частотной модуляции (ЛЧМ) (Chirp Spread Spectrum – СSS) (рис. 3). В отличие от систем Sigfox, XNB и NB-Fi, использующих для связи узкую полосу в 100 Гц и фазовую модуляцию, данные в сетях LoRaWAN передаются датчиками в полосе шириной 125 кГц, т. е. более чем в 1000 раз шире.

Рис. 3. Немодулированный сигнал LoRaWAN

 

Каждое устройство стандарта LoRaWAN излучает сигнал с изменяющейся частотой (см. рис. 3). Модуляция LoRaWAN заключается в обрыве цикла на одной из промежуточных частот (рис. 4) и новом его начале, именно это и кодирует передаваемый символ. Всего существует 128 возможных различных частот обрыва цикла в каждом частотном канале (шириной, напомним, 125 кГц), а значит, один ЛЧМ-импульс кодирует 7 бит данных.

Поскольку частота сигнала LoRaWAN меняется в диапазоне 125 кГц, узкополосная помеха практически не оказывает влияния на успешность декодирования сигнала LoRaWAN. Еще одно преимущество, вытекающее из особенности модуляции LoRaWAN, – устойчивая работа на движущихся объектах (поездах, автомобилях и т. п.), поскольку доплеровский сдвиг частоты заметно не влияет на успешность передачи сигнала.

И последнее. Модуляция и канальное кодирование LoRaWAN позволяют осуществлять прием полезной информации даже при отрицательных значениях отношения сигнал/шум (SNR до –20 дБ). Кодирование (не путать с шифрованием) – это добавление к передаваемым пользовательским данным избыточной (контрольной) информации для повышения вероятности успешного приема. Степень избыточности определяется соотношением CodeRate (CR) вида 4/5, означающим, что на каждые 5 бит передаваемой информации 4 бита – полезные данные и один – контрольный бит. От значения CodeRate зависит скорость передачи полезной информации. В LoRaWAN используются CodeRate от 4/5 до 4/8.

Рис. 4. Модулированный сигнал LoRaWAN в сравнении с немодулированным

 

В целях экономии заряда батарей абонентских устройств и емкости сети датчики системы LoRaWAN выходят в эфир на одном из восьми частотных каналов [1] без предварительной синхронизации с сетью, в отличие от, скажем, GSM, где каждому абоненту сеть выделяет на время разговора персональный таймслот на определенном частотном канале. Это создает вероятность внутрисетевых коллизий: вдруг две двери откроются одновременно, и соответствующие сенсоры выйдут в эфир в один и тот же момент на одном частотном канале? Примет ли сеть сигнал от них, или они заглушат друг друга, или один заглушит другой?

Стандартом LoRaWAN [2] определены так называемые Spreading Factor (SF) – коэффициенты расширения спектра. Спецификацией [1] их предусмотрено всего шесть – от SF7 до SF12. SF – это «скорость» изменения частоты в ЛЧМ-импульсе: чем выше SF, тем медленнее меняется частота (рис. 5). Изменение SF на единицу означает увеличение длительности импульса в два раза. Для SF7 и полосы 125 кГц длительность импульса минимальна и составляет 1,024 миллисекунды.

Рис. 5. Модулированный сигнал LoRaWAN в сравнении с немодулированным

 

Чем больше значение SF, тем медленнее передаются данные, но тем выше способность системы распознать их без ошибок: время передачи одного сообщения в сетях LoRaWAN составляет от 0,2 до 2,5 сек. SF каждому абонентскому устройству назначает сетевой сервер (NS – Network Server) по алгоритму ADR (Adaptive Data Rate – адаптивная скорость передачи данных) на основании измерений отношения сигнал-шум (Signal-to-Noise Ratio – SNR), выполненных базовой станцией. Если абонентские терминалы находятся в разных радиоусловиях относительно базовой станции (например, один – рядом с БС, другой – далеко, или одно устройство – у окна квартиры, второе – за капитальной стеной), то передавать данные они будут с разными SF и интерферировать друг с другом не будут, даже в случае наложения сигналов друг на друга по времени на одном частотном канале. Ведь в силу разных скоростей изменения частоты у передатчиков с разными SF такие устройства будут представлять друг для друга лишь узкополосную помеху, что, как уже было сказано, легко компенсируется канальным кодированием.

А что будет, если базовая станция примет одновременные сообщения от двух устройств с одинаковым SF? Возникнет коллизия: либо одно, либо оба сообщения будут потеряны в результате интерференции. Однако это произойдет только на одной базовой станции, в то время как сигнал от каждого абонентского устройства LoRaWAN в профессионально спланированной и грамотно построенной сети принимают минимум три БС – именно такое количество базовых станций необходимо для корректной работы опции геолокации методом TDoA. И если на одной БС возникнет коллизия, то прием сообщений успешно пройдет через другие базовые станции. В сетевом сервере LoRaWAN даже существует специальный таймер (длительностью 250 мс), чтобы дождаться, пока сообщение от определенного абонентского устройства будет получено всеми возможными БС с целью выбрать среди них наилучшую (с точки зрения SNR) на тот случай, если потребуется отправка сообщения от сети к датчику (подтверждение приема или МАС-команда).

В исследовании [5], проведенном компаниями MachineQ и Semtech, установлено, что восемь восьмиканальных БС LoRaWAN за сутки в состоянии принять один миллион сообщений от абонентских устройств. А если надо больше? Ответ простой – нужно увеличивать количество базовых станций. Ведь в отличие от сотовых систем связи базовые станции LoRaWAN не ведут постоянного вещания пилотных (как в LTE) или широковещательных (как в GSM) сигналов, так что установка новых БС не приводит к повышению внутрисетевой интерференции. Основную часть времени БС LoRaWAN работают на прием, а режим передачи включается лишь в редких случаях отправки команды управления или подтверждения приема на абонентское устройство. Также для покрытия помещений можно использовать репитер LoRaWAN (его спецификация на данный момент находится на финальном утверждении в техническом комитете LoRa Alliance). Репитер позволит улучшить (т. е. уменьшить номер) SF для сообщений, отправляемых indoor-датчиками, что снизит вероятность коллизий, поскольку, как уже было отмечено, сообщения с низким SF передаются многократно быстрее, чем сообщения с высоким SF.

 

Обеспечение безопасности передаваемых данных

В сети IoT LoRaWAN используется многоуровневая система безопасности передачи данных (рис. 6).

Первый уровень. AES-шифрование на уровне приложения (End-to-End, т. е. между абонентским терминалом и клиентским сервером приложений) с помощью 128-битного переменного сессионного ключа Application session key (AppSKey). Такой ключ шифрования хранится в абонентском терминале и на сервере приложений – он недоступен оператору сети (доступ к AppSKey есть только у клиента – владельца сервера приложений). Формирование сессионного ключа AppSKey происходит параллельно в абонентском терминале и на стороне сети в процессе активации терминала – через эфир AppSKey не передается.

Второй уровень. AES-шифрование и проверка целостности сообщений на сетевом уровне (между абонентским терминалом и сетевым сервером) с помощью 128-битного переменного сессионного ключа Network session key (NwkSKey). Такой уровень шифрования используется для защиты передаваемых сигнальных команд на МАС-уровне, а также для вычисления MIC (Message Integrity Code) в целях проверки целостности данных, передаваемых на радиоинтерфейсе. NwkSKey хранится в абонентском терминале и на сетевом сервере и недоступен клиенту (доступ к NwkSKey имеется только у оператора сети связи – владельца сетевого сервера). Формирование сессионного ключа NwkSKey также происходит параллельно в абонентском терминале и на стороне сети в процессе активации терминала – через эфир NwkSKey не передается.

Третий уровень. Стандартные методы аутентификации и шифрования интернет-протокола (IPsec, TLS и т. п.) при передаче данных по транспортной сети между узлами сети – базовая станция, сетевой сервер, Join-сервер, сервер приложений.

Рис. 6. Общая схема безопасности данных в сети LoRaWAN

 

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

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

Рис. 7. Схема хранения ключей шифрования

 

В этом случае для безопасной передачи сгенерированных сессионных ключей между серверами, а также хранения их на сетевом сервере и сервере приложений внедряются дополнительные ключи: AS_Key – для ключа AppSKey и LRC_K – для ключа NwkSKey.

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

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

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

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

Рис. 8. Возможные сценарии размещения Join-сервера

 

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

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

Схема безопасности данных в сети LoRaWAN с дополнительным уровнем СКЗИ представлена на рис. 9.

Рис. 9. Схема внедрения отечественной СКЗИ в структуру шифрования данных сетей LoRaWAN

 

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

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

End-to-End конфиденциальность пользовательских данных на уровне приложения – AES-шифрование с помощью сессионного ключа AppSKey.

Взаимная идентификация устройства и сети – процесс авторизации терминала при первичном подключении к сети (или по специальной команде о повторе авторизации).

Проверка целостности данных при передаче на радиоинтерфейсе – вычисление MIC-кода на основе сессионного ключа NwkSKey.

Конфиденциальность сигнальной информации (управляющих команд) – AES-шифрование МАС-команд с помощью сессионного ключа NwkSKey.

Безопасное хранение идентификаторов абонентского устройства и его полномочий – внедрение аппаратного элемента безопасности Secure element в абонентский терминал и защита HSM-модулем Join-сервера.

Оперативное устранение найденных уязвимостей на сетевой стороне и на абонентских терминалах – дистанционная смена ПО абонентских терминалов через эфир с помощью специфицированного LoRa Alliance механизма FUOTA (Firmware Upgrade Over The Air) [11] и установка обновлений на сетевой сервер и сервер приложений.

Возможность использования отечественных СКЗИ для критической инфраструктуры (КИ) – внедрение дополнительного, «нулевого» уровня End-to-End шифрования по сертифицированным ФСБ РФ алгоритмам.

Поделиться:
Спецпроект

ИТАПК – впервые в режиме онлайн

Подробнее
Спецпроект

Форум «ИТОПК-2020» оценил потенциал господдержки

Подробнее

Подпишитесь
на нашу рассылку