Hvad er MD5, SHA-1 og SHA-256 Hashes, og hvordan kontrollerer jeg dem?
Du vil undertiden se MD5, SHA-1 eller SHA-256 hashes vises sammen med downloads under dine internetrejser, men ikke rigtig kendt, hvad de er. Disse tilsyneladende tilfældige tekststreng giver dig mulighed for at kontrollere, at filer, du downloader ikke er beskadiget eller manipuleret med. Du kan gøre dette med kommandoerne indbygget i Windows, MacOS og Linux.
Hvordan Hashes arbejder, og hvordan de bruges til data verifikation
Hashes er produkterne af kryptografiske algoritmer designet til at producere en streng af tegn. Ofte har disse strenge en fast længde, uanset størrelsen af inputdataene. Tag et kig på ovenstående diagram, og du vil se, at både "Fox" og "Den røde ræv hopper over den blå hund" giver samme længde output.
Sammenlign nu det andet eksempel i diagrammet til tredje, fjerde og femte. Det vil du se på trods af en meget mindre ændring i inputdataene, er de resulterende hash'er meget forskellige fra hinanden. Selv om nogen ændrer et meget lille stykke af inputdataene, ændres hasen dramatisk.
MD5, SHA-1 og SHA-256 er alle forskellige hashfunktioner. Software-skabere tager ofte en fil download-som en Linux .iso-fil eller endda en Windows .exe-fil - og kør den gennem en hash-funktion. De tilbyder derefter en officiel liste over hasherne på deres hjemmesider.
På den måde kan du downloade filen og derefter køre hash-funktionen for at bekræfte, at du har den rigtige, originale fil, og at den ikke er blevet beskadiget under downloadprocessen. Som vi så ovenfor, vil selv en lille ændring i filen dramatisk ændre hasen.
Disse kan også være nyttige, hvis du har en fil, du har fra en uofficiel kilde, og du vil bekræfte, at det er legitimt. Lad os sige, at du har en Linux. ISO-fil, du kom fra et sted, og du vil bekræfte det, er ikke blevet manipuleret med. Du kan slå op på hash for den pågældende ISO-fil online på Linux-distributionens hjemmeside. Du kan derefter køre den gennem hash-funktionen på din computer og bekræfte, at den svarer til hashværdien, du forventer at have. Dette bekræfter den fil du har, er den nøjagtig samme fil, der tilbydes til download på Linux distributionens hjemmeside uden ændringer.
Bemærk at "kollisioner" er fundet med MD5 og SHA-1 funktionerne. Disse er flere forskellige filer - for eksempel en sikker fil og en ondsindet fil - der resulterer i samme MD5 eller SHA-1 hash. Derfor foretrækker du SHA-256, når det er muligt.
Sådan sammenlignes Hash-funktioner på ethvert operativsystem
Med det i tankerne, lad os se på, hvordan du tjekker hash for en fil, du downloadede, og sammenligner den med den, du får. Her er metoder til Windows, MacOS og Linux. Haserne vil altid være identiske, hvis du bruger den samme hashing-funktion på samme fil. Det er ligegyldigt hvilket operativsystem du bruger.
vinduer
Denne proces er mulig uden software fra tredjepart på Windows takket være PowerShell.
For at komme i gang skal du åbne et PowerShell-vindue ved at starte genvejstasten "Windows PowerShell" i menuen Start.
Kør følgende kommando, erstatte "C: \ path \ to \ file.iso" med stien til en fil, du vil se hash af:
Få-FileHash C: \ path \ til \ file.iso
Det vil tage lidt tid at generere hash af filen, afhængigt af filens størrelse, algoritmen du bruger, og hastigheden på drevet, filen er på.
Som standard viser kommandoen SHA-256 hash for en fil. Du kan dog angive den hashingalgoritme, du vil bruge, hvis du har brug for en MD5, SHA-1 eller en anden type hash.
Kør en af følgende kommandoer for at angive en anden hashing-algoritme:
Få-FileHash C: \ path \ til \ file.iso -Algorithm MD5
Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA1
Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA256
Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA384
Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA512
Få-FileHash C: \ path \ til \ file.iso -Algorithm MACTripleDES
Få-FileHash C: \ path \ til \ file.iso -Algorithm RIPEMD160
Sammenlign resultatet af hash-funktionen til det resultat, du forventede at se. Hvis det er den samme værdi, er filen ikke blevet ødelagt, manipuleret eller ændret på anden måde fra originalen.
MacOS
macOS indeholder kommandoer til visning af forskellige typer hash. For at få adgang til dem, start et Terminal vindue. Du finder den på Finder> Programmer> Hjælpeprogrammer> Terminal.
Det md5
kommando viser MD5 hash for en fil:
md5 / path / to / file
Det shasum
kommando viser som standard SHA-1 hash for en fil. Det betyder, at følgende kommandoer er identiske:
shasum / sti / til / fil
shasum -a 1 / path / to / file
For at vise SHA-256 hash af en fil skal du køre følgende kommando:
shasum -a 256 / path / to / file
Linux
På Linux skal du få adgang til en Terminal og køre en af følgende kommandoer for at få vist hash for en fil afhængigt af hvilken type hash du vil se:
md5sum / path / to / file
sha1sum / path / to / file
sha256sum / path / to / file
Nogle Hashes er kryptografisk signeret for endnu mere sikkerhed
Mens hashes kan hjælpe dig med at bekræfte, at en fil ikke blev manipuleret, er der stadig et angreb her. En angriber kan få kontrol over en Linux-distributions websted og ændre de hash'er, der vises på den, eller en angriber kan udføre et man-in-the-middle-angreb og ændre websiden under transit, hvis du havde adgang til hjemmesiden via HTTP i stedet for krypteret HTTPS.
Derfor leverer moderne Linux-distributioner ofte mere end hash'er, der er opført på websider. De signerer kryptografisk disse hash for at hjælpe med at beskytte mod angribere, der kan forsøge at ændre hashene. Du vil gerne bekræfte kryptografisk signatur for at sikre, at hashfilen faktisk blev underskrevet af Linux-distributionen, hvis du vil være helt sikker på, at hash og fil ikke blev manipuleret med.
Bekræftelse af kryptografisk signatur er en mere involveret proces. Læs vores vejledning til at verificere Linux ISOs er ikke blevet manipuleret til fulde instruktioner.
Billedkredit: Jorge Stolfi / Wikimedia