Sobes.tech
Middle+

Mi az a HMAC?

sobes.tech MI

Válasz az MI-től

HMAC (Hash-alapú Üzenet-hitelesítési kód) egy mechanizmus az üzenet hitelességének és integritásának ellenőrzésére hash-függvény és titkos kulcs használatával.

Így működik:

  1. Az üzenet és a titkos kulcs egy adott módon kerül feldolgozásra hash-függvény segítségével.
  2. Ennek eredményeként egy egyedi hash-kód (HMAC) jön létre.
  3. Ezt a HMAC-ot az üzenettel együtt küldik.
  4. A fogadó, ugyanazzal az üzenettel és titkos kulccsal, újra kiszámítja a HMAC-ot.
  5. Ha a kiszámított HMAC megegyezik a kapottal, akkor az üzenet nem módosult, és egy olyan forrásból származik, amely rendelkezik a titkos kulccsal.

HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))

Ahol:

  • K — titkos kulcs.
  • m — üzenet.
  • Hash — használt hash-függvény (pl. SHA-256).
  • || — összefűzés.
  • — XOR művelet.
  • ipad (belső párna) és opad (külső párna) — állandók, amelyeket az algoritmusban használnak.

A különbség egy normál hash-függvényhez képest az, hogy a HMAC titkos kulcsot használ, ami ellenállóvá teszi bizonyos típusú támadásokkal szemben, amelyek a hash hamisítására irányulnak.

Webfejlesztésben való alkalmazás:

  • Bearer tokenek: Hitelesítési tokenek létrehozása és ellenőrzése.
  • Kérések aláírása: Az API-kérések hitelességének ellenőrzése.
  • Adatok ellenőrzése: Biztosítja, hogy az adatok nem változtak a továbbítás során.

Előnyök:

  • Magas kriptográfiai ellenállás.
  • Kompatibilis különböző hash-függvényekkel.
  • Egyszerű megvalósítás.