«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Обеспечение целостности данных Интернета вещей с помощью платформы Go IoT

Обеспечение целостности данных Интернета вещей с помощью платформы Go IoT

Опубликовано 8 ноября 2024 г.
Просматривать:481

Securing IoT Data Integrity with Go IoT Platform

Перевод:

Платформа разработки Go IoT — это бесплатное, эффективное и масштабируемое решение Интернета вещей (IoT), разработанное с использованием языка программирования Go. Платформа поддерживает такие протоколы передачи данных, как MQTT, HTTP, WebSocket, COAP и TCP/IP, а также предоставляет простые инструменты настройки для функций сигнализации и служб статистики данных на основе JavaScript.

Официальный сайт: http://iot-dev-egi.pages.dev/

Адрес репозитория: https://github.com/iot-ecology/go-iot-platform

Мы ищем инженеров-разработчиков React; ваше участие приветствуется.

Описание события

EMQX может получать отчеты с данными второго уровня со многих устройств в любое время, но это может не соответствовать обычному бизнес-процессу. Например, в обычных обстоятельствах устройство может сообщать данные раз в 5 минут. Чтобы определить, является ли сообщающее устройство законным, нам нужен метод определения того, может ли устройство быть вредоносным, намеренно часто сообщая данные, чтобы повлиять на стабильность EMQX.

Решение платформы разработки Go IoT

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

Метод расчета

Чтобы рассчитать, находится ли частота отчетов устройства в пределах интервала отправки и ошибки, и находится ли она за пределами ошибки, нам сначала нужно определить некоторые переменные и условия:

  1. Интервал нажатия устройства обозначается как ( T ) (секунды).
  2. Ошибка времени отправки устройства обозначается как ( E ) (секунды).
  3. Фактический интервал отправки устройства обозначается как ( T_{\text{actual}} ) (секунды).

0. Расчет фактического интервала нажатия

  1. Временная метка первого нажатия: время, когда устройство впервые отправило данные ( T_{\text{1}} ).
  2. Временная метка второго нажатия: время, когда устройство отправило данные во второй раз ( T_{\text{2}} ).
  3. Фактический интервал отправки: ( T_{\text{actual}} = T_2 - T_1 )

1. Расчет нахождения в пределах интервала нажатия и ошибки

Скорость устройства считается находящейся в пределах интервала отправки и считается ошибкой, если фактический интервал отправки ( T_{\text{actual}} ) соответствует следующему условию:
[ T - E \leq T_ {\text{actual}} \leq T E ]

2. Расчет наличия внешней ошибки

Скорость устройства считается за пределами ошибки, если фактический интервал отправки ( T_{\text{actual}} ) не соответствует вышеуказанному условию, т.е.:
[ T_{\text{actual}} T E ]

Пример расчета

Предполагать:

  • Интервал нажатия ( T = 60 ) секунд
  • Ошибка времени нажатия ( E = 5 ) секунд
  • Устройство отправило первые данные в 10:00:00 20 сентября 2024 г. (т. е. ( T_1 ))
  • Устройство отправило вторые данные в 10:01:05 20 сентября 2024 г. (т. е. ( T_2 ))

Расчет ( T_{\text{actual}} )

[ T_{\text{actual}} = (10:01:05 - 10:00:00) = 65 \text{ секунд} ]

Проверьте, находится ли в пределах интервала нажатия и ошибки:

[ 60 - 5 \leq 65 \leq 60 5 ]
[ 55 \leq 65 \leq 65 ]
Поскольку ( 55 \leq 65 \leq 65 ) верно, скорость устройства находится в пределах интервала передачи и ошибки.

Проверьте, нет ли внешней ошибки:

Поскольку ( 65 ) не меньше ( 60 5 ), скорость устройства не выходит за пределы ошибки.

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

Решение проблем

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

  1. Отмена данных: непосредственное удаление данных, которые превышают интервал отправки и диапазон ошибок. При использовании сообщений в очереди сообщений необходимо напрямую ACK (подтверждение) этих данных без постоянного хранения.

  2. Обслуживание с помощью инструментов управления сервером EMQX

1. Исключите клиентов из черного списка EMQX.

Используя функцию черного списка EMQX, мы можем ограничить вредоносных или ненормальных клиентов, сообщающих о нарушениях. Вот подробный анализ преимуществ и недостатков отключения объектов и вариантов их использования:

Отключенный объект Преимущества Недостатки Примеры использования
Идентификатор клиента  – Высокая точность, возможность прямого ограничения конкретных клиентов.
 – Простота реализации, обычно идентификатор клиента уникален, легко управлять и отслеживать.
- Если клиент меняет идентификатор, его необходимо снова добавить в черный список.
- Требуется механизм идентификации и записи идентификатора клиента.
 – подходит для сценариев, требующих точного контроля над отдельными устройствами или клиентами.
 – когда легко идентифицировать и записать идентификатор клиента MQTT устройства, сообщающего отчеты.
Имя пользователя - Можно управлять группой устройств, используя одно и то же имя пользователя.
- Упрощает управление группой устройств.
 – Не подходит для сценариев, требующих точного контроля над отдельными устройствами.
 – Если устройства имеют одно и то же имя пользователя, законные устройства могут быть неправильно ограничены.
 – подходит для сценариев, в которых устройства используют один и тот же пароль учетной записи в пакетном режиме или в соответствии с правилами.
 – когда управление устройствами более централизовано и детальный контроль над отдельными устройствами не требуется.
IP-адрес - Можно быстро ограничить все запросы с определенного IP-адреса.
- Просто и эффективно для устройств с фиксированными IP-адресами.
 – Не действует для динамических IP-адресов или мобильных устройств.
    Могут ошибочно ограничить другие законные устройства под тем же IP-адресом.
 – подходит для сценариев, когда устройства имеют фиксированные IP-адреса.
 – когда вам нужно быстро ограничить трафик с определенного IP-адреса, и под этим IP-адресом нет других законных устройств.

Три вышеперечисленных пункта должны в первую очередь отдать приоритет Client ID.

2. Исключение клиентов через интерфейс API, предоставленный EMQX.

EMQX предоставляет интерфейс API, который позволяет администраторам удалять определенные клиенты MQTT с сервера. Следует отметить, что если клиент MQTT реализовал механизм повторного подключения, простое его удаление может не полностью удалить клиент.

Ссылка: Документация EMQX — исключение клиентов

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/beck_moulton/securing-iot-data-integrity-with-go-iot-platform-42gf?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3