Принцип работы системы кодирования KeeLog имеет симметричный (шифрование и дешифрование производится одним ключом) блочный (шифрование производится блоками по 32 бита) алгоритм.
После нажатия на кнопку брелока кодер определяет ее номер, увеличивает на единицу счетчик количества нажатий (счетчик синхронизации), а также формирует и зашифровывает динамическую часть посылки, которая состоит из значения счетчика синхронизации и уникального 12-битного числа (значения дискриминации).
После этого к посылке добавляется постоянная часть кода (она, в свою
очередь, формируется из серийного номера — уникального 28-битного
числа, и номера кнопки). После этого команда передается в эфир.
Приемный
тракт сигнализации сверяет серийный номер, с помощью ключа дешифрует
изменяемую часть кода, сверяет значение дискриминации и сравнивает
показание счетчика синхронизации с сохраненным ранее — оно должно
находиться в определенном окне значений.
После этого значение
счетчика синхронизации обновляется, а среди дешифрованных данных
отыскивается номер нажатой кнопки, который сравнивается со значением,
переданным в постоянной части кода. При совпадении всех параметров команда выполняется.
Сама по себе технология криптозащиты KeeLog не является секретной — этот алгоритм описан в открытой документации компании Microchip.
Но
чтобы сгенерировать код управления конкретной охранной системой, надо
знать индивидуальный 64-битный секретный ключ шифрования/дешифрования,
который записывается в память брелока на заводе-изготовителе
сигнализации. Определить ключ математическими способами нереально: на компьютерный перебор всех 18446744073709551616 вариантов уйдет 29247 лет.
P.S.
Эту систему кодирования уже сломали несколько лет назад.
© 2024 Spidometrs.ru