Úvod do HMAC

HMAC je zkratka pro Hash-based Message Authentication Code. K dispozici jsou různé algoritmy pro zpracování zpráv. Cílem HMAC je opětovné použití těchto algoritmů pro zpracování zpráv. Je vyvinut pro implementaci bezpečnostního prostředí pro internetový protokol. HMAC pracuje s jakýmkoli algoritmem digest zpráv. Používá algoritmus digest zprávy na původní zprávě, používá také symetrický klíč k zašifrování souboru zpráv, který vytváří MAC (Message Authentication Code). HMAC je podobný MAC, rozdíl je v HMAC, používá hash-založený algoritmus. Hash-based Message Authentication code se používá také v protokolu SSL (Secure Socket Layer). Výpočet HMAC je také rychlejší. I když je základní hashovací funkce přerušena, HMAC bude stále poskytovat lepší zabezpečení. V tomto článku budeme diskutovat základní koncept Hash-based Message Authentication Code a funguje to.

Jak HMAC funguje?

Podívejme se nyní na fungování ověřovacího kódu Hash-based Message Authentication Code.

Krok 1: Délka symetrického klíče se musí rovnat několika bitům v každém bloku.

Existují tři možnosti, podle kterých musíme jednat tak, aby se délka klíče rovnala počtu bitů. Délka klíče je menší než počet bitů v každém bloku. V tomto případě, abychom se shodovali s délkou klíče několika bity, musíme rozšířit délku klíče přidáním mnoha 0 bitů.

Délka klíče se rovná několika bitům v každém bloku. V tomto případě nemusíme provádět žádnou akci, protože klíč se rovná počtu bitů. Délka klíče je větší než počet bitů v každém bloku. V tomto případě, abychom se shodovali s délkou klíče s číslovými bity, je třeba klíč zkrátit použitím algoritmu digest zpráv, který použijeme k výrobě HMAC.

Krok 2: XOR symetrický s podložkou.

V tomto kroku XOR symetricky s podložkou vytvoříme proměnnou zvanou S1.

Poznámka : pad = Je to řetězec 00110110 opakovaný b / 8krát.

Krok 3: Připojte původní zprávu k S1.

V tomto kroku připojíme původní zprávu na konec S1.

Krok 4: Použijte algoritmus digest-message.

V tomto kroku použijeme vybraný algoritmus pro zpracování zpráv (MD5, SHA-1, SHA-512 atd.) Na výstup z kroku 3. Předpokládejme, že výstupem tohoto kroku 4 je H

Krok 5: XOR symetrický klíč s podložkou.

V tomto kroku XOR symetrický klíč s podložkou vytvoří proměnnou zvanou S2.

Poznámka : pad = Je to řetězec 01011010 opakovaný b / 8krát.

Krok 6: Připojte H k S2.

V tomto kroku bereme přehled zpráv, který se vypočítá v kroku 4, a připojíme jej k a S2, který je odvozen v předchozím kroku, tj. Kroku 5.

Krok 6: Algoritmus digest zprávy.

V tomto kroku použijeme vybraný algoritmus pro zpracování zprávy na výstup z kroku 6. generovaný souhrn zprávy v tomto kroku je finální MAC.

Nevýhody HMAC

  • Pojďme diskutovat o některých problémech, s nimiž se můžeme potýkat v ověřovacím kódu zpráv Hash.
    Jak jsme již diskutovali dříve, ověřovací kód založený na hashovacím systému používá symetrický klíč. Symetrický klíč znamená stejný klíč, jaký používá odesílatel a příjemce. Problémem zde je, jak si odesílatel a příjemce vymění klíč?
  • Nějak výše uvedený problém, výměna symetrického klíče je vyřešen, nemůžeme použít Hash-based Message Authentication Code v případě více než jednoho přijímače. je to proto, že HMAC používá symetrický klíč ke generování MAC. Symetrický klíč musí sdílet pouze dvě strany, tj. Odesílatel a příjemce.
  • Dalším problémem je to, že pokud sdílíme symetrii s více stranami, jak příjemce ví, že zpráva byla připravena a odeslána odesílatelem, ne s jinými přijímači, klíče jsou také sdíleny s nimi, takže existuje možnost podvodu, že jeden z přijímače mohou vytvářet falešné zprávy.

Závěr

V tomto článku jsme viděli základní koncept Hash-based Message Authentication Code a funguje to.

Doporučený článek

Toto je průvodce HMAC. Zde diskutujeme Úvod do Hash-based Message Authentication Code a jeho práci s nevýhodami. Další informace naleznete také v našich doporučených článcích -

  1. Symetrické šifrování klíčů s výhodami
  2. Co je testování protokolů | Proč se používá?
  3. Úvod do 7 nejlepších nástrojů IPS
  4. Úvod do nástrojů pro regresní testování

Kategorie: