GNU Privacy Guard: die freie Alternative zu PGP  

Andreas Bogk  
 
 

 

RealVideo: Modem | ISDN 

Ich bin Mitglied des Chaos-Computer-Clubs und betreibe das Thema 'Sicherheit', ich würde sagen, hobbymäßig. Ich werde heute das GNU-PG-Projekt und die Motivation für dieses Projekt vorstellen. Angefangen hat das alles mit der Frage: Was für eine Software benutze ich, um meine Mails zu verschlüsseln? Es gibt da zwei Ansätze: einmal das klassische PGP, und zum anderen S-MIME, was ja auch ein Standard ist. Die erste Frage ist, für welchen der beiden Standards entscheidet man sich, um inter-operabel zu sein? Ich bevorzuge den PGP-Standard, weil er keine zentralistischen Strukturen voraussetzt, wie das bei den X.509-Zertifikaten von S-MIME der Fall ist, wo es eine Certificate Authority gibt, die dann zentral dafür zuständig ist, alle Schlüssel zu beglaubigen. Das gefällt mir nicht. Ich bin der Meinung, daß dieses Web of Trust, wie das von PGP gebildet wird, wo es keine zentrale oberste Instanz gibt, vom Ansatz her überlegen ist, weil man sich mit diesen Mittel natürlich auch eine hierarchische Struktur schaffen kann, wenn man sie braucht, aber auch nicht-hierarchische Strukturen, Netzwerke von Leuten bilden kann, um Zertifizierung zu erreichen.  

Am Anfang steht die Aussage: Das PGP-Verfahren ist besser geeignet. Mittlerweile ist PGP auch zum Standard im Internet geworden. Das RFC 2440, das Open-PGP spezifiziert, ist unter Zusammenarbeit von Lutz Donnerhacke aus Jena und Jon Callas von PGP fertiggestellt und verabschiedet worden, so daß auch hier der gleiche Status erreicht ist wie bei S-MIME. Dann stellt sich die Frage: Warum nicht gleich PGP verwenden? Was macht GNU-PG notwendig? Da gibt es mehrere Faktoren. Zum ersten ist das Problem, daß PGP nicht der GPL-Lizenz unterliegt. Das heißt, der Source Code ist zwar verfügbar, aber es ist mir nicht erlaubt, Modifikationen an diesem Source Code zu vertreiben, also Software, die auf PGP basiert und zusätzliche Features bereitstellt. Es ist mir auch nicht erlaubt, Dinge aus PGP zu entfernen, die ich für Sicherheitsrisiken halte. Und das ist gleich der zweite Punkt: PGP wurde ja von Network Associates gekauft. Network Associates war Mitglied der Key Recovery Alliance, einem Zusammenschluß von US-Firmen, der es ermöglichen soll, Key Recovery unter Druck der Regierung zu machen, die nur dann an eine Firma Aufträge vergibt, wenn sie Mitglied in der Key Recovery Alliance ist. Dann sind Network Associates wieder ausgetreten, dann sind sie mal wieder eingetreten. Insgesamt ist das alles sehr schwamming, und keine klare Position ist erkennbar. Phil Zimmerman behauptet zwar immer, es gäbe diese klare Position und er ist selbstverständlich gegen Key Recovery usw., aber die Firma, der diese Software gehört, hat offensichtlich eine andere Meinung.  

Der zweite Punkt ist, daß in der Weiterentwicklung von PGP einige Features hinzugekommen sind, die sicherheitstechnisch zumindest bedenklich sind. Groß in der Diskussion war die Corporate Message Recovery, CMR. Das ist keine Key Recovery, wie sie von der NSA angestrebt wurde und noch wird, sondern lediglich eine Information im Public Key, die besagt, daß, wenn man etwas an einen bestimmten Public Key verschlüsselt, dieser Text auch an einen weiteren Public Key verschlüsselt werden soll. Die Überlegung dabei ist: Wenn ich mit jemandem bei einer Firma korrespondiere, verschlüssele ich das einmal an ihn persönlich und zum zweiten an die Firma, damit, wenn der Mitarbeiter vom Bus überfahren wird, seine abgelegten Mails noch verfügbar sind und weiter bearbeitet werden können. Das Argument ist ein bißchen schwach, weil man ja zwischen der Lagerung und der Übertragung von Informationen unterscheiden muß. Eigentlich viel sinnvoller wäre es, einen Mechanismus einzubauen, der einen sogenannten Storage Key verwendet. Das heißt, wenn etwas an mich geschickt wird, lege ich das mit einem Storage Key ab, auf den die ganze Abteilung Zugriff hat. Es sind auch Verfahren denkbar, bei denen Abteilungsschlüssel existieren, mit denen jeweils zwei Personen aus der Abteilung zusammen die Mail eines dritten lesen können usw. Also, die Art, wie diese Corporate Message Recovery angewendet werden soll, ist nicht wirklich nachvollziehbar. Aber sie ist natürlich hervorragend dafür verwendbar, zu einem späteren Zeitpunkt eine Überwachung einzurichten, indem man einfach bestimmten Firmen vorschreibt, eine solche Corporate Message Recovery mit einem Schlüssel zu verwenden, der bei staatlichen Stellen hinterlegt ist. Das ist also ein bedenkliches Feature.  

