GPS-спуфинг не работает, чем отличается военный GPS с шифрованием от гражданского
Увидел комментарий:
Дисклеймер. Я не буду что либо писать про Глонасс, ибо не хочу иметь проблем с законом если вскрою чувствительную тему. Автор диванный
необразованныйэксперт и не преследует никаких целей. Это просто научпоп материал об устройстве американского GPS. Все материалы взяты из открытых источников, они сами выложили документ для публики, статья была отредактирована и причёсана через ИИ. Все ссылки на источники прикрепляю.
Точность и частоты
Ходит миф что у гражданского GPS специально урезан сигнал, военный GPS показывает координаты с точностью до "миллиметра". До 2000 года США действительно искусственно портили гражданский сигнал, но Билл Клинтон её отключил. Сегодня и гражданский, и военный GPS используют одни и те же базовые диапазоны частот: L1 (1575.42 МГц), L2 (1227.60 МГц) и добавился L5 (1176.45 МГц).
Почему потенциальная точность одинаковая? Главный враг GPS это ионосфера, которая непредсказуемо задерживает радиоволны. Чтобы компенсировать эту задержку, приёмнику нужно поймать сигнал на двух разных частотах, сравнить разницу во времени прохождения и вычислить поправку. Раньше вторая частота была доступна только военным, но сейчас любой флагманский смартфон имеет двухчастотный чип. С использованием систем вроде RTK (когда стоят наземные станции корректировки), гражданские геодезисты и агрономы получают точность до сантиметра.
Физика у сигналов одна и та же.
Почему гражданский GPS так легко обмануть подменой (спуфингом)?
Гражданский сигнал (C/A-код на частоте L1) это полностью открытая книга. Все его параметры лежат в публичном доступе. Ваш смартфон, дрон или навигатор в машине верят спутнику на слово.
Если кто-то берет копеечный SDR-передатчик (типа HackRF) и начинает транслировать в эфир точно такой же сигнал, но с мощностью чуть выше, чем тот, что долетает из космоса (а из космоса он долетает слабее шепота), ваш девайс мгновенно "переезжает" в аэропорт или в Атлантический океан. Это и есть спуфинг подмена сигнала. Гражданский приёмник не умеет проверять, реально ли это спутник. Он просто цепляется за самый сильный знакомый сигнал.
Военный GPS: Защита от подделки
Военные используют зашифрованные сигналы: старый P(Y)-код и современный M-Code (Military Code). И вот тут начинается суровая криптография.
M-Code не просто передает координаты, он зашифрован алгоритмом MNSA (Modernized Navstar Security Algorithm). Чтобы твой приемник вообще понял, что это за радиошум, в нем должен быть зашит актуальный секретный криптографический ключ.
Почему не работает классический спуфинг?
Спуфер не знает ключа. Он не может сгенерировать правильный математический код, который военный приемник признал бы за свой. Если враг попытается транслировать фейковый M-Code, приемник отбросит его как обычный фоновый шум.
А что если просто записать реальный сигнал со спутника и воспроизвести его с задержкой? (Так называемая Replay-атака).
Военные инженеры тоже не идиоты. Во-первых, сигнал жестко привязан к сверхточному времени. Если приемник видит, что пакет данных пришел даже на микросекунду позже, чем должен был по криптографическому расписанию, он шлет этот сигнал нахер. Во-вторых, на серьезной технике стоят CRPA (Controlled Reception Pattern Antennas) умные фазированные антенны. Они физически "слушают" только то, что падает с неба. Если мощный сигнал внезапно летит с соседнего холма по горизонтали, антенна аппаратно создает в этом направлении "слепую зону" и полностью игнорирует источник.
Киллер-фича: Как заглушить чужих, не оглушив своих
Теперь самое интересное, можно вырубить гражданский GPS врагу, но самим остаться с навигацией.
Помните, мы говорили, что и гражданские, и военные сидят на одних и тех же частотах? Инженеры применили для M-Code специальную модуляцию: BOC (Binary Offset Carrier).
Если посмотреть на радиоспектр, гражданский сигнал торчит жирным пиком ровно по центру частоты. А M-Code, благодаря BOC-модуляции, хитро "расползается" по краям диапазона двумя горбами, оставляя центр почти пустым.
Результат: Войска могут включить глушилку ровно на центральной частоте L1. Весь гражданский GPS, все коммерческие дроны и навигаторы в радиусе сотен километров сдохнут моментально. А военный M-Code, который сидит по краям диапазона, продолжит спокойно читаться.
Почему нельзя просто "включить" военный GPS на гражданском девайсе?
Если алгоритмы и частоты известны, почему нельзя скачать патч с 4PDA или Github, накатить на ESP32 и включить M-Code на своем дроне?
Потому что расшифровка происходит не софтом, а хардварно. Внутри военной аппаратуры стоит модуль SAASM(Selective Availability Anti-Spoofing Module) или более современный MGUE (Military GPS User Equipment). Это физически изолированный криптопроцессор.
В него нужно залить криптоключи (Black Keys), которые генерируются, обновляются и строго контролируются Министерством обороны США.
Это железо имеет защиту от вскрытия (Tamper-proof). Если ты попытаешься физически ковырять плату, чтобы считать алгоритм памяти или подпаяться к шине, чип мгновенно стирает свои ключи и превращается в бесполезный кусок текстолита.
Продажа таких модулей регулируется параноидальными законами США (ITAR). Их ставят только на сертифицированную военную технику США и их официальных союзников.
Так что, если кто-то на Али продает вам "GPS с защитой от спуфинга и военного глушения" вас просто обманывают. Максимум, что там есть это переключение на другие спутниковые группировки по резерву или фильтрация самых примитивных помех. Настоящий военный анти-спуфинг это закрытая аппаратная криптография, к которой у нас с вами доступа нет и не будет.
Вывод:
Гражданский GPS говорит: "Вот открытый сигнал, принимайте все".
Военный GPS говорит: "Вот сигнал, но доверять ему можно только если он прошёл криптографическую проверку".
Поэтому военный GPS невозможно обмануть: там доверие строится не на “похоже на спутник”, а на "докажи, что ты спутник".











