Алгоритмы кодирования радиоканала сигнализаций

Принцип работы систем контроля доступа с радиоканалом

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

Данные по радиоканалу передают в виде последовательностей — пакетов. Каждый пакет сигналов можно представить как команду (например, "Поставить на охрану и Закрыть замки" или "Снять с охраны и открыть замки").

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

  1. Статический код
  2. Динамический код
  3. Диалоговый код

Статический код

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

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

Виды чипов имеющие статический код и применяемые в пультах управления сигнализаций

Виды чипов:

  • [6010] HT-6010, HT6014, SH-312E - 3-х статусный код
  • [H600] HT-600, НТ-680, HT6187, HT6270, TT-13, ПК-10Т - 3-х статусный код
  • [5026] AX5026, CT5026 - 3-х статусный код
  • [5326] AX5326, AX5326S - 3-х статусный код
  • [2262] PT-2262, M3E, CT5062 - 3-х статусный код
  • [8092] TT8092 - 3-х статусный код
  • [4134] MC41342, MC145026, SC41342 - 3-х статусный код

На примере чипов HT6010, HT6012, HT6014 рассмотрим принцип кодирования 312 (3-х статусный код) и обмена между пультом и сигнализацией.
В состав семейства входит 3 микросхемы кодеров (HT6010, HT6012, HT6014) и три микросхемы декодеров (HT6030, HT6032, HT6034).

В состав кодовой последовательности, генерируемой кодерами этого семейства, входит преамбула, синхронизирующий бит и 12-разрядное поле адреса/данных, длинна периода одного бита равна 6-ти импульсам тактовой частоты (рис. 1).

состав кодовой последовательности генерируемой кодерами ht6010, ht6012, ht6014

Значение адреса и данных на этих чипах устанавливается с помощью переключателей, внешней схемой или программно. Каждый вывод адреса/данных кодера кодируется тремя состояниями: подключен к минусу электропитания (логический ноль), подключен к плюсу электропитания (логическая единица), не подсоединен (не подключено) - (рис. 2).

3-х статусный код, генерируемой кодерами ht6010, ht6012, ht6014

Краткие технические характеристики и совместимость микросхем этого семейства 312 смотрите в таблице

Краткие технические характеристики и совместимость микросхем семейства 312

Типовая схема подключения кодера HT6012 представлена на (Рис. 3), (A0-A9) - Кодирует адресную посылку из 10-ти бит (пароль дотупа) (D10-D11) - 2-а бита данных, резистор (Rosc) - задает тактовою частоту работы чипа. Данные с выхода (DOUT) передаются на вход передатчика с амплитудной модуляцией который может работать на частоте 433 МГц или 310 МГц

Типовая схема подключения кодера HT6012

Декодеры проверяют принятую кодовую последовательность, информационная часть которой состоит из 12 бит (N бит адреса и N бит данных). Принятые данные передаются в соответствующие выходные защелки только если команда была два раза подряд правильно дешифрирована и принятый адрес (пароль) совпал с установленным в декодере. При правильно принятой команде на выходе VT появляется высокий уровень сигнала. Декодеры этого семейства могут иметь 0, 2 и 4 выходных защелок данных (соответственно, 12, 10 и 8 входов адреса). На рисунке 4 показана типовая схема включения декодера HT6032 информационная часть которой состоит из 12 бит (10 бит адреса и 2 бита данных).

Типовая схема подключения декодера HT6032

Datasheet HT6010 / HT6012 / HT6014 312 Series of Encoders - Holtek (PDF)

Datasheet HT6030 / HT6032 / HT6034 312 Series of Decoders - Holtek (PDF)

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

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

KEELOQ

В 80-х годах в африканской компании NANOTEQ, занимающейся вопросами информационной безопасности, была разработана система алгоритмов защиты под названием KEELOQ (часто эту кодировку производители указывают как CODE HOPPING). В 1995 году фирма MICROCHIP приобрела отделение Keeloq у фирмы Nanoteq вместе с лицензионными правами.

