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 -
- Szimmetrikus kulcs titkosítás előnyeivel
- Mi az a protokollteszt | Miért használják?
- Bevezetés a 7 legnépszerűbb IPS eszközbe
- Bevezetés a regressziós tesztelő eszközökbe