Das BSI (Bundesamt für Sicherheit in der Informationstechnik) veröffentlicht in der Technischen Richtlinie TR-02102-1 eine konkrete Liste, welche Hash-Algorithmen für welchen Einsatzzweck noch als geeignet gelten: SHA-256, SHA-384, SHA-512 und die SHA-3-Familie werden empfohlen, während SHA-1 und MD5 für neue Systeme ausdrücklich nicht mehr als geeignet gelten. Wer in Deutschland Software mit Prüfsummen ausliefert, orientiert sich häufig an genau dieser Liste.
Wie eine Prüfsumme Beschädigungen erkennt
Wegen des Lawineneffekts von Hash-Funktionen verändert schon ein einziges beschädigtes Byte bei der Übertragung den berechneten Hash der Datei vollständig. Jede Abweichung zwischen erwarteter und berechneter Prüfsumme bedeutet daher eindeutig, dass die Datei vom Original abweicht — Byte für Byte.
Was eine Prüfsumme nicht garantiert
Übereinstimmende Hashes bestätigen nur, dass die Datei identisch mit derjenigen ist, aus der der veröffentlichte Hash berechnet wurde — nicht, dass dieses Original sicher ist oder tatsächlich von der behaupteten Quelle stammt. Wenn ein Angreifer sowohl die Datei als auch die veröffentlichte Prüfsumme gleichzeitig austauscht, wird die Prüfung nichts feststellen.
Prüfsumme gegen digitale Signatur
Im Gegensatz zu einer Prüfsumme wird eine digitale Signatur mit einem privaten Schlüssel erstellt und kann nur mit dem passenden öffentlichen Schlüssel verifiziert werden — das BSI empfiehlt Signaturen ausdrücklich dort, wo neben der Integrität auch die Herkunft eines Dokuments nachgewiesen werden muss. Bei kritischen Downloads wird neben der Prüfsumme deshalb oft auch eine Signatur veröffentlicht.
Wofür man das braucht
- Bestätigen, dass ein heruntergeladenes Archiv oder OS-Image beim Download nicht beschädigt wurde.
- Zwei große Dateien schnell vergleichen, ohne sie Byte für Byte abzugleichen.
- Prüfen, dass eine Sicherungskopie einer Datei mit dem Original identisch ist.
Warum manchmal CRC32 statt SHA-256 verwendet wird
CRC32 ist deutlich schneller als kryptografische Hash-Funktionen, lässt sich aber leicht absichtlich fälschen — das ist kein Problem bei der Erkennung zufälliger Übertragungsschäden, aber ungeeignet als Schutz vor einem Angreifer, der eine Datei unbemerkt austauschen will. Deshalb findet sich CRC32 noch immer in Archivierungsprogrammen und Netzwerkprotokollen zur Fehlerkontrolle — in keiner BSI-Richtlinie taucht es als Sicherheitsmaßnahme auf.