Hash-Werte von Dateien


heise.de meldet „Todesstoß: Forscher zerschmettern SHA-1„. Aber was ist damit überhaupt gemeint?

160 Bits Prüfsumme einer Datei ausgeben oder überprüfen:
$ sha1sum filename

256 Bits Prüfsummen einer Datei ausgeben oder überprüfen:
$ sha256sum filename

Hashfunktionen, SHA-1, Kryptologische Hashfunktion

Um die Authentizität (= Echtheit, siehe Integrität) von Daten zu prüfen, kann eine Quersumme berechnet und verglichen werden. Wenn z.B. eine Datei gespeichert wird und sichergestellt werden soll, dass die gespeicherten Informationen exakt mit den zu speichernden Informationen übereinstimmen, kann dies z.B. mit einer Quersumme geprüft werden. So geschieht dies auch bei der ISBN-Nr oder der IBAN. Es wird also eine große, zu sichernde Datenmenge mit einer kleineren Summenzahl überprüft, um Schreibfehler oder Tippfehler zum umgehen. (Etwas komplexer und intelligenter funktioniert die Prüfung mit dem CRC.)

Wenn jedoch davon ausgegangen werden muss, dass nicht zufällige oder technische Ereignisse wie Tippfehler der IBAN oder Datenfehler auf einem Datenträger wie der CD die Ursache der Fehler sind, sondern menschliche Manipulation, so geht man den Weg der Verkomplizierung durch Verschlüsselung. So bedeutet „hash“ nichts anderes als zerhacken, verpfuschen, Durcheinander oder Kuddelmuddel – also hier Verschlüsselung.

Würde man beispielsweise einfach nur eine Quersumme eines pdf-Dokumentes speichern, um damit die Echtheit zu beweisen, könnte man es fälschen und anschließend so viele sinnlose Zeichen an die Originaldatei anfügen oder z.B. redundante Leerzeichen löschen, bis die alte Quersumme wieder stimmt. Durch die „verschlüsselte Quersumme“ (wie ich den Hash-Wert jetzt einfach einmal nenne) muss man hingegen sehr viele Möglichkeiten ausprobieren bis der Prüfwert wieder stimmt. Je mehr Versuche hierbei nötig sind, um den entsprechenden Wert durch ausprobieren (= brute force) zu finden, desto besser ist die Verschlüsselung. Hierdurch benötigt man mehr Zeit, mehr Geld und mehr bzw. neuere Technik und letztlich mehr Aufwand. Eine absolute Sicherheit kann man mit Hash-Werten aber nie erreichen, zumal die Rechenleistung immer besser wird und somit die Chancen auf einen geknackten Hash-Wert steigen.

Ein korrekter Hash-Wert ist also zwar ein notwendiges Kriterium, dass eine Datei unverfälscht ist, aber niemals hinreichend. Stimmen die Hash-Werte also nicht, muss die Datei verändert worden sein. Die Echtheit ist aber nicht hinreichend bewiesen, wenn dieser Wert übereinstimmt. Sie ist nur sehr wahrscheinlich und wird immer wahrscheinlicher, je länger der Hash-Wert ist.

Ein praktisches Beispiel sind die Installationsdateien von Debian. Zu den .iso-Dateien existieren SHA-irgendwas-SUM-Dateien, mit denen die Echtheit der .iso geprüft werden kann. Stimmen die Werte nicht überein, sollte man die Finger von der .iso-Datei lassen. Sie wurde dann entweder fehlerhaft gespeichert oder absichtlich manipuliert. Stimmen sie überein, ist dennoch eine Manipulation möglich, aber unwahrscheinlich. Siehe Debian iso-Dateien, siehe Prüfung des hash-Wertes.


Advertisements

Schlagwörter: ,

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


%d Bloggern gefällt das: