Introduktion til HMAC

HMAC står for den Hash-baserede meddelelsesgodkendelseskode. Der er forskellige meddelelsesfordøjelsesalgoritmer tilgængelige. Målet bag HMAC er at genbruge disse algoritmer til fordøjelse af meddelelser. Det er udviklet til at implementere sikkerhedsmiljøet for internetprotokol. HMAC fungerer med alle meddelelsesfordøjelsesalgoritmer. Den bruger meddelelsesfordøjelsesalgoritmen på den originale meddelelse, den bruger også en symmetrisk nøgle til at kryptere meddelelsesfordøjelsen, der producerer MAC (Message Authentication Code). HMAC ligner MAC, forskellen er i HMAC, den bruger en hash-baseret algoritme. Hash-baseret meddelelsesgodkendelseskode bruges også i SSL (Secure Socket Layer) -protokol. HMAC er også hurtigere at beregne. Selv hvis den underliggende hash-funktion er ødelagt, vil HMAC stadig give bedre sikkerhed. I denne artikel skal vi diskutere det grundlæggende koncept med den Hash-baserede meddelelsesgodkendelseskode, og den fungerer.

Hvordan fungerer HMAC?

Lad os nu se på brugen af ​​den Hash-baserede meddelelsesgodkendelseskode.

Trin 1: Lav længden af ​​den symmetriske nøgle lig med flere bit i hver blok.

Der er tre muligheder, baseret på hver vi skal handle for at svare til længden af ​​nøglen til antallet af bits. Længden på en nøgle er mindre end antallet af bit i hver blok. I dette tilfælde skal vi udvide længden af ​​nøglen ved at tilføje mange 0 bit for at svare til længden af ​​en nøgle til flere bits.

Længden på en nøgle er lig med flere bit i hver blok. I dette behøver vi ikke at udføre nogen handling, da nøglen er lig med antallet af bits. Længden på en nøgle er større end antallet af bit i hver blok. I dette tilfælde er vi nødt til at trimme nøglen ved at anvende den meddelelsesfordøjelsesalgoritme, som vi vil bruge til at fremstille HMAC, for at være lig med nøglens længde og antallet af bit.

Trin 2: XOR symmetrisk med pude.

I dette trin XOR vi det symmetriske med puden for at producere en variabel kaldet S1.

Bemærk : pad = Det er en streng 00110110 gentaget b / 8 gange.

Trin 3: Føj den originale meddelelse til S1.

I dette trin tilføjer vi den originale meddelelse i slutningen af ​​S1.

Trin 4: Anvend meddelelsesfordøjelsesalgoritmen.

I dette trin anvender vi den valgte meddelelsesfordøjelsesalgoritme (MD5, SHA-1, SHA-512 osv.) På output fra trin 3. Lad os antage, at output fra dette trin 4 er H

Trin 5: XOR symmetrisk nøgle med pude.

I dette trin XOR den symmetriske nøgle med pude for at producere variablen kaldet S2.

Bemærk : pad = Det er en streng 01011010 gentaget b / 8 gange.

Trin 6: Tilføj H til S2.

I dette trin tager vi meddelelsesfordøjelsen, der beregnes i trin 4 og tilføjer den ved og af S2, som er afledt i det forrige trin, dvs. trin 5.

Trin 6: Meddelelsesfordøjelsesalgoritme.

I dette trin vil vi anvende den valgte meddelelsesfordøjelsesalgoritme på output fra trin 6. den genererede meddelelsesfordøjelse af dette trin er den sidste MAC.

Ulemper ved HMAC

  • Lad os diskutere nogle problemer, som vi måske står over for i den Hash-baserede meddelelsesgodkendelseskode.
    Som vi har diskuteret tidligere, bruger den Hash-baserede meddelelsesgodkendelseskode en symmetrisk nøgle. Den symmetriske nøgle betyder den samme nøgle, der bruges af afsenderen og modtageren. Problemet, der opstår her, er, hvordan afsender og modtager bytter nøglen ?.
  • På en eller anden måde er ovenstående problem, udvekslingen af ​​symmetrisk nøgle løst, vi kan ikke bruge den Hash-baserede meddelelsesgodkendelseskode i tilfælde af mere end en modtager. dette er fordi HMAC bruger den symmetriske nøgle til at generere MAC. Den symmetriske nøgle skal kun deles af to parter, dvs. afsender og modtager.
  • Et andet problem er, hvis vi deler den symmetriske med flere parter, hvordan modtageren ved, at beskeden blev forberedt og sendt af afsenderen, ikke andre modtagere, nøglerne deles også med dem, så der er mulighed for svig, at en af modtagere kan oprette falske meddelelser.

Konklusion

I denne artikel har vi set det grundlæggende koncept med den Hash-baserede meddelelsesgodkendelseskode, og den fungerer.

Anbefalet artikel

Dette er en guide til HMAC. Her diskuterer vi introduktionen til Hash-baseret meddelelsesgodkendelseskode og dens arbejde med ulemper. Du kan også gennemgå vores foreslåede artikler for at lære mere -

  1. Symmetrisk nøglekryptering med fordele
  2. Hvad er protokoltest | Hvorfor bruges det?
  3. Introduktion til Top 7 IPS-værktøjer
  4. Introduktion til værktøjer til regressionstest

Kategori: