image

Прошло 2 года с тех пор, как в России появилась возможность разворачивать IoT-системы на базе технологии NB-IoT. Счётчики, сами отправляющие свои показатели в ЖКХ, автоматические микро-метеозонды вдали от цивилизации, умное сельское хозяйство — всё это скоро станет частью повседневности.

Важно, чтобы ни система устройств, ни данные, которые она собирает и передаёт, не были использованы против пользователей системы. Если вам интересно, как стандарт NB-IoT защищает их от сетевых атак, то приглашаю под кат.


Об атаках


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

Не секрет, что на сегодняшний день обычные компьютеры и смартфоны способны обеспечить криптостойкость шифратора канала связи такую, что на его взлом на современном суперкомпьютере потребуется время, превышающее время жизни вселенной, но у такой криптостойкости есть цена — вычислительное время шифрования и мощность, потребляемая устройством. Умный счётчик, одной батарейки в котором должно хватить на 10 лет беспрерывной работы, и месяца не проработает, если каждый день только и будет считать точки эллиптической кривой. В скорости тоже проблема: для выполнения простых операций по снятию и отправке показаний много вычислительной мощности не нужно, чего не скажешь о надёжном шифровании.

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

Кратко об NB-IoT


Поговорим о стандарте NB-IoT: зачем он нужен, что описывает и как работает то, что он описывает. После этого выясним, какие ограничения накладываются на сеть.

NB-IoT создан для обслуживания сотовыми операторами сетей простых регистрирующих устройств (Оконечные Устройства, или ОУ). Работа ОУ заключается в том, чтобы собирать некоторые данные и в заранее установленные промежутки времени суток передавать их на сервер-обработчик, который распорядится этими данными дальше. Именно технология передачи, от физики до сети, описана в стандарте NB-IoT.

В NB-IoT между внутренней сетью оконечных устройств и внешней сетью сервера-обработчика нет сетевой связности. Другими словами, оператор отделяет сеть ОУ от внешней сети (по-сути, от интернета), и выступает посредником между двумя сетями.

image

Задачи оператора как посредника:

  • поддерживать радиоканал связи с каждым ОУ,
  • передавать потоки данных от сервера-обработчика к ОУ и от ОУ к серверу,
  • предоставлять доступ к чтению потоков и управлению серверу-обработчику и только ему.


То есть полезные данные проходят через три разделённые сети: сеть устройств, сеть инфраструктуры оператора, интернет. Прослушку или подмену злоумышленник может делать, когда его устройство находится в одной из этих трёх сетей, поэтому вопрос о защищённости потока данных, передаваемого по NB-IoT, разделяется на три: о его защищённости в каждой из сетей отдельно.

Опустив вопрос о защищённости данных внутри сети оператора и оставив его на совести оператора, и рассмотрим остальные два.

Защищённость данных во внешней сети


Поставим себя на место злоумышленника. Перед нами 2 общающихся хоста: сервер-обработчик и предоставленный оператором специально для него интерфейс доступа к данным, собранным ОУ. Что находится за этим интерфейсом нас не интересует — это часть инфраструктуры провайдера.

image

Общение между обработчиком и интерфейсом оператора — это обычное общение двух хостов в интернете. Как уже писалось ранее, они достаточно мощные, чтобы обеспечить себе криптостойкие каналы передачи, поэтому вопрос защищённости данных с ОУ во внешней сети интереса не представляет.

Защищённость данных в сети оператора


Рассмотрим теперь внутреннюю сеть.

Первым делом, сеть в определённом смысле изолирована: к ней нет сетевого пути извне, есть только возможность прямого вмешательства в её физику. Физическая связь между ОУ и оператором осуществляется радиоканалом на одной из выделенных частот. Топология сети — совокупность прямых подключений между ОУ и оператором, причём все они статические — заранее предустановленные. Значит злоумышленнику, который хочет взаимодействовать с узлом в этой сети, необходимо выдавать себя за противоположный узел, при чём так, чтобы настоящий узел не обнаружил имитирующий его трафик. В случае, когда трафик передаётся по радиоволне, это само по себе нетривиальная задача.
image

Кроме этого, будем всё так же шифровать пакеты и аутентифицироваться при подключении.
Важно!
Оператор не обязан предоставлять шифрование трафика в сети ОУ-Оператор. Шифрование возможно как отдельная услуга, за которую платит организация, разворачивающая IoT-систему с помощью NB-IoT оператора.

ОУ недостаточно мощны для того чтобы использовать тяжёлые криптостойкие алгоритмы шифрования, а стойкость легковесных алгоритмов заметно более низка, что, в том числе, значит, что злоумышленнику нужно относительно немного пакетов для анализа, прежде чем он сможет выяснить ключ алгоритма.

В NB-IoT эффективность легковесных алгоритмов шифрования достигается тем, что обмен пакетами между ОУ и оператором, просто по концепту, происходит редко: единицы пакетов в день (точнее про необходимую для эффективности «редкость трафика» можно прочитать в [2]) Выходит, злоумышленнику попросту неоткуда взять большую базу пакетов для анализа в короткие сроки: любой алгоритм шифрования в сети с редким трафиком будет держаться дольше, чем в аналогичной ситуации в сети в частым трафиком.

Итог


NB-IoT — вполне надёжный стандарт сервиса. Подмена трафика во внутренней сети (стояние посредине) — дорогостоящее предприятие в силу необходимости сокрытия радиосигнала узлов друг от друга. Кроме того, стояние посредине нельзя начинать, пока не будут известны ключи аутентификации узлов, достаточно надёжно защищённые легковесным алгоритмом шифрования, как и все данные, передаваемые от ОУ к оператору.
Попытки чтения или «стояния посередине» в сети оператора и во внешней сети также не приведут к успеху, поскольку у устройств в этих сетях достаточно вычислительной мощности для надёжного шифрования трафика. С другой стороны, если злоумышленник и захочет скомпрометировать данные от ОУ, целиться он вероятнее всего будет по внешней сети: трафик в ней наименее зависит от оператора и ответственен за него заказчик, который, не являясь крупной компанией, тратит на безопасность своей сети заметно меньше средств, чем оператор. Поэтому, разбираясь в вопросе защищённости ваших данных, нужно в первую очередь изучать, как к проблеме безопасности подходит организация, которая предоставляет услугу непосредственно вам.

Источники и ссылки:


  1. Yuxiang Feng, Wenhao Wang, Yukai Weng, Huanming Zhang, A Replay-Attack Resistant Authentication Scheme for the Internet of Things
  2. Saurabh Singh, Pradip Kumar Sharma, Seo Yeon Moon & Jong Hyuk Park: Advanced lightweight encryption algorithms for IoT devices: survey, challenges and solutions
  3. 3GPP Release 13 Specification — Спецификация NB-IoT
  4. Первая статья из цикла о реализации NB-IoT от МТС — рекомендую этот цикл как первый шаг в изучении NB-IoT