Основные алгоритмы кодирования в сигнализациях.

Основные алгоритмы кодирования в сигнализациях.

Сообщение Pavel » 29 мар 2013, 13:30

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

По радиоканалу данные передаются в виде небольших последовательностей — пакетов. Каждый такой пакет можно представить как команду (например, «Открой замки»), ответ на команду (например, «Замки открыты») или сообщение (например, «Внимание! Включено зажигание!»).

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

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

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

Структура кодграббера похожа на схему брелока сигнализации.
Основные алгоритмы кодирования в сигнализациях.
Структура кодграббера

Кодграббер имеет передатчик, приемник, управляющий микроконтроллер, кнопки и средства индикации (светодиоды или ЖКИ). Обычно кодграбберы собираются «на коленке», а схема вставляется в корпус брелока сигнализации — ведь там уже есть и кнопки и антенна.
Последний раз редактировалось Pavel 29 мар 2013, 16:04, всего редактировалось 1 раз.
Аватара пользователя
 
Сообщения: 187
Зарегистрирован: 25 апр 2012, 09:48

Динамический код

Сообщение Pavel » 29 мар 2013, 16:03

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

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

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

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

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

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

Большинство производителей автосигнализаций разрабатывали свои собственные динамические коды, редактируя и улучшая их. Некоторые из них так до сих пор и не вскрыты, и вроде бы неплохо зарекомендовали себя в автомобильных сигнализациях. Но в любом случае ни один динамический код не гарантирует 100 процентную защиту от взлома.
Купить сигнализацию с динамичным кодом можно на 130.com.ua:





Аватара пользователя
Pavel
 
Сообщения: 187
Зарегистрирован: 25 апр 2012, 09:48

Диалоговый код

Сообщение Pavel » 29 мар 2013, 16:04

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

Рассмотрим алгоритм работы диалогового кода на «живом» примере:

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

Точно такой же принцип работы сигнализации с диалоговым кодом:
1. При нажатии на кнопку брелок посылает пакет с запросом на авторизацию ("стучит в дверь").
2. Основной модуль, приняв этот пакет, придумывает "загадку", некий пакет, ответ на который может быть только один. "Загадка" передается брелоку по радиоканалу.
3. Брелок, разгадав "загадку", отвечает пакетом подтверждения.
4. Основной модуль проверяет ответ и, если он верен, выполняет команду брелока ("открывает дверь").
Основные алгоритмы кодирования в сигнализациях.
Структура диалогового кода

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

Для того чтобы реализовать диалоговый код, необходимо обеспечить:
1. Качественный алгоритм генерации случайных чисел ("загадок").
2. Уникальный ключ для каждого комплекта сигнализации. Ключ должен меняться при повторной привязке брелока к сигнализации.
3. Уникальный ключ должен быть достаточной длины (защита от перебора).

Если хотя бы одно из этих условий не соблюдается — код не является криптостойким и может быть вскрыт, если злоумышленник имеет прошивку основного модуля или брелока.

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

Купить сигнализацию с диалоговым кодом можно на 130.com.ua:














Аватара пользователя
Pavel
 
Сообщения: 187
Зарегистрирован: 25 апр 2012, 09:48


Вернуться в Охранные системы

Ветка создана по теме: Автосигнализации и охранные системы для автомобиля — советы по выбору автосигнализации от экспертов. Анонсы новых систем для защиты авто. © «130.ЮА»