Uvod u HMAC
HMAC označava Hash-ov kod za provjeru autentičnosti poruka. Na raspolaganju su razni algoritmi za probavljanje poruka. Cilj iza HMAC-a je ponovno korištenje algoritama za probavljanje poruka. Razvijen je za primjenu sigurnosnog okruženja za internetski protokol. HMAC radi s bilo kojim algoritmom za probavljanje poruka. U izvornoj poruci koristi algoritam za probavljanje poruka, a koristi i simetrični ključ za šifriranje pregleda podataka, što stvara MAC (Code Authentication Code). HMAC je sličan MAC-u, razlika je u HMAC-u, koristi algoritam temeljen na hash-u. Hash-ov kod za provjeru identiteta poruke koristi se i u protokolu SSL (Secure Socket Layer). Također, HMAC je brži za računanje. Čak i ako je osnovna hash funkcija prekršena, HMAC će i dalje pružiti bolju sigurnost. U ovom ćemo članku raspravljati o osnovnom konceptu šifriranog kodeta za provjeru identiteta na temelju Hash-a i on radi.
Kako djeluje HMAC?
Pogledajmo sada funkcioniranje Kodeksa provjere autentičnosti poruka temeljenog na Hašu.
1. korak: napravite duljinu simetričnog ključa jednaku nekoliko bita u svakom bloku.
Postoje tri mogućnosti, na temelju svake treba djelovati kako bismo duljinu ključa izjednačili s brojem bita. Duljina ključa je manja od broja bita u svakom bloku. U ovom slučaju, za izjednačavanje duljine ključa s nekoliko bita, dužinu ključa moramo proširiti dodavanjem mnogih 0 bita.
Duljina ključa jednaka je nekoliko bita u svakom bloku. Pri tome ne trebamo obavljati nijednu radnju jer je ključ jednak broju bita. Duljina ključa veća je od broja bita u svakom bloku. U ovom slučaju, za izjednačavanje duljine ključa s brojem bita, moramo ključ obrezati primjenom algoritma za probavu poruka koji ćemo koristiti za proizvodnju HMAC-a.
2. korak: XOR simetričan sa podloškom.
U ovom smo koraku XOR simetrični s jastučićem stvorili varijablu koja se zove S1.
Napomena : pad = To je niz 00110110 ponovljen b / 8 puta.Korak 3: Dodajte originalnu poruku S1.
U ovom koraku na kraju S1 dodajemo originalnu poruku.
Korak 4: Primijenite algoritam za prebacivanje poruka.
U ovom koraku primjenjujemo odabrani algoritam za probavljanje poruka (MD5, SHA-1, SHA-512, itd.) Na izlaz koraka 3. Pretpostavimo da je izlaz ovog koraka 4 H
5. korak: XOR simetrični ključ s jastučićima.
U ovom koraku XOR simetrični ključ s podloškom proizvede varijablu koja se zove S2.
Napomena : pad = To je niz 01011010 ponovljen b / 8 puta.Korak 6: Dodajte H u S2.
U ovom koraku uzimamo prevara poruke koji se izračunava u koraku 4 i dodajemo ga na S2 i na S2 koji je izveden u prethodnom koraku, tj. Koraku 5.
Korak 6: Algoritam slanja poruka
U ovom ćemo koraku primijeniti odabrani algoritam za prebacivanje poruka na izlaz iz koraka 6. generirani preispitivanje poruke ovog koraka je konačni MAC.
Nedostaci HMAC-a
- Raspravimo o nekim problemima s kojima bismo mogli biti suočeni u Hash-ovom kodu provjere autentičnosti poruka.
Kao što smo ranije raspravljali, kod za provjeru autentičnosti poruke na temelju Haš koristi simetrični ključ. Simetrični ključ znači isti ključ koji koristi pošiljatelj i primatelj. Ovdje se pojavljuje problem, kako će pošiljatelj i primatelj razmijeniti ključ ?. - Nekako je gornji problem, razmjena simetričnog ključa riješena, ne možemo upotrijebiti Hash-ov kod za provjeru autentičnosti poruka u slučaju više od jednog prijemnika. to je zato što HMAC koristi simetrični ključ za generiranje MAC-a. Simetrični ključ moraju dijeliti samo dvije strane, odnosno pošiljatelj i primatelj.
- Drugi problem je ako dijelimo simetričnu s više strana, kako primatelj zna da je poruku pripremio i poslao pošiljatelj, a ne ostali primatelji ključeve također dijele s njima, tako da postoji mogućnost prijevare da je netko od prijemnici mogu stvarati lažne poruke.
Zaključak
U ovom smo članku vidjeli osnovni koncept Kodeksa provjere autentičnosti poruka temeljenog na Hash-u i on radi.
Preporučeni članak
Ovo je vodič za HMAC. Ovdje smo raspravljali o Uvodu u šifru provjere autentifikacije poruka i njezinu radu s nedostacima. Možete i proći kroz naše predložene članke da biste saznali više -
- Simetrično šifriranje ključa s prednostima
- Što je testiranje protokola | Zašto se koristi?
- Uvod u top 7 IPS alata
- Uvod u alate za ispitivanje regresije