- Pretty Good Privacy
-
Pretty Good Privacy (PGP, auf deutsch etwa „Ziemlich Gute Privatsphäre“) ist ein von Phil Zimmermann entwickeltes Programm zur Verschlüsselung und zum Unterschreiben von Daten.
Inhaltsverzeichnis
Eigenschaften
PGP benutzt ein sogenanntes Public-Key-Verfahren, das heißt, es gibt ein eindeutig zugeordnetes Schlüsselpaar:
Genutzt wird ein öffentlicher Schlüssel, mit dem jeder die Daten für den Empfänger verschlüsseln kann, und ein privater geheimer Schlüssel, den nur der Empfänger besitzt und der durch ein Kennwort geschützt ist. Nachrichten an einen Empfänger werden mit seinem öffentlichen Schlüssel verschlüsselt und können dann ausschließlich durch den privaten Schlüssel des Empfängers entschlüsselt werden. Diese Verfahren werden auch asymmetrische Verfahren genannt, da Sender und Empfänger zwei unterschiedliche Schlüssel verwenden.
Die erste Version wurde 1991 geschrieben und verwendete einen RSA-Algorithmus zur Verschlüsselung der Daten. Spätere Versionen benutzten den Diffie-Hellman-Schlüsselaustausch (DH/DSS).
Bei PGP wird aber nicht die ganze Nachricht asymmetrisch verschlüsselt, denn dies wäre viel zu rechenintensiv. Stattdessen wird die eigentliche Nachricht symmetrisch und nur der verwendete Schlüssel asymmetrisch verschlüsselt (Hybride Verschlüsselung). Dazu wird jedes Mal ein symmetrischer Schlüssel zufällig erzeugt.
Dieser symmetrische Schlüssel wird dann per RSA- oder Elgamal-Kryptosystem mit dem öffentlichen Schlüssel des Empfängers verschlüsselt und der Nachricht hinzugefügt. Dadurch ist es möglich, eine Nachricht für mehrere Empfänger gleichzeitig zu verschlüsseln. Eine für mehrere Empfänger verschlüsselte Nachricht sieht dann folgendermaßen aus:
asymmetrisch verschlüsselter Schlüssel der Nachricht für Empfänger 1 asymmetrisch verschlüsselter Schlüssel der Nachricht für Empfänger n symmetrisch verschlüsselte Nachricht PGP basiert dabei auf dem sogenannten Web of Trust, bei dem es keine zentrale Zertifizierungsinstanz gibt, sondern sogenannte Ketten des Vertrauens.
PGP beinhaltet den Nachteil, dass bei Verlust des geheimen privaten Schlüssels die gesamte Kommunikationshistorie kompromittiert wird. Dieser Nachteil ist in der Weiterentwicklung Off-the-Record Messaging (OTR) beseitigt.
Geschichte
Phil Zimmermann schrieb die erste Version 1991. Sein Ziel war es, dass alle Bürger und insbesondere Bürgerbewegungen auch vor dem Zugriff durch Geheimdienste sicher verschlüsselte Nachrichten austauschen können (starke Verschlüsselung).[1]
PGP durfte in seinen Anfangsjahren nicht lizenzfrei aus den USA exportiert werden, da es, ähnlich wie Waffen, unter das US-Exportgesetz fiel. Danach unterlagen Kryptosysteme mit Schlüsseln von mehr als 40 Bit Länge für die symmetrische Verschlüsselung besonderen Exportbestimmungen. Die ersten PGP-Versionen verwendeten den IDEA mit 128 Bit Schlüssellänge. Ende der 90er Jahre liberalisierten die USA diese Gesetze.[1]
Um die Exportbeschränkung zu umgehen, wurde der vollständige Quellcode 1995 in dem Buch „PGP Source Code and Internals“ von Phil Zimmermann veröffentlicht. Als Buch konnte die Software legal aus den USA exportiert werden. Es wurde von über 60 Freiwilligen per Hand abgetippt. Aus dem abgetippten Programmcode wurde dann eine international verfügbare Version von PGP (PGPi) kompiliert.[1]
Die Firma PGP Corporation stellte bis Version 8 mit PGP Freeware ein eigenständiges Produkt für nicht-kommerzielle Anwender bereit. Seit Version 9 gibt es stattdessen nur noch die Testversion von PGP Desktop Professional 9. Für 30 Tage kann sie uneingeschränkt benutzt werden. Nach Ablauf der Frist werden Funktionsumfang und Nutzungsrechte auf einen Umfang reduziert, der etwa dem ehemaligen PGP Freeware entspricht. Ver- und Entschlüsselung von E-Mails ist auch nach Ablauf der Testphase möglich, aber nur für nicht-kommerzielle Zwecke zulässig.
PGP wurde 1997 von NAI (McAfee) aufgekauft und dort in die eigene Produktlinie integriert. McAfee hat die Weiterentwicklung von PGP nicht mit dem nötigen Engagement betrieben. Aufgrund der Tatsache, dass der Quelltext von PGP durch McAfee zeitweilig nicht offen gelegt wurde und Features implementiert wurden, welche die automatische Verschlüsselung an einen weiteren Empfänger ermöglichten (Additional Decryption Key ADK), ist PGP in dieser Zeit stark in die Kritik geraten. 2002 hat McAfee die Marke PGP aufgegeben und an eine Gruppe ehemaliger Mitarbeiter von PGP rund um Phil Zimmermann verkauft. Diese neu gegründete PGP Corporation hat alle Rechte an PGP von McAfee zurückgekauft und von Beginn an alle Quelltexte wieder offen gelegt.
Die neue PGP ist heute in vielen Ländern vertreten, darunter auch in Deutschland, wo die PGP Corporation im Jahr 2005 die deutsche Glück & Kanja[2][3] übernommen hat und damit die heute in Offenbach am Main sitzende PGP Deutschland AG[4] gründete. Fünf Jahre später hat PGP dann auch die deutsche TC Trustcenter[5] in Hamburg gekauft und ist damit auch als zertifiziertes Trustcenter für Zertifikate nach deutschem Signaturgesetz am Markt vertreten.
Nicht zuletzt wegen der intransparenten Situation in der Zeit, in der PGP im Eigentum der McAfee war, wurde bis 1998 der OpenPGP-Standard (RFC 2440, überarbeitete Fassung seit November 2007: RFC 4880) entwickelt. Das unter der GNU-GPL stehende Programm GnuPG war ursprünglich die erste Implementation von OpenPGP und wurde als freie Alternative zu PGP entwickelt. Zu PGP gibt es mittlerweile viele Erweiterungen des OpenPGP-Standards, so dass der reibungslose Austausch von Daten nicht immer garantiert ist.
Ende April 2010 kündigte Symantec die Übernahme der PGP Corporation für 300 Millionen US-Dollar an. Zukünftig wird PGP vermutlich als Marke innerhalb des 17.000 Mitarbeiter zählenden Symantec Konzerns geführt, so wie beispielsweise die Produkte von Peter Norton.
Funktionsweise
Man kann mit PGP wahlweise eine Nachricht signieren, verschlüsseln oder signieren und verschlüsseln. Die Signatur dient dazu, die Echtheit der Nachricht zu garantieren. In der Praxis wird man Nachrichten, wenn man sie verschlüsselt, immer auch signieren. Hingegen sind signierte unverschlüsselte Nachrichten nicht sehr verbreitet.
Erzeugen einer digitalen Signatur
Um sicherzugehen, dass eine empfangene Nachricht nicht manipuliert oder ersetzt wurde, muss der Sender als erstes Authentizität und Integrität der Nachricht mittels digitaler Signatur erzeugen. Dabei wird auf die Klartextnachricht eine kryptologische Hashfunktion wie zum Beispiel SHA-1 angewandt. Dadurch entsteht ein Message Digest (eindeutiger Fingerprint) der Nachricht, der wesentlich kürzer ist als die Nachricht selbst, was die Generierung der Digitalen Signatur vereinfacht. Anschließend wird aus dem Message Digest unter Verwendung des privaten Schlüssels des Senders eine Signatur erzeugt. (Dabei wird allerdings ein anderes Verfahren angewendet als zum Verschlüsseln der Nachricht selbst. Der Signatur-Chiffre kann mittels des öffentlichen Schlüssels wieder dechiffriert und damit bestätigt werden, allerdings nur, wenn beim Erstellen der Nachricht tatsächlich der zugehörige private Schlüssel verwendet wurde, s. u.)
Verschlüsselung
Als zweiten Schritt kann der Sender nun die Verschlüsselung der Nachricht vornehmen. Hierbei wird die Klartextnachricht und die Digitale Signatur aus dem ersten Schritt genommen und komprimiert, zur Reduktion der Größe und Erschwerung der Kryptoanalyse. Diese komprimierten Daten werden nun mit dem zufällig generierten Session Key KM symmetrisch zum Ciphertext verschlüsselt. Da es sich um einen zufällig erstellten Einmalschlüssel handelt, muss dieser dem Empfänger mitgeteilt werden. Dazu wird der Schlüssel KM mit dem öffentlichen Schlüssel des Empfängers asymmetrisch verschlüsselt und an die verschlüsselte Nachricht angehängt. Zu guter Letzt müssen die Bits des Ciphertextes und des verschlüsselten Schlüssels noch E-Mail-freundlich gemacht werden. Dazu werden diese mittels Base64 in ASCII-Zeichen codiert. Nun kann die PGP-Nachricht an den Empfänger gesendet werden, damit dieser die Nachricht nach der Entschlüsselung lesen kann. Neben der Verwendung für E-Mails kann PGP auch für andere Nachrichtenkanäle verwendet werden.
Aussehen einer verschlüsselten Nachricht
Verschlüsselt man den Text
http://de.wikipedia.org/wiki/Pretty_Good_Privacy
dann sieht die codierte Nachricht so aus:
-----BEGIN PGP MESSAGE----- Version: GnuPG v2.0.16 (GNU/Linux) hQEMA1PUVhZb8UnsAQf+KS9PNvkWYFONnoStveMc4KwvGT7WlRFv/ZACvdyFsKDO icurhL57uh56KCof1m5drfftwjDQWgNyMy0cixqV/2WzeQgjZILE0Z1FDg7cgAbs UZvy2hmaJf0dhHEUziALotfUMhoSeHeObxmomzb7vovJv5tWDtQ9W+p2tbQ4tiin LAsJtwQhEVPNltootBteC0dTgOdISe6kfqUSoN3A22SiSUihmjxMPiiO6iZB8gBS hhfiSPa4khNwODncRe2BjqW+YQHf7L6CfLjx2S1BCSr+KWLmUnVdWSUonhHPF9mI E/q7t2uoBWg0iQgCjQubgYeqSUYN/xWpqAUX9O71zdKUAbVjjLVT0qTjNLLvms2H s4BDzHEqKeuGuMAWFzyfuW+VNofTxtcHhzrdjPuYi7sRL3YNUvqUpcGeKGyTApW2 k/fd7U32av7Pq63NoKK2g3RFcyBUiSdNlNhW8TYS1NdMSMXNw1R9dWVgFmsLj2vs Rv89ufRiPbNLDXcx7CkRrTf13q0miy1850d6k5nt8qUFrnh4xQ== =z6Xk -----END PGP MESSAGE-----
Entschlüsselung
Zu Beginn muss der Empfänger die vorliegenden ASCII-Zeichen mit Base64 wieder decodieren, um an den Ciphertext und den verschlüsselten Session Key zu gelangen. Jetzt kann der Session Key durch den privaten Schlüssel des Empfängers entschlüsselt werden und damit gleich anschließend der Ciphertext wieder in die komprimierte Kombination aus Klartextnachricht und Digitaler Signatur entschlüsselt werden. Um schließlich an die Nachricht zu gelangen, muss diese nur noch dekomprimiert werden. Allerdings soll auch noch die Authentizität des Senders und die Integrität der Nachricht sichergestellt werden. Dazu wird auf den Klartext die gleiche Hash-Funktion wie beim Sender angewandt und die digitale Signatur mit dem öffentlichen Schlüssel des Senders mittels einer Umkehrfunktion dechiffriert. Wurde zum Erstellen der Signatur tatsächlich der zugehörige private Schlüssel verwendet, stimmen die beiden Klartexte des Message Digests überein und man kann mit hoher Wahrscheinlichkeit davon ausgehen, dass die Nachricht nicht verändert wurde und tatsächlich von einem bestimmten Sender stammt.
Siehe auch
Einzelnachweise
- ↑ a b c ISBN 3-423-33071-6 Simon Singh - Geheime Botschaften
- ↑ Glück & Kanja Technology AG
- ↑ PGP übernimmt deutsche Glück & Kanja Technology AG
- ↑ PGP Deutschland AG
- ↑ PGP übernimmt deutsche TC Trustcenter GmbH
Weblinks
- PGP Corporation entwickelt aktuelle Versionen freier und kommerzieller PGP-Produkte
- Liste öffentlicher PGP-Schlüsselserver
- Links zum Thema PGP im Open Directory Project
- GnuPG for Windows
Kategorien:- Verschlüsselungssoftware
- Halbfreie Software
Wikimedia Foundation.