Prüfsummen, Digitale Signaturen und Hashing

Prüfsummen werden zur Überprüfung von Daten eingesetzt, um deren Datenintegrität bei der Übermittlung und/oder Speicherung von Daten zu gewährleisten. Sie werden primär bei der Datensicherung und bei Netzwerkprotokollen verwendet, finden aber auch bei Kreditkarten und Kontonummern Anwendung. Prüfsummen funktionieren so, dass Bits, Bytes oder andere grundlegende Komponenten von Daten mit einem bestimmten Faktor multipliziert und anschließend aufsummiert werden. Ergebnis davon ist die Prüfsumme. Ein konkretes Beispiel einer Prüfsumme ist die Quersumme der Ziffern einer Zahl. Ist die Prüfsumme durch drei teilbar, dann ist auch die Zahl durch drei teilbar. Prüfsummen sind ein gutes Verfahren, Daten zu prüfen, nicht aber die Richtigkeit zu gewährleisten. Hierfür eignen sich besser Digitale Signaturen:

Bei der Digitalen Signatur handelt es sich um den mathematisch berechneten Nachweis von Integrität und Authentizität einer Nachricht. Zur Generierung und Prüfung der Daten werden meist asymmetrische Verschlüsselungsalgorithmen angewandt. Digitale Signaturen (nicht gleichzusetzen mit “elektronischer Signatur”) werden meist in E-Mails mit Hilfe von PGP Verschlüsselung (Pretty Good Privacy) eingesetzt. Der Sinn und Zweck von digitalen Signaturen besteht darin, dass Urheberschaft und Zugehörigkeit der Nachricht durch jeden geprüft werden können. Hierfür gibt es sowohl einen öffentlichen Schlüssel (Public Key), als auch einen privaten Schlüssel (Private Key). Der öffentliche Schlüssel ist wichtiger Bestandteil eines Zertifikats, welches die gesamte Identität Person ist. Das Zertifikat besteht immer aus dem Namen, dem öffentlichen Schlüssel sowie einer digitalen Signatur über beiden. Optional kann dem Zertifikat ein Ablaufdatum mitgegeben werden, wie lange das Zertifikat maximal benutzt werden kann. Bei der Digitalen Signatur werden das Verschlüsselungs- und Signierschlüsselpaar voneinander getrennt, um höhere Sicherzeit zu gewährleisten. Die Angriffsmöglichkeit eines falschen Hash-Wertes fällt weg, da ohne den richtigen Hash-Wert die Nachricht nicht entschlüsselt werden kann. Würde man die Nachricht mit einem falschen Hash-Wert verschlüsseln, bekäme man als Ergebnis eine Kombination von nicht lesbaren Daten (quasi einen (falschen) Hash-Wert).


Wie wird die Digitale Signatur verifiziert?

Die Verifikation einer Digitalen Signatur besteht aus zwei Teilen: die eigentliche Signaturprüfung sowie die Prüfung auf die Gültigkeit des Zertifikats. Mit Hilfe des öffentlichen Schlüssels, der aus dem Zertifikat bekannt ist, werden die verschlüsselten Hash-Werte entschlüsselt. Da das Zertifikat auch einen eigenen Hash-Wert enthält, werden auch diese Daten entschlüsselt. Sind die Werte identisch, ist gewährleistet, dass die Daten unverändert und somit korrekt sind.

Wie funktioniert eine Digitale Signatur

Wie funktioniert eine Digitale Signatur / Bild: unbekannt

Was genau sind Hashwerte / Was ist Hashing?

Hashwerte sind beliebige Abbildung/Zeichenkette, die aus einer großen Quellmenge eine Ausgabe kleinerer Zielmenge erzeugt. Der Algorithmus der Erstellung eines Hashwertes ist nicht umkehrbar, was bedeutet, dass man aus einem fertigen Hash-Wert nicht mehr zum Ursprung zurückkehren kann. Ein Hash-Wert ist einmalig für jede noch so komplexe Datenstruktur. Hash-Werte werden durch verschiedene Verfahren erstellt: statische und dynamische Verfahren. Statische Verfahren sind z.B. die Divisionsmethode, Mittquadratmethode, Zerlegungsmethode, Ziffernanalyse und die Quersumme. Die Vorteile von dynamischen Hashing sind, dass es keine Obergrenzen für das Datenvolumen gibt und Einträge ohne Probleme gelöscht werden können. Mit dynamischen Hashing ist allerdings kein effektives Durchlaufen der Einträge nach einer Ordnung möglich, sowie die effektive Suche nach dem Eintrag mit dem kleinsten oder größten Schlüssel.