Форум по автобезопасности -
автосигнализации
Контакты
Тема
:
Криптостойкость DXL
Показать сообщение отдельно
himik
Завсегдатай
Регистрация: 08.01.2010
Сообщения: 68
Репутация:
10
09.01.2010, 01:17
#
201
Цитата:
Сообщение от
CDriver
Будте так добры опишите хоть в каком описании идеальный крипто алгоритм для сигнализации идеальный в вашем понимании....
Алгоритм пишется не вообще, а применительно к конкретной аппаратной базе. А я не имею никакого конкретного техзадания - обьемы памяти, реальные обьемы передачи информации и т.д.
Но попробую предложить...
Берем за основу какой нибудь ассиметричный алгорим шифрования в открытым ключем (дальше - алгоритм шифрования или АШ), например RSA (погуглите или посмотрите описание в википедии). К стати, разработан где то еще в 76-м или 79-м году и опубликован.
Когда брелок прописывается к блоку сигналки, то процессор брелка формирует пару ключей - публичный+секретный. Серетный ключ сохраняется в энергонезависимой памяти брелока, а публичный через радиоканал передается в блок сигнализации (дальше просто блок) и там сохраняется в энергонезависимой памяти.
Брелок желает передать команду в блок "открыть дверь". Формируется сообщение "открыть дверь"+время. Что такое время - не принципиально - это может быть и время, и дата/время, и динамический код, и просто счетчик и т.д. Важно, что есть сообщение состоящее из команды и времени. Дальше брелок создает при помощи алгоритма шифрования используя свой секретный ключ электронную подпись к сообщению. Блок принимает сообщение и подпись и при помощи того же алгортима шифрования и публичного ключа брелока, который сохранен на этапе прописывания брелока, проверяет подпись на подлинность. Если подпись совкала, то блок знает, что команда принята от "родного брелока". Теперь нужно сверить "время" (или счетчик) и если расхождений нет, то можно исполнять команду. Со временем тут могут возникать вопросы - оно должно быть точно засинхнонизированнм между блоком и брелоком. Можно пропускать неточность в несколько миллисекунд и синхронизировать его при каждом успешном сеансе связи или еще как, можно пользоваться счетчиком или что то в этом духе - это уже детали.
Заметте, что здесь команда от брелока даже не шифруется - это по сути дела не очень то и нужно, достаточно определить подлиность команды от "родного" брелока. Если станет вопрос в том, что нужно передавать информацию и от блока к брелоку, то точно такой же алгоритм, только на этапе привзки должен будет блок сформировать свою пару ключей и публичный ключ в брелок. Если нужно, то можно не только подписывать, но и шифровать алгоритмом RSA сообщения, передаваемые в эфире.
Даже имея опубикованный в течении уже 25 лет алгорим шифрования врядли поможет злоумышленникам вскрыть такую систему. Да и если производитель такой сигнализации заявит, что аутентификация делается алгоритмом RSA, то для многих людей будет понятно о чем идет речь.
Не обязательно использовать алгоритм RSA - существует десятки или сотни алгоритмов с открытым или закрытым ключем, которые обеспечивают проверку электронной подписи.
Меню пользователя himik
Посмотреть профиль
Найти ещё сообщения от himik