Введение в 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. Здесь мы обсуждаем Введение в код аутентификации сообщений на основе хеша и его работу с недостатками. Вы также можете просмотреть наши предлагаемые статьи, чтобы узнать больше -
- Шифрование симметричного ключа с преимуществами
- Что такое протокол тестирования? Почему это используется?
- Введение в Top 7 IPS Tools
- Введение в инструменты регрессионного тестирования