Soms ziet u tijdens uw internetreizen MD5-, SHA-1- of SHA-256-hashes naast downloads worden weergegeven, maar weet u niet echt wat ze zijn. Met deze schijnbaar willekeurige tekstreeksen kunt u controleren of bestanden die u downloadt, niet beschadigd zijn of dat er niet mee is geknoeid. U kunt dit doen met de opdrachten die zijn ingebouwd in Windows, macOS en Linux.
Hoe hash-bestanden werken en hoe ze worden gebruikt voor gegevensverificatie
Hashes zijn de producten van cryptografisch algoritmen ontworpen om een reeks karakters te produceren. Vaak hebben deze strings een vaste lengte, ongeacht de grootte van de invoergegevens. Bekijk de bovenstaande tabel en je zult zien dat zowel "Vos" als "De rode vos springt over de blauwe hond" dezelfde uitvoer opleveren.
Vergelijk nu het tweede voorbeeld in de grafiek met het derde, vierde en vijfde voorbeeld. U zult zien dat, ondanks een zeer kleine wijziging in de invoergegevens, de resulterende hashes allemaal erg van elkaar verschillen. Zelfs als iemand een heel klein stukje van de invoergegevens wijzigt, zal de hash drastisch veranderen.
MD5, SHA-1 en SHA-256 zijn allemaal verschillende hashfuncties. Softwaremakers nemen vaak een download van een bestand, zoals een Linux .iso-bestand of zelfs een Windows .exe-bestand, en voeren het door een hash-functie. Ze bieden vervolgens een officiële lijst van de hashes op hun websites.
Op die manier kunt u het bestand downloaden en vervolgens de hash-functie uitvoeren om te bevestigen dat u het echte, originele bestand hebt en dat het niet is beschadigd tijdens het downloadproces. Zoals we hierboven hebben gezien, zal zelfs een kleine wijziging aan het bestand de hash drastisch veranderen.
Deze kunnen ook handig zijn als u een bestand heeft dat u uit een niet-officiële bron heeft gehaald en u wilt bevestigen dat het legitiem is. Stel dat u een Linux .ISO-bestand heeft dat u ergens vandaan heeft en u wilt bevestigen dat er niet mee is geknoeid. Je kunt de hash van dat specifieke ISO-bestand online opzoeken op de website van de Linux-distributie. U kunt het vervolgens door de hash-functie op uw computer laten lopen en bevestigen dat het overeenkomt met de hash-waarde die u ervan verwacht te hebben. Dit bevestigt dat het bestand dat je hebt exact hetzelfde bestand is dat wordt aangeboden om te downloaden op de website van de Linux-distributie, zonder enige aanpassingen.
Merk op dat er "botsingen" zijn gevonden met de MD5- en SHA-1-functies. Dit zijn meerdere verschillende bestanden, bijvoorbeeld een veilig bestand en een schadelijk bestand, die resulteren in dezelfde MD5- of SHA-1-hash. Daarom zou u, indien mogelijk, de voorkeur moeten geven aan SHA-256.
Hash-functies vergelijken op elk besturingssysteem
Laten we met dat in gedachten eens kijken hoe we de hash kunnen controleren van een bestand dat u heeft gedownload en deze kunnen vergelijken met het bestand dat u heeft gekregen. Hier zijn methoden voor Windows, macOS en Linux. De hashes zijn altijd identiek als u dezelfde hashfunctie op hetzelfde bestand gebruikt. Het maakt niet uit welk besturingssysteem u gebruikt.
ramen
Dit proces is dankzij PowerShell mogelijk zonder software van derden op Windows.
Open om te beginnen een PowerShell-venster door de snelkoppeling "Windows PowerShell" in uw Start-menu te starten.
Voer de volgende opdracht uit en vervang "C: \ path \ to \ file.iso" door het pad naar elk bestand waarvan je de hash wilt zien:
Get-FileHash C: \ pad \ naar \ file.iso
Het duurt even voordat de hash van het bestand is gegenereerd, afhankelijk van de grootte van het bestand, het algoritme dat je gebruikt en de snelheid van de schijf waarop het bestand staat.
Standaard toont de opdracht de SHA-256-hash voor een bestand. U kunt echter het hash-algoritme specificeren dat u wilt gebruiken als u een MD5, SHA-1 of ander type hash nodig heeft.
Voer een van de volgende opdrachten uit om een ander hash-algoritme op te geven:
Get-FileHash C: \ pad \ naar \ bestand.iso -Algoritme MD5
Get-FileHash C: \ pad \ naar \ file.iso -Algoritme SHA1
Get-FileHash C: \ pad \ naar \ file.iso -Algoritme SHA256
Get-FileHash C: \ pad \ naar \ file.iso -Algoritme SHA384
Get-FileHash C: \ pad \ naar \ file.iso -Algoritme SHA512
Get-FileHash C: \ pad \ naar \ bestand.iso -Algoritme MACTripleDES
Get-FileHash C: \ pad \ naar \ bestand.iso -Algoritme RIPEMD160
Vergelijk het resultaat van de hash-functie met het resultaat dat u verwachtte te zien. Als het dezelfde waarde heeft, is het bestand niet beschadigd, gemanipuleerd of anderszins gewijzigd ten opzichte van het origineel.
macOS
macOS bevat opdrachten voor het bekijken van verschillende soorten hashes. Open een Terminal-venster om ze te openen. Je vindt het in Finder> Toepassingen> Hulpprogramma's> Terminal.
De
Smokey
commando toont de MD5-hash van een bestand:
md5 / pad / naar / bestand
De
Shasum
commando toont standaard de SHA-1-hash van een bestand. Dat betekent dat de volgende opdrachten identiek zijn:
shasum / pad / naar / bestand
shasum -a 1 / pad / naar / bestand
Voer de volgende opdracht uit om de SHA-256-hash van een bestand weer te geven:
shasum -a 256 / pad / naar / bestand
Linux
Open onder Linux een Terminal en voer een van de volgende opdrachten uit om de hash voor een bestand te bekijken, afhankelijk van het type hash dat je wilt bekijken:
md5sum / pad / naar / bestand
sha1sum / pad / naar / bestand
sha256sum / pad / naar / bestand
Sommige Hashes zijn cryptografisch ondertekend voor nog meer veiligheid
Hoewel hashes je kunnen helpen bevestigen dat er niet met een bestand is geknoeid, is er hier nog steeds één aanval. Een aanvaller kan controle krijgen over de website van een Linux-distributie en de hashes wijzigen die erop verschijnen, of een aanvaller kan een man-in-the-middle-aanval uitvoeren en de webpagina tijdens het transport wijzigen als u de website bezoekt via HTTP in plaats van versleutelde HTTPS .
Dat is de reden waarom moderne Linux-distributies vaak meer bieden dan hashes die op webpagina's worden vermeld. Ze ondertekenen deze hashes cryptografisch om te helpen beschermen tegen aanvallers die mogelijk proberen de hashes te wijzigen. U moet de cryptografische handtekening verifiëren om er zeker van te zijn dat het hash-bestand daadwerkelijk is ondertekend door de Linux-distributie als u er absoluut zeker van wilt zijn dat er niet met de hash en het bestand is geknoeid.
VERWANT: Hoe een controlesom van een Linux ISO te verifiëren en te bevestigen dat er niet mee is geknoeid
Het verifiëren van de cryptografische handtekening is een ingewikkelder proces. Lezen onze gids voor het verifiëren van Linux ISO's dat er niet is geknoeid met voor volledige instructies.
Afbeelding tegoed: Jorge Stolfi /Wikimedia