Защита LoRa от глушения
Методы борьбы с радиоподавлением для LoRa mesh-сетей.
Встроенная устойчивость LoRa
LoRa использует CSS (Chirp Spread Spectrum) — линейно-частотную модуляцию. Энергия сигнала распределяется по всей полосе, что даёт ~20 dB выигрыша (processing gain) против узкополосных помех. Однако CSS уязвим к целенаправленному широкополосному глушению на известной частоте.
Возможности SX1262
- CAD (Channel Activity Detection) — обнаружение LoRa-преамбулы и пакетов в канале. В Meshtastic реализован базово (
SX126xInterface::isChannelActive()) - LBT (Listen Before Talk) — проверка канала перед передачей, встроена в чип
- LR-FHSS — Long Range Frequency Hopping, поддерживается аппаратно. Делит пакет на фрагменты (~50 мс) по разным частотам. Meshtastic не использует
- RX Boosted Gain — повышенная чувствительность приёмника, выключена по умолчанию в Meshtastic
- Частотный диапазон — аппаратно 150-960 МГц, можно передавать за пределами ISM (нелегально)
- Быстрая смена частоты —
setFrequency()~40-50 мкс, позволяет сканировать десятки частот за сотни миллисекунд
RSSI-сканирование (спектроанализ)
SX1262 позволяет строить спектрограмму диапазона без дополнительного оборудования:
setStandby()— остановить радиоsetFrequency(freq)— установить частотуsetRx(10)— включить приём на 10 мсdelay(1)— стабилизация RSSIgetRSSI(false)— мгновенный RSSI (командаGetRssiInstв даташите)
~2-3 мс на точку. Диапазон 850-880 МГц с шагом 500 кГц = 60 точек = ~150-200 мс на sweep. Важно не сканировать когда isActivelyReceiving() — радио принимает пакет. После sweep восстановить исходную частоту + startReceive().
Методы защиты
1. Усиление параметров LoRa
Максимизация помехоустойчивости без смены частоты:
- SF12 + BW 62.5 кГц + CR 4/8 — максимальная чувствительность, ~50 bps
- RX Boosted Gain — дополнительные ~2-3 dB
- Preamble 32 символа — надёжный захват сигнала
- TX Power 20 dBm (максимум для RU)
- Суммарный выигрыш ~15 dB. Не спасает от мощного глушения
- Реализация в Meshtastic: запись manual-значений в
config.lora+radioIf->reconfigure()
2. Adaptive Frequency Selection
Мониторинг RSSI по диапазону, уход на чистую частоту при обнаружении глушения.
- Синхронизация без связи:
SHA256(PSK + timeSlot)→ индекс частоты. Все ноды с одинаковым PSK и GPS-временем независимо вычисляют одну частоту timeSlot = floor(GPS_время / 30 сек)— 30-секундные слоты- Fallback без GPS: поиск частоты с минимальным RSSI в диапазоне
- Эффективен против узкополосного и частично широкополосного глушения
3. FHSS (Frequency Hopping Spread Spectrum)
Переключение частоты по псевдослучайной последовательности.
- Программный FHSS через
setFrequency()(~40-50 мкс на переключение) - Требует синхронизации часов (GPS)
- Референсы: SparkFun LoRaSerial, HopSync
- Высокая сложность реализации
4. Мульти-транспорт
Несколько каналов связи: LoRa + WiFi + BT + Ethernet. Reticulum/Sideband поддерживает из коробки. Для Meshtastic — MQTT как запасной канал.
5. Физический уровень
- Направленные антенны — узкий луч сложнее заглушить
- Mesh-ретрансляторы — обход зоны глушения
- Кастомные частоты — выход за пределы стандартных каналов Meshtastic
Типы глушения и защита
| Тип глушения | Описание | Защита |
|---|---|---|
| Узкополосное | Давят конкретную частоту | CSS (встроенное), Adaptive Frequency |
| Широкополосное | Заливают весь ISM-диапазон | Уход за пределы ISM, мульти-транспорт |
| Sweep jamming | Динамически меняющаяся частота | FHSS (более устойчив чем CSS) |
| Reactive | Глушат при обнаружении передачи | Burst transmission, стеганография |
Обнаружение и пеленгация LoRa-сигналов
Обратная сторона защиты — понимание того, как LoRa-сигналы обнаруживаются и идентифицируются противником или системами радиомониторинга.
Как обнаруживают LoRa
CSS-модуляция имеет характерную спектральную сигнатуру — линейный chirp легко детектируется SDR-приёмником или специализированным анализатором. Алгоритм обнаружения:
- Оценка скорости chirp (μ) — произведения отсчетов сигнала со сдвигом → БПФ → спектральный пик на частоте, соответствующей μ. Определяет комбинацию SF/BW
- Корреляция с ЛЧМ-преамбулой — согласованный фильтр выделяет начало пакета. Преамбула LoRa (6+ восходящих chirp-символов) — основная уязвимость для обнаружения
- Частотно-временная синхронизация — нисходящие chirp-символы в конце преамбулы дают точную привязку
- Декодирование заголовка и сообщения — извлечение DevAddr, NetID, DevEUI
Весь процесс работает при SNR от -7.5 дБ (SF7) до -20 дБ (SF12) и устойчив к значительным частотным расстройкам дешёвых генераторов (~10⁻⁵).
Оборудование для обнаружения
- АРСЕНАЛ-И (АО «ИРКОС», Россия) — портативный анализатор, поддерживает LoRaWAN, GSM, LTE, 5G, Wi-Fi, DMR, ZigBee. Извлекает идентификационные данные устройств
- RWC5020B/RWC5021P (ReedwoodComm) — анализаторы LoRaWAN
- C-1200 (GW Instek) — многоканальный анализатор
- SDR (RTL-SDR, HackRF, LimeSDR) — универсальные приёмники, с open-source декодерами (gr-lora, rpp0/gr-lora) позволяют обнаруживать и декодировать LoRa
Что снижает вероятность обнаружения
- Малая мощность — сокращает радиус обнаружения пеленгатором, но не спасает от близкого наблюдателя
- Короткие пакеты — меньше time-on-air = меньше окно для захвата
- Нестандартные частоты — выход за пределы ISM 868 МГц затрудняет поиск (анализаторы настроены на стандартные каналы)
- Направленные антенны — боковые лепестки слабее, обнаружение возможно только в основном луче
- FHSS — частые смены частоты затрудняют корреляцию преамбулы
Шифрование не защищает от обнаружения
AES-256 шифрует payload, но преамбула и заголовок физического уровня передаются открыто. Даже без расшифровки содержимого можно определить: факт передачи, положение передатчика (пеленгация), параметры SF/BW, адрес устройства (DevAddr).
Источники
Практическая реализация
На практике методы 1 и 2 можно реализовать модификацией прошивки Meshtastic: спектросканер для обнаружения глушения, усиление линка (SF12, max TX power), уход на чистую частоту.