Плавающий код
( Прокручивающийся код или иногда называемый прыгающим кодом ) используется в системах входа без ключа для предотвращения простой формы атаки воспроизведения , когда перехватчик записывает передачу и воспроизводит ее позже, чтобы заставить приемник «разблокироваться». Такие системы типичны для устройств открывания гаражных ворот и систем доступа в автомобили без ключа.
Техники
[ редактировать ]- Общий PRNG ( генератор псевдослучайных чисел ) — желательно криптографически безопасный — как в передатчике, так и в приемнике.
- Передатчик последовательно отправляет «следующий» код
- Приемник сравнивает «следующий» со своим рассчитанным «следующим» кодом.
- Типичная реализация сравнивает следующие 256 кодов на случай, если получатель пропустил некоторые переданные нажатия клавиш.
Одноразовый пароль на основе HMAC, широко используемый в многофакторной аутентификации, использует аналогичный подход, но с предварительно общим секретным ключом и HMAC вместо PRNG и предварительно общим случайным начальным значением .
Применение в радиочастотном дистанционном управлении
[ редактировать ]Передатчик с плавающим кодом полезен в системе безопасности для повышения безопасности радиочастотной (РЧ) передачи, содержащей перемежающийся фиксированный двоичный код и плавающий код. Приемник демодулирует зашифрованную радиочастотную передачу и восстанавливает фиксированный код и плавающий код. После сравнения фиксированных и плавающих кодов с сохраненными кодами и проверки того, что они прошли ряд алгоритмических проверок, генерируется сигнал для приведения в действие электродвигателя для открытия или закрытия подвижного компонента. [ нужна ссылка ]
Плавающий код и радиочастотное дистанционное управление с фиксированным кодом
[ редактировать ]Пульты дистанционного управления отправляют цифровое кодовое слово на приемник. Если приемник определит, что кодовое слово приемлемо, то приемник активирует реле, разблокирует дверь или откроет шлагбаум. В простых системах дистанционного управления используется фиксированное кодовое слово; кодовое слово, открывающее врата сегодня, откроет врата и завтра. Злоумышленник с соответствующим получателем может обнаружить кодовое слово и использовать его для получения доступа через некоторое время. В более сложных системах дистанционного управления используется плавающий код (или скачкообразный код), который меняется при каждом использовании. Злоумышленник может узнать кодовое слово, открывшее дверь только что, но получатель не примет это кодовое слово в обозримом будущем. В системе с плавающим кодом используются криптографические методы, которые позволяют пульту дистанционного управления и приемнику использовать общие кодовые слова, но затрудняют взлом криптографии злоумышленнику.
КиЛок
[ редактировать ]
Микрочип HCS301 когда-то был наиболее широко используемой системой и приемниками дистанционного управления гаражами и воротами. Чип использует алгоритм KeeLoq. Система HCS301 KeeLoq передает 66 бит данных:
- 34 бита не зашифрованы: 28-битный серийный номер, 4 бита информации о кнопках и 2 бита состояния (индикаторы повтора и низкого заряда батареи).
- 32 бита зашифрованы (скользящий код): 4 бита информации о кнопках, 2 бита OVR (используется для расширения значения счетчика), 10 бит DISC (значение дискриминации; часто младшие 10 бит серийного номера) и 16 бит. -битовый счетчик. [1] [2] В ситуации повторной синхронизации зашифрованные 32 бита заменяются 32-битным начальным значением.
Как подробно описано на сайте KeeLoq , алгоритм оказался уязвимым для различных атак и был полностью взломан .
Уязвимость к роллджему
[ редактировать ]Передаваемый по радиосигналу скользящий код может быть подделан. В 2015 году сообщалось, что Сами Камкар создал недорогое электронное устройство размером с кошелек, которое можно было спрятать на запертом автомобиле или рядом с ним, чтобы захватить единый код доступа без ключа, который можно будет использовать позже для разблокировки автомобиля. Устройство передает сигнал глушения, чтобы заблокировать прием автомобилем сигналов подвижного кода с брелока владельца, одновременно записывая эти сигналы от обеих его двух попыток, необходимых для разблокировки автомобиля. Записанный первый код пересылается (воспроизводится) в транспортное средство только тогда, когда владелец предпринимает вторую попытку, а записанный второй код сохраняется для использования в будущем. Камкар заявил, что об этой уязвимости было широко известно уже много лет, поскольку она присутствует во многих типах транспортных средств, но ранее она не была продемонстрирована. [3] Демонстрация была проведена во время DEF CON 23. [4]
Ссылки
[ редактировать ]- ^ Microchip (2001 г.), Кодер скачкообразной перестройки кода HC301 KeeLoq (PDF) , Microchip Technology Inc., DS21143B
- ^ «Причины неработоспособности пульта дистанционного управления гаражными воротами» . 4 ноября 2021 г.
- ^ Томпсон, Кэди (6 августа 2015 г.). «Хакер сделал гаджет за 30 долларов, который может разблокировать многие автомобили, в которых есть доступ без ключа» . Технический инсайдер . Проверено 11 августа 2015 г.
- ^ Камкар, Сами (07 августа 2015 г.). «Управляйте им так, как будто вы его взломали: новые атаки и инструменты для кражи автомобилей по беспроводной сети» . ДЕФ КОН 23 . Проверено 11 августа 2015 г.
Внешние ссылки
[ редактировать ]- Как работает удаленный вход ; ссылается на успешную атаку на KeeLoq.
- Рекомендации по применению Atmel Inc. AVR411