KeeLoq — это запатентованный аппаратный блочный шифр , использующий сдвиговый регистр с нелинейной обратной связью (NLFSR). Протокол однонаправленной передачи команд был разработан Фредериком Брювером из Nanoteq (Pty) Ltd., криптографический алгоритм был создан Гидеоном Куном в Университете Претории, а кремниевая реализация — Виллемом Смитом из Nanoteq Pty Ltd ( Южная Африка ). в середине 1980-х годов. KeeLoq был продан Microchip Technology Inc в 1995 году за 10 миллионов долларов. [1] Он используется в кодировщиках и декодерах со скачкообразной перестройкой кода , таких как NTQ105/106/115/125D/129D, HCS101/2XX/3XX/4XX/5XX и MCS31X2. KeeLoq используется или использовался во многих системах дистанционного доступа без ключа такими компаниями, как Chrysler , Daewoo , Fiat , GM , Honda , Toyota , Volvo , Volkswagen Group , Clifford, Shurlok и Jaguar . [2]
Кодеры KeeLoq с «прыжковым переключением кода» шифруют заполненный 0 32-битный блок с помощью шифра KeeLoq для создания 32-битного « прыжкового кода ». 32-битный вектор инициализации линейно добавляется ( XOR ) к 32 младшим битам ключа до шифрования и после дешифрования .
Шифр KeeLoq принимает 64-битные ключи и шифрует 32-битные блоки, выполняя однобитовый NLFSR в течение 528 раундов. Функция обратной связи NLFSR равна 0x3A5C742E
или
KeeLoq использует биты 1, 9, 20, 26 и 31 состояния NLFSR в качестве входных данных во время шифрования и биты 0, 8, 19, 25 и 30 во время дешифрования. Его выходные данные линейно комбинируются (XOR) с двумя битами состояния NLFSR (биты 0 и 16 при шифровании и биты 31 и 15 при дешифровании) и с ключевым битом (бит 0 состояния ключа при шифровании и бит 15 состояние ключа при расшифровке) и возвращается в состояние NLFSR в каждом раунде.
В этой статье описан протокол Classic KeeLoq, но разработаны и более новые версии. Система Dual KeeLoq [3] представляет собой алгоритм на основе таймера, улучшающий классическую систему KeeLoq. Целью этой новой версии является создание счетчика, управляемого таймером, который постоянно увеличивается, что является противоположностью Classic KeeLoq, где счетчик увеличивается в зависимости от полученных событий. Это обеспечивает защиту от атаки захвата и воспроизведения , известной как RollJam в честь работы Сами Камкара .
Для простоты отдельные реализации «прыжкового кода» обычно не используют криптографические одноразовые номера или временные метки . Это делает протокол по своей сути уязвимым для атак с повторным воспроизведением : например, заглушив канал во время перехвата кода, вор может получить код, который можно будет использовать на более позднем этапе. [4] Этот вид «кодограббера», [5] хотя и интересен с теоретической точки зрения, похоже, не широко используется угонщиками автомобилей. [6]
Подробное описание недорогого прототипа устройства, разработанного и изготовленного Сами Камкаром для использования этой технологии, появилось в 2015 году. Устройство размером с кошелек можно было спрятать на запертом автомобиле или рядом с ним, чтобы получить единый код доступа без ключа, который можно было использовать в позднее время, чтобы разблокировать автомобиль. Устройство передает сигнал глушения, чтобы заблокировать прием транспортным средством сигналов подвижного кода с брелока владельца, одновременно записывая эти сигналы от обеих его двух попыток, необходимых для разблокировки автомобиля. Записанный первый код передается транспортному средству только тогда, когда владелец предпринимает вторую попытку, а записанный второй код сохраняется для использования в будущем. [7] Была объявлена демонстрация DEF CON 23. [8]
KeeLoq впервые был криптоанализирован Андреем Богдановым с использованием скользящих методов и эффективных линейных аппроксимаций . Николя Куртуа атаковал KeeLoq, используя скользящие и алгебраические методы. Атаки Богданова и Куртуа не представляют никакой угрозы для реальных реализаций, которые кажутся гораздо более уязвимыми для простого перебора ключевого пространства , которое сокращается во всех известных на сегодняшний день реализациях шифра с прыгающим кодом. Некоторые «кодограбберы» KeeLoq используют устройства на базе FPGA для взлома ключей KeeLoq методом грубой силы в течение примерно двух недель из-за уменьшенной длины ключа в реальных реализациях. [ нужна цитата ]
В 2007 году исследователи группы COSIC в университете Левена , Бельгия , (KULeuven) в сотрудничестве с коллегами из Израиля обнаружили новую атаку на систему. [9] Используя детали алгоритма, которые стали известны в 2006 году, исследователи начали анализировать слабые места. После определения части ключа, общей для автомобилей конкретной модели, уникальные части ключа могут быть взломаны с помощью только прослушивания связи между ключом и автомобилем.
В 1996 году компания Microchip представила версию микросхем KeeLoq, в которой используется 60-битное начальное число. Если используется 60-битное начальное число, злоумышленнику потребуется примерно 1011 дней обработки на выделенной параллельной машине для перебора , прежде чем система будет взломана. [11]
В марте 2008 года исследователи с кафедры встроенной безопасности Рурского университета в Бохуме , Германия, представили полный прорыв в системах удаленного доступа без ключа, основанных на технологии KeeLoq RFID. [12] [13] Их атака работает на всех известных системах контроля доступа в автомобилях и зданиях, использующих шифр KeeLoq.
Атака команды Bochum позволяет восстановить секретные криптографические ключи, встроенные как в приемник, так и в пульт дистанционного управления. Он основан на измерении потребления электроэнергии устройством во время шифрования. Применяя так называемые методы анализа побочных каналов к следам мощности, исследователи могут извлечь из приемников ключ производителя, который можно рассматривать как главный ключ для генерации действительных ключей для пультов дистанционного управления одного конкретного производителя. В отличие от описанной выше криптоаналитической атаки, которая требует около 65536 выбранных пар открытый текст-зашифрованный текст и дней вычислений на ПК для восстановления ключа, атака по побочному каналу также может быть применена к так называемому режиму работы KeeLoq Code Hopping (также известному как переключение кода). код ), который широко используется для систем бесключевого доступа (автомобили, гаражи, здания и т. д.).
Самым разрушительным практическим последствием анализа побочного канала является атака, при которой злоумышленник, предварительно узнав главный ключ системы, может клонировать любой законный шифратор, перехватив всего два сообщения от этого шифратора на расстоянии до 100 метров (330 метров). футов). Другая атака позволяет сбросить внутренний счетчик приемника (гаражной двери, двери автомобиля и т. д.), что делает невозможным открытие двери легитимным пользователем. [14]
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )