Въведение в HMAC

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

Как работи HMAC?

Нека сега да разгледаме работата на кода за удостоверяване на съобщения, базиран на Hash.

Стъпка 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

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

заключение

В тази статия видяхме основната концепция на Hash-базиран код за удостоверяване на съобщения и тя работи.

Препоръчителен член

Това е ръководство за HMAC. Тук обсъждаме Въведение в кода за удостоверяване на съобщения на базата на Hash и неговата работа с недостатъци. Можете също да прегледате нашите предложени статии, за да научите повече -

  1. Симетрично шифроване на ключове с предимства
  2. Какво е тестване на протокол | Защо се използва?
  3. Въведение в топ 7 IPS инструменти
  4. Въведение в инструменти за тестване на регресия