Weitere bedenkliche Features existieren. Dem einen oder anderen ist vielleicht aufgefallen, daß in PGP-Versionen ab 5.0 eine Message-ID unverschlüsselt im Header steht. Auf Nachfrage wird offiziell gesagt, daß diese Message-ID dazu dient, eine Mail, die in mehreren Teilen verschlüsselt ist, wieder zusammenzusetzten. Das ist natürlich völlig überflüssig. Für das Zusammensetzen von Mails gibt es Multipart-MIME, einen technischen Standard. Es gibt noch weniger Grund, warum diese Message-ID in einer PGP-Message steht, die nur aus einem Teil besteht. Interessant dabei ist, daß diese Message-ID einen weiteren Weg zur Verfügung stellt, wie eine PGP-Nachricht angegriffen werden kann. PGP ist ja ein Hybridverfahren, d.h., ich habe einmal ein Public Key-Verfahren, mit dem ein Session Key verschlüsselt wird. Mit diesem Session Key wird dann in einem klassischen symmetrischen Verfahren der Rest der Mail verschlüsselt. Die beiden Punkte, die ich angreifen kann, sind einmal das Public Key-Verfahren. Wenn ich es schaffe, aus dem Public Key den Secrete Key zu generieren, kann ich die Message lesen. Der zweite Punkt, den ich angreifen kann, ist der Session Key, der für den symmetrischen Schlüssel verwendet wird. Wenn ich den knacke, kann ich die Message auch lesen. Und diese Message-ID bringt nun einen dritten Angriffsweg mit. Der Session Key wird nämlich aus einem Entropie-Pool generiert. Da werden also Random-Informationen gesammelt, miteinander ver-hasht, und daraus wird der Session Key gewonnen. Und direkt nachdem der Session Key generiert wurde, wird diese Message-ID aus demselben Pool generiert. Da ist zwar ein Prozeß dazwischen, der sich Whitening nennt und der mit Hilfe eines Hashing-Algorithmus' verhindern soll, daß man daraus den Zustand des Pools zurückrechnet, aber erstens ist die Forschung auf dem Gebiet noch ein bißchen dünn und zweitens wird hier grundlos ein weiterer Angriffsweg eingeführt. Und die Lizenz von PGP verbietet mir dagegen vorzugehen. Ich kann also kein PGP verteilen, in dem Corporate Message Recovery und diese Message-ID ausgeschaltet ist.  

Was als drittes Problem noch hinzukommt, ist, daß PGP von RSA- auf Diffie-Hellman- und DSS-Keys umgestellt hat, wogegen ja erstmal nichts zu sagen ist, wenn man sich anguckt, daß RSA patentiert ist und das Diffie-Hellman-Patent vor einem Jahr ausgelaufen ist. Nur entsteht hier wieder das Problem, daß die User in zwei Welten getrennt werden. Leute, die schon seit vielen Jahren PGP benutzen, können jetzt nicht mehr mit Leuten kommunizieren, die das neue PGP benutzen, weil das neuste PGP kein RSA mehr unterstützt. Es gab da eine Zwischenversion, die konnte RSA-Keys zwar noch lesen, aber keine generieren. Seit 6.0 geht RSA gar nicht mehr. Insgesamt betrachtet, existieren relativ viele Punkte, die jeder für sich genommen noch kein Killerkriterium für PGP sind, die aber insgesamt einen etwas schalen Nachgeschmack hinterlassen, was die Zukunft dieser Software betrifft.  

GNU-PG ist nun ein Versuch, diesen Mechanismen entgegenzusteuern. GNU-PG ist eine Neuimplementation des Open PGP-Standards von Werner Koch, die nach der GNU Public License veröffentlich wird und die Open PGP-kompatibel ist. Damit ist sie in der Lage, sowohl mit alten als auch mit neuen PGP-Versionen zu kommunizieren, aber sie weist die Nachteile von PGP nicht auf, d.h., ich kann hingehen und die Teile, die mir verdächtig vorkommen, rausnehmen. Es gibt da auch keinen Corporate Message Recovery usw.  

Der Stand der Entwicklung bei GNU-PG ist, daß ein Command Line Tool existiert, d.h., es ist der Stand von PGP 2.6.3 erreicht. Was noch nicht existiert, sind die Einbindungen in klassische Mail-Programme. Es gibt also kein Eudora-Plug-In oder Netscape-Plug-In. Es gibt natürlich für Mutt, einen der beliebtesten Unix-Mail-Clients, eine GNU-PG-Integration und es gibt für Emacs eine. Unser Ziel bei dem Projekt ist es, diese Punkte weiter voranzutreiben, um auch dem durchschnittlichen Benutzer, vor allem auch dem kommerziellen Benutzer, der nach wie vor auf Windows-Programme angewiesen ist, den Zugang zu GNU-PG zu ermöglichen.  
 

(Transkription Katja Pratschke)
 
 

Chaos Computer Club (CCC) 

The GNU Privacy Guard (GPG) 
Funded by the German Federal Ministry of Economics and Technology (BMWi) -- Press Release by GPG  

RFC 2440, OpenPGP Message Format, Callas, Donnerhacke, Finney, Thayer, November 1998 

Pretty Good Privacy (PGP) von Phil Zimmermann  
was sold at the end of 1997 to Network Associates Inc.  

The International PGP Home Page (Freeware PGP)  
The printed PGP source code was send to Norway where it was scanned and proof-read  

Stefan Krempl, Neuer Ärger für Regierungen und Geheimdienste. Mit PGP 6.5 soll das ganze Netz "opak" werden (Telepolis, 25.05.99)  

Stefan Krempl, PGP ohne Alternative? Interview mit Lutz Donnerhacke über Kryptographieprodukte für den Massenmarkt (Telepolis, 16.02.99)