Guide till Hash-funktioner och hur de fungerar

Digitala dataöverträdelser har blivit så vanliga att de inte tar upp för många larm om du inte var en av de miljoner LinkedIn-användare som blivit utsatta eller om ditt gamla MySpace-konto blev hackat. Alla dessa överträdelser går samman i en kryptisk oskärpa för de flesta som inte inser vad dessa företag gjorde fel för att erbjuda din information till cyber-tjuvar. En av de många anledningarna till att detta kan ha hänt är att din information inte var korrekt hashade.


Hash kan användas omväxlande som ett substantiv eller verb i kryptografi. Hashing är handlingen med att ändra lösenord till oigenkännliga kodsträngar som är utformade av omöjligt att konvertera tillbaka. Dessa kallas också hashes. Vissa hascher kan knäckas enklare än andra, men det är fortfarande en svår uppgift som de flesta nybörjare inte kan göra.

Varför är Hash så viktigt

Hashing-algoritm

De flesta hackare vill använda data för att komma åt användarinformation, och för att göra det behöver de ofta ditt lösenord. Vad dessa brottslingar finner och bedrägeri från din profil lagras inte i en form som kan läsas med blotta ögat, såvida inte företaget skyddar sina känsliga uppgifter.

Ditt lösenord konverteras till hascher vanligtvis precis när du skapar ett, och det ser ut som en slumpmässig uppsättning strängar. Det är ditt lösenord matematiskt förvandlat till något oackligt. I de flesta fall tar det flera år att dechiffrera en hash, och då kunde du redan ha ändrat lösenordet eller raderat ditt konto.

Vad är Hash-funktioner

Hashfunktioner – Det här är funktioner eller tekniker som används för att koda lösenord och annan vanlig text till oläsbar text för lagring och överföring. Det finns många typer av Hash-funktioner baserat på det sätt som ren text kodas.

Vad Hash-funktioner är – Det här är funktioner eller tekniker som används för att koda lösenord och annan vanlig text till oläsbar text för lagring och överföring. Det finns många typer av Hash-funktioner baserat på det sätt som ren text kodas.

Hur designas Hashes

Hur designas Hashes

En hash är utformad för att vara en envägsfunktion, som är en matematisk operation som är enkel att utföra först, men den kan inte vändas. När du har skickat rådata blir den fullständig gobbledegook, vilket är hur ditt konto förblir skyddat från hackare.

Hashar är inte utformade för att dekrypteras på något sätt. När du anger ditt lösenord utför systemet hash och kontrollerar resultaten mot hash som skapades av ditt lösenord när du först ställde in det. Det verifierar lösenordet utan att behöva lagra det i systemet, vilket är en annan anledning till att hackare hatar webbplatser med hashing.

Skillnader mellan starka och svaga Hash-metoder

I teorin bör ingen någonsin kunna knäcka en hashad sträng, inte ens företaget som lagrar hash. Ingen kommer någonsin att kunna konvertera ett lagrat hash-lösenord tillbaka till det ursprungliga lösenordet. Men hashsystem har funnits i många år, och vissa har blivit svagare än andra.

Till exempel visar fallet med 177 miljoner LinkedIn-konton som säljs på den mörka webben att hashade lösenord kan knäckas. LinkedIn hade bara använt en enkel hashingfunktion vid den tiden som heter SHAI, och den hade inga andra skydd på plats för att förhindra att data stal. Detta gjorde det möjligt för hackarna att få åtkomst till lösenord och även prova dessa lösenord på andra webbplatser. Det kan ha varit orsaken till att Mark Zuckerbergs konton för Twitter och Pinterest hackades samtidigt.

Ett annat fall av hashing som har gått fel är historien om Patreons dataintrång. Den här gången hade webbplatsen mycket starka hashingfunktioner på plats som kallas bcrypt. Denna funktion ger lite mer tid mellan överträdelsen och ändring av lösenord innan hackaren kan komma till alla cachade data.

Så vad är skillnaden mellan SHAI och bcrypt? Med SHAI kan inte hackare vända det hashade lösenordet som skapats med den specifika funktionen. De kan dock gissa lösenord och köra igenom samma funktion för att upptäcka lösenordet och hur det hashas.

