Webprojekt: Sichere Datenübertragung

von Kareen Henkel, Susanne Helbig und Jan Kriener


4.4.2.3 PGP

4.4.2.3.1 Allgemeine Informationen

PGP, welches von Philip R. Zimmermann erfunden wurde, vereinigt die Geschwindigkeit der symmetrischen Verschlüsselung mit der Sicherheit der asymmetrischen Verschlüsselung.

Damit die Sicherheit noch weiter erhöht wird, wird die Botschaft vor dem Verschlüsseln komprimiert. Ein Text, der im Klartext verschlüsselt wird, kann leichter entschlüsselt werden. Hierfür suchen die Kryptoanalytiker nach bestimmten Wort- oder Satzteilen. Falls diese gefunden werden, ist eine Entschlüsselung möglich, dadurch wird der Schlüssel bekannt. In komprimierten Nachrichten ist eine Entschlüsselung auf dieser Weise nicht mehr so einfach, da der komprimierte Text keinerlei solcher Merkmale mehr besitzt.

Dabei wird der beliebig lange komprimierte Text symmetrisch mit einem zufällig ausgesuchten Sitzungsschlüssel verschlüsselt. Dieser Sitzungsschlüssel wird nun mit dem asymmetrischen, öffentlichen Schlüssel verschlüsselt. Beide Teile werden dann zusammengefasst und als PGP-Message deklariert.
Der Empfänger öffnet diese Nachricht und entschlüsselt mit seinem privaten Schlüssel den Sitzungsschlüssel. Mit dem Sitzungsschlüssel kann er nun die symmetrisch verschlüsselte Nachricht entschlüsseln und nach der Dekomprimierung ist die Nachricht wieder lesbar.

Um sicherzustellen, dass kein Unbefugter den privaten Schlüssel nutzt, muss man diesen einem Passwortsatz (Phase Phrase) zuweisen. Nur über ihn ist ein Zugriff auf den Schlüssel möglich.
Eine Sicherheit für die Sicherheit!

zur vorherigen Seite      zurück zur Übersicht      zur nächsten Seite

4.4.2.3.2 Signatur

Bei der elektronischen Signatur wird die Botschaft unterschrieben. Damit man sie auch noch ohne Programm lesen kann, muss diese extern mit Dateiverweis gespeichert werden oder direkt unter dem Textblock. Beides unterstützt PGP! Ausführbare Dateien dürfen nicht verändert werden, um die Lauffähigkeit nicht zu beeinträchtigen. Daher ist eine externe Unterschrift sinnvoll. Wenn man aber einen reinen Text schreibt, ist es meist nützlicher, die Unterschrift direkt einzufügen.
Wie geht man bei E-Mails oder HTML-Dokumenten vor?
E-Mails werden gewöhnlicherweise im Text-Feld unterschrieben, anders ist es nicht möglich, da die durchlaufenden Mailserver Einträge vornehmen, die man mit einem Poststempel vergleichen kann. Um die ganze E-Mail zu sichern wird eine "Digitale ID" empfohlen. Diese ist dem PGP-System vergleichbar, aber besser in das E-Mail-System eingebunden.

Funktionsweise

Die Botschaft wird mit dem eigenen Dechiffrierungsschlüssel entschlüsselt! Der dabei entstehende Text wird als Signatur an die Datei angefügt. Als nächstes wird die Nachricht mit der Signatur an den Empfänger übermittelt, der mit dem öffentlichen Schlüssel des Absenders die Signatur überprüft. Falls der Signaturcode stimmt, wurde die Botschaft nicht verändert. Dieses System entspricht dem Unterschriftensystem, welches bei der RSA-Signatur verwendet wird.

Probleme mit der Größe

Mit zunehmender Textlänge müsste auch die Unterschrift wachsen. Um das zu verhindern, wird nicht die gesamte Nachricht in die Signatur aufgenommen, sondern nur einzelne bestimmte Merkmale, wie bei einem Fingerabdruck. Dies geschieht nach dem HASH-Verfahren. Somit bekommt eine beliebig lange Nachricht immer eine feste Signaturlänge. Die Sicherheit muss darunter nicht leiden, da jedes Zeichen in der Botschaft erfasst wurde und in die Prüfsumme der Signatur eingearbeitet ist. Das bedeutet, dass sich jede noch so kleine Veränderung am Text bemerkbar machen würde.

nach oben      zur vorherigen Seite      zurück zur Übersicht      zur nächsten Seite

4.4.2.3.3 PGPnet

PGPnet ist ein Zusatzmodul von PGP, mit dessen Hilfe man eine sichere Verbindung zwischen zwei Rechnern herstellen kann.
Es basiert auf dem bisher vorgestellten PGP-System. Dabei wird die Unterschriftenfunktion des Schlüssels verwendet, um sicherzustellen, dass man nicht mit einem anderen Rechner (zum Beispiel einem Computer eines Hackers) verbunden ist.
Um sicherzustellen, dass man die Daten nicht "abhören" kann, wird das Verschlüsselungssystem von PGP nicht auf die gesamten zu sendenden Daten angewandt, da diese meist nacheinander erzeugt und gesendet werden. Die Daten werden in einzelne Datenblöcke zerlegt und dann werden die einzelnen Segmente verschlüsselt übertragen.

Ein weiterer Vorteil beim Einsatz von PGPnet ist, dass der Sitzungsschlüssel auf einen Zeitraum und/oder auf eine Datenmenge beschränkt werden kann. Dadurch wird die Sicherheit gegenüber einem passiven Lauschangriffs erhöht, da bei einem ständigen Wechsel des Schlüssels (zum Beispiel nach 30 min und/oder 10 MB) wieder ein neuer Sitzungsschlüssel generiert wird.
Auf Grund dieser Eigenschaften und der hohen Chiffriermöglichkeit ist PGPnet für gesicherte Datennetze besonders geeignet. Eine mögliche Anwendung könnte in Verschlüsselung von Wireless-LANs liegen.

nach oben      zur vorherigen Seite      zurück zur Übersicht      zur nächsten Seite

4.4.2.3.4 PGPdisc

Mit Hilfe von diesem Programm ist es möglich, eine "virtuelle Festplatte" zu erstellen, auf der Daten in Echtzeit verschlüsselt abgelegt und in Echtzeit entschlüsselt geladen werden können.
Dabei wird zur Authentifizierung der vorhandene PGP-Schlüssel verwendet. Ohne ihn bekommt man keine Zugang zur virtuellen Festplatte. Das dabei verwendete System entspricht der oben näher erklärten PGP-Verschlüsselung. Es werden aber nicht nur einzelne Dateien abgelegt, sondern ganze Datensysteme und ihre Verzeichnisstrukturen.

nach oben      zur vorherigen Seite      zurück zur Übersicht      zur nächsten Seite

4.4.2.3.5 PGPfone

PGPfone ist ein Zusatzprogramm, welches für die verschlüsselte Telefonie eingesetzt werden kann.
Leider ist das Programm zurzeit noch nicht vollständig auf Basis von PGP aufgebaut, da hier ein Sitzungsschlüssel vorher vereinbart werden muss. Ein weiterer Nachteil besteht darin, dass keinerlei Verbindung zu anderen IP-Telefon-Systemen besteht, zum Beispiel den Anruf über einen bestehenden Verzeichnisserver zu tätigen. Bisher muss man den Anzurufenden noch per ständig ändernder IP-Adresse oder fixen Host-Name anwählen.

nach oben      zur vorherigen Seite      zurück zur Übersicht      zur nächsten Seite