Интернет магазин китайских планшетных компьютеров



Компьютеры - HMAC - Вопросы использования

16 июня 2011


Оглавление:
1. HMAC
2. Описание
3. Принцип работы
4. HMAC параметры и обозначения
5. Примеры
6. Вопросы использования



Полученный код аутентичности позволяет убедиться в том, что данные не изменялись каким бы то ни было способом с тех пор как они были созданы, переданы или сохранены доверенным источником. Для такого рода проверки необходимо, чтобы, например, две доверяющие друг другу стороны заранее договорились об использовании секретного ключа, который известен только им. Тем самым гарантируется аутентичность источника и сообщения. Недостаток такого подхода очевиден — наличие двух доверяющих друг другу сторон.

Безопасность

Безопасность любой функции MAC на основе встроенных хэш-функции зависит от криптостойкости базовой хэш-функции. Привлекательность HMAC в том, что его создатели смогли доказать, точное соотношение между стойкостью встроенных хэш-функции и стойкостью HMAC.
Безопасность функции MAC обычно выражается в терминах вероятности успешной взлома с количеством времени, потраченного на это а также на получение пары: созданной с тем же ключом. В сущности, это доказано в BELL96a, что при данном уровне усилия на сообщение, сгенерированное конечным пользователем, вероятность успешной атаки на HMAC эквивалентна атаки произведенной на встроенную хэш-функцию:

  1. В первой типе атаки, мы можем рассматривать функции сжатия F в качестве эквивалента хэш-функции применяемой для сообщения, состоящие из единичного блока длиной B-бит. Для этого на вход хэш-функции подается случайное значение длиной N битов. Нападение на хэш-функцию требует или полного перебора ключа, который обладает уровенью сложности порядка 2 или с помощью атаки «дней рождения», которая является частным случаем второго нападения, что обсуждается далее.
  2. Во втором типе атаки, злоумышленник ищет два сообщения М и М ', которые получаются от одинаковой хеш-функции: H = H. Этот тип атаки известен также как атака «дней рождения». Уровень сложности данной атаки равен 2 для хэша длины n. Исходя из этого, безопасность MD5 ставится под вопрос, потому что уровень сложности для него 2 , что уже не выглядит невозможным при помощи современных технологий. Означает ли это, что 128-битная хэш-функция такая как MD5 не подходит для HMAC? Ответ на этот вопрос нет, что последует из следующих аргументов. При атаки на MD5 , злоумышленник может выбрать любой набор сообщений и работать офлайн над поиском коллизий. Так как злоумышленник знает алгоритм хеширования и начальные условия, злоумышленник может создать хэш-код для каждого из сообщений. Однако, при атаке HMAC, злоумышленник не сможет генерировать пару : в удаленном режиме, так как злоумышленник не знает Key. Таким образом, злоумышленник должен следить за последовательностью сообщений, порождаемых HMAC с тем же ключом и выполнять атаку на них. Для хэш-кода длиной 128 бит, для этого требуется 2 блоков или 2 битов сгенерированных с помощью того же ключа. Для 1-Гбит соединения, нужно было бы следить за потоком сообщений, если он не изменят Key, в течение 150 000 лет, чтобы добиться успеха. Таким образом, если скорость имеет значение, это вполне приемлемо использовать MD5, а не SHA-1 в качестве встроенных хэш-функции для HMAC.


Просмотров: 4832


<<< GSS-API