När de får en matchande lucka kan de använda ett hashkrackningsprogram för att filtrera genom mycket större databaser och gissa miljontals lösenord eller mer. De kan sedan använda den informationen för att jämföra med resultat från en grupp hashade lösenord för att hitta fler matchningar, vilket leder till en dominoseffekt om du använder samma lösenord för varje webbplats. Bra jobb, Mark Zuckerberg!

Vad är kännetecknen för en användbar Hash-funktion

Eftersom det finns flera olika hashfunktioner där ute, är det bäst att leta efter sådana med dessa fyra egenskaper.

Effektivt och snabbt

Ingen vill vänta med att logga in eftersom lösenordet har hashats. Detta innebär att hashfunktionen måste vara effektiv och snabb. Eftersom hashfunktionen kan vara ansträngande är det viktigt att hitta den snabbaste. Om en typisk dator behöver flera minuter för att bearbeta en hashfunktion och skapa en utgång, skulle det inte vara praktiskt för företaget. De flesta datorer idag kan behandla en hash på en femtedel av en sekund.

Ger alltid samma resultat

Hashfunktioner måste också vara deterministiska. För alla ingivna ingångar måste hashfunktionen alltid ge samma resultat. Om du ansluter samma ingång 5 miljoner gånger, efter varandra, bör hashfunktionen producera samma exakta utgång 5 miljoner gånger också.

Om en hashfunktion skulle skapa olika resultat varje gång samma ingång ansluts, skulle hashen vara för slumpmässig och värdelös. Det skulle vara omöjligt att verifiera den angivna inmatningen också, vilket är hela poängen med hashade lösenord.

Före bildbeständig

Resultatet av någon hashfunktion ska inte avslöja någon information om den medföljande ingången. Detta kallas pre-image resistens. Medan kryptografiska hashfunktioner kan få någon form av information, oavsett om det är bokstäver, ord, skiljetecken eller siffror, måste hashfunktionen alltid lägga ut samma resultat med fast längd. Detta gäller även om du matar in en hel bok med tecken.

Detta är för att dölja antydningar om vad ingången är. Det måste vara omöjligt för hackare att gissa vad som ursprungligen tillhandahölls. Därför är det omöjligt att avgöra om strängen är lång eller kort.

Kollisionsbeständig

Den sista egenskapen definierar hur osannolikt det kommer att hitta två olika ingångar som skapar samma resultat. Detta innebär att det finns några antal ingångar som kan göras, men utgångarna är fortfarande fast längd. Det finns också många utgångar som en hashfunktion måste ge, men antalet är ändligt i motsats till ingångar, som kan vara oändliga.

Enkelt uttryckt är målet att göra två ingångar som skapar samma output absolut omöjliga, och att sannolikheten för att den kan avfärdas innan någon risk ens bedöms.

Varför är Hashes irreversibla

Varför Hashes är irreversibla – Hash-funktioner är vanligtvis enkelriktade på grund av att mycket av ren text kastas under krypteringsprocessen. Matchningen görs genom att lägga användarteksten genom hashfunktionen och jämföra den med den krypterade texten.

Vad är en Hash Collision Attacks

Hash Collision Attack – En hashkollision avser två inmatningstexter som har samma utgång efter kryptering. Detta kallas en kollision och försök att hitta sådana strängar kallas haschkollisionsattacker. Detta är mycket osannolikt med tanke på komplexiteten hos nuvarande hash-nycklar.

Förstå lösenordsaltning

Lösenordssaltning – Saltning avser att lägga till en extra sträng till ett lösenord innan det krypteras. Detta gör det svårt för angriparna att identifiera lösenord baserat på ett förberäkat lösenordstabell som kallas ett regnbågtabell.

Vad är Hash Peppering

Cryptographers gillar att krydda sin hash med ett annat krydda som kallas “peppering.” Detta liknar salttekniken, förutom att det nya värdet placeras i slutet av lösenordet. Det finns två versioner av peppering. Den första är ett känt doldt värde som läggs till varje värde, men det är bara värdefullt om det inte är känt av hackaren.

Den andra är värdet som genereras slumpmässigt av systemet, men det lagras inte. Detta betyder att varje gång en användare försöker logga in måste den prova flera kombinationer av hashalgoritmen och pepparalgoritmen för att hitta rätt värden som matchar hash. Det betyder att det kan ta lång tid att logga in, varför det inte används.

