Meshtastic поддерживает шифрование, но фраза «сообщения зашифрованы» ещё не означает полной анонимности сети. Содержание пакета может быть защищено, а часть технической информации, необходимой для маршрутизации, всё равно передаётся открыто. Кроме того, безопасность группового канала и современного личного сообщения устроена по-разному.
Особенно важно понимать разницу между стандартным публичным каналом, собственным приватным каналом с уникальным PSK и direct message с PKI. Это три разных сценария с разным уровнем защиты.
Разберём без упрощений: что способен увидеть посторонний приёмник, почему стандартный LongFast нельзя считать секретным, как работают публичные ключи, что означает Public Key Mismatch, как ограничить точность координат и какие данные могут уйти на MQTT-карту.
- полезная нагрузка LoRa-пакетов Meshtastic может быть зашифрована;
- заголовок радиопакета остаётся незашифрованным;
- стандартный ключ основного публичного канала известен и не обеспечивает приватность;
- для собственного закрытого канала нужен уникальный случайный PSK;
- современные direct messages могут использовать PKI и защищены лучше обычного группового канала;
- для DM важно проверять, что используется Public Key Encryption, а не Shared Key;
- координаты можно передавать с уменьшенной точностью или полностью отключить;
- Map Reporting способен публиковать сведения об узле на MQTT-картах;
- шифрование содержания не скрывает сам факт радиопередачи;
- Meshtastic не следует воспринимать как полностью анонимный защищённый мессенджер.
Сначала разделим три разных сценария
Когда говорят «шифрование Meshtastic», часто смешивают несколько механизмов.
Публичный канал
Стандартная сеть с известными настройками и известным ключом. Подходит для открытого общения и поиска других участников, но не для конфиденциальной переписки.
Приватный канал
Группа устройств использует собственный уникальный PSK. Посторонний участник без этого ключа не должен прочитать обычное содержимое канала.
Direct Message
Современные версии Meshtastic могут дополнительно использовать криптографию с публичными ключами для личного сообщения конкретному узлу.
Поэтому вопрос «Meshtastic зашифрован или нет?» слишком общий.
Правильнее спрашивать:
- какой канал используется;
- какой ключ установлен;
- это групповой broadcast или direct message;
- используется ли PKI;
- куда ещё передаётся пакет через MQTT;
- какая точность координат разрешена.
Что остаётся видно, даже если содержание зашифровано
Meshtastic шифрует payload радиопакета, но заголовок должен быть доступен промежуточным узлам, иначе они не смогут нормально выполнять маршрутизацию и ретрансляцию.
В незашифрованной части пакета находится техническая информация, необходимая сети, включая идентификаторы отправителя и назначения, идентификатор пакета и параметры маршрутизации.
Это означает важную вещь:
Наблюдатель радиоканала всё равно может определить, что в эфире работает Meshtastic-подобная сеть, когда происходят передачи и насколько активно используется канал.
Поэтому Meshtastic нельзя считать системой, скрывающей сам факт коммуникации.
Можно ли определить, какой узел передаёт
В радиопакете присутствуют служебные идентификаторы, необходимые протоколу.
Это не означает, что посторонний автоматически знает ФИО владельца или его домашний адрес. Но если человек сам связал Long Name, Node ID, публичную карту, профиль в интернете или постоянное местоположение с собственной личностью, технический идентификатор становится намного менее анонимным.
Поэтому для публичной сети не стоит использовать в имени узла лишние персональные сведения.
Почему стандартный LongFast нельзя считать приватным
После обычной первоначальной настройки пользователь часто оказывается на стандартном публичном канале.
В нём используется общеизвестный ключ.
Он нужен не для секретности, а для совместимости устройств, которые должны сразу находить публичную сеть.
Удобно найти других пользователей и участвовать в общей mesh.
Уникальный случайный PSK известен только вашей группе.
Если приложение показывает, что канал использует стандартный, простой или известный ключ, передавать там информацию, которую не должны прочитать посторонние, нельзя.
Это относится не только к тексту.
Не стоит отправлять в публичный канал:
- пароли;
- коды доступа;
- PIN;
- данные банковских карт;
- сканы документов;
- точный домашний адрес;
- коды сигнализации;
- секреты API;
- учётные данные домашней автоматизации.
Как сделать отдельный приватный канал
Для закрытой группы используется собственный PSK.
Meshtastic позволяет создать случайный сильный ключ, который затем необходимо безопасно передать участникам группы.
Основной принцип:
Не следует использовать стандартный ключ или простые предустановленные значения для действительно приватной переписки.
Также нужно помнить: секретность канала сохраняется только пока секретен сам ключ.
Если один из участников:
- передал QR-код постороннему;
- опубликовал конфигурационную ссылку;
- потерял устройство;
- оставил экспорт конфигурации в открытом доступе;
ключ следует считать потенциально скомпрометированным.
Что делать после компрометации PSK
- создать новый случайный ключ;
- передать его доверенным участникам;
- обновить устройства;
- не использовать старый ключ повторно.
Для постоянной закрытой группы разумно периодически менять ключ и обязательно менять его после потери устройства.
Важное ограничение безопасности групповых каналов
Обычные channel messages используют PSK и AES-CTR.
Это обеспечивает конфиденциальность payload при нормальном использовании правильного секретного ключа, но текущая модель групповых каналов имеет ограничения по аутентификации и контролю целостности.
Проще говоря, участник, который уже знает PSK канала, обладает большим уровнем доверия, чем пользователь привычного современного интернет-мессенджера.
Не стоит добавлять десятки неизвестных пользователей в один PSK-канал, а потом воспринимать имя отправителя как криптографически доказанную личность.
Если нужно отправить конкретному человеку более чувствительное сообщение, современный PKI direct message является предпочтительнее обычного группового сообщения.
Direct Messages после Meshtastic 2.5
С версии 2.5 Meshtastic серьёзно изменил защиту личных сообщений.
Для современных узлов используются индивидуальные пары публичного и приватного ключей.
Приватный ключ должен оставаться только на своём устройстве.
Публичный ключ, наоборот, предназначен для передачи другим узлам.
Это позволяет построить защищённое соединение для сообщения конкретному получателю без необходимости давать всем участникам один общий секрет DM.
Почему это лучше старой схемы
В старых версиях direct message фактически использовал ключ общего канала.
Если человек знал PSK этого канала, модель «личного» сообщения давала намного меньше изоляции между участниками.
Современная PKI-схема отделяет DM конкретному узлу от простого группового обмена.
Как понять, используется ли PKI
Современные клиенты могут показывать состояние защиты direct message.
В зависимости от приложения обозначения немного отличаются, но смысл следующий:
Личное сообщение использует PKI.
Сообщение использует общий channel key.
Ключ этого Node ID изменился и личность узла нужно проверить.
Если конфиденциальность важна, перед отправкой чувствительной информации полезно проверить состояние защиты DM.
Что такое TOFU и почему это важно
Meshtastic является децентрализованной сетью. Здесь нет центрального сервера, который выдаёт сертификат и официально подтверждает: «этот публичный ключ принадлежит именно Ивану».
Поэтому используется модель Trust On First Use, сокращённо TOFU.
Упрощённо:
Похожая проблема существует во многих децентрализованных системах: первое знакомство с ключом особенно важно.
Как проверить действительно важный контакт
Если с человеком планируется приватное общение, публичные ключи можно сравнить по независимому доверенному каналу:
- при личной встрече;
- по обычному телефонному разговору;
- через заранее проверенный защищённый канал.
Смысл проверки заключается не в секретности public key. Он и должен быть публичным. Нужно удостовериться, что полученный ключ действительно принадлежит нужному человеку.
Что означает красный ключ или Public Key Mismatch
Такое предупреждение нельзя автоматически игнорировать.
Оно означает, что клиент ранее связывал конкретный узел с одним публичным ключом, а теперь получил другой.
Причина может быть совершенно нормальной:
- владелец полностью перепрошил устройство;
- был выполнен erase;
- узел заменили на новое оборудование;
- ключи не были восстановлены из резервной копии.
Но теоретически изменение ключа может означать и попытку выдать другой узел за уже известный.
Сначала уточните у владельца, действительно ли он сбрасывал, перепрошивал или менял устройство.
Почему проблема особенно заметна в очень больших сетях
У встроенных LoRa-устройств ограничена память.
NodeDB на типичном оборудовании не может бесконечно хранить все когда-либо увиденные узлы.
В крупной сети старые записи со временем могут удаляться, чтобы освободить место новым.
Meshtastic снижает риск потери информации о важных контактах: избранные узлы сохраняются, а клиенты способны хранить дополнительные сведения и обнаруживать изменение публичного ключа.
Что происходит с ключами после полного стирания прошивки
Публичный и приватный ключ являются частью идентичности узла.
При полном стирании и чистой установке они могут быть сгенерированы заново.
Тогда другие устройства увидят:
и могут показать предупреждение.
Поэтому ключи стоит резервировать
Особенно для:
- стационарного узла;
- удалённого ретранслятора;
- устройства с большим количеством DM-контактов;
- узла удалённого администрирования.
Резервную копию конфигурации нужно хранить как секретный файл, потому что она может содержать не только публичную информацию, но и приватные ключи и PSK каналов.
Координаты: одна из главных проблем приватности
Meshtastic умеет передавать координаты, и это очень удобно для походов, групп автомобилей, выездных работ и поиска участников сети.
Но постоянная публикация точного положения стационарного узла может одновременно раскрывать:
- местоположение дома;
- место хранения оборудования;
- расположение стационарного ретранслятора;
- маршрут движения человека;
- регулярно посещаемые места.
Поэтому точность позиции должна соответствовать реальной задаче.
Position Precision: точность можно уменьшить
Для каждого канала можно настраивать точность передаваемых координат.
Например, если участникам достаточно понимать, что узел находится примерно в одном районе города, нет необходимости автоматически публиковать точку возле конкретного дома.
Практичная схема
Позиция отключена или сильно огрублена.
Точность выбирается по реальной необходимости.
Почему важно обновлять прошивку
Точность позиции относится к тем функциям, где ошибка логики может иметь последствия для приватности.
В ветке прошивки 2.7 разработчики исправляли обработку position precision, включая direct position packets и соблюдение явно настроенной точности конкретного канала.
Для устройства, которое действительно передаёт координаты, это ещё один аргумент не оставаться годами на случайной старой версии firmware.
Нужен ли GPS вообще
Нет.
Meshtastic может работать без передачи местоположения.
Для стационарного ретранслятора можно:
- не использовать GPS;
- не публиковать позицию;
- использовать фиксированное положение;
- огрубить координаты для публичного канала.
Настройку нужно выбирать исходя из назначения узла, а не потому, что GPS физически установлен на плате.
MQTT меняет модель приватности
Обычная автономная LoRa-сеть остаётся локальной радиосетью.
При включении MQTT появляется дополнительный транспорт:
После этого нужно думать уже не только о радиоканале, но и о:
- самом MQTT broker;
- учётной записи;
- TLS;
- uplink;
- Map Reporting;
- приложениях, подписанных на MQTT topics.
Если интернет-интеграция не нужна, включать её только потому, что такая настройка существует, смысла нет.
Map Reporting публикуется отдельно
Особенно внимательно нужно относиться к функции Map Reporting.
Она предназначена для отображения узла на совместимых интернет-картах.
В такой отчёт могут входить:
- Long Name;
- Short Name;
- Node ID;
- координаты;
- высота;
- аппаратная модель;
- Device Role;
- версия прошивки;
- регион LoRa;
- modem preset;
- название основного канала;
- количество локально слышимых активных узлов.
Если публичное отображение узла не нужно, не стоит включать Map Reporting просто ради эксперимента.
Map Reporting Position Precision
Для публичного отчёта можно отдельно выбрать точность координат.
По умолчанию она не должна раскрывать абсолютно точную точку, однако пользователь всё равно должен самостоятельно проверить настройку перед включением публичной публикации.
Для стационарного домашнего узла разумный вопрос звучит так:
Если ответ «нет», полная точность не нужна.
Нужно ли давать приватный PSK удалённому ретранслятору
Не всегда.
Особенность Meshtastic заключается в том, что ретрансляция может выполняться даже тогда, когда промежуточный узел не умеет расшифровать payload.
Это позволяет построить интересную схему:
Ретранслятор помогает передать пакет, но не обязательно должен обладать секретным PSK содержимого.
Это особенно полезно для:
- солнечного узла на удалённой точке;
- ретранслятора с относительно лёгким физическим доступом;
- общей инфраструктуры;
- узла, которым пользуются несколько групп.
Не хранить секрет там, где он технически не нужен.
Если украденный наружный ретранслятор никогда не имел PSK приватного канала, физическое получение самого устройства не раскрывает этот PSK из его конфигурации.
Rebroadcast Mode и чужие зашифрованные пакеты
По умолчанию Meshtastic способен участвовать в ретрансляции пакетов с совместимыми радионастройками, даже когда конкретный узел не знает ключа их содержимого.
Если это нежелательно, поведение ретрансляции можно ограничивать соответствующим Rebroadcast Mode.
Это уже вопрос архитектуры сети:
- расширяем публичную mesh;
- работаем только со своими каналами;
- строим закрытый сегмент.
Удалённое администрирование: используйте современный PKC-метод
Meshtastic позволяет удалённо изменять конфигурацию другого узла.
Для современных версий предпочтителен механизм с Admin Keys.
На управляемом узле указываются публичные ключи устройств, которым разрешено выполнять административные операции.
Это значительно правильнее старой модели общего admin channel.
В самой конфигурации Meshtastic он обозначен как менее безопасный старый механизм управления.
Managed Mode
Для инфраструктурного узла существует Managed Mode.
Он запрещает обычным локальным клиентам изменять конфигурацию, оставляя управление через разрешённый механизм Remote Admin.
Но включать его нужно только после проверки удалённого доступа, иначе можно самостоятельно лишиться удобного способа изменить настройки устройства.
Нужно ли отключать Serial Console
Для обычного карманного устройства это не всегда требуется.
Для постоянной инфраструктурной точки, которая установлена в доступном месте и не должна обслуживаться через локальный serial API, отключение ненужных интерфейсов можно рассматривать как дополнительное уменьшение поверхности доступа.
Но сначала нужно убедиться, что остаётся нормальный способ обслуживания и восстановления.
Практичная безопасная конфигурация Meshtastic
Обновить прошивку
Особенно если узел использует PKI, удалённое администрирование или передаёт координаты.
Оставить публичный канал только для публичного общения
Не воспринимать стандартный ключ как секрет.
Создать отдельный приватный канал
Использовать случайный уникальный PSK.
Передавать PSK только доверенным людям
QR-код и channel URL фактически являются способом передачи доступа к каналу.
Для важных DM проверять PKI
Обращать внимание на Public Key Encryption и предупреждения о несовпадении ключа.
Проверить Position Precision
Не публиковать точность выше необходимой.
Проверить MQTT
Отключить uplink, downlink и Map Reporting, если они не нужны.
Не хранить приватный PSK на ненужном ретрансляторе
Особенно если устройство установлено в физически доступном месте.
Сделать резервную копию ключей
Хранить экспорт конфигурации как секретную информацию.
Не использовать Legacy Admin без причины
Для новых установок ориентироваться на PKC Remote Admin.
Что делать, если потеряли Meshtastic-устройство
Если устройство содержало секретный PSK приватной группы, правильнее считать этот ключ потенциально раскрытым.
Последовательность:
- сменить PSK приватных каналов;
- проверить Admin Keys;
- удалить потерянный узел из доверенных административных настроек, если это применимо;
- сообщить участникам группы о смене ключа;
- не возвращаться к старой конфигурации после замены устройства.
Что делать после покупки бывшего в употреблении узла
Не стоит просто подключаться к чужой оставшейся конфигурации.
Для устройства с неизвестной историей разумнее:
- выполнить корректный сброс;
- установить актуальную прошивку;
- сгенерировать собственную идентичность;
- создать свои каналы;
- не использовать оставшиеся чужие PSK и Admin Keys.
Что Meshtastic не скрывает в принципе
Даже идеально настроенная криптография не способна скрыть всё.
Радионаблюдатель потенциально может анализировать:
- наличие передачи;
- частоту активности;
- продолжительность пакетов;
- технические незашифрованные поля заголовка;
- появление и исчезновение радиоузлов;
- общую нагрузку на канал.
А если пользователь сам публикует координаты, имя и Map Report, объём доступной внешнему наблюдателю информации становится ещё больше.
Meshtastic может хорошо защищать содержание определённых сообщений при правильных настройках, но это не технология полной анонимности и не специализированный инструмент скрытой связи.
Почему проект продолжает менять систему безопасности
Meshtastic изначально создавался для небольших доверенных групп, а затем начал использоваться в значительно более крупных публичных mesh-сетях.
Из-за этого разработчикам приходится усиливать:
- защиту direct messages;
- идентификацию узлов;
- remote admin;
- работу с публичными ключами;
- приватность координат.
Современная PKI для DM появилась именно как ответ на ограничения прежней схемы.
Что ожидается дальше
Документация проекта описывает дальнейшее усиление идентичности узлов через подписи сообщений.
Для ветки 2.8 рассматривается XEdDSA-подпись, которая должна уменьшить возможности подмены заявленной идентичности узла и повысить аутентичность сообщений.
На момент подготовки этой статьи актуальная публичная ветка 2.7 ещё не означает, что все такие будущие механизмы уже используются.
В вопросах безопасности всегда нужно проверять фактическую версию firmware конкретного узла.
Безопасен ли Meshtastic в итоге
Для коротких сообщений внутри правильно настроенной группы Meshtastic предлагает вполне серьёзные криптографические механизмы с учётом ограничений маломощного LoRa-оборудования.
Но итоговая безопасность зависит не только от алгоритма.
Она зависит от:
- секретности PSK;
- версии прошивки;
- использования PKI для DM;
- проверки публичных ключей;
- настроек координат;
- MQTT;
- физической сохранности устройств;
- того, какие данные пользователь вообще решил отправить.
Самая большая ошибка - увидеть слово AES256 и решить, что после этого вся система автоматически становится такой же приватной, как современный защищённый интернет-мессенджер.
FAQ: безопасность Meshtastic
Meshtastic шифрует сообщения?
Да. Payload радиопакетов может шифроваться, а для современных direct messages применяется отдельный механизм PKI. При этом заголовок LoRa-пакета остаётся незашифрованным.
Безопасен ли стандартный LongFast?
Стандартный публичный ключ известен. Такой канал предназначен для совместимости и открытой mesh, а не для приватной переписки.
Как сделать закрытый канал Meshtastic?
Создать отдельный канал с уникальным случайным PSK и передавать конфигурацию только доверенным участникам.
Может ли участник приватного канала читать сообщения других?
Обычные групповые сообщения предназначены всем участникам канала, знающим PSK. Для личной переписки с конкретным узлом лучше использовать PKI direct messages.
Что означает Public Key Encryption?
Direct message отправляется с использованием криптографической идентичности конкретного узла, а не только общего PSK группового канала.
Что означает Public Key Mismatch?
Публичный ключ узла отличается от ранее сохранённого. Это может быть следствием перепрошивки или замены устройства, но для важного контакта ключ желательно перепроверить.
Можно ли скрыть координаты?
Да. Для канала можно уменьшить position precision или полностью запретить передачу позиции.
Можно ли отключить GPS и продолжать пользоваться Meshtastic?
Да. GPS не является обязательным условием текстовой LoRa-связи.
Что публикует MQTT Map Reporting?
Он может публиковать имя и ID узла, приблизительную позицию, аппаратную модель, роль, версию firmware, LoRa-настройки и другие сведения, необходимые публичной карте.
Нужен ли приватный PSK ретранслятору?
Не всегда. Meshtastic способен ретранслировать пакеты, содержимое которых узел не умеет расшифровать. Для удалённой инфраструктуры это может быть полезным принципом безопасности.
Нужно ли делать резервную копию PKI-ключей?
Да, особенно для постоянного узла. После полного стирания устройства ключи могут быть сгенерированы заново, что вызовет изменение криптографической идентичности.
Meshtastic так же безопасен, как Signal?
Нет. У систем совершенно разная архитектура, ограничения и модель угроз. Сам проект Meshtastic прямо указывает на существующие ограничения своей криптографической модели.
Может ли кто-то понять, что я использую Meshtastic, не расшифровав текст?
Сам факт радиопередачи скрыть шифрованием payload нельзя. Кроме того, часть технического заголовка пакета передаётся незашифрованной.
Нужно построить автономную или резервную сеть связи?
Для дома, участка или удалённого объекта можно подобрать архитектуру из LoRa, локальной сети, Wi-Fi, радиомоста, LTE, VPN и резервного питания. Решение должно учитывать не только дальность, но и приватность, отказоустойчивость и объём передаваемых данных.
Написать в MAX или Telegram