Формат пакета KEELOQ

keeloq_tomahawk_brelok_1Keeloq — это система алгоритмов, разработанная и запатентованная Южно-Африканской компанией Nanoteq в середине 80-х. Nanoteq была основана экспертами по кодированию и электронике из университета Претории и занималась вопросами информационной безопасности. В 1995 году фирма Microchip приобрела отделение Keeloq у фирмы Nanoteq вместе с лицензионными правами. Теоретические разработки Nanoteq в сочетании с производственными мощностями и техническими возможностями Microchip позволили реализовать новый ряд компактных микросхем контроля доступа, простых для пользователя, но изощренных для взломщика.

Рассмотрим наиболее распространенный вариант – автомобильные сигнализации на базе кодеров HCS выпускаемые по сегодняшний день. В эфире пакет Keeloq разделен на условную составляющую Te (Basic pulse element) и состоит из:

keeloq_poket

Преамбула — Чередование высоких и низких уровней длительностью 1 Te 23 раза.

Хедер — Пауза длительностью 10 Te низкого уровня.

Данные

keeloq_poket_data

 

Логическая единица состоит из одного Te высокого уровня и двух Te низкого.

Логический ноль состоит из двух Te высокого уровня и одного Te низкого.

 

 

Защитное время (Guard Time) — 39 Te низкого уровня, затем последует очередная преамбула

В различных брелках с разным уровнем заряда батарейки длительность Te может отличаться и по спецификации составлять от 260 мкс до 660 мкс, но в пределах одного пакета длительность Te относительно стабильна. При этом в зависимости от типа используемого приемника, принимаемый сигнал может выглядеть по-разному:

0_c5331_1613cb8_origПринятый сигнал Keeloq, выход с приемника из блока сигнализации MS Байкал.

 

0_c5332_41be2549_origПринятый сигнал Keeloq, выход с приемника из брелка сигнализации на UAA3220TS

Данные состоят из 66 информационных бит, 64 из которых являются полезными. Оставшиеся два бита являются статусными и содержат флаг разряда батарейки и флаг повтора, их можно не учитывать. Так же необходимо помнить, что данные передаются в эфир от младшего байта (LSb) к старшему (MSb):

0_c5333_b153f75c_orig

Открытая часть состоит из 32 бит и содержит:

Статус кнопок: 4 бита
Серийный номер кодера: 28 бит

Зашифрованная часть так же состоит из 32 бит и содержит:

Статус кнопок: 4 бита
Биты переполнения счетчика: 2 бита
Значение дискриминатора: 10 бит
Счетчик синхронизации: 16 бит

Пример расшифрованных пакетов сигнализации Tomahawk 9010 (зашифровано = расшифровано):

Закрыть/открыть
2013DAFC 0A776AD8 = 2013DAFC 22FC1412
2013DAFC A90E8FF1 = 2013DAFC 22FC1413
2013DAFC 60E4DA13 = 2013DAFC 22FC1414

Запуск
4013DAFC DB6C2B34 = 4013DAFC 42FC1415
4013DAFC 7B6BEB46 = 4013DAFC 42FC1416
4013DAFC D7E3D6CD = 4013DAFC 42FC1417

Багажник
8013DAFC 01846731 = 8013DAFC 82FC1418
8013DAFC A33DFBCB = 8013DAFC 82FC1419
8013DAFC 3101E677 = 8013DAFC 82FC141A

Обсуждаем на форуме.

(c) tahion
www.phreakerclub.com