Введение в HMAC

HMAC обозначает код аутентификации сообщений на основе хэша. Существуют различные алгоритмы дайджеста сообщений. Цель HMAC - повторно использовать эти алгоритмы дайджеста сообщений. Он разработан для реализации среды безопасности для интернет-протокола. HMAC работает с любым алгоритмом дайджеста сообщений. Он использует алгоритм дайджеста сообщения в исходном сообщении, а также симметричный ключ для шифрования дайджеста сообщения, который создает MAC (код аутентификации сообщения). HMAC похож на MAC, разница в HMAC, он использует алгоритм на основе хеша. Код аутентификации сообщений на основе хэша также используется в протоколе SSL (Secure Socket Layer). Кроме того, HMAC быстрее вычисляет. Даже если основная хеш-функция нарушена, HMAC все равно обеспечит лучшую безопасность. В этой статье мы обсудим основную концепцию кода аутентификации сообщений на основе хеш-кода и он работает.

Как работает HMAC?

Давайте теперь посмотрим на работу кода аутентификации сообщений на основе хеша.

Шаг 1: Сделайте длину симметричного ключа равной нескольким битам в каждом блоке.

Существует три варианта, в зависимости от каждого из которых нам нужно действовать, чтобы длина ключа равнялась количеству битов. Длина ключа меньше количества бит в каждом блоке. В этом случае, чтобы приравнять длину ключа к нескольким битам, нам нужно увеличить длину ключа, добавив множество 0 битов.

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

Шаг 2: XOR симметричный с площадкой.

На этом этапе мы XOR симметричны с пэдом, чтобы получить переменную с именем S1.

Примечание : pad = Это строка 00110110, повторенная 8/8 раз.

Шаг 3: Добавить исходное сообщение к S1.

На этом этапе мы добавляем исходное сообщение в конце S1.

Шаг 4: Примените алгоритм дайджеста сообщений.

На этом шаге мы применяем выбранный алгоритм дайджеста сообщений (MD5, SHA-1, SHA-512 и т. Д.) К выводу шага 3. Предположим, что результат шага 4 равен H

Шаг 5: XOR симметричный ключ с пэдом.

На этом этапе XOR симметричный ключ с pad для создания переменной с именем S2.

Примечание : pad = Это строка 01011010, повторенная 8/8 раз.

Шаг 6: Добавьте H к S2.

На этом этапе мы берем дайджест сообщения, который рассчитывается на шаге 4, и добавляем его на этапе S2, полученном на предыдущем шаге, т.е. на шаге 5.

Шаг 6: алгоритм дайджеста сообщения.

На этом шаге мы применим выбранный алгоритм дайджеста сообщений к выходным данным шага 6. сгенерированный дайджест сообщений этого шага является конечным MAC.

Недостатки HMAC

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

Вывод

В этой статье мы увидели базовую концепцию кода аутентификации сообщений на основе хэша, и он работает.

Рекомендуемая статья

Это руководство по HMAC. Здесь мы обсуждаем Введение в код аутентификации сообщений на основе хеша и его работу с недостатками. Вы также можете просмотреть наши предлагаемые статьи, чтобы узнать больше -

  1. Шифрование симметричного ключа с преимуществами
  2. Что такое протокол тестирования? Почему это используется?
  3. Введение в Top 7 IPS Tools
  4. Введение в инструменты регрессионного тестирования