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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Начнём как обычно с предыстории! Часто на форумах встречаются такие интересные фразы "Берите сигнализацию ХХХ. У меня работает год всё нормально" и с другой стороны "У меня такая же сигнализация ХХХ, взломали на стоянке, вытащили деньги и навигатор и поставили обратно на охрану". Так в чем же проблема? И что такое диалоговый код, о котором говорят последние годы так много? Почему установщики порой так неохотно желают ставить, а держаться за привычные для них сигнализации? Мы даже выделили для диалоговых сигнализаций отдельный раздел в нашем магазине и казалось бы - всё просто, диалоговые сигнализации на данный момент самые криптоустойчивые... но на практике не так всё просто, многие не верят, многие говорят, что это рекламный трюк, а некоторые вообще не слышали про диалоговые сигнализации! Итак, идея статьи появилась, он (директор) сказал поехали, он махнул рукой...

Начнём с теории! Что такое автомобильная диалоговая сигнализация?

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

Статья написана нами в 2011-м году.
Подобрать Вам актуальную диалоговую сигнализацию или охранный комплекс?

Попробуем объяснить, начиная с объяснение "на пальцах"! Брелок выдаёт запрос на выполнение команды (например, снятие с охраны), блок сигнализации в ответ генерирует случайное число, в зависимости от битности шифрования оно может отличаться количеством цифр, затем передает это число брелку. Мы не будем доводить до фанатизма битность используемых чисел, возьмём трехзначное число. Например, 536 (назовём это число X). И создадим некий несложный алгоритм по которому преобразуем данное число, например:

(A + X*B + X 2 *C + X 3 *D)*E = Y

A, B, C, D, E - это произвольные числа, которые уникальны для каждой сигнализации, более того, сам метод шифрования (то есть вид самого уравнения) может отличаться для одинаковых моделей сигнализации, назовём эти числа неизвестными и попытаемся математически прояснить - как можно выяснить эти числа? То есть как можно взломать код и узнать следующее число? Начнём с ответа - какое число будет правильным ответом брелка? Вот Y и будет правильным ответом. Что же мы имеем на практике? Возьмём вместо наших неизвестных обычные произвольные числа, положительные и отрицательные. Например,

A = 2; B = -17; C = 85; D = 59; E = -44

Подставляем наши неизвестные и получаем:

(2 + 536*(-17) + 536^2*85 + 536^3* 59) * (-44) = -400833829176

То есть наш правильный ответ, Y = -400833829176

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

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

Берём наше случайное число 536 и пытаемся выяснить какая связь у ответа будет с некоторыми соседними по цифрам числами! Наиболее популярным алгоритмом хеширования является MD5:

MD5 (536) =

MD5 (535) =

MD5 (636) =

MD5 (546) =

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

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

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

  • личная финансовая заинтересованность в продаже Вам менее качественной (криптостойкой) сигнализации, ведь стоимость имиджевой дорогой двусторонней сигнализации идёт один в один с ценой диалоговых сигнализаций
  • банальное не понимание сути вопроса, разницы между обычной двусторонней сигнализацией и диалоговой двусторонней сигнализацией
  • либо личные причины, когда человек уже купил какую-то простенькую сигнализацию, считает её самой лучшей и пытается Вам доказать верность своего выбора

Само собой криптостойкость диалогового кода у автосигнализаций пользуются популярностью и производители диалоговых сигнализаций (к основным из них относятся Pandora , Magic Systems , StarLine , BLACK BUG) прилагают значительные усилия для продвижения. Дошло до того, что одна из известных компаний, специализирующихся на производстве диалоговых сигнализаций даже утвердила грант в 1 000 000 рублей (или переводя в общепонятную валюту 280 000 гривен) тому, кто сможет взломать код автосигнализации Пандора, что опять таки подтверждает, что диалоговый код для кодграберов это недостижимая цель.

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

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

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

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

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

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

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

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

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

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

Преимущества диалогового кода

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

Автосигнализации с диалоговым принципом работы

Наиболее популярными сигнализациями с диалоговым кодом на сегодняшний день являются системы StarLine, Pandora и Magic Systems. Особым спросом пользуются сегодня автосигнализации Star Line B6 Dialog (недорогая система с диалоговым кодом) и Star Line B9 Dialog (система с функцией дистанционного запуска двигателя). Кроме того, не так давно компания StarLine разработала ряд новинок: StarLine A62 Dialog, StarLine A92 Dialog, StarLine B62 Dialog, StarLine B92 Dialog. Еще одна линейка надежных систем с диалоговым кодом: автосигнализации Pandora. Pandora DXL 3000 и Pandora DXL 3300, помимо всего прочего, обладают широким списком функциональных возможностей и завидной дальностью работы. Есть в этой линейке и новинки: Pandora DXL 3500, информация о которой появится чуть позже. Magic Systems выпускает свою линейку систем, оснащенных диалоговым кодом: MS 505 LAN, MS 600 Light Сталкер LAN, MS 600 Сталкер LAN 3, MS Диалог.