Uvod v HMAC

HMAC je kratica za kodo za preverjanje pristnosti sporočil na osnovi Haš. Na voljo so različni algoritmi za prebavo sporočil. Cilj za HMAC je ponovna uporaba teh algoritmov za prebavo sporočil. Razvit je za izvajanje varnostnega okolja za internetni protokol. HMAC deluje z algoritmom za prebavo sporočil. V izvirnem sporočilu uporablja algoritem za prebavo sporočil, za šifriranje prenosa sporočil pa uporablja tudi simetrično tipko, ki ustvari MAC (Code Authentication Code). HMAC je podoben MAC, razlika je v HMAC-u, uporablja algoritem na osnovi hash-a. Hash-ova koda za preverjanje pristnosti sporočil se uporablja tudi v protokolu SSL (Secure Socket Layer). HMAC je tudi hitrejši za računanje. Tudi če je osnovna hash funkcija prekršena, bo HMAC še vedno zagotavljal boljšo varnost. V tem članku bomo razpravljali o osnovnem konceptu kode za preverjanje pristnosti sporočil na osnovi Haš-a in deluje.

Kako deluje HMAC?

Zdaj si oglejmo delovanje kode za preverjanje pristnosti sporočil na osnovi Haša.

1. korak: naredite dolžino simetričnega ključa, ki je enaka več bitov v vsakem bloku.

Obstajajo tri možnosti, na podlagi katerih moramo ukrepati, da dolžino ključa enačimo številu bitov. Dolžina ključa je manjša od števila bitov v vsakem bloku. V tem primeru moramo dolžino ključa enačiti na več bitov, tako da dolžino ključa razširimo tako, da dodamo veliko 0 bitov.

Dolžina ključa je enaka več bitov v vsakem bloku. Pri tem nam ni treba izvajati nobenega dejanja, saj je ključ enako številu bitov. Dolžina ključa je večja od števila bitov v vsakem bloku. V tem primeru moramo za izenačitev dolžine ključa s številčnimi biti ključ obrezati z algoritmom prenosa sporočil, ki ga bomo uporabili za izdelavo HMAC-a.

2. korak: XOR simetričen z blazinico.

V tem koraku XOR simetrično z blazinico izdelamo spremenljivko, imenovano S1.

Opomba : pad = Gre za niz 00110110, ponovljen b / 8-krat.

3. korak: Izvirno sporočilo dodajte S1.

V tem koraku na koncu S1 dodamo izvirno sporočilo.

4. korak: Uporabite algoritem za prebavo sporočil.

V tem koraku na izhod koraka 3. uporabimo izbrani algoritem za prebavo sporočil (MD5, SHA-1, SHA-512 itd.) Predpostavimo, da je izhod tega koraka 4 H

5. korak: XOR simetrična tipka z blazinico.

V tem koraku XOR simetrični ključ z blazinico ustvarite spremenljivko, imenovano S2.

Opomba : pad = Gre za niz 01011010, ponovljen b / 8-krat.

6. korak: Dodajte H k S2.

V tem koraku vzamemo izbirnik sporočil, ki je izračunan v koraku 4, in ga pripnemo k S2 in S2, ki je izpeljan v prejšnjem koraku, tj. Koraku 5.

6. korak: algoritem za prebavo sporočil.

V tem koraku bomo uporabili izbrani algoritem za prebavo sporočil na izhod iz koraka 6. generirano prenašanje sporočil tega koraka je končni MAC.

Slabosti HMAC-a

  • Pogovorimo se o nekaterih težavah, s katerimi se lahko srečamo v kodi za preverjanje pristnosti sporočil na osnovi Haša.
    Kot smo že omenili, koda za preverjanje pristnosti sporočil na osnovi Haša uporablja simetrični ključ. Simetrični ključ pomeni isti ključ, ki ga uporabljata pošiljatelj in prejemnik. Tu se pojavi težava, kako si bosta pošiljatelj in prejemnik izmenjala ključ?
  • Nekako zgoraj omenjena težava je izmenjava simetričnega ključa rešena, zato ne moremo uporabiti kode za preverjanje pristnosti sporočil na osnovi Haša v primeru več kot enega sprejemnika. to je zato, ker HMAC uporablja simetrični ključ za generiranje MAC-a. Simetrični ključ morata imeti samo dve osebi, torej pošiljatelj in prejemnik.
  • Druga težava je, če simetrično delimo z več strankami, kako prejemnik ve, da je sporočilo pripravil in poslal pošiljatelj, ne pa tudi drugi prejemniki, ki jih ključi delijo z njimi, tako da obstaja možnost goljufije, da eden od sprejemniki lahko ustvarijo napačna sporočila.

Zaključek

V tem članku smo videli osnovni koncept kode za preverjanje pristnosti sporočil na osnovi Haša in deluje.

Priporočeni članek

To je vodnik za HMAC. Tukaj razpravljamo o uvodu kode za preverjanje pristnosti sporočil na osnovi Haš in njegovem delu s pomanjkljivostmi. Obiščite lahko tudi naše predlagane članke, če želite izvedeti več -

  1. Simetrična šifriranje tipk s prednostmi
  2. Kaj je testiranje protokola | Zakaj se uporablja?
  3. Uvod v top 7 orodij IPS
  4. Uvod v regresijska orodja za testiranje