Bevezetés a HMAC-ba

A HMAC a Hash-alapú üzenet-hitelesítési kódot jelenti. Különböző üzenetmegosztási algoritmusok érhetők el. A HMAC mögött az a cél, hogy újból felhasználjuk ezeket az üzenetek megemésztéses algoritmusait. Úgy fejlesztették ki, hogy megvalósítsák az internet protokoll biztonsági környezetét. A HMAC bármilyen üzenet-emésztő algoritmussal működik. Az eredeti üzenetben az üzenet-kivonatoló algoritmust használja, és egy szimmetrikus kulcsot használ az üzenet-kivonat titkosításához, amely előállítja a MAC-t (Message Authentication Code). A HMAC hasonló a MAC-hoz, különbség van a HMAC-ban, hash-alapú algoritmust használ. A has-alapú üzenet-hitelesítési kódot szintén használják az SSL (Secure Socket Layer) protokollban. A HMAC gyorsabban kiszámítható. Még ha az alapul szolgáló hash-funkció is megsérül, a HMAC továbbra is jobb biztonságot nyújt. Ebben a cikkben a Hash-alapú üzenet-hitelesítési kód alapfogalmáról beszélünk és működik.

Hogyan működik a HMAC?

Vessen egy pillantást a Hash-alapú üzenet-hitelesítési kód működésére.

1. lépés: A szimmetrikus kulcs hossza megegyezzen több bittel minden blokkban.

Három lehetőség van, mindegyik alapján meg kell cselekednünk, hogy a kulcs hosszúságát a bitek számával megegyezzük. A kulcs hossza kisebb, mint az egyes blokkok bitjeinek száma. Ebben az esetben ahhoz, hogy egy kulcs hosszát több bittel egyenlővé tegyük, ki kell bővíteni a kulcs hosszát sok 0 bit hozzáadásával.

A kulcs hossza több bittel egyenlő minden blokkban. Ebben nem kell semmilyen műveletet végrehajtanunk, mivel a kulcs megegyezik a bitszámmal. A kulcs hossza nagyobb, mint az egyes blokkok bitjeinek száma. Ebben az esetben a kulcs hosszának a számbitekhöz való egyenlőségével meg kell vágnunk a kulcsot az üzenet-kivonat algoritmus alkalmazásával, amelyet a HMAC előállításához használunk.

2. lépés: XOR szimmetrikus a betéttel.

Ebben a lépésben XOR-ban XOR-t szimmetrikusan alakítunk ki a párnával, hogy S1 nevű változót kapjunk.

Megjegyzés : pad = Ez egy 00110110 karakterlánc, nyolcszor ismételve.

3. lépés: Az eredeti üzenet csatolása az S1-hez.

Ebben a lépésben az eredeti üzenetet csatoljuk az S1 végére.

4. lépés: Alkalmazza az üzenet-kivonat algoritmust.

Ebben a lépésben a kiválasztott üzenet-kivágási algoritmust (MD5, SHA-1, SHA-512 stb.) Alkalmazzuk a 3. lépés kimenetére. Tegyük fel, hogy a 4. lépés kimenete H

5. lépés: XOR szimmetrikus kulcs padral.

Ebben a lépésben XOR-ban XOR a szimmetrikus billentyűt és a padot, hogy előállítsa az S2 nevű változót.

Megjegyzés : pad = Ez egy 01011010 karakterlánc, amely nyolcszor ismétlődik.

6. lépés: Helyezze a H-t az S2-be.

Ebben a lépésben a 4. lépésben kiszámított üzenet-kivonatot vesszük, és az előző lépésben, azaz az 5. lépésben kapott S2-hez és az S2-hez csatoljuk.

6. lépés: Üzenetmegosztási algoritmus.

Ebben a lépésben a kiválasztott üzenet-megalkotási algoritmust alkalmazzuk a 6. lépés kimenetére. Ennek a lépésnek a generált üzenet-megemlítése a végső MAC.

A HMAC hátrányai

  • Beszéljünk néhány problémáról, amelyekkel szembesülhetünk a Hash-alapú üzenet-hitelesítési kódban.
    Amint azt korábban már tárgyaltuk, a Hash-alapú üzenet-hitelesítési kód szimmetrikus kulcsot használ. A szimmetrikus kulcs ugyanazt a kulcsot jelenti, amelyet a küldő és a fogadó használ. Itt felmerül a probléma, hogy a feladó és a fogadó hogyan cseréli a kulcsot ?.
  • Valahogy a fenti probléma megoldódott, a szimmetrikus kulcs cseréje megoldódott, nem használhatjuk a Hash-alapú üzenet-hitelesítési kódot egynél több vevő esetén. Ennek oka az, hogy a HMAC a szimmetrikus kulcsot használja a MAC előállításához. A szimmetrikus kulcsot csak két fél oszthatja meg, azaz a feladó és a fogadó.
  • Egy másik probléma az, hogy ha a szimmetrikus adatokat több féllel megosztjuk, akkor az, hogy a fogadó tudja, hogy az üzenetet a feladó készítette és küldte el, nem a többi vevővel, a kulcsokkal is megosztják őket, tehát fennáll a csalás lehetősége, hogy az egyik A vevők hamis üzeneteket hozhatnak létre.

Következtetés

Ebben a cikkben láttuk a Hash-alapú üzenet-hitelesítési kód alapfogalmát és működik.

Ajánlott cikk

Ez egy útmutató a HMAC-hoz. Itt tárgyaljuk a Hash-alapú üzenet-hitelesítési kód bevezetését és annak hátrányokkal való működését. Megnézheti a javasolt cikkeket is, ha többet szeretne megtudni -

  1. Szimmetrikus kulcs titkosítás előnyeivel
  2. Mi az a protokollteszt | Miért használják?
  3. Bevezetés a 7 legnépszerűbb IPS eszközbe
  4. Bevezetés a regressziós tesztelő eszközökbe

Kategória: