2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Имитовставки - прошу ликбеза
Сообщение01.07.2023, 02:18 


12/08/13
920
Понадобилось немножко просветиться касательно MAC/HMAC/CMAC (при том, что познаний в криптографии практически нет - ну, так, на уровне размахивания руками и примерного понимания простых терминов...)
Статья в вики показалась довольно невнятной. Самое для дураков, на что набрёл - это https://www.cardinalpeak.com/blog/the-difference-between-hmac-and-mac.
Но даже там мне явно не хватает какого-то базового понимания постановки задачи.

Итак, есть Алиса, Боб и симметричный шифр с ключом, которым владеют обе стороны.
Алиса шлёт Бобу шифр-текст. Боб расшифровывает. Зачем ему нужна проверка целостности и аутентичности сообщения? Я исхожу из того, что "человек посередине" пароля не знает ни в коем случае. Соответственно, злоумышленнику недоступны никакие манипуляции с исходным текстом, но он может, например, уполовинить шифр-текст. Тогда Боб получит осмысленную расшифровку, но сообщение будет неполным. Или, если критерий осмысленности исходного текста неочевиден, злоумышленник может вообще заменить шифр-текст на произвольный.

Но если Алиса пошлёт, кроме шифр-текста, ещё и шифрованный хэш исходного текста, а Боб расшифрует, захэширует и получит совпадение хэшей, то целостность и аутентичность гарантированы с точностью до коллизий хэша.
Здесь уже начинаются для меня непонятки. Задача создания преднамеренной коллизии SHA-256 даже для открытого текста на сей день не решена и вряд ли будет решена скоро. Удачная подмена "вслепую" - когда зашифрован и текст, и его хэш - мне кажется абсолютно невероятной. Соответственно, я не понимаю, чего не хватает Алисе и Бобу в вышеописанной простейшей схеме защиты?

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 14:17 
Заслуженный участник
Аватара пользователя


16/07/14
8495
Цюрих
Не обязательно коллизии - атакующий может и поменять хэш. Есть ключ $k$, известный только Алисе и Бобу, и сообщение $m$. Алиса посылает сообщение $(m, h(k + m))$. Еве не обязательно находить сообщение $m'$ такое что $h(k + m) = h(k + m')$, её достаточно уметь находить сообщение $m'$ такое что она сможет вычислить $h(k + m')$. И на многие хеш-функции, в том числе на SHA-256, есть атака удлинением сообщения - если Ева знает длину $m$, то может посчитать хеш-функцию от $m' = m + m_1$ для произвольного $m_1$ (по модулю выравнивания).

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 17:26 


12/08/13
920
mihaild в сообщении #1599560 писал(а):
Не обязательно коллизии - атакующий может и поменять хэш. Есть ключ $k$, известный только Алисе и Бобу, и сообщение $m$. Алиса посылает сообщение $(m, h(k + m))$. Еве не обязательно находить сообщение $m'$ такое что $h(k + m) = h(k + m')$, её достаточно уметь находить сообщение $m'$ такое что она сможет вычислить $h(k + m')$. И на многие хеш-функции, в том числе на SHA-256, есть атака удлинением сообщения - если Ева знает длину $m$, то может посчитать хеш-функцию от $m' = m + m_1$ для произвольного $m_1$ (по модулю выравнивания).

Раз у Алисы и Боба есть ключ $k$, Алиса может послать $(k(m), k(h(m)))$. Какие могут быть атаки на это?

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 18:43 


12/08/13
920
diletto в сообщении #1599580 писал(а):
Раз у Алисы и Боба есть ключ $k$, Алиса может послать $(k(m), k(h(m)))$. Какие могут быть атаки на это?

Наверное, правильно записывать так: $(encrypt(m,k), encrypt(h(m),k))$.

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 20:23 
Заслуженный участник
Аватара пользователя


16/07/14
8495
Цюрих
Это уже другой протокол. MAC предполагает, что текст передается открыто, и просто добавляется строка для доказательства авторства.
Ваш протокол зависит от того, какие тут алгоритмы шифрования и хеширования. И идет уже опасно близко к придумыванию собственных криптографических протоколов, что является смертным грехом.

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 20:42 


12/08/13
920
mihaild в сообщении #1599593 писал(а):
Это уже другой протокол. MAC предполагает, что текст передается открыто, и просто добавляется строка для доказательства авторства.

Я не понимаю, зачем так делать, если уже имеется общий секретный ключ? Логично зашифровать и сообщение тоже.

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 21:26 
Заслуженный участник
Аватара пользователя


16/07/14
8495
Цюрих
Не всегда. Например шифрование вычислительно не бесплатное. А если данные не секретные, а важна только целостность, то тратить ресурсы на их шифрование-дешифрование странно (а надежные хеши вычисляются гораздо проще, чем шифры).

 Профиль  
                  
 
 Re: Имитовставки - прошу ликбеза
Сообщение01.07.2023, 23:03 


12/08/13
920
mihaild, спасибо! Базовая идея дошла до меня.
Предназначение HMAC тем самым тоже прояснилось.
Намекните ещё, каковы сценарии использования CMAC?.. Пока я уяснил, что его применяют в легаси-продуктах с аппаратным ускорением блочного шифрования. А также, возможно, в тех случаях, когда хочется-таки получить одновременно и шифрование данных, и аутентификацию/целостность - но здесь всё равно рекомендовано использовать другие подходы, объединённые общим именем "Authenticated encryption" (среди них есть и тот, который я себе изначально представлял как основной сценарий для макирования: https://en.wikipedia.org/wiki/Authenticated_encryption#Encrypt-and-MAC_(E&M)). Таким образом, правильно ли будет сказать, что CMAC - экзотическая и, возможно, отмирающая вещь?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group