Введение
Изменение кода бесключевого доступа для повышения безопасности
В системах бесключевого доступа используется динамический код (иногда называемый скачкообразным кодом) для предотвращения простого типа атаки повторного воспроизведения, когда злоумышленник перехватывает сигнал и воспроизводит его позже, чтобы вызвать несанкционированное открытие замка. Такие системы обычно используются в системах автоматического открывания гаражных ворот и бесключевых системах доступа в автомобиль.
Применение в радиочастотном пульте дистанционного управления
Передатчик с кодом, меняющимся при каждом запросе, полезен в системе безопасности для повышения защищенности радиочастотной (RF) передачи, включающей в себя чередующийся трехбитный фиксированный код и код, меняющийся при каждом запросе. Приемник демодулирует зашифрованную RF-передачу и восстанавливает фиксированный код и код, меняющийся при каждом запросе. После сравнения фиксированного и изменяющегося кодов с сохраненными кодами и подтверждения их соответствия набору алгоритмических проверок, генерируется сигнал для приведения в действие электродвигателя, открывающего или закрывающего подвижный элемент.
Код колебания против фиксированного кода RF-удалённого управления
Пульт управления посылает цифровое кодовое слово приемнику. Если приемник определяет, что кодовое слово допустимо, он активирует реле, разблокирует дверь или открывает барьер. В простых системах дистанционного управления используется фиксированное кодовое слово; кодовое слово, которое открывает ворота сегодня, откроет их и завтра. Злоумышленник, имеющий подходящий приемник, может перехватить кодовое слово и использовать его для получения доступа в будущем. Более сложные системы дистанционного управления используют динамический код (или код с переменной последовательностью), который меняется при каждом использовании. Злоумышленник может перехватить кодовое слово, которое только что открыло дверь, но приемник не примет его в обозримом будущем. Система с динамическим кодом использует криптографические методы, позволяющие пульту управления и приемнику обмениваться кодовыми словами, но затрудняющие взлом криптографии.
KeeLoq
Микрочип HCS301 когда-то был самой распространенной системой в пультах дистанционного управления и приемниках для гаражных и ворот. Чип использует алгоритм KeeLoq. Система HCS301 KeeLoq передает 66 бит данных: 34 бита не зашифрованы: 28-битный серийный номер, 4 бита информации о кнопке и 2 бита статуса (индикаторы повтора и низкого заряда батареи). 32 бита зашифрованы (переменный код): 4 бита информации о кнопке, 2 бита OVR (используются для увеличения значения счетчика), 10 бит DISC (значение дискриминации; часто младшие 10 бит серийного номера) и 16-битный счетчик. В случае повторной синхронизации зашифрованные 32 бита заменяются 32-битным начальным значением. Как подробно описано в KeeLoq, было показано, что алгоритм уязвим для различных атак и был полностью взломан.
34 bits are not encrypted: a 28 bit serial number, 4 bits of button information, and 2 status bits (repeat and low battery indicators). 32 bits are encrypted (the rolling code): 4 bits of button information, 2 bits of OVR (used to extend counter value), 10 bits of DISC (discrimination value; often the low 10 bits of the serial number), and a 16 bit counter. In a resyncing situation, the encrypted 32 bits are replaced with a 32 bit seed value. As detailed at KeeLoq, the algorithm has been shown to be vulnerable to a variety of attacks, and has been completely broken.
Уязвимость Rolljam
Передаваемый по радиосигналу динамически меняющийся код, который может быть перехвачен, может быть уязвим к подделке. В 2015 году сообщалось, что Сами Камкар создал недорогое электронное устройство размером с кошелек, которое можно было спрятать на или рядом с запертым автомобилем для захвата одного кода бесключевого доступа, который впоследствии можно использовать для разблокировки автомобиля. Устройство передает сигнал глушения, чтобы блокировать прием автомобилем сигналов динамически меняющегося кода с брелока владельца, одновременно записывая эти сигналы с обеих попыток, необходимых для разблокировки автомобиля. Первый записанный код пересылается (воспроизводится) в автомобиль только тогда, когда владелец совершает вторую попытку, а второй записанный код сохраняется для дальнейшего использования. Камкар заявил, что эта уязвимость была широко известна на протяжении многих лет и присутствует во многих типах автомобилей, но ранее не была продемонстрирована. Демонстрация была проведена на конференции DEF CON 23.