30Aug
Sie sehen manchmal MD5-, SHA-1- oder SHA-256-Hashes, die neben Downloads während Ihrer Internet-Reisen angezeigt werden, aber nicht wirklich wissen, was sie sind. Diese scheinbar zufälligen Textfolgen ermöglichen es Ihnen zu überprüfen, ob heruntergeladene Dateien nicht beschädigt oder manipuliert sind. Sie können dies mit den in Windows, macOS und Linux integrierten Befehlen tun.
Funktionsweise von Hashes und ihre Verwendung für die Datenverifizierung
Hashes sind die Produkte von kryptografischen Algorithmen, die eine Zeichenkette erzeugen. Oft haben diese Strings unabhängig von der Größe der Eingabedaten eine feste Länge. Schau dir die obige Grafik an und du wirst sehen, dass sowohl "Fox" als auch "Der rote Fuchs springt über den blauen Hund" die gleiche Länge ergibt.
Vergleichen Sie nun das zweite Beispiel im Diagramm mit dem dritten, vierten und fünften. Sie werden feststellen, dass die resultierenden Hashwerte trotz einer sehr kleinen Änderung der Eingabedaten sehr unterschiedlich sind. Selbst wenn jemand einen sehr kleinen Teil der Eingabedaten ändert, wird sich der Hash-Wert drastisch ändern.
MD5, SHA-1 und SHA-256 sind alle unterschiedliche Hash-Funktionen. Softwarehersteller nehmen oft einen Dateidownload - wie eine Linux-ISO-Datei oder sogar eine Windows-EXE-Datei - und führen sie über eine Hash-Funktion aus. Sie bieten dann eine offizielle Liste der Hashes auf ihren Websites an.
Auf diese Weise können Sie die Datei herunterladen und dann die Hash-Funktion ausführen, um zu bestätigen, dass Sie die echte Originaldatei haben und dass sie während des Downloadvorgangs nicht beschädigt wurde oder böswillig manipuliert wurde. Wie wir oben gesehen haben, wird selbst eine kleine Änderung an der Datei den Hash drastisch verändern.
Dies kann auch nützlich sein, wenn Sie eine Datei haben, die Sie von einer inoffiziellen Quelle erhalten haben und bestätigen möchten, dass sie legitim ist. Nehmen wir an, Sie haben eine Linux-ISO-Datei, die Sie von irgendwo bekommen haben, und Sie möchten bestätigen, dass sie nicht manipuliert wurde. Sie können den Hash der betreffenden ISO-Datei online auf der Website der Linux-Distribution nachsehen. Sie können dann die Hash-Funktion auf Ihrem Computer ausführen und sicherstellen, dass sie mit dem Hash-Wert übereinstimmt, den Sie erwarten. Dies bestätigt, dass die Datei, die Sie haben, dieselbe Datei ist, die auf der Website der Linux-Distribution zum Download angeboten wird, ohne dass Änderungen vorgenommen werden.
Vergleichen von Hash-Funktionen auf einem beliebigen Betriebssystem
Schauen wir uns nun an, wie Sie den Hash einer heruntergeladenen Datei überprüfen und sie mit der von Ihnen angegebenen vergleichen können. Hier sind Methoden für Windows, Mac OS und Linux. Die Hashwerte sind immer identisch, wenn Sie die gleiche Hash-Funktion für dieselbe Datei verwenden. Es spielt keine Rolle, welches Betriebssystem Sie verwenden.
Windows
Dieser Prozess ist dank PowerShell ohne Software von Drittanbietern unter Windows möglich.
Öffnen Sie ein PowerShell-Fenster, indem Sie die Verknüpfung "Windows PowerShell" in Ihrem Startmenü öffnen.
Führen Sie den folgenden Befehl aus und ersetzen Sie "C: \ path \ to \ file.iso" durch den Pfad zu jeder Datei, die Sie den Hash anzeigen möchten:
Get-FileHash C: \ Pfad \ zu \ Datei.isoEs wirdNehmen Sie sich etwas Zeit, um den Hash der Datei zu generieren, abhängig von der Größe der Datei, dem verwendeten Algorithmus und der Geschwindigkeit des Laufwerks, auf dem sich die Datei befindet.
Standardmäßig zeigt der Befehl den SHA-256-Hash für eine Datei an. Sie können jedoch den Hashalgorithmus angeben, den Sie verwenden möchten, wenn Sie eine MD5-, SHA-1- oder eine andere Art von Hash benötigen.
Führen Sie einen der folgenden Befehle aus, um einen anderen Hashalgorithmus anzugeben:
Get-FileHash C: \ Pfad \ zu \ Datei.iso -Algorithmus MD5 Get-FileHash C: \ Pfad \ zu \ Datei.iso -Algorithmus SHA1 Get-FileHashC: \ Pfad \ zu \ Datei.iso -Algorithmus SHA256 Get-FileHash C: \ Pfad \ zu \ Datei.iso -Algorithmus SHA384 Get-FileHash C: \ Pfad \ zu \ Datei.iso -Algorithmus SHA512 Get-FileHash C:\ Pfad \ zu \ Datei.iso -Algorithmus MACTripleDES Get-FileHash C: \ Pfad \ zu \ Datei.iso -Algorithmus RIPEMD160
Vergleichen Sie das Ergebnis der Hash-Funktion mit dem erwarteten Ergebnis. Wenn es sich um denselben Wert handelt, wurde die Datei nicht beschädigt, verfälscht oder auf andere Weise vom Original geändert.
macOS
macOS enthält Befehle zum Anzeigen verschiedener Arten von Hashes. Um auf sie zuzugreifen, starten Sie ein Terminal-Fenster. Sie finden es im Finder & gt;Anwendungen & gt;Dienstprogramme & gt;Terminal.
Der Befehl md5 zeigt den MD5-Hash einer Datei an:
md5 /path/to/-DateiDer Befehl shasum zeigt standardmäßig den SHA-1-Hash einer Datei an. Das bedeutet, dass die folgenden Befehle identisch sind:
shasum /path/to/-Datei shasum -a 1 /path/to/-DateiFühren Sie den folgenden Befehl aus, um den SHA-256-Hash einer Datei anzuzeigen:
shasum -a 256 /path/to/-Datei
Linux
Auf Linux aFühren Sie einen der folgenden Befehle aus, um den Hash für eine Datei anzuzeigen, je nachdem, welchen Hash-Typ Sie anzeigen möchten:
md5sum /path/to/-Datei sha1sum /path/to/-Datei sha256sum /path/to/-Datei
Einige Hashes werden für noch mehr Sicherheit kryptographisch signiert
While hasheskann Ihnen helfen zu bestätigen, dass eine Datei nicht manipuliert wurde, es gibt immer noch einen Angriffsweg. Ein Angreifer kann die Kontrolle über die Website einer Linux-Distribution erlangen und die darauf erscheinenden Hashes ändern, oder ein Angreifer kann einen Man-in-the-Middle-Angriff ausführen und die Webseite während der Übertragung ändern, wenn Sie über HTTP auf die Website zugreifenverschlüsselte HTTPS.
Aus diesem Grund bieten moderne Linux-Distributionen oft mehr als Hashes, die auf Webseiten aufgelistet sind. Sie signieren diese Hashes kryptografisch, um sie vor Angreifern zu schützen, die versuchen könnten, die Hashes zu ändern. Sie sollten die kryptografische Signatur überprüfen, um sicherzustellen, dass die Hash-Datei tatsächlich von der Linux-Distribution signiert wurde, wenn Sie absolut sicher sein wollen, dass der Hash und die Datei nicht manipuliert wurden.
Die Überprüfung der kryptografischen Signatur ist ein komplizierterer Prozess. Lesen Sie unseren Leitfaden zur Überprüfung der Linux ISOs wurden nicht manipuliert, um die vollständigen Anweisungen zu erhalten.
Bildquelle: Jorge Stolfi / Wikimedia