А6.6 Шифраторы и дешифраторы динамического кода Keeloq
Эти микросхемы фирмы Microchip используются в большинстве современных автомобильных противоугонных систем.
Код Keeloq представляет собой двоичную псевдослучайную последовательность с периодом (264- 1) бит. Для идентификации передатчика используются блоки длиной 32 бита. Уникальный для каждого передатчика 64-битовый ключ — это начальное состояние сдвигающего регистра генератора псевдослучайной последовательности.
Хотя в криптографии считается, что безопасность алгоритма должна базироваться на длине ключа, а не на секретности алгоритма, никто не спешит публиковать свои алгоритмы. Так поступает и Microchip, но можно сделать некоторые логические предположения.
Последовательности сдвигающих регистров, генерирующие псевдослучайный сигнал, давно используются в криптографии, исследованиях динамики систем автоматики. Их математическая теория хорошо разработана, они легко реализуются, применялись в криптографии еще до появления электроники.
На рис. А18 показана блок-схема генератора псевдослучайной последовательности. Если не интересоваться математической стороной вопроса, то это сдвигающий регистр с обратными связями.
Выходы n-разрядного сдвигающего регистра подключены к блоку обратной связи. Содержимое регистра сдвигается вправо. Бит аn заменяется на аn-1 и т. д. В первый разряд записывается значение, определяемое функцией обратной связи. Выходной сигнал снимается с одного из разрядов и имеет период до (2n-l). В блоке обратной связи чаше всего используется операция суммирования по модулю два (исключающее ИЛИ). Например, генератор на рис. А19 выдает последовательность ...11110101001000..., проходя последовательно состояния ...1111, 1110, 1101, 1010, 0101, 1011, 0110, 1100, 1001, 0010, 0100, 1000, 0001, 0011, 0111.
|
|
Имеются таблицы, в которых указаны разряды регистров определенной разрядности, участвующие в формировании сигнала обратной связи, чтобы выходная последовательность имела максимальный возможный период (2n-1). Например, 8-4-1, 9-5-4-3-1, 64-2-1 и т. д. Отвод обязательно делается от крайних разрядов. Выходные сигналы таких генераторов называют М-последовательностями.
Шифры па основе М-последовательностей в чистом виде относительно легко раскрываются, т. к. имеются алгоритмы, позволяющие определять структуру генератора по наблюдаемому выходному сигналу. Для преодоления этого недостатка генераторы потока ключей усложняют.
Например, на рис. А20 показан один из таких вариантов — генератор Геффа.
Рисунок А18 – Генератор М-последовательности
Рисунок А19 – Генератор Геффа
Рисунок А20 – Четырехразрядный генератор
Рисунок А21 – Шифратор HCS201
|
|
Оба генератора тактируются синхронно, их выходные сигналы подаются на схему исключающего ИЛИ. Результирующий сигнал — М-последовательность с периодом (2n+k - I). Пространством ключей будет множество (n + к) разрядных начальных состояний регистров.
В алгоритме Keeloq передаются не 64-разрядные слова состояния регистра, а 32-разрядные блоки, цельная выходная последовательность длиною больше 2n бит здесь недоступна.
Шифраторы HCS200, HCS201 и дешифраторы HCS515 Microchip — типичные специализированные микросхемы для использования в системах дистанционного управления, в частности в автомобильных противоугонных системах.
Шифраторы (например, HCS201) очень компактны (рис. А21), и для изготовления на их базе брелоков требуются микросхема передатчика и минимум внешних компонентов.
При нажатии любой из кнопок передается динамический код и статус нажатой кнопки, приемник выполняет соответствующую этой кнопке команду. При одновременном нажатии всех кнопок передается вместо динамического кода 32-разрядное слово (seed) для генерации в приемнике секретного ключа. Это один из вариантов реализации процедуры регистрации брелока в приемнике.
Перед использованием в шифратор с помощью программатора заносится инициализирующая информация. Для защиты от взлома эта информация может быть считана из ППЗУ только непосредственно после записи. Потом она недоступна для чтения. Записываются:
|
|
• 28- или 32-разрядный помер брелока для его идентификации в системе;
• 64-разрядный секретный ключ — начальное состояние генератора псевдослучайной последовательности. Ключ может быть сформирован изготовителем противоугонной системы самостоятельно. Может быть использован алгоритм генерации ключей, предлагаемый фирмой Microchip, тогда будет применяться стандартная процедура регистрации брелоков в приемнике. Входной информацией для алгоритма являются номер брелока и 64-битовый секретный код, который изготовитель помещает и приемник. В другом варианте это номер брелока и 32-битовое число из ППЗУ брелока (seed);
• 12 разрядное дискриминационное слово. Произвольный статический код, рекомендуется использовать младшие разряды номера брелока;
• 32-разрядное секретное слово (seed), которое передается в одном из режимов регистрации, для генерации в приемнике секретного ключа.
На рис. 5.28 схематично показано слово, передаваемое брелоком приемнику. Здесь динамический код — это зашифрованный шифром Keeloq 32-разрядный блок, включающий: статус клавиши — 4 бита, дискриминационное слово — 12 бит, состояние синхронизирующего счетчика — 16 бит.
|
|
В ППЗУ приемника хранятся дискриминационное слово, секретный ключ и состояние синхронизирующего счетчика. При совпадении дискриминационных слов приемника и передатчика делается вывод о состоятельности дешифрования и команда выполняется.
Несовпадение значений означает рассинхронизацию, т. е. для шифрования и дешифрования использовались не синхронные последовательности из пространства ключей. Приемник начинает процедуру ресинхронизации, т. е. начинает ипк-рементировать синхронизирующий счетчик и дешифровать сообщение с помощью соответствующих состояниям сихросчетчика и секретному ключу последовательностей, пока дискриминационное слово не дешифруется правильно. Далее реализуется алгоритм синхронизации (рис. А18).
В приемник записывают 64-битовое секретное слово производителя, которое применяется при генерации секретного ключа, и дискриминационное значение или указание, что в качестве такового используется 12 младших разрядов номера брелока.
При регистрации брелока приемник включается в режим «обучения». При нервом нажатии кнопки брелока его номер записывается в память приемника на свободное место. По этому номеру и 64-битовому секретному коду генерируется секретный ключ, такой же, как в брелоке. Начинается дешифрация сообщения для определения состояния синхронизирующего счетчика передатчика, полученное значение запоминается. Кнопка брелока нажимается повторно, проверяются значения дискриминационного слова и сипхросчетчика. При успешном завершении процедуры брелок регистрируется.
Производители противоугонных систем разработали и иные процедуры регистрации.
Дата добавления: 2018-11-24; просмотров: 560; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!