- •Введение
- •1 Сценарий применения
- •2 Техническое задание
- •2.1 Назначение и цели системы
- •2.2 Стейкхолдеры
- •2.3 Функциональные требования
- •2.4 Требования к надёжности и доступности
- •2.5 Требования к безопасности
- •3 Архитектура iot‑системы
- •4 Схематическое представление iot‑системы
- •5 Выбор протоколов связи
- •5.1 Протоколы физического и канального уровней
- •5.2 Транспортный уровень
- •5.3 Прикладной уровень
- •6 Обеспечение безопасности системы
- •6.1 Аутентификация и авторизация устройств
- •6.2 Аутентификация и авторизация пользователей
- •6.3 Шифрование и защита данных
- •6.4 Политика управления доступом
- •6.5 Защита от типовых угроз IoT
- •Заключение
5.2 Транспортный уровень
Обмен данными между устройством и облачной платформой осуществляется по протоколу TCP поверх IP, что обеспечивает надёжную доставку MQTT‑сообщений и совместимость с шифрованием TLS.
Внутри устройства обмен по I²C и локальные шины реализуются средствами Mbed OS и драйверов периферии STM32F103RB и не требуют отдельного описания транспортного протокола поверх IP.
5.3 Прикладной уровень
В качестве основного прикладного протокола обмена телеметрией и командами выбран MQTT – легковесный протокол публикации‑подписки, широко применяемый в IoT‑системах и поддерживающий работу с устройствами с ограниченными ресурсами.
Формат полезной нагрузки сообщений – JSON, что упрощает парсинг на стороне сервера и веб‑приложения и позволяет гибко добавлять новые поля и типы данных.
Для взаимодействия веб‑клиента с серверной частью используются HTTP/HTTPS и REST‑интерфейсы, а для реализации уведомлений и обновления данных в режиме, близком к реальному времени, может применяться WebSocket поверх HTTPS.
6 Обеспечение безопасности системы
6.1 Аутентификация и авторизация устройств
Каждому экземпляру устройства «Умная теплица» назначаются уникальные параметры подключения к MQTT‑брокеру (логин/пароль или клиентский сертификат), что позволяет ограничить доступ к топикам и предотвратить подключение неавторизованных устройств.
Подключение к брокеру осуществляется по зашифрованному каналу (MQTT over TLS), что защищает от перехвата и подмены данных при передаче по незащищённым сетям.
6.2 Аутентификация и авторизация пользователей
Веб‑приложение реализует аутентификацию пользователей по логину и паролю, при этом для административной роли возможна двухфакторная аутентификация.
Ролевая модель – администратор, владелец, оператор определяет набор доступных операций для каждой категории пользователей, включая просмотр данных, изменение настроек, ручное управление исполнительными устройствами и администрирование системы.
6.3 Шифрование и защита данных
Весь трафик между устройством и MQTT‑брокером, а также между браузером пользователя и веб‑сервером, передаётся по защищённым протоколам – TLS для MQTT и HTTPS, обеспечивая конфиденциальность и целостность передаваемой информации.
Доступ к серверу и базе данных ограничивается средствами операционной системы и СУБД; используется шифрование данных на уровне файловой системы или диска и регулярное резервное копирование.
6.4 Политика управления доступом
Применяется принцип минимально необходимых привилегий: пользователям и устройствам предоставляются только те права, которые необходимы для выполнения их задач.
Все критические операции – вход в систему, изменение настроек, ручное включение исполнительных устройств протоколируются в журнале аудита, что позволяет проводить последующий анализ инцидентов и отслеживать действия пользователей.
6.5 Защита от типовых угроз IoT
Для защиты от распространённых угроз IoT‑систем реализуются следующие меры:
смена фабричных паролей и отключение стандартных учётных записей на устройствах,
ограничение числа попыток аутентификации и блокировка аккаунта при множественных неудачных входах,
регулярное обновление прошивки микроконтроллера и серверного ПО для устранения известных уязвимостей,
физическая защита оборудования – установка контроллеров и шлюзов в закрытых шкафах, ограничение доступа к интерфейсам отладки и конфигурирования.
