"Бесчиповый" обходчик иммобилайзера (эмулятор ключа PATS)

12 years




Когда устанавливал сигнализацию с дистанционным запуском, видел что для других машин существуют так называемые "Бессчиповые обходчики". Посмотрел схему PATS (у меня сейчас Kuga- кнопка Ford Power).
Без кнопки Ford Power думаю аналогично, только вместо модуля KVM используется приборка (IC, HEC).
Схема PATS (с кнопкой Ford Power):
posted image

Вроде бы всё просто - RxD, TxD -интерфейс RS-232C. Достаточно засниффить обмен и повторить его потом на микроконтроллере...
Вооружился цифровым запоминающим осциллографом, самодельным сниффером 2-х COM портов, доступными даташитами от Texas Instruments и решил сделать эмулятор.
Осциллограмма- успешное определение ключа:


Осциллограмма- нет ключа:
posted image

На деле оказалось всё намного сложнее...
1) RS-232C присутствует только на линии RxD PATS
2) Полярность сигнала как у Data кабелей (однополярный сигнал уровня TTL), однако амплитуда сигнала 12в.
3) Скорость передачи оказалась "не совсем стандартной" - 15625 бит/c. К счастью адаптер USB-COM, который я
использовал, на чипе Prolific PL2303 можно заставить работать на этой скорости, используя недокументированные
возможности драйвера (прописав ключ ExtBaudrate в реестр Windows). Использовал переделанный вариант адаптера
с уровнями TTL плюс внешний делитель из резисторов с 12 на 5 в.
4) На линии TxD используется спец сигнал. Для передачи данных применяется особый вид Pulse Width Modulation
(PWM)- каждый бит информации передаётся последовательностью "1" - "0", причём длительность уровней "1"и"0"
для информационного бита "1" в два раза больше, чем для информационного бита "0"
5) И наконец, самое главное: сигналы на линиях TxD и RxD всё время разные! В PATS используются траспондеры Texas DST, в которых применяется технология Challenge-Response (аналог системы "свой-чужой").
Блок KVM (или IC) передаёт запрос, в котором присутствует Challenge - случайное 40 битное число.
Осциллограмма- Challenge:
posted image

Транспондер обрабатывает запрос по проприертарному (засекреченному) алгоритму Texas Crypto (похож на DES) с ключём шифрования длиной 40 бит и формирует ответ Response, в котором оставляет только 24 бита из 40. Response включается в состав пакета направляемого в линию RxD. В этот пакет также входит серийный номер транспондера и контрольная сумма CRC-CCITT, параметры полинома которой также не афишируются...
Осциллограмма- Response:

posted image
Ключ шифрования прочитать из транспондера нельзя, его можно только записать в трансподер.
Как выяснилось он один и тот же для машины, т.е. в каждом ключе иммобилайзера одной машины он один и тот же.
Ключ шифрования в каком-то виде присутствует в памяти блока KVM (IC), поэтому последний может проверить правильность Response от транспондера в ответ на посланный Challenge.
К счастью алгоритм Texas Crypto был взломан Steve Bono et al ещё в 2005г с применением PLIC-FPGA - этот случай очень популярный, изучается в всех американских университетах...
Ссылка Bono et al : http://www.usenix.org/event/sec05/tech/bono/bono.pdf
Вообщем, собрав всё это в кучу, прочитав много даташитов, проведя много экспериментов мне удалось сделать эмулятор.

Схема эмулятора:
posted image

Схема подключения эмулятора (Ford Power):
posted image

Схема подключения эмулятора (без Ford Power):
posted image

Мне кажется, что выход из приёмника транспондера (RxD) выполнен по схеме с "открытым коллектором". Если это действительно так, то можно использовать на свой страх и риск (я использую) 2-х проводную схему подключения.
В этом случае можно замкнуть джампер "2Wire", а можно и не замыкать- последняя версия программы микроконтроллера сама определяет подключен ли эмулятор по 2-х проводной схеме
Схема подключения эмулятора 2-x проводная (Ford Power):
posted image

Схема эмулятора- минимальный вариант- для размещения внутри блока сигнализации:
posted image

Прошивка микроконтроллера:
--- не знаю как прикрепить файл
EEPROM микроконтроллера:
--- не знаю как прикрепить файл

Как записать серийный номер транспондера и ключ шифрования:
I Способ (редактирование EEPROM):
1. Подключить эмулятор к машине.
2. Замкнуть джампер "Record"
3. Контакт "ByPass" не замыкать.
4. Убрать брелок бесключевого запуска из зоны досягаемости
5. Вставить ключ аварийного запуска в держатель (в случае Ford Power)
6. Нажать кнопку Ford Power (Включить зажигание)
7. Дождаться не менее двух миганий (~1 сек. каждое) светодиода- эмулятор запишет в EEPROM серийный номер и две пары Chalenge-Response
8. Прочитать в программаторе EEPROM

posted image

Ввести в программу Texas DST Calc
--- не знаю как прикрепить файл

posted image

Challenge/Response как показано на рисунке
posted image
и нажать кнопку "BruteForce"
Программа будет подбирать ключ шифрования полным перебором.
Для перебора всех комбинаций на 4-х ядерном проце требуется около 120 суток (и это после глубокой оптимизации проги). Для ускорения можно запустить прогу на нескольких компах, разделив весь диапазон на несколько частей. Для этого в поле "CryptoKey" на каждом компьютере задать своё начальное значение.
Программа ведёт log- файл. Так что можно продолжать в разные дни (или в случае зависания продолжить с последнего проверенного ключа). Если программа запускается на рабочих серверах(компах), то можно поумерить её пыл в рабочие часы (см. группу "Idle")
В первый раз я запускал 16 задач на 7 компах. Ключ был найден на 5-ые сутки.
В результате оказалось, что младшие 2 байта в ключе = 0000. Если и на других Фордах так, то жизнь сильно упрощается- надо установить галочку "Reverse byte order"- в этом случае у меня ключ находится за 1.5 минуты )
posted image
Теперь остаётся лишь записать найденный ключ в EEPROM микроконтроллера (адреса 0003...0007- младщий байт вперёд).

Программу последнего пришлось тоже сильно оптимизировать, функция Texas Crypto написана полностью на ассемблере.
Первая версия вычисляла Response за 215 ms - когда уже "поезд ушёл".
Незначительная задержка (на 8 MHz уже меньше нельзя) не влияет на работу PATS
posted image

II Способ (чтение Challenge/Response, запись Cryptokey по последовательному каналу):

Продолжение следует...
b.2 Дубль существующего топика.
Запрещено создавать новые темы, уже обсуждавшиеся в данном разделе, с вопросами, ответы на которые даны в разделе FAQ конкретного раздела. Подробнее..

Комментарий: Сигнализация с автозапуском...
PATS, обходчик иммобилайзера, сигнализация с автозапуском
avatar
Serge95
14 August 2012

"Бесчиповый" обходчик иммобилайзера (эмулятор ключа PATS)
7,4K
views


    1 person online

      1 person online

      Log in to leave a message or Sign up


      up