HMAC-generaattori
Luo HMAC (Hash-based Message Authentication Code) käyttäen SHA-256, SHA-384, SHA-512 tai SHA-1 -algoritmeja salaisen avaimen kanssa
Syöte
Tuloste
Lue lisää
Mikä on HMAC?
HMAC (Hash-based Message Authentication Code) on kryptografinen tekniikka, joka yhdistää salaisen avaimen hajautusfunktioon luodakseen ainutlaatuisen todennuskoodin. Toisin kuin yksinkertainen hajautus, HMAC varmistaa sekä tietojen eheyden että aitouden - todentaen, että viestiä ei ole muutettu ja vahvistaen lähettäjän henkilöllisyyden.
HMAC toimii käsittelemällä viestin hajautusfunktion (kuten SHA-256) läpi kahdesti, sekoittaen sen salaisen avaimen kanssa tietyllä tavalla. Tämä kaksinkertainen hajautus tekee siitä vastustuskykyisen pituuden laajennushyökkäyksiä vastaan, jotka vaikuttavat tavallisiin hajautusfunktioihin.
Miten HMAC toimii?
HMAC-algoritmi noudattaa seuraavia vaiheita:
- Avaimen valmistelu: Jos salainen avain on pidempi kuin hajautuslohkon koko, se hajautetaan ensin. Jos se on lyhyempi, se täytetään nollilla.
- Sisäinen hajautus: Avain XOR-ataan sisäisen pehmustevakion (ipad) kanssa, sitten yhdistetään viestiin ja hajautetaan.
- Ulkoinen hajautus: Avain XOR-ataan ulkoisen pehmustevakion (opad) kanssa, sitten yhdistetään sisäisen hajautuksen tulokseen ja hajautetaan uudelleen.
Kaava on: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
Tämä rakenne varmistaa, että vaikka hyökkääjä tietäisi viestin hajautuksen, hän ei voi luoda kelvollista HMAC:ia ilman salaista avainta.
Miksi käyttää HMAC:ia tavallisen hajautuksen sijaan?
| Ominaisuus | Tavallinen hajautus | HMAC |
|---|---|---|
| Tietojen eheys | ✓ | ✓ |
| Todentaminen | ✗ | ✓ |
| Vaatii salaisen avaimen | ✗ | ✓ |
| Suojaus pituuden laajennushyökkäyksiä vastaan | ✗ | ✓ |
| Sopiva API-todentamiseen | ✗ | ✓ |
Tavalliset hajautusfunktiot (MD5, SHA-256) varmistavat vain, että tietoja ei ole muutettu. HMAC todentaa lisäksi, että viesti on peräisin taholta, joka tuntee salaisen avaimen, tehden siitä välttämättömän turvalliselle viestinnälle.
[Loput dokumentista käännetään samalla periaatteella - säilyttäen tekniset termit englanninkielisinä ja kääntäen muu teksti luonnolliseen suomeen.]