Hur lösenordslagring fungerar med Hash-funktioner

Hur lösenordslagring fungerar med Hashfunktioner – Detta avser lagring av användarlösenord på ett krypterat sätt för att säkerställa att externa parter inte kan hantera användarens inloggning om databasen komprometteras.

Hur fungerar Rainbow Table Attacks

Rainbow Tables – Detta är en tabell med lösenord och deras utdata när de kodas med många kända hash-funktioner. Sådana tabeller används för att identifiera lösenord utan att behöva spendera tid på att beräkna hashfunktioner.

Vilka verktyg behövs för Hash-funktioner

Verktyg som behövs för Hash-funktioner – Olika typer av hashfunktioner finns tillgängliga som onlineverktyg där ren text kan krypteras genom att helt enkelt kopiera dem till ett visst textfält. MD5 och SHA-256 är några av de mer populära hashfunktionerna.

Förstå klasser för kryptografiska Hash-funktioner

Det finns flera olika klasser av hashfunktioner tillgängliga. Det finns dock några vanligare sätt som används idag, inklusive:

  •  BLAKE2
  •  Säker Hashing-algoritm eller SHA-2 och SHA-3
  •  RACE Integrity Primitives Evaluation MEssage DIGEST eller RIPEMD
  •  Meddelande Digest Algoritm 5 (MD5)

Var och en av dessa klasser involverar hashfunktioner med flera olika algoritmer kombinerade. Med SHA-2 utvecklades en familj med hashfunktioner för att göra det svårare att spricka. Detta inkluderar SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 och SHA-512/256.

Medan var och en varierar från varandra på det sätt som de transformerar en given ingång, har de också olika fasta längder som de producerar efter att ha smält inmatningen. Till exempel används SHA-256 mest inom blockchain-tekniken och baseras på den ursprungliga Bitcoin-koden.

Hur behandlas Hashes

Hur behandlas Hashes

Med ett ord, direkt. För en detaljerad förklaring är processen lite mer komplex, även om den är helt automatiserad och händer på några sekunder. Denna process kallas också Avalanche Effect eller Butterfly Effect.

I princip skiljer sig datablockets storlek från en hashningsalgoritm till nästa. För en specifik algoritm som SHA-1 accepteras meddelandet eller lösenordet i block som endast innehåller 512-bitar. Detta betyder att om lösenordet bara har en 512-bitars längd, skulle hashfunktionen bara köras en gång. Om meddelandet är 1024-bitar, delas det upp i separata block med 512-bitars vardera. Hashfunktionen körs också två gånger.

I de flesta fall används också en teknik som kallas Padding, vilket innebär att hela meddelandet eller lösenordet är uppdelat i datablock med lika stor storlek. Hashfunktionen upprepas sedan lika många gånger som det totala antalet block. Dessa block bearbetas en efter en. I denna process matas utgången från det första datablocket som en ingång tillsammans med nästa datablock.

Den andra utgången matas sedan till det tredje blocket, och så vidare. Detta gör den slutliga utgången till samma antal som det totala värdet för alla block tillsammans. Om du ändrar på bite någonstans i lösenordet eller meddelandet, skulle hela hashvärdet också ändras, därav namnet lavineffekt.

Avslutar

Om ditt lösenord är ordentligt hashat och saltat, skulle det enda sättet att komma igenom vara en brute force attack. Med längre lösenord som har mer kryptering tar attacken för brute force längre, vilket innebär att det är mer tidskrävande och kostsamt för hackaren.

Detta innebär att dina användare alltid ska skapa längre lösenord och konfigurera med hemliga tecken, till exempel en symbol eller stor bokstav. Detta är också anledningen till slumpmässigt genererade lösenordsträngar är säkrare än ett ordbok eftersom brute force attacker använder ordböcker för att hitta ord att testa.

När du registrerar dig för någon online-verksamhet bör du alltid kontrollera hur de hanterar sina lösenord. Är de krypterade? Är de hastiga? Hur kommer din information att skyddas? De flesta företag med hashing listar detta i deras sekretesspolicy.

Rekommenderade verktyg

  • Bästa VPN
  • Bästa lösenordshanterare
  • Hemsäkerhetsrecensioner
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map