Въведение в 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 и неговата работа с недостатъци. Можете също да прегледате нашите предложени статии, за да научите повече -
- Симетрично шифроване на ключове с предимства
- Какво е тестване на протокол | Защо се използва?
- Въведение в топ 7 IPS инструменти
- Въведение в инструменти за тестване на регресия