Jeg har læst noget om, at HMAC-konstruktionen er i stand til at mindske problemet med kollisioner i den underliggende hash.

Betyder det, at noget som HMAC-MD5 stadig kan betragtes som sikkert til autentificering af krypterede data?

Kommentarer

Svar

Ja, der er i øjeblikket ingen kendte angreb på HMAC-MD5.

Især efter de første kollisionsangreb på MD5 kom Mihir Bellare (en af opfinderne af HMAC) med et nyt sikkerhedsbevis for HMAC , der ikke kræver kollisionsmodstand:

Abstrakt: HMAC blev bevist af Bellare, Canetti og Krawczyk (1996) for at være en PRF, forudsat at (1) den underliggende kompressionsfunktion er en PRF, og (2) den itererede hash-funktion er svagt kollisionsresistent. Nylige angreb viser imidlertid, at antagelse (2) er falsk for MD5 og SHA-1, hvilket fjerner den bevisbaserede understøttelse af HMAC i disse tilfælde. Dette papir beviser, at HMAC er en PRF under den eneste antagelse, at kompressionsfunktionen er en PRF. Dette genvinder en bevisbaseret garanti, da ingen kendte angreb kompromitterer kompressionsfunktionens pseudorandom, og det hjælper også med at forklare modstandsdygtigheden over for angreb, som HMAC har vist, selv når den implementeres med hash-funktioner, hvis (svage) kollisionsmodstand er kompromitteret. Vi viser også, at en endnu svagere end PRF-tilstand på kompressionsfunktionen, nemlig at den er en privatlivsbeskyttende MAC, er tilstrækkelig til at etablere HMAC er en sikker MAC, så længe hash-funktionen opfylder det meget svage krav om at være beregningsmæssigt næsten universal, hvor værdien igen ligger i det faktum, at kendte angreb ikke ugyldiggør de antagelser, der er foretaget. “

Dette gør det dog ikke betyder, at du skal bruge HMAC-MD5 i nye kryptosystemdesign. For at omskrive Bruce Schneier bliver “ angreb kun bedre, aldrig værre. “Vi har allerede praktiske kollisionsangreb for MD5, der viser, at den ikke opfylder de oprindelige sikkerhedsmål. Det er muligt, at enhver dag nu kan nogen finde ud af en måde at udvide dem til et nyt angreb, som ville kompromittere sikkerheden ved HMAC-MD5. Et meget bedre valg ville være at bruge HMAC med en hash-funktion uden kendte angreb, såsom SHA-2 eller SHA-3.

Kommentarer

  • SHA-2 har kendte angreb: da.wikipedia.org/wiki/SHA-2
  • @baptx Alle kryptografisk primitiv har " kendte angreb ". Spørgsmålet er, om de bryder hele antallet af runder markant. For SHA-2 donerer de i øjeblikket ' t. Medmindre du kan underbygge, at SHA-2 er blevet brudt med nogen betydning, vil jeg fjerne disse kommentarer fra svaret.
  • " nylige angreb viser, at antagelsen (2) er falsk for MD5 " hvilke nylige angreb? det valgte præfiksangreb? hvorfor betyder det det?

Svar

Ilmari Karonens svar er korrekt, når HMAC bruges til dets tilsigtet formål, men det betyder ikke, at HMAC er fuldstændig upåvirket af MD5s kollisioner:

hmac

Givet en specifik nøgle, bemærk at K xor opad og K xor ipad er uafhængige af meddelelsen m. Dette betyder, at enhver kollision i H((K xor ipad) || m) vil resultere i en kolliderende HMAC med to forskellige meddelelser.

For HmacMd5 ville K xor ipad være 64 byte lange. Så hvis du finder to meddelelser m1 og m2 med mindst et 64 byte fælles præfiks pre, kan du beregne en nøgle K = pre xor ipad der skaber en kollision mellem H((K xor ipad) || m1) og H((K xor ipad) || m2), leadi ng til en komplet kollision i hele HMAC.

Dette kan udnyttes på to måder:

  • Du stoler ikke på den person, der genererede nøglen, og HMAC bliver misbrugt som en slags kontrolsum.
  • En angriber får adgang til nøglen og kan bruge MD5s valgte præfiksangreb til at forårsage kollisioner.

Men som det accepterede svar angiver, at hvis nøglen er hemmelig og kontrolleret af dig eller betroede parter, er HmacMd5 stadig sikker.

Kommentarer

  • Ja, der var allerede denne slags svar, indtil det blev slettet. Spørgsmålet angiver eksplicit " til godkendelse af krypterede data ". Anvendelsen til beregning af kontrolsum og tilgængeligheden af nøglen er vinkelret på den del af spørgsmålet. Velkommen til crypto alligevel, disse slags velskrevne svar er meget velkomne her!
  • Jeg er enig, men disse oplysninger vil være nyttige for mange mennesker, der ankommer til denne side, og de giver ikke forkerte oplysninger med hensyn til til det oprindelige spørgsmål. Det siger klart, at hmacmd5 stadig er sikker, hvis det bruges korrekt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *