А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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!