MICROCHIP разработал новый ряд компактных микросхем кодеров и декодеров на основе алгоритма Keeloq с динамическим (прыгающим) кодом. Низкая стоимость и высокая степень защиты, а также миниатюрные размеры совершили революцию в индустрии автомобильных сигнализаций. Очень много систем и сейчас используют в пультах сигнализаций готовые кодеры, такие как HCS200, HCS300, HCS301, HCS320.

Кодеры Keelog Mikrochip для Автосигнализаций

Алгоритм Keeloq

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

Рассмотрим подробней реализацию алгоритма Keeloq на основе кодеров семейства HCS компании MICROCHIP.

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

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

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

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

При нажатии любой кнопки пульта, кодер читает кнопку и модифицирует счетчик синхронизаций. Затем значение счетчика синхронизации объединяется с ключом шифрования в алгоритме шифрования, и в результате получается 32-бит зашифрованной информации. Эти данные изменяются каждый раз после нажатия кнопки, поэтому эта часть кодовой комбинации называется динамическим кодом. Приемники и передатчики Keeloq работают в последовательном коде с посылкой длиной 66 бит (рис.5), состоящей из кодированной "прыгающей" части в 32 бита, 28 бит серийного номера, 4 бит пользователя (состояние кнопок), 1 бита индикации разряда батареи и 1 фиксированого бита (бит повтора).

Keeloq  в последовательном коде с посылкой длиной 66 бит

В эфире пакет Keeloq разделен на условную составляющую TE (Базовая тактовая длительность) и состоит из Преамбулы(Tp), Хедера(Th), Данных(Thop+Tfix) и Паузы(Tg) (рис.6) В различных брелках с разным уровнем заряда батарейки длительность TE может отличаться и по спецификации составлять от 260 мкс до 660 мкс, но в пределах одного пакета длительность TE относительно стабильна.

Пакет Keeloq в эфире

Передача пакета Keeloq кодером HCS... в эфир начинается с преамбулы и она состоит из 23-х TE которые чередуются высоким и низким уровнем. Преамбула нужна для "раскачки" приемника и настройки TE для декодера. Дальше идет Хедер длительностью 10 TE низкого уровня. За Хедерем идёт передача данных. Данные состоят из 66 информационных бит, каждый бит имеет периуд длительностью 3-и ТЕ (Рис.7)

Передача бита данных Keeloq

На (Рис.7) видно, что логическая единица состоит из одного ТЕ высокого уровня и двух ТЕ низкого уровня, логический ноль состоит из двух ТЕ высокого уровня и одного ТЕ низкого уровня. Надо заметить, что данные передаются в эфир от младшего байта (LSb) к старшему (MSb) (рис.5). После передачи данных идет Пауза длинной 39 ТЕ и если кнопка удерживается после Паузы сного последует очередная преамбула.

Типовая схема подключения кодера HCS2ХХ - HCS3ХХ представлена на (Рис. 8) фактически это схема четырёх кнопочного пульта сигнализации.

Схема подключения HCS200 HCS300 Microchip

Декодеры Microchip по технологии Keeloq

Декодеры Keeloq предназначены для дешефрации команд поступающих от кодера по каналу связи. После проверки принятого в кодовой последовательности серийного номера и "прыгающего кода", декодер на основании функционального кода активизирует выходы соответствующие входам кнопок в кодере. Выходы будут удерживаться в активном состоянии до тех пор, пока нажата кнопка на кодере. В таблице представлены краткие характеристики кодереров HCS500, HCS512, HCS515 и с какими кодерами они работают.

Декодеры Microchip по технологии Keeloq

Для исполнения команд декодором, ему необходимо указать 28/32-битный серийный номер и 64-битный секретный ключ кодера, а также одним из условий является синхронизация с кодером. В декодерах Keeloq используется независимая ключевая система: для каждого пульта (передатчика) в декодере храниться свой серийный номер, секретный ключ и текущая синхронизация.

Пожалуйста, Оцените материал 5 1 1 1 1 1 1 1 1 1 1 Рейтинг 4.10 [5 Голоса (ов)]