Dokumente und Nachrichten oder ganz allgemein Daten, die elektronisch übermittelt werden, durchlaufen auf dem Weg vom Sender zum Empfänger eine Reihe von Stationen. Bei jedem Teil dieser Übermittlung ist es möglich, dass die Daten geändert werden - sei es unbeabsichtigt durch eine technische Störung oder eine gezielte Manipulation des "Man in the middle". Desweiteren kann die Herkunftsadresse gefälscht werden, so dass sich der Empfänger nie sicher sein kann, ob das empfangene Dokument tatsächlich vom angegebenen Absender stammt.
Zur Lösung dieser Probleme gibt es verschiedene Verfahren:
Bei diesem Verfahren bildet der Absender über den Dateiinhalt eine Prüfsumme wie beispielsweise md5 oder CRC32 und veröffentlicht diese, häufig innerhalb einer separaten Datei, die die Prüfsumme enthält, oder durch Angabe der Prüfsumme auf einer Webseite. Letzeres verwenden wir bei Dateien, die zum Download freigegeben sind (siehe z.B. https://www.msdatec.de/remind-info.htm.) Der Empfänger kann die Prüfsumme ebenfalls berechnen, und falls die Prüfsumme nicht mit der des Absenders übereinstimmt, ist der Dateiinhalt nicht mehr derselbe. Der Umkehrschluß gilt nicht: Falls die Prüfsummen übereinstimmen, ist der Dateiinhalt nicht notwendigerweise derselbe. Allerdings ist die Wahrscheinlichkeit je nach Prüfsummenalgorithmus mehr oder weniger gering, dass zwei Dateien mit unterschiedlichem Inhalt dieselbe Prüfsumme ergeben.
Eine Prüfsumme bestätigt allerdings nur, dass der Inhalt einer Datei beim Transport nicht verändert wurde - nicht aber, dass die Datei oder die Prüfsumme vom angegebenen Absender stammen. Ein "Man in the middle" könnte jederzeit den Inhalt der Datei manipulieren, eine dazu passende Prüfsumme erzeugen und beides weiterschicken. Daher ist es sinnvoll, die Prüfsumme auf einem anderen Wege zu veröffentlichen als die Datei, da der "Man in the middle" dann die Manipulationen an zwei verschiedenen Stellen durchführen muß.
md5-Prüfsumme
Um eine md5-Prüfsumme zu erzeugen und mit dem Original vergleichen zu können, benötigen Sie entsprechende Software. Folgende Programme sollten in der Lage sein, md5-Summen zu berechnen:
Linux Das Programm md5sum sollte in jeder Linux-Distribution enthalten sein. Mit der Eingabe von man md5sum auf der Kommandozeile erfahren Sie, wie mit dem Programm umzugehen ist: mit md5sum --binary Dateiname wird die Prüfsumme für die Datei Dateiname auf der Standardausgabe ausgegeben (eine md5-Prüfsumme ohne --binary macht nur für Textdateien Sinn).
Windows Windows liegt kein Programm bei, mit dem MD5-Summen berechnet werden können.
Mac Neuere Mac-Betriebssysteme werden mit openssl ausgeliefert, das Sie zur md5-Prüfsummenerzeugung verwenden können: mit der Eingabe von openssl md5 Dateiname auf der Kommandozeile können Sie die md5-Prüfsumme der Datei Dateiname ausgeben lassen.
Weitere Infos zu Prüfsummen finden Sie beispielsweise unter
Beim Public-Key-Verfahren verfügt der Absender über einen privaten, weltweit eindeutigen Schlüssel, den nur er kennt, sowie einen öffentlich zugänglichen Schlüssel. Mit dem privaten Schlüssel kann er nun eine Prüfsumme (Signatur) über den Dateiinhalt erzeugen. Der Empfänger kann nun mit Hilfe des öffentlichen Schlüssels des Absenders feststellen, ob die Prüfsumme stimmt. Ob aber der Schlüssel tatsächlich vom angegebenen Unterzeichner stammt, ist damit noch nicht gezeigt, sondern dies erfordert zusätzlich eine Public-Key-Infrastruktur (PKI). In einer hierarchischen PKI wird dies durch den Ursprungsaussteller (Root-CA) oder eines seiner zugelassenen Institute (Zertifizierungsstellen) sichergestellt, indem einer dieser den öffentliche Schlüssel unterschreibt und so ein Zertifizierungspfad, eine Kette des Vertrauens, entsteht. Beim Web of Trust dagegen entscheidet jeder Anwender selbst, ob und wie weit er davon überzeugt ist, dass ein fremder öffentlicher Schlüssel tatsächlich zum angegebenen Aussteller gehört, indem er diesen fremden Schlüssel unterschreibt. Wenn er diese Vertrauensstellung veröffentlicht, können andere Anwender davon partizipieren.
Details zum Public-Key-Verfahren und der PKI-Infrastruktur finden Sie unter anderem unter folgenden Links:
Um eine Signatur nach dem OpenPGP Message Format (RFC2440) prüfen zu können, benötigen Sie entsprechende Software. Folgende Programme sollten in der Lage sein, Signaturen zu prüfen:
Falls Sie uns eine verschlüsselte Datei oder Mail schicken oder eine von uns erstellte Signatur prüfen möchten, benötigen Sie einen unseren öffentlichen Schlüssel:
Alternativ können Sie den Schlüssel mit Angabe der Schlüssel-ID von einem Key-Server beziehen. Heise Security bietet eine Suche auf verschiedenen Key-Server.