Плавающий код ( или иногда называемый прыгающим кодом ) используется в системах бесключевого доступа для предотвращения простой формы атаки воспроизведения , когда подслушиватель записывает передачу и воспроизводит ее позже, чтобы заставить приемник «разблокироваться». Такие системы типичны для открывателей гаражных ворот и систем бесключевого доступа в автомобиль.
Одноразовый пароль на основе HMAC, широко используемый в многофакторной аутентификации, использует аналогичный подход, но с предварительно общим секретным ключом и HMAC вместо PRNG и предварительно общего случайного начального числа .
Передатчик с скользящим кодом полезен в системе безопасности для повышения безопасности радиочастотной (РЧ) передачи, включающей чередующийся троичный битовый фиксированный код и скользящий код. Приемник демодулирует зашифрованную РЧ передачу и восстанавливает фиксированный код и скользящий код. После сравнения фиксированного и скользящего кодов с сохраненными кодами и проверки того, что они прошли набор алгоритмических проверок, генерируется сигнал для приведения в действие электродвигателя для открытия или закрытия подвижного компонента. [ необходима цитата ]
Пульты дистанционного управления отправляют цифровое кодовое слово на приемник. Если приемник определяет, что кодовое слово приемлемо, то приемник активирует реле, разблокирует дверь или откроет барьер. Простые системы дистанционного управления используют фиксированное кодовое слово; кодовое слово, которое открывает ворота сегодня, также откроет ворота завтра. Злоумышленник с соответствующим приемником может обнаружить кодовое слово и использовать его для получения доступа когда-нибудь позже. Более сложные системы дистанционного управления используют плавающий код (или прыгающий код), который меняется для каждого использования. Злоумышленник может узнать кодовое слово, которое открыло дверь только что, но приемник не примет это кодовое слово в обозримом будущем. Система плавающего кода использует криптографические методы, которые позволяют пульту дистанционного управления и приемнику совместно использовать кодовые слова, но затрудняют для злоумышленника взлом криптографии.
Microchip HCS301 когда-то был наиболее широко используемой системой для дистанционного управления гаражами и воротами и приемниками. Чип использует алгоритм KeeLoq. Система HCS301 KeeLoq передает 66 бит данных:
Как подробно описано в KeeLoq , алгоритм оказался уязвимым для различных атак и был полностью взломан .
Передаваемый по радиосигналу динамический код, который может быть перехвачен, может быть уязвим для фальсификации. В 2015 году сообщалось, что Сэми Камкар создал недорогое электронное устройство размером с кошелек, которое можно было спрятать на запертом автомобиле или рядом с ним, чтобы захватить один код бесключевого доступа, который можно было бы использовать позже для разблокировки автомобиля. Устройство передает глушащий сигнал, чтобы блокировать прием автомобилем сигналов динамических кодов от брелока владельца, одновременно записывая эти сигналы от обеих его двух попыток, необходимых для разблокировки автомобиля. Записанный первый код пересылается (воспроизводится) в автомобиль только тогда, когда владелец делает вторую попытку, в то время как записанный второй код сохраняется для будущего использования. Камкар заявил, что эта уязвимость была широко известна в течение многих лет и присутствовала во многих типах автомобилей, но ранее не демонстрировалась. [3] Демонстрация была проведена во время DEF CON 23. [4]