Кодграбберы или сканеры (приборы, способные перехватить сигнал между брелоком и сигнализацией) появились ещё в прошлом веке, практически одновременно с первыми электронными охранными системами. Использовавшийся в то время фиксированный код, подобрать при том уровне техники было невероятно сложно. Но неизменный сигнал легко занести в память специального радиоприёмника (кодграббера) – достаточно один раз оказаться неподалёку от «родного» брелка в момент постановки или снятия с охраны. А воспроизвести команду, само собой, уже в отсутствие хозяина.

В качестве ответной меры изобрели динамический код, который при каждой посылке изменялся по особому алгоритму, заложенному в память брелка и сигнализации. Поэтому воспроизведение перехваченного кода уже не могло помочь угонщикам. Но и они не стояли на месте. Не будем вдаваться в математические тонкости дешифровки, заметим лишь, что записав несколько последовательно переданных с одного брелка команд, можно расшифровать алгоритм формирования «секретной» части динамического кода – это вопрос времени.

На сегодняшний день (и надолго вперед) полноценную защиту от электронного взлома обеспечивает только диалоговый код с индивидуальными ключами шифрования. Система, приняв динамически кодированную команду («пароль»), не выполняет ее сразу, а посылает запрос на подтверждение – некое случайное число, также динамически кодированное. Брелок его принимает и при помощи секретного ключа и сложного алгоритма формирует «отзыв», снова динамически перекодирует и шлет системе. Если отзыв верен, то система выполняет команду, причём процесс занимает доли секунды. В отличие от брелка кодграббер в руках даже самого матерого угонщика не знает алгоритма изменения кода, ключа шифрования и не способен сформировать отзыв за отведенное на это время. Но и эти меры – еще не предел защиты.

Особенности диалогового кода, реализованного в сигнализациях и иммобилайзерах StarLine, гарантируют абсолютную защиту от взлома с помощью любых известных кодграбберов. В каждой системе используется индивидуальный ключ шифрования, передаваемый единственный раз при регистрации брелка в системе. Длина ключа - 128 бит, что даёт 3,4*1038 комбинаций. Даже если перебирать миллиарды вариантов в секунду, чтобы разгадать задачу, потребуется больше времени, чем существует Вселенная. При существующих сегодня вычислительных средствах решить эту задачу «в лоб» невозможно.

При формировании отзыва в диалоговом коде использован аппаратный генератор случайных чисел, дополнительно защищающий от взлома кода. Кроме того, передача пакетов информации сопровождается короткими паузами, а рабочая частота передачи внутри цикла авторизации скачкообразно изменяется. Эти меры затрудняют как перехват, так и расшифровку команды – при том, что подбор индивидуального ключа вообще невозможен. Короче говоря, смерть Кощея в игле, игла в яйце, яйцо в утке, утка в зайце, заяц в сундуке, сундук на дубу…

Чтобы купленная вами автосигнализация стала надежной защитой, необходимо правильно ее подобрать. Одним из основных параметров, влияющих на эффективность работы сигнализации, является способ кодирования сигнала. В этой статьи мы постараемся доступно объяснить, что значит динамическое кодирование сигналов и что значит диалоговый код в автосигнализация, какой вид кодирования лучше, какие у каждого есть положительные и отрицательные стороны.

Динамическое кодирование в автосигнализациях

Противостояние разработчиков сигнализаций и угонщиков началось еще со времен создания первых автосигнализаций. С появлением новых более совершенных охранных систем совершенствовались и средства их взлома. Самые первые сигнализации имели статический код, который легко взламывался методом подбора. Ответом разработчиков стала блокировка возможности подборка кода. Следующим шагом взломщиков стало создания грабберов – устройств, которые сканировали сигнал с брелока и воспроизводили его. Таким способом они дублировали команды с брелока владельца, снимая автомобиль с защиты в нужный момент. Чтобы защитить автосигнализации от взлома граббером, начали использовать динамическое кодирование сигнала.

Принцип действия динамического кодирования

Динамический код в автосигнализациях – постоянно изменяющийся пакет данных, передаваемый с брелока на блок сигнализации через радиоканал. С каждой новой командой с брелока посылается код, который ранее не использовался. Этот код рассчитывается по определенному алгоритму, заложенному производителем. Самым распространенным и надежным алгоритмом считается Keelog.

