Was sind Prüfsummen, was können sie und wie wendet man sie an?
Der Begriff Checksum oder Prüfsumme wird Dir sicherlich schon das ein oder andere Mal begegnet sein. Besonders beim Download von Daten, insbesondere Programmen, ist oftmals auf der Webseite zum Download eine sog. Checksum in Form einer längeren Zeichenkette aus Buchstaben und Zahlen angegeben.
Aber was hat es damit eigentlich auf sich?
Was ist eine Prüfsumme?
Eine Prüfsumme (engl. Checksum) ist ein Wert, der mit Hilfe eines Algorithmus aus einer Ursprungsdatei berechnet wird. Er ist quasi der Fingerabdruck einer Datei. Wie ein Fingerabdruck sollte eine Prüfsumme eindeutig sein, also ein Wert exakt zu einer Datei gehören.
Es gibt eine ganze Reihe an Algorithmen, die Prüfsummen berechnen und sich in Ihrer Komplexität, aber auch der Verlässlichkeit unterscheiden.
In der Regel werden MD5, SHA-1 oder SHA-2 Prüfsummen verwendet und angegeben.
Wofür ist eine Prüfsumme gut?
Mit Hilfe von Prüfsummen kann die Integrität von Daten überprüft werden. Wenn man z.B. eine größere Datei herunter lädt, dann kann es bei der Übertragung zu Fehlern kommen (es können „Bits umkippen“, also ihren Wert ändern), die die heruntergeladene Datei verändern. Da die Prüfsummen direkt aus der jeweiligen Datei berechnet werden und bereits kleinste Veränderungen die resultierende Prüfsumme verändern, reicht es aus, einfach die Prüfsumme der Datei auf dem bereitstellenden Server mit der der heruntergeladenen Datei zu vergleichen. Stimmen die Prüfsummen überein, ist die heruntergeladene Datei konsistent und die Datei vollständig. Je nach verwendetem Algorithmus zeigen Prüfsummen also bereits kleinste Unterschiede zwischen Dateien. So sollte man bei Downloads aus Drittquellen oder bei kritischen Daten immer die Checksumme der heruntergeladenen Datei mit der vom Urheber der Datei bereitgestellten Prüfsumme verglichen werden. Alle Entwickler von Betriebssystemen haben z.B. die Prüfsummen aktueller Downloadversionen veröffentlicht. So kann sichergestellt werden, dass Nutzer nicht von Dritten ein manipuliertes und möglicherweise mit Schadsoftware versehenes Image erhalten.Aber Prüfsummen können mehr!
Prüfsummen sind nicht uneingeschränkt vertrauenswürdig
In der Regel werden bei Checksummen die Algorithmen SHA-1 oder MD5 verwendet.
Allerdings sind diese Algorithmen verwundbar, sodass es potentiellen Angreifern möglich ist, eine Datei zu manipulieren und so zu verändern, dass sie trotzdem die gleiche Checksumme hat, wie die Ausgangsdatei.
Um dieser Problematik aus dem Weg zu gehen, und auch bei sensitiven Daten die Integrität sicherstellen zu können, ist es empfehlenswert, nach Möglichkeit moderne Algorithmen, wie SHA-2 zu benutzen.
Wie kann ich eine Prüfsumme erstellen?
Unter unixoiden Betriebssystemen wie Linux kann eine Prüfsumme einer beliebigen Datei ganz einfach mittels folgender Kommandozeilenbefehle erstellt werden:
md5sum -c datei.iso
sha1sum -c datei.iso
unter OS X kann man folgende Kommandozeilen-Befehle nutzen:
md5 datei.iso
shasum -a 1 datei.iso
shasum -a 256 datei.iso
Unter Windows kann man ebenfalls die Kommandozeile nutzen:
certUtil -hashfile datei.iso MD5
certUtil -hashfile datei.iso SHA1
certUtil -hashfile datei.iso SHA256
Alternativ gibt es eine Vielzahl an kostenlosen Tools, die das Berechnen von Hashes erlauben und eine grafische Oberfläche bieten.