Вступ до HMAC

HMAC розшифровується як Код аутентифікації повідомлень на основі хеша. Доступні різні алгоритми дайвінгу повідомлень. Завдання HMAC - повторне використання цих алгоритмів перебору повідомлень. Він розроблений для реалізації середовища безпеки для інтернет-протоколів. HMAC працює з алгоритмом дайвінгу будь-яких повідомлень. Він використовує алгоритм дайвінгу повідомлень у вихідному повідомленні, він також використовує симетричний ключ для шифрування дайджесту повідомлень, який виробляє MAC (Code Authentication Code). HMAC схожий на MAC, різниця в HMAC, він використовує алгоритм на основі хешу. Код аутентифікації повідомлень на основі хеша також використовується в протоколі SSL (Secure Socket Layer). Крім того, HMAC швидше обчислювати. Навіть якщо основна хеш-функція буде порушена, HMAC все одно забезпечить кращу безпеку. У цій статті ми збираємося обговорити основну концепцію коду аутентифікації повідомлень на основі хеша і він працює.

Як працює HMAC?

Давайте тепер розглянемо роботу коду аутентифікації повідомлень на основі хеша.

Крок 1: Зробіть довжину симетричного ключа рівним кільком бітам у кожному блоці.

Існує три можливості, виходячи з того, що кожен з нас повинен діяти, щоб дорівнювати довжину ключа кількості біт. Довжина ключа менша за кількість бітів у кожному блоці. У цьому випадку, щоб дорівнювати довжину ключа декільком бітам, нам потрібно розширити довжину ключа, додавши багато 0 біт.

Довжина ключа дорівнює декільком бітам у кожному блоці. У цьому нам не потрібно виконувати жодних дій, оскільки ключ дорівнює кількості біт. Довжина ключа більша за кількість бітів у кожному блоці. У цьому випадку, щоб дорівнювати довжину ключа числовим бітам, нам потрібно обрізати ключ, застосувавши алгоритм дайвінгу повідомлень, який ми використаємо для створення HMAC.

Крок 2: XOR симетричний з накладкою.

На цьому кроці ми XOR симетрично з колодкою для отримання змінної під назвою S1.

Примітка : pad = Це рядок 00110110, повторений b / 8 разів.

Крок 3: Додайте оригінальне повідомлення до S1.

На цьому кроці ми додаємо початкове повідомлення в кінці S1.

Крок 4: Застосуйте алгоритм перебору повідомлень.

На цьому кроці ми застосовуємо вибраний алгоритм перебору повідомлень (MD5, SHA-1, SHA-512 тощо) до виходу кроку 3. Припустимо, що вихід цього кроку 4 є H

Крок 5: Симетричний ключ XOR з накладкою.

На цьому кроці XOR симетричний ключ із накладкою для отримання змінної під назвою S2.

Примітка : pad = Це рядок 01011010, повторений b / 8 разів.

Крок 6: Додайте Н до S2.

На цьому кроці ми беремо дайджест повідомлень, який обчислюється на кроці 4, і додаємо його до та S2, який отриманий на попередньому кроці, тобто кроці 5.

Крок 6: Алгоритм дайвінгу повідомлень

На цьому кроці ми застосуємо вибраний алгоритм дайвінгу повідомлень до виходу кроку 6. Створений дайджест повідомлень цього кроку є кінцевим MAC.

Недоліки HMAC

  • Давайте обговоримо деякі проблеми, з якими ми можемо зіткнутися в коді аутентифікації повідомлень на основі хеша.
    Як ми вже обговорювали раніше, в коді аутентифікації повідомлень на основі хеша використовується симетричний ключ. Симетричний ключ означає той самий ключ, який використовують відправник і одержувач. Тут виникає проблема в тому, як відправник і одержувач обміняються ключем ?.
  • Як-небудь вищезазначена проблема, обмін симетричним ключем вирішено, ми не можемо використовувати Код аутентифікації повідомлень на основі Хаша у випадку, коли більше одного приймача. це тому, що HMAC використовує симетричний ключ для генерації MAC. Симетричний ключ повинен ділитися лише двома сторонами, тобто відправником та одержувачем.
  • Інша проблема полягає в тому, що якщо ми ділимося симетричним на декілька сторін, то як одержувач знає, що повідомлення було підготовлене та відправлене відправником, а не інші приймачі, ключі також ділиться з ними, тому існує можливість шахрайства, що хтось із приймачі можуть створювати помилкові повідомлення.

Висновок

У цій статті ми побачили основну концепцію коду аутентифікації повідомлень на основі хеша і він працює.

Рекомендована стаття

Це посібник з HMAC. Тут ми обговорюємо Вступ до коду аутентифікації повідомлень на основі хешу та його роботу з недоліками. Ви також можете ознайомитись із запропонованими нами статтями, щоб дізнатися більше -

  1. Симетричне шифрування ключа з перевагами
  2. Що таке тестування протоколів | Для чого він використовується?
  3. Ознайомлення з першими 7 інструментами IPS
  4. Вступ до інструментів тестування регресії