Vad allt detta MD5 Hash-saker faktiskt betyder [Teknologi förklaras]

Vad allt detta MD5 Hash-saker faktiskt betyder [Teknologi förklaras] / Webkultur

I en nyligen publicerad artikel om huruvida du påverkades av Gawkers hackingincident. Hur hittar du ut om din e-postadress läcktes genom Gawkers databas. Så här hittar du ut om din e-postadress läcktes genom Gawkers databas Läs mer, ett av stegen var att konvertera din e-postadress till en MD5-hash.

Vi hade några frågor från läsare frågar exakt vad som hänt och varför denna process var nödvändig. Det är inte vår stil att få er att ställa frågor, så här är en full nedgång av MD5, hashing och en liten översikt över datorer och kryptografi.

Kryptografisk Hashing

MD5 står för Message Digest algoritm 5, och uppfanns av den berömda amerikanska kryptografen Professor Ronald Rivest 1991 för att ersätta den gamla MD4-standarden. MD5 är helt enkelt namnet på en typ av kryptografisk hashing-funktion som Ron kom fram till, långt tillbaka i '91.

Tanken bakom kryptografisk hash är att ta ett godtyckligt block av data och returnera en fast storlek “hash” värde. Det kan vara vilken som helst data, av vilken storlek som helst, men ish-värdet kommer alltid att fastställas. Prova själv här.

Kryptografisk hash har ett antal användningsområden, och det finns ett stort antal algoritmer (andra än MD5) som är utformade för att göra ett liknande jobb. En av de viktigaste användningsområdena för kryptografisk hash är att verifiera innehållet i ett meddelande eller en fil efter överföring.

Om du någonsin har laddat ner en särskilt stor fil (Linux-distributioner, den typen av saker) har du förmodligen märkt hashvärdet som följer med det. När den här filen har laddats ner kan du använda hasen för att verifiera att filen du hämtade inte på något sätt skiljer sig från den annonserade filen..

Samma metod fungerar för meddelanden, där hash verifierar att meddelandet som mottogs matchar meddelandet som skickats. På en mycket grundläggande nivå, om du och en vän har en stor fil var och en, och vill verifiera att de är exakt samma utan den kraftiga överföringen, kommer hash-koden att göra det för dig.

Hashing-algoritmer spelar också en roll i data- eller filidentifiering. Ett bra exempel på detta är nätverkskompatibla för peer to peer, som eDonkey2000. Systemet använde en variant av MD4-algoritmen (Nedan) som också kombinerade filens storlek i en hash för att snabbt peka på filer på nätverket.

Ett underskriftsexempel på detta är förmågan att snabbt hitta data i hashbord, en metod som vanligtvis används av sökmotorer.

En annan användning för hash är lagring av lösenord. Att lagra lösenord som tydlig text är en dålig idé, av uppenbara skäl, istället omvandlas de till hash-värden. När en användare matar in ett lösenord konverteras det till ett hashvärde och kontrolleras mot den kända lagrade hashen. Eftersom hashing är en envägsprocess, förutsatt att algoritmen är ljud så är det teoretiskt sett liten chans att det ursprungliga lösenordet avkrypteras från hash.

Kryptografisk hashning används också ofta vid alstring av lösenord och avledda lösenord från en enda fras.

Message Digest Algorithm 5

MD5-funktionen ger ett 32-siffrigt hexadecimalt tal. Om vi ​​skulle göra "makeuseof.com" in i ett MD5 hash värde så skulle det se ut som: 64399513b7d734ca90181b27a62134dc. Det byggdes på en metod som heter Merkle”“DamgÃ¥rd struktur (Nedan), som används för att bygga det som är känt som “kollisionssäker” hash funktioner.

Ingen säkerhet är alltingsäker, men i 1996 upptäcktes potentiella brister inom MD5-hashingalgoritmen. Vid den tidpunkten sågs dessa inte som dödliga, och MD5 fortsatte att användas. År 2004 upptäcktes ett mycket allvarligare problem efter en grupp forskare beskrivna hur man gör två separata filer med samma MD5-hashvärde. Detta var den första instansen av en kollisionsattack som användes mot MD5-hashingalgoritmen. En kollisionsattack försöker hitta två arktiska utgångar som producerar samma hashvärde - följaktligen en kollision (två filer som existerar med samma värde).

Under de närmaste åren försökte man hitta ytterligare säkerhetsproblem inom MD5, och under 2008 lyckades en annan forskargrupp använda kollisionsangreppsmetoden till falsk SSL-certifikatgiltighet. Det kan göra det möjligt för användarna att tro att de surfar säkert när de inte är. US Department of Homeland Security meddelade att: “Användare bör undvika att använda MD5-algoritmen i någon kapacitet. Som tidigare forskning har visat bör den betraktas som kryptografiskt bruten och olämplig för vidare användning“.

Trots regeringens varning använder många tjänster fortfarande MD5 och är därmed tekniskt i fara. Det är dock möjligt att “salt-” lösenord för att förhindra att potentiella angripare använder ordboksattacker (testa kända ord) mot systemet. Om en hackare har en lista över slumpmässiga ofta använda lösenord och din användarkonto databas kan de kontrollera hasherna i databasen mot de som finns på listan. Salt är en slumpmässig sträng, som är kopplad till befintlig lösenordshack och sedan hashed igen. Saltvärdet och resulterande hash lagras sedan i databasen.

Om en hacker ville ta reda på användarnas lösenord skulle han behöva dechiffrera salthackerna först och det gör en ordboksattack ganska användbar. Salt påverkar inte själva lösenordet, så du måste alltid välja ett lösenord som är svårt att gissa.

Slutsats

MD5 är en av många olika metoder för att identifiera, säkra och verifiera data. Kryptografisk hashing är ett viktigt kapitel i säkerhetshistorien och håller saker gömda. Som med många saker utformade med säkerhet i åtanke, har någon gått och bruten den.

Du kommer nog inte att behöva oroa dig för mycket om hashing och MD5 kontrollsummor i dina dagliga surfvanor, men åtminstone nu vet du vad de gör och hur de gör det.

Någonsin behövs för att hash något? Verifierar du filerna du laddar ner? Känner du till några bra MD5 webbapps? Låt oss veta i kommentarerna!

Introbild: Shutterstock

Utforska mer om: Kryptering, Online sekretess.