Сигнализация работает по следующему принципу. Когда владелец машины нажимает на кнопку брелока, генерируется сигнал. Он несет в себе информацию о количестве нажатий (это значение необходимо для синхронизации работы брелока и блока управления), серийном номере устройства и секретном коде. Перед отправлением эти данные предварительно зашифровываются. Сам алгоритм шифрования находится в свободном доступе, но чтобы расшифровать данные, необходимо знать секретный код, который закладывается в брелок и блок управления на заводе.

Существуют также оригинальные алгоритмы, разработанные производителями сигнализаций. Такое кодирования практически исключило возможность подбора кода-команды, но со временем злоумышленники обошли и эту защиту.

Что нужно знать о взломе динамического кода

В ответ на внедрения динамического кодирования в автосигнализациях, был создан динамический граббер. Принцип его действия заключается в создании помехи и перехвате сигнала. Когда автовладелец выходит с автомобиля и нажимает на кнопку брелока, создается сильная радиопомеха. Сигнал с кодом не доходит к блоку управления сигнализации, но он перехватывается и копируется граббером. Удивленный водитель нажимает повторно на кнопку, но процесс повторяется, и второй код также перехватывается. Со второго раза автомобиль ставится на защиту, но команда поступает уже с устройства вора. Когда владелец машины спокойно уходит по своим делам, угонщик посылает второй, ранее перехваченный код и снимает машину с защиты.

Какую защиту используют для динамического кода

Производители автосигнализации решили проблему взлома довольно - таки просто. Они стали устанавливать на брелоках две кнопки, одна из которых ставила машину на защиту, а вторая – деактивировала защиту. Соответственно для установки и снятия защиты посылались разные коды. Поэтому сколько бы помех вор ни поставил при установке машины на защиту, он никогда не получит код, требуемый для деактивации сигнализации.

Если вы нажали на кнопку «установка на защиту», а машина не среагировала, то, возможно, вы стали целью угонщика. В этом случае не нужно бездумно нажимать на все кнопки брелока, в попытках как-то исправить ситуацию. Достаточно еще раз нажать на кнопку защиты. Если вы случайно нажмете на кнопку «снять с защиты», то вор получит необходимый ему код, которым вскоре воспользуется и украдет вашу машину.

Сигнализации с динамическим кодированием уже несколько устарели, они не обеспечивают стопроцентную защиту автомобиля от угона. На их смену пришли устройства с диалоговым кодированием. Если вы владелец недорогой машины, то вам не нужно беспокоиться, поскольку очень низка вероятность того, что на ваше имущество покусится оснащенный самым современным оборудованием вор. Чтобы обезопасить свое имущество, используйте многоуровневую защиту. Установите дополнительный . Он обеспечит защиту машины, в случае взлома автосигнализации.

Диалоговое кодирование в астосигнализациях

После появления динамических грабберов автосигнализации, работающие на динамическом коде, стали очень уязвимыми перед злоумышленниками. Также большое количество алгоритмов кодирования были взломаны. Чтобы обеспечить защиту автомобиля от взлома такими устройствами, разработчики сигнализаций стали использовать диалоговое кодирование сигнала.

Принцип действия диалогового кодирования

Как понятно из названия, шифрование этого типа ведется в режиме диалога межу брелоком и блоком управления автосигнализацией, расположенном в автомобиле. Когда вы нажимаете на кнопку, с брелока подается запрос на выполнения команды. Чтобы блок управления удостоверился, что команда поступила именно с брелока владельца, он посылает на брелок сигнал со случайным числом. Это число обрабатывается по определенному алгоритму и отсылается обратно на блок управления. В это время блок управления обрабатывает то самое число и сравнивает свой результат с результатом, присланным брелоком. При совпадении значений, блок управления выполняет команду.

Алгоритм, по которому выполняются расчеты на брелоке и блоке управления, индивидуален для каждой автосигнализации и закладывается в нее на еще заводе. Давайте для понимания рассмотрим простейший алгоритм:

X∙T 3 - X∙S 2 + X∙U - H = Y

T, S, U и H – это числа, которые закладываются в сигнализацию на заводе.

X – случайное число, которое отправляется с блока управления на брелок для проверки.

Y – число, которое рассчитывается блоком управления и брелоком по заданному алгоритму.

Давайте рассмотрим ситуацию, когда владелец сигнализации нажал на кнопку и с брелока на БУ передался запрос на снятия машины с охраны. В ответ блок управления сгенерировал случайное число (для примера возьмем число 846) и отправил его на брелок. После этого БУ и брелок выполняют расчет числа 846 по алгоритму (для примера рассчитаем по приведенному выше простейшему алгоритму).

Для расчетов примем:

T = 29, S = 43, U = 91, H = 38.

У нас получится:

846∙24389 - 846∙1849 + 846∙91- 38 = 19145788

Число (19145788) брелок отправит блоку управления. Одновременно с этим блок управления выполнит такой же расчет. Числа совпадут, блок управления подтвердит команду брелока, и машина снимется с охраны.

Даже для расшифровки элементарного алгоритма, приведенного выше, понадобится четыре раза (в нашем случае в уравнении четыре неизвестных) перехватить пакеты данных.

Перехватить и расшифровать пакет данных диалоговой автосигнализации практически невозможно. Для кодирования сигнала используются так называемые хэш-функции – алгоритмы, которые преобразовывают строки произвольной длины. Результат такого шифрования может содержать до 32 букв и цифр.

Ниже приведены результаты шифрования чисел по самому популярному алгоритму шифрования MD5. Для примера было взято число 846 и его модификации.

MD5 (846) =;

MD5 (841) =;

MD5 (146) =.

Как видите, результаты кодирования чисел, отличающихся только одной цифрой, абсолютно не похожи друг на друга.

Похожие алгоритмы используются в современных диалоговых автосигнализациях. Доказано, что для обратного декодирования и получения алгоритма, современным компьютерам понадобится больше века. А без этого алгоритма будет невозможно генерировать проверочные коды для подтверждения команды. Поэтому сейчас и в ближайшем будущем взлом диалогового кода невозможен.

Сигнализации, работающие на диалоговом коде оказываются более безопасные, они не поддаются электронному взлому, но это не значит, что ваш автомобиль будет в полной безопасности. Вы можете случайно утерять брелок или его у вас украдут. Для повышения уровня защиты, необходимо использовать дополнительные средства, такие как и .

Мы часто слышим, что команду, которую посылает радиобрелок, можно перехватить специальным прибором - так называемым код-граббером или сканером.

Наглядным примером нам послужит автомобильная сигнализация.

Радиоканал, по которому передаются данные между сигнализацией и брелоком обладает одним большим недостатком - радиоволны распространяются не направленно и обмен можно прослушать, находясь далеко от владельца автомобиля. Такие каналы связи называют незащищенными и данные, которые по ним передаются, шифруют.

Данные по радиоканалу передают в виде небольших последовательностей - пакетов. Каждый пакет можно представить как команду например, «Открой замок», ответ на команду например, «Замок открыт».

Самые первые сигнализации с радиоканалом имели статический код - каждой команде соответствовал свой командный пакет. Формат пакета выбирал сам пользователь (или установщик), переключая движки внутри брелока, или запаивая перемычки.

Так как вариантов кода было немного, то иногда своим брелоком можно было открыть чужую машину с такой же сигнализацией - форматы пакетов совпадали. Конечно, такое кодирование никакой защиты не обеспечивало - достаточно было один раз прослушать пакет, соответствующий команде "Снять с охраны", чтобы потом, просто повторив его, получить доступ к автомобилю.

Наверное, именно тогда появились первые кодграбберы - технические устройства, предназначенные для перехвата, декодирования и повтора кода. Конечной целью злоумышленника, который пользуется кодграббером, является снятие с охраны "приглянувшегося" автомобиля, а затем кража из салона или угон.

Даже для самых первых кодграбберов статический код не представлял никакой проблемы, поэтому вскоре все производители сигнализаций перешли на динамическое кодирование.

Динамический код отличается от статического тем, что при каждом нажатии на кнопку формат пакета меняется.

Пакет меняется по определенному закону, который известен только сигнализации и запрограммированному в нее брелоку. Это означает, что просто повторить записанный пакет нельзя - старые пакеты сигнализация отбрасывает.

Рисунок 1. Динамический код

На первых порах казалось, что этого будет достаточно, и что проблема кодгабберов решена - но не тут то было! Динамическое кодирование тоже не устояло перед новыми кодграбберами.

Самым известным алгоритмом динамического кодирования является Keeloq.

В Интернете давно гуляют слухи в взломе Keeloq, однако это не соответствует действительности. Аналитически алгоритм Keeloq до сих пор не взломан - взломаны его неудачные реализации. Например, многие производители автомобилей "грешат" тем, что используют один и тот же ключ для всех систем, что позволяет создать так называемые "мануфактурные" кодграбберы.

Взламывают динамическое кодирование несколькими способами.

Первый способ: аналитический. В основе этого способа лежат "дыры", которые случайно или сознательно оставили в алгоритме разработчики системы. Пример приведен выше - одинаковые ключи у штатных охранных систем некоторых автомобилей.

Второй способ: замена кода, метод, который в свое время наделал много шума и заставил производителей сигнализаций разнести команды постановки и снятия с охраны на разные кнопки брелока. При использовании этого способа кодграббер записывает несколько посылок брелока пользователя, а потом использует одну из них для снятия автомобиля с охраны.

Многие производители автомобильных систем охраны разрабатывали свои собственные динамические коды, внося различные улучшения. Некоторые из них так до сих пор и не вскрыты, и вроде бы могут использоваться в охранных системах. Однако необходимо понимать, что ни один динамический код не гарантирует защиту от взлома.

Самым криптостойким и надежным считается диалоговое кодирование, которое требует двустороннего канала связи, то есть наличия приемника и передатчика, как в основном модуле, так и в брелоке.

Алгоритм работы диалогового кодирования удобно объяснять, используя семью: мужа и жену.

Представьте, что «муж» находится в доме и кроме «жены» никого пускать не хочет. В двери нет глазка, а в доме нет окон. После того как «муж» услышал стук в дверь, ему нужно определить, действительно ли за дверью стоит «свой», т.е. «жена». Самый лучший способ - это задать вопрос, правильный ответ на который может дать только «жена». Если человек за дверью ответит верно - смело открывать дверь это «свой».

Точно так же работает и сигнализация с диалоговым кодом:

1. При нажатии на кнопку брелок посылает пакет с запросом на авторизацию ("стучит в дверь").

2. Основной модуль, приняв этот пакет, придумывает "загадку", ответ на которую может быть только один. "Загадка" передается брелоку по радиоканалу.

3. Брелок, разгадав "загадку", отвечает пакетом подтверждения.

4. Основной модуль проверяет ответ и, если он верен, выполняет команду брелока ("открывает дверь").

Рисунок 2. Структура диалогового кода

Теперь давайте добавим в нашу историю еще одного персонажа «чужой», который очень хочет попасть в дом к нашей семье. При определенных условиях «чужой» может подслушать разговор между мужем и женой, и узнать ответ на загадку «мужа». Поэтому загадки каждый раз должны быть разные.

В диалоговом кодировании роль загадки играет случайное число, которое сгенерировано по специальному алгоритму. "Случайность" этого числа очень высока. При этом ответ на загадку болжен поступить за строго отведенный интервал времени - за доли секунд.

Представим, что вопросы, которые задает «муж» - даты исторических событий. Что будет делать «чужой», если узнает об этом? Подготовит ответ и сможет пробраться в дом?

В диалоговом кодировании процесс разгадывания "загадки" уникальный для каждой системы "сигнализация" - "брелок". Это реализовано - уникальным ключом шифрования, который создается при привязке брелока к системе.

Система, приняв динамически кодированную команду («пароль»), не выполняет ее сразу, а посылает запрос на подтверждение – некое случайное число, также динамически кодированное. Брелок его принимает и при помощи секретного ключа и сложного алгоритма формирует «отзыв», снова динамически перекодирует и шлет системе. Если отзыв верен, то система выполняет команду, причём процесс занимает доли секунды. В отличие от брелка кодграббер в руках даже самого матерого угонщика не знает алгоритма изменения кода, ключа шифрования и не способен сформировать отзыв за отведенное на это время.


Рисунок 3. Обобщенный вид диалогового кода

В итоге, на сегодняшний день (и надолго вперед) полноценную защиту от электронного взлома обеспечивает только диалоговый код с индивидуальными ключами шифрования.

А знаете, как устроены системы опознавания в военной авиации? Там стоит система запроса «Свой - чужой», т.е. диалоговое кодирование. Если на запрос с земли самолет правильно не отвечает, его сбивают!

В электронных замках «АРБат» мы используем диалоговое кодирование - систему опознавания, как в самолете.