Колонна вышла из подземного ангара в 04:20 без фар и опознавательных огней.
Шесть чёрных бронемашин растянулись по мокрому проспекту. Спереди шёл инженерный «Кедр» с минным тралом, за ним — командирская машина капитана Веры Орловой, затем два транспортёра, санитарный броневик и замыкающий грузовик связи.
По документам главным грузом был полковник Арсен Вальд — офицер противника, перешедший на сторону коалиции с кодами системы береговой обороны.
Его нужно было доставить на аэродром «Рубеж» до 05:30.
После этого взлётную полосу должны были накрыть ракетами.
— Контроль связи, — сказала Орлова.
— Внутренняя сеть чистая, — ответил лейтенант связи Тимур Гранов. — Внешний канал только через короткие окна. Спутник глушат.
— Навигация?
— Инерциальная плюс карта. GPS мёртв.
На соседнем сиденье лежала папка маршрута: тоннель «Южный», развязка у завода, старый мост через канал, затем промышленная дорога к аэродрому. Три запасных коридора были запечатаны в конвертах.
Вальд ехал во втором транспортёре под охраной сержанта Лукина. По приказу командования место пленного знали только Орлова, Лукин и начальник операции полковник Зорин.
Через семь минут после выхода первая мина взорвалась под пустым трамваем.
«Кедр» остановился.
— Контакт справа! — крикнул водитель.
Из окон девятиэтажки ударили два гранатомёта. Первая граната прошла над командирской машиной. Вторая попала в четвёртый автомобиль — транспортёр, который по легенде перевозил боеприпасы.
Броня выдержала, но машину развернуло.
— Дым! Левый сектор подавить! — приказала Орлова.
Замыкающий грузовик поставил аэрозольную завесу. Стрелки ответили по окнам короткими очередями. Инженерная машина сдвинула трамвай с рельсов, и колонна пошла дальше.
— Потери? — спросила Орлова.
— Один контужен, ходовая цела, — ответил командир четвёртой машины.
Гранов открыл тактическую карту.
— Они били именно по четвёртой.
— Случайный выбор.
— Нет. Первый гранатомёт держал нас, второй ждал её.
Орлова посмотрела в зеркало на тёмный силуэт транспортёра.
— По документам там пустые ящики с боекомплектом.
— По документам — да.
До аэродрома оставалось пятьдесят восемь минут.
У развязки навигационная система показала поворот направо.
Орлова сверила бумажную карту.
— Маршрут идёт налево.
— Цифровая карта обновилась три минуты назад, — сказал Гранов.
— Откуда, если внешняя сеть отключена?
Он проверил журнал.
— Обновление пришло изнутри колонны.
— От какой машины?
— Источник подписан как командирская.
Орлова сняла перчатку и приложила палец к терминалу.
— Я ничего не отправляла.
Гранов сравнил подпись.
— Сертификат ваш. Время — 04:31.
— В это время мы были под огнём.
Колонна остановилась в тени бетонной эстакады.
Орлова вызвала командиров машин.
— Переходим на бумажный маршрут. Цифровые подсказки игнорировать.
— Правый коридор короче на шесть минут, — сказал майор логистики Денис Марков, ехавший в санитарном броневике.
— Он не утверждён.
— У нас таймер.
— У нас ещё и противник, который уже знает, куда стрелять.
Марков замолчал.
Слева на развязке стоял сгоревший автобус. За ним начинался тоннель «Южный». Инженерная машина проверила вход.
— Чисто.
Колонна вошла под землю.
На середине тоннеля погас аварийный свет.
В тот же момент четвёртая машина резко затормозила.
— Потеря тяги! — сообщил водитель.
Следующий за ней санитарный броневик едва успел остановиться.
Орлова вышла под прикрытием Кострова — старшего группы охраны.
У четвёртого транспортёра был перебит топливный шланг. Не пулей: ровный надрез находился под защитной пластиной.
— Это сделали до выхода, — сказал механик.
— Сколько на ремонт?
— Десять минут.
— У нас нет десяти.
Марков подошёл ближе.
— Перегрузим ящики в санитарный.
— Какие ящики?
— Боеприпасы.
Орлова посмотрела на него.
— Вы слишком хорошо знаете содержимое машины, которая числится резервной.
— Я подписывал погрузочную ведомость.
— В ведомости написано «пустая тара».
Марков побледнел.
— Значит, я перепутал машину.
Орлова приказала открыть транспортёр.
Внутри стояли четыре чёрных контейнера размером с небольшой холодильник. На каждом — медицинская маркировка и датчик температуры.
— Это не боеприпасы, — сказал Гранов.
— Контейнеры для плазмы, — ответил Марков. — Запас для аэродромного госпиталя.
— Почему они в транспортёре, а не в санитарной машине?
— Из-за массы.
Орлова коснулась корпуса. Он был тёплым.
— Холодильник должен быть холодным.
Гранов подключил диагностический кабель.
— Температура внутри минус восемнадцать. Наружная стенка подогревается отдельно.
— Зачем?
— Чтобы тепловизор видел обычный грузовой отсек, а не четыре холодных блока.
В глубине тоннеля раздался глухой удар.
С обеих сторон закрылись противопожарные ворота.
— Засада! — крикнул Костров.
Из сервисных ниш открыли огонь.
Орлова легла за колесом и увидела три группы противника. Они не пытались прорваться к машине с Вальдом. Они шли к четвёртому транспортёру.
— Держать центр! Санитарный назад! — приказала она.
Гранов запустил аварийную сирену тоннеля. Громкий вой заглушил команды противника. Костров бросил светошумовую гранату в левую нишу. Орлова с двумя бойцами прошла вдоль стены и выбила первую группу.
Один нападавший успел закрепить на транспортёре магнитный резак.
Наумов, сапёр сопровождения, сорвал устройство и бросил его в дренажный канал. Взрыв выбил плиту из стены.
Через пролом хлынула вода.
— Они хотели открыть машину, а не уничтожить, — сказал Наумов.
Вторая группа отступила к восточному выходу.
Орлова приказала не преследовать.
— Сначала ворота.
Инженерная машина зацепила створку тросом. Через две минуты проход освободили.
На ремонт топливной линии ушло ещё четыре.
До аэродрома оставалось сорок две минуты.
— Перегружаем контейнеры в командирскую машину, — сказала Орлова.
Марков возразил:
— Это нарушит баланс и протокол хранения.
— Какой протокол? Тот, где они числятся пустой тарой?
Он ничего не ответил.
Контейнеры закрепили в заднем отсеке командирской машины.
Вальда перевели из второго транспортёра в санитарный броневик. Теперь его местонахождение знали только Орлова, Лукин и Гранов.
Колонна вышла из тоннеля и пошла по бумажному маршруту к старому мосту.
Через пять минут разведывательный дрон передал изображение: мост был цел, но на въезде стоял брошенный бензовоз.
— Объезд займёт двенадцать минут, — сказал Гранов.
— Проверяем бензовоз.
«Кедр» выпустил малый робот. Тот подполз к машине.
В кузове бензовоза не было топлива. Внутри находился передатчик, который повторял сигнал командирской машины.
— Вот откуда пришло ложное обновление маршрута, — сказал Гранов.
— Как он получил мой сертификат?
— Его загрузили заранее.
Орлова посмотрела на Маркова.
— У кого был доступ к терминалу до выхода?
— У штаба, у вас, у связистов, у логистики, — ответил он.
— И у вас.
— Да.
На экране робота появился новый индикатор.
— Внутри ещё что-то, — сказал Наумов.
Бензовоз взорвался.
Мост не рухнул, но первый пролёт просел. Проезд тяжёлой техники стал невозможен.
— Они не хотели взрывать нас на мосту, — сказала Орлова. — Они хотели загнать колонну вправо.
Правый коридор вёл к промышленной зоне — именно туда, куда цифровая карта пыталась отправить их раньше.
— Там короче, — снова сказал Марков.
— Там нас ждут.
— Тогда какой вариант?
Орлова раскрыла первый запасной конверт.
Внутри была дорога через сухой канал и железнодорожное депо.
— Идём по запасному.
Колонна свернула к каналу.
Гранов продолжал изучать контейнеры.
— У них двойная оболочка. Внутри нет плазмы.
— Что есть?
— Не могу открыть без ключа.
— Взломай.
— Сработает стирание.
Марков резко сказал:
— Не трогайте. Это медицинский груз с биозащитой.
— Вы уже третий раз называете его по-разному.
Он отвернулся.
В сухом канале связь пропала окончательно.
На стенах мелькали старые номера водосбросов. Дрон поднять было нельзя: сверху проходили линии электропередачи.
На третьем километре «Кедр» остановился.
Поперёк канала лежала бетонная плита.
— Свежий обвал, — сообщил инженер.
— Нет, — сказала Орлова. — Пыль осела слишком ровно.
Наумов проверил края.
— Плиту опустили краном.
Сзади раздался звук двигателей.
В канал вошли две вражеские бронемашины.
— Контакт с тыла!
Орлова разделила колонну. «Кедр» и первая машина били по плите, остальные развернули оружие назад.
Противник использовал дым и управляемые боеприпасы. Один снаряд пробил замыкающий грузовик связи. Машина загорелась.
Гранов успел вытащить водителя, но антенное оборудование сгорело.
Вторая вражеская машина попыталась обойти по сервисной полке.
Лукин из санитарного броневика подбил её гранатомётом.
Первая остановилась и выпустила беспилотник-камикадзе.
Он пошёл не на командирскую машину и не на санитарный броневик.
Он атаковал четвёртый транспортёр — теперь уже пустой.
— Они всё ещё думают, что контейнеры там, — сказал Гранов.
— Значит, не видят перегрузку.
— Но знают исходную схему.
«Кедр» разрушил край плиты. Образовался узкий проход.
Колонна протиснулась по одному.
Замыкающий грузовик пришлось оставить.
До аэродрома оставалось двадцать девять минут.
В железнодорожном депо Орлова приказала остановиться на три минуты.
— Зачем? — спросил Марков.
— Проверка груза.
Она посадила Вальда на складной стул в ремонтном боксе.
Пленный выглядел спокойным.
— Вы знаете, что в контейнерах? — спросила Орлова.
— Нет.
— За ними охотятся активнее, чем за вами.
— Тогда я не главный груз.
— Вы удивлены?
— Нет. Меня никогда не называли главным человеком в комнате, если рядом стоял сейф.
Гранов нашёл на одном контейнере скрытый порт.
— Есть сервисный канал без стирания.
— Открывай журнал.
На экране появились строки:
«Модуль “Горизонт”. Узел 4. Состояние: активен. Синхронизация: 05:28».
Вальд изменился в лице.
— Вы везёте ключ береговой обороны.
— Объясните.
— «Горизонт» — не база данных. Это модуль доверия. Он может выдать себя за законный командный узел и переназначить цели ракетной сети.
— Сколько таких модулей?
— Четыре. Если собрать их вместе, можно переподчинить всю систему.
В командирской машине находились все четыре.
— Почему в одном конвое? — спросил Костров.
— Потому что кто-то хотел, чтобы их перехватили одновременно, — ответила Орлова.
Марков сделал шаг к выходу.
Костров направил на него оружие.
— Стоять.
— Вы ошибаетесь.
— Тогда объясните, почему вы знали о контейнерах и толкали нас на правый маршрут.
Марков поднял руки.
— Я отвечал за погрузку. Мне приказали обеспечить доставку.
— Кто?
— Полковник Зорин.
Орлова нажала внутреннюю связь.
— Гранов, проверьте приказ.
Тот открыл зашифрованную ведомость.
Подпись Зорина была настоящей.
Но время создания файла — 05:06.
Сейчас было 05:02.
— Приказ подписан из будущего, — сказал Гранов.
— Подделка времени?
— Нет. Терминал доверяет внешней метке. Кто-то заранее подготовил файл и заставил систему показать будущую подпись.
Вальд посмотрел на контейнеры.
— Модули «Горизонт» умеют не только подменять командные узлы. Они подменяют доверие к документам.
— То есть любой приказ, подписанный рядом с ними, может выглядеть законным?
— Если модули активны — да.
Орлова повернулась к Маркову.
— Вы знали?
— Я знал только, что груз нужно довезти до промышленной зоны.
— Не до аэродрома?
Он понял, что проговорился.
Костров шагнул ближе.
Марков выхватил пистолет из скрытой кобуры.
Он успел выстрелить один раз. Пуля задела Кострова в плечо.
Орлова ударила Маркова прикладом. Тот упал, но нажал кнопку на браслете.
Контейнеры подали звуковой сигнал.
— Что вы сделали? — спросил Гранов.
Марков улыбнулся сквозь кровь.
— Перевёл в режим передачи.
На крышах депо вспыхнули три малых маяка.
— Он вызывает группу перехвата, — сказал Наумов.
— Сколько до синхронизации?
— Двадцать четыре минуты.
— И до ракетного удара по аэродрому примерно столько же.
Орлова поняла схему.
Аэродром никогда не был настоящей точкой доставки. Конвой должен был привести четыре модуля в промышленную зону, где противник синхронизировал бы их и получил контроль над береговой обороной. Пленный Вальд был прикрытием: достаточно ценным, чтобы объяснить бронеколонну, но не настоящей целью.
— Откуда противник знал четвёртую машину? — спросил Лукин.
— Марков передал исходную раскладку до выхода, — ответила Орлова.
— Тогда почему он не сообщил о перегрузке?
— Потому что мы остановили внешнюю связь. Его маяк включился только сейчас.
На горизонте послышался рёв двигателей.
— Перехватчики идут с востока, — сказала Яна по оптике. — Четыре машины.
Орлова посмотрела на схему депо.
Здесь стояли цистерны, ремонтные платформы и старый железнодорожный тягач.
— Мы не поедем к аэродрому всей колонной.
— Что предлагаете? — спросил Гранов.
— Разделяем груз.
— Модули должны быть вместе для синхронизации.
— Именно.
Они перенесли по одному контейнеру в разные машины. Один остался в командирской, второй ушёл в «Кедр», третий — в санитарный броневик, четвёртый — в повреждённый транспортёр.
В пустой четвёртый транспортёр положили включённый маяк Маркова.
— Он поведёт противника за собой, — сказала Орлова.
Водитель-доброволец вывел машину на восточную дорогу и включил автоматическое управление. Через двести метров он выпрыгнул в укрытие.
Транспортёр продолжил движение.
Вражеские машины пошли за ним.
— Они всё ещё верят маяку, — сказал Гранов.
— Пока.
Остальная колонна двинулась по железнодорожным путям на запад.
Через пять минут противник понял обман.
Два преследователя развернулись.
Орлова приказала санитарному броневику с Вальдом и одним модулем уйти к аэродрому через северный выезд. «Кедр» с другим модулем пошёл к речной переправе. Командирская машина и повреждённый транспортёр остались в депо.
— Они будут искать четыре сигнала, — сказал Гранов.
— А получат четыре направления.
— Если модули не синхронизируются.
— Не дадим им времени.
Наумов начал готовить контейнеры к разрыву связи.
— Взрывать нельзя, — предупредил Вальд. — При разрушении каждый модуль отправит аварийную копию последнему доверенному узлу.
— Который сейчас у противника?
— Возможно.
— Тогда глушим внутренние часы.
Гранов предложил поместить контейнеры в электромагнитное поле тяговых двигателей депо. Старый локомотив мог дать достаточно сильную помеху.
— Он не работает, — сказал механик.
— Зато дизель командирской машины работает.
Они подключили генератор к обмоткам тягача.
До синхронизации оставалось четырнадцать минут.
Первая вражеская машина ворвалась в депо через восточные ворота.
Яна сняла водителя. Машина врезалась в платформу.
Вторая обошла с юга и высадила штурмовую группу.
Начался бой между вагонами.
Костров, несмотря на рану, держал центральный проход. Наумов подорвал стрелочный перевод, заблокировав бронемашине путь. Орлова с Яной обошли противника по ремонтной яме.
Один из нападавших добрался до командирской машины и открыл задний отсек.
Внутри был только кабель, ведущий к локомотиву.
Он понял слишком поздно.
Гранов включил тяговую обмотку.
По депо прошёл низкий гул.
Все экраны погасли.
Модули «Горизонт» потеряли синхронизацию.
Но вместе с ними отключилась внутренняя связь колонны.
— Сколько? — крикнула Орлова.
Гранов показал руками: восемь минут.
В этот момент Марков вырвался из стяжек.
Он бросился к локомотиву.
Костров попытался остановить его, но раненое плечо подвело.
Марков добежал до распределительного шкафа и выдернул кабель.
Гул прекратился.
Контейнер в командирской машине снова запищал.
— Остальные три тоже включились, — сказал Гранов.
Орлова догнала Маркова между платформами.
Он стрелял на ходу. Пуля разбила фонарь над её головой.
— Вы не понимаете, — крикнул он. — Если модули доставят в штаб, ими воспользуются наши же!
— Поэтому вы решили отдать их противнику?
— Противнику? Зорин продаёт контроль обеим сторонам. Война держится на том, что никто не доверяет приказам.
— Где Зорин?
— На аэродроме.
Орлова замерла на долю секунды.
Если это правда, аэродром был не точкой эвакуации, а местом, где Зорин собирался получить Вальда и хотя бы один модуль.
Марков выстрелил снова.
Орлова ушла в сторону и ответила.
Марков упал.
Он был жив, пуля прошла через бедро.
— Вальд не должен попасть к Зорину, — выдохнул он.
— Почему?
— Он знает, кто создал «Горизонт».
До синхронизации — шесть минут.
Орлова связалась с северной группой через короткий аналоговый канал.
— Лукин, аэродром отменяется. Уходите к точке «Медь».
— Подтвердите код.
— «Чёрный снег».
— Принял.
Затем она вызвала «Кедр».
— Речная переправа. Контейнер в воду не сбрасывать. Ждать новый маршрут.
— Принял.
Оставалось решить, как остановить четыре модуля одновременно.
Вальд предложил единственный вариант:
— Они доверяют друг другу. Если один получит несовместимую версию времени, остальные начнут взаимную проверку и заблокируются.
— Как дать разное время?
— Один модуль нужно синхронизировать от старого железнодорожного хронометра. Он механический и отстаёт на девять минут.
В депо действительно висели большие часы, остановленные на 04:53.
— Они не идут, — сказал Гранов.
— Их и не нужно запускать. Нужно заставить модуль принять их как источник.
Гранов подключил командирский контейнер к старому часовому реле.
До синхронизации — три минуты.
Остальные модули находились в разных концах города, но всё ещё обменивались короткими служебными пакетами.
Командирский контейнер принял время 04:53.
Три других считали, что уже 05:06.
Система начала проверку.
На дисплее появилась надпись:
«Конфликт доверия. Узлы изолированы».
Все четыре маяка погасли.
Вражеские машины остановились. Их навигация тоже зависла: они использовали «Горизонт» как источник маршрутов.
— Получилось, — сказал Гранов.
— Временно.
— На сколько?
— Пока кто-то вручную не восстановит доверие.
Орлова посмотрела на часы.
До ракетного удара по аэродрому оставалось девять минут.
— Выводим людей. Вальда — на точку «Медь». Контейнеры — в разные защищённые узлы. Ни один не должен попасть в штаб вместе с другим.
— А Зорин?
— Сначала проверим, существует ли его приказ вообще.
Через двадцать минут ракеты уничтожили пустой ангар аэродрома «Рубеж». Полковника Зорина там не оказалось.
Его кабинет в штабе нашли пустым.
На терминале остался один файл:
«Конвой прибыл?»
Гранов проверил подпись.
— Настоящая?
— Нет. Но система считает её настоящей.
Марков не соврал во всём.
Через сутки Вальд дал показания. «Горизонт» создали не как оружие наведения, а как систему подтверждения приказов в условиях разрушенной связи. Зорин превратил её в инструмент подмены доверия и продавал доступ тем, кто платил больше.
Маркова арестовали, но его показания помогли найти три тайных узла.
Четвёртый остался неизвестен.
Орлова смотрела на карту города, где были отмечены маршруты чёрного конвоя.
— Почему они назвали операцию именно так? — спросил Гранов.
— Потому что колонна шла без света.
— Нет. В журнале Зорина название появилось за месяц до операции.
Он открыл скрытую строку.
«Чёрный конвой — перевозка не людей и не груза. Перевозка доверия».
Орлова закрыла файл.
— Тогда в следующий раз повезём недоверие.
На экране загорелось новое сообщение от неизвестного узла:
«Модуль 4 проснулся».
Орлова посмотрела на часы.
— Поднимайте группу.
— Куда?
— Туда, где снова появился маршрут, которого никто не прокладывал.