Middle+
Čo je HMAC?
sobes.tech AI
Odpoveď od AI
HMAC (Hash-based Message Authentication Code) je mechanizmus na základe hashovania na overenie pravosti a integrity správy pomocou hashovacej funkcie a tajného kľúča.
Funguje nasledovne:
- Správa a tajný kľúč sa spracúvajú určitým spôsobom hashovacou funkciou.
- Výsledkom je jedinečný hash kód (HMAC).
- Tento HMAC sa odosiela spolu so správou.
- Prijímateľ, ktorý má rovnakú správu a tajný kľúč, vypočíta HMAC znova.
- Ak vypočítaný HMAC zodpovedá prijatému, považuje sa správa za nezmenenú a pochádza zo zdroja, ktorý má tajný kľúč.
HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))
Kde:
K— tajný kľúč.m— správa.Hash— použitá hashovacia funkcia (napríklad SHA-256).||— spojenie.⊕— XOR operácia.ipad(vnútorná podložka) aopad(vonkajšia podložka) — konštanty používané v algoritme.
Rozdiel od bežnej hashovacej funkcie je v tom, že HMAC používa tajný kľúč, čo ho robí odolným voči určitým typom útokov zameraných na falšovanie hashu.
Použitie v webovom vývoji:
- Bearer tokeny: Na tvorbu a overovanie autentifikačných tokenov.
- Podpis požiadaviek: Na overenie pravosti požiadaviek na API.
- Overenie dát: Zabezpečuje, že dáta neboli počas prenosu zmenené.
Výhody:
- Vysoká kryptografická odolnosť.
- Kompatibilný s rôznymi hash funkciami.
- Jednoduchá implementácia.