ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
400917 Топик полностью
vmp (09.04.2013 14:47, просмотров: 140) ответил fk0 на Алгоритм уязвим:
В принципе согласен. Переводя на более понятный неспециалисту язык: http://ru.wikipedia.org/wiki/Режим_шифрования
1. Пульт шлет запрос на установление связи. 2. Устройство вырабатывает (псевдо)случайное число длиной в размер ключа. 3. Пульт шифрует ответ устройства на секретном ключе в режиме простой замены (ECB). 4. Полученное число представляет собой сеансовый ключ. 5. Команда каким-либо образом подписывается (вплоть до CRC-32) и шифруется вместе с подписью на данном ключе. Режим шифрования - CBC. Синхропосылка (IV) - произвольная, либо передается вместе с текстом, либо подразумевается некая константа. 6. Устройство расшифровывает принятую посылку, проверяет совпадение CRC-32 (правильность расшифрования) и исполняет команду. Как вариант - можно слать команду в открытом виде, защищенную подписью на базе CBC: http://citforum.ru …ography/rejim_shifrov/
В этом режиме стоит остановиться ещё на одной детали. Дело в том, что последний блок шифротекста, который получается на выходе алгоритма режима CBC зависит как от ключа блочного шифра и вектора инициализации, так и (что важнее в данном случае) от всех бит отрытого текста сообщения. А это означает, что этот последний блок шифротекста можно использовать как своего рода идентификатор сообщения. Такой идентификатор не даёт постороннему наблюдателю никакой информации о содержимом всего сообщения в целом, и в то же время, практически однозначно определяет его (сообщение). Более того подделать этот идентификатор без знания ключа шифрования K так же трудно, как и правильно угадать сам ключ. Этот идентификатор широко используется для аутентификации сообщений и отправителей и носит название MAC (Message Authentication Code), в русскоязычной литературе – КАС (код аутентификации сообщения).
И еще: - Надо каким-нибудь способом защититься от повторов. Либо передавать только одно сообщение за сеанс, либо в каждом сообщении вести счетчик и отбраковывать сообщения с меньшим номером. - Данный алгоритм не проверяет достоверность устройства. Если нужно - читайте про взаимную аутентификацию.