Hva alt dette MD5 Hash-stoffet egentlig betyr [Teknologi forklart]
I en nylig artikkel om å sjekke om du ble påvirket av Gawker's hacking-hendelse Hvordan finne ut om e-postadressen din ble lekket gjennom Gawkers database Slik finner du ut om din e-postadresse ble lekket gjennom Gawkers database Les mer, en av trinnene var å konvertere din e-postadresse til en MD5-hash.
Vi hadde noen spørsmål fra leserne som spurte nøyaktig hva som foregikk, og hvorfor denne prosessen var nødvendig. Det er ikke vår stil å la dere spørre, så her er en full nedkjøring av MD5, hashing og en liten oversikt over datamaskiner og kryptografi.
Kryptografisk Hashing
MD5 står for Message Digest algoritme 5, og ble oppfunnet av den berømte amerikanske kryptografen Professor Ronald Rivest i 1991 for å erstatte den gamle MD4-standarden. MD5 er ganske enkelt navnet på en type kryptografisk hashing-funksjon, Ron kom opp, langt tilbake i '91.
Tanken bak kryptografisk hashing er å ta en vilkårlig blokk med data og returnere en fast størrelse “hash” verdi. Det kan være noen data, av hvilken som helst størrelse, men hashverdien vil alltid bli løst. Prøv det selv her.
Kryptografisk hash har en rekke bruksområder, og det finnes et stort antall algoritmer (unntatt MD5) designet for å gjøre en lignende jobb. En av de viktigste bruksområder for kryptografisk hashing er å verifisere innholdet i en melding eller fil etter overføring.
Hvis du noen gang har lastet ned en spesielt stor fil (Linux-distribusjoner, den slags ting) har du sannsynligvis lagt merke til hashverdien som følger med den. Når denne filen er lastet ned, kan du bruke hasen for å verifisere at filen du lastet ned, ikke på noen måte er forskjellig fra den annonserte filen..
Samme metode fungerer for meldinger, med hash som bekrefter at mottatt melding samsvarer med meldingen som sendes. På et svært grunnleggende nivå, hvis du og en venn har en stor fil hver og ønsker å verifisere at de er akkurat det samme uten den heftige overføringen, vil hash-koden gjøre det for deg.
Hashing-algoritmer spiller også en rolle i data- eller filidentifikasjon. Et godt eksempel på dette er peer to peer fildeling nettverk, for eksempel eDonkey2000. Systemet brukte en variant av MD4-algoritmen (under) som også kombinerte filstørrelsen til en hash for raskt å peke på filer på nettverket.
Et underskriftseksempel på dette er i evnen til raskt å finne data i hashbord, en metode som vanligvis brukes av søkemotorer.
En annen bruk for hashes er lagring av passord. Lagring av passord som klar tekst er en dårlig ide, av åpenbare grunner, så i stedet blir de konvertert til hashverdier. Når en bruker skriver inn et passord, konverteres det til en hashverdi, og kontrolleres mot den kjente lagrede hashen. Som hashing er en enveis-prosess, forutsatt at algoritmen er lyd så er det teoretisk liten sjanse for at det opprinnelige passordet blir dechifisert fra hash.
Kryptografisk hashing brukes også ofte i generering av passord og avledede passord fra et enkelt uttrykk.
Meldingsalgoritme 5
MD5-funksjonen gir et 32-sifret heksadesimale nummer. Hvis vi skulle slå "makeuseof.com" inn i en MD5 hashverdi, så ville det se ut som: 64399513b7d734ca90181b27a62134dc. Det ble bygget på en metode som heter Merkle”“DamgÃ¥rd struktur (under), som brukes til å bygge det som er kjent som “kollisjonssikker” hash funksjoner.
Ingen sikkerhet er altesikker, men i 1996 ble det funnet potensielle feil i MD5 hashing-algoritmen. På den tiden ble disse ikke sett som dødelige, og MD5 ble fortsatt brukt. I 2004 ble det oppdaget et langt mer alvorlig problem etter at en gruppe forskere har beskrevet hvordan å lage to separate filer som deler den samme MD5 hashverdien. Dette var den første forekomsten av et kollisionsangrep som ble brukt mot MD5 hashing-algoritmen. Et kollisionsangrep forsøker å finne to britiske utganger som produserer samme hashverdi - dermed en kollisjon (to filer som eksisterer med samme verdi).
I løpet av de neste årene ble det funnet forsøk på å finne ytterligere sikkerhetsproblemer innenfor MD5, og i 2008 klarte en annen forskningsgruppe å bruke kollisjonskontrollmetoden til å feire SSL-sertifikatgyldigheten. Dette kan tyde brukerne til å tro at de surfer sikkert når de ikke er. US Department of Homeland Security kunngjorde at: “Brukerne bør unngå å bruke MD5-algoritmen i noen kapasitet. Som tidligere forskning har vist, bør den betraktes som kryptografisk ødelagt og uegnet til videre bruk“.
Til tross for regjeringens varsel bruker mange tjenester fortsatt MD5, og er dermed teknisk utsatt. Det er imidlertid mulig å “salt” passord, for å forhindre potensielle angripere ved hjelp av ordboksangrep (testing av kjente ord) mot systemet. Hvis en hacker har en liste over tilfeldige ofte brukte passord og din brukerkonto database, kan de sjekke hashene i databasen mot de som er på listen. Salt er en tilfeldig streng, som er koblet til eksisterende passord hashes og deretter hashed igjen. Saltverdien og resulterende hash lagres deretter i databasen.
Hvis en hacker ønsket å finne ut brukerens passord, ville han måtte dechiffrere salt hashene først, og dette gjør et ordbordsangrep ganske ubrukelig. Salt påvirker ikke selve passordet, så du må alltid velge et passord som er vanskelig å gjette.
Konklusjon
MD5 er en av mange forskjellige metoder for å identifisere, sikre og verifisere data. Kryptografisk hashing er et viktig kapittel i sikkerhetshistorien og holder ting gjemt. Som med mange ting designet med sikkerhet i tankene, er noen gått og ødelagt den.
Du trenger ikke å bekymre deg for mye om hashing og MD5 kontrollsum i dine daglige surfevaner, men i det minste vet du nå hva de gjør og hvordan de gjør det.
Har noen gang trengt å hash noe? Bekrefter du filene du laster ned? Kjenner du til noen gode MD5 web apps? Gi oss beskjed i kommentarene!
Introbilde: Shutterstock
Utforsk mer om: Kryptering, Online personvern.