Безопасность
Что и как шифруется
В Meshtastic шифрование в первую очередь связано с каналами:
- у каждого канала есть PSK (ключ);
- содержимое (payload) пакетов по LoRa шифруется ключом канала;
- при этом служебная часть пакета (заголовки) остаётся открытой, чтобы ноды могли ретранслировать трафик даже без знания ключа.
Это означает: ретрансляция возможна, но “метаданные” всё равно могут быть видны пассивному наблюдателю.
На практике здесь важно разделять два уровня:
- LoRa / mesh‑уровень - как пакет передаётся по радио между нодами;
- MQTT / broker‑уровень - что происходит с этим пакетом, если gateway‑нода отправляет его дальше в интернет.
Это не одно и то же. Сообщение может быть защищено в радиоэфире, но потерять часть приватности после обработки на gateway‑ноде или в MQTT‑интеграции.
Ключ по умолчанию и “публичность”
Во многих установках “из коробки” основной канал использует известный ключ по умолчанию (он не является секретом). Это удобно для совместимости, но плохо для приватности.
Практическое правило:
- если вам нужна приватность, создайте или установите свой PSK и распространяйте его осторожно;
- помните, что QR/ссылка канала часто содержит ключ или данные, достаточные для подключения.
В Meshtastic безопасность на практике чаще всего упирается не в “криптографию”, а в то, как вы обращаетесь с ключами:
- кто знает ваш PSK (ключ канала);
- где вы публикуете QR‑код канала;
- насколько приватны ваши настройки (включая координаты).
Direct Message (личные сообщения)
В новых ветках Meshtastic личные сообщения реализованы так, чтобы их мог прочитать только адресат (используется криптография на публичных/приватных ключах и подписи сообщений). Это заметно лучше, чем “DM как сообщение в общем канале”.
Если в сети есть старые устройства/прошивки, поведение DM может отличаться. Для критичных сценариев используйте приватный канал и контролируйте состав сети.
Но это не означает автоматическую end-to-end приватность во всех интеграциях.
Если DM проходит через MQTT gateway, дальше многое зависит от того:
- был ли пакет опубликован в broker как raw/protobuf или уже как JSON;
- расшифровала ли gateway‑нода содержимое до публикации;
- включены ли у вас интеграции, которые читают уже декодированные данные.
Именно поэтому на практике можно столкнуться с ситуацией, когда личное сообщение по радио защищено, но в MQTT уже видно в читаемом виде.
MQTT и приватность
Самое важное правило: MQTT в Meshtastic не стоит считать end-to-end защищённым слоем по умолчанию.
Что это значит:
- по радио payload может идти зашифрованным;
- на gateway‑ноде пакет может быть принят и декодирован;
- после этого в MQTT может попасть уже не шифртекст, а читаемое содержимое или JSON;
- broker, подписчики, Home Assistant, Node‑RED и другие интеграции могут увидеть эти данные.
Поэтому фраза “личные сообщения шифруются” верна только на уровне самой mesh‑передачи, но не гарантирует, что содержимое останется скрытым после отправки через MQTT.
Особенно осторожно надо относиться к:
- личным сообщениям;
- координатам;
- node info;
- телеметрии;
- любым интеграциям, которые работают с JSON.
Кто может читать мои сообщения
- Публичный канал: если канал не закрыт ключом или ключ известен широкому кругу, читать сообщения может любой, кто находится в радиусе и настроен совместимо.
- Приватный канал: сообщения читают только участники с корректным PSK.
- MQTT‑интеграция: если gateway или интеграция публикует уже декодированные данные, их может читать любой, у кого есть доступ к broker или соответствующим topic.
QR‑код канала — это, по сути, “приглашение” (часто с ключом). Не выкладывайте его публично без понимания, кто получит доступ.
Ограничения безопасности (что Meshtastic не обещает)
Meshtastic - не “Signal по радио”. Даже при AES‑шифровании есть ограничения, о которых важно знать:
- Нет PFS (perfect forward secrecy) на уровне каналов: если ключ канала когда‑то утечёт, старый записанный трафик теоретически можно расшифровать.
- Целостность/аутентичность групповых сообщений ограничены: при доступе к ключу канала злоумышленник может имитировать отправителя. Не полагайтесь на поле “кто отправил” как на криптографическое доказательство личности.
- Физический доступ к ноде часто критичнее любых сетевых атак: потеря или кража ноды может означать утечку PSK.
- MQTT ломает простую модель приватности: даже если радио‑часть защищена, broker и интеграции могут получить уже декодированное содержимое.
Рекомендации (минимальный набор)
- Не настраивайте приватные PSK на неохраняемых стационарных нодах, к которым легко получить физический доступ (особенно если это “роутер на крыше”).
- Не публикуйте QR/ключи в открытых чатах и в скриншотах.
- Меняйте ключи (PSK) периодически, если канал действительно приватный.
- Аккуратно относитесь к координатам (позиция в эфире — это тоже данные).
- Не считайте MQTT безопасным “по умолчанию” только потому, что Meshtastic шифрует трафик по радио.
- Если важна приватность, не включайте MQTT и JSON “просто так” и не отправляйте sensitive‑трафик через публичные broker‑сценарии.
Можно ли сделать полностью приватную сеть
Можно приблизиться к этому, если:
- использовать приватный канал с уникальным PSK;
- не публиковать QR/ключи в открытых чатах;
- аккуратно относиться к геопозиции (не транслировать лишнее);
- использовать отдельную “закрытую” инфраструктуру (свои ретрансляторы и ноды).
Если в такой сети используется MQTT, добавляется ещё одно правило:
- используйте свой broker, свои ключи и минимум интеграций;
- исходите из того, что broker и подписчики технически могут увидеть больше, чем вы ожидаете;
- не пускайте в MQTT чувствительный трафик без отдельного понимания, как именно он публикуется.