PGP (Pretty Good Privacy) ist das Email-Verschlüsselungsprogramm, das durch seine weltweite Verbreitung und einfache Bedienbarkeit zum Quasi-Standard geworden ist. Mit der Zeit haben sich verschiedene Versionen der Software herausgebildet, die aber weitgehend miteinander kompatibel sind. Erst die jüngsten Versionen, die zunächst von PGP Inc. herausgegeben wurden (PGP 5.0 und folgende, – die Firma wurde inzwischen von McAfee übernommen) führten geänderte Verschlüsselungsalgorithmen ein.
Im Zusammenhang mit Remailern und Pseudonymservern kommen in der Regel nur Kommandozeilenversionen von PGP, b.z.w. RSA-Schlüssel zur Anwendung. Erst wenige Remailer (derzeit drei) können mit dem “neuen” Schlüsselformat (DSS/Diffie-Helmann, b.z.w. ElGamal) von PGP 5.x umgehen.
Desweiteren sind Schlüssel über 2048 Bits Länge nicht für die Einrichtung eines pseudonymen Email-Accounts bei einem der gängigen Pseudonymserver geeignet (Lange RSA-Schlüssel bis 8192 Bits Länge könnten z. B. mit PGP 2.6.3ib und 2.6.3in generiert werden und werden noch von PGP 5.0 unterstützt).
Ich rate ausdrücklich zur Verwendung der PGP 2.6.x-Versionen und werde die Verwendung von PGP 5.x mit anonymen Remailern, die ohnehin nur eingeschränkt möglich ist, ganz bewusst nicht behandeln!
| (Die Benutzung von Verschlüsselungs- und Anonymisierungsverfahren setzt immer die Bereitschaft voraus, sich durch viele lange Texte zu kämpfen. |
Bezug von PGP 2.6.x
Die gepackten Programmdateien der aktuellen Kommandozeilenversionen (MIT-PGP 2.6.2, PGP 2.6.3ui, PGP 2.6.3ai, PGP 2.6.3ib, PGP 2.6.3in sind im Internet weit verbreitet. Eine eigene FAQ gibt unter anderem über die Bezugsadressen Auskunft:
ftp://ftp.csn.net/mpj/getpgp.asc
Die internationale PGP-Homepage von Ståle Schumacher , bietet die Möglichkeit zum Download und zusätzlich viele Informationen: http://www.pgpi.com
Lutz Donnerhackes PGP 2.6.3in ist die Version der Certificating Authorities des Individual Network e. V. und stellt die wohl am weitesten entwickelte Kommandozeilenversion für DOS und UNIX-Systeme dar. Sie dürfte weitgehend die Grundlage für den neuen, im Entstehen begriffenen “OpenPGP-Standard” bilden: ftp://ftp.iks-jena.de/pub/mitarb/lutz/crypt/software/pgp/
Die genannten Programmausführungen sind immer auch als Quellcode zu haben, der erst kompiliert werden muss.
Konfiguration
Wenn die Archive entpackt wurden und das Programm im PGP-Verzeichnis installiert worden ist, müssen einige Einstellungen vorgenommen werden. Die Konfigurationsdatei config.txt im PGP-Verzeichnis muss an die Bedürfnisse des Benutzers und sein System angepasst werden.
Es ist unbedingt erforderlich, die Programmanleitung sorgfältig zu studieren (Eine Übersetzung in deutscher Sprache ist im WWW zu finden). Die wichtigste FAQ-Sammlung zu PGP wurde ins Deutsche übersetzt.
Zur Verwendung von PGP mit anonymen Remailern sind bestimmte Einstellungen in config.txt von Vorteil oder sogar unumgänglich:
# TMP is the directory name for PGP scratch files, usually a RAM # disk. It can be overridden by the environment variable TMP. # TMP = "e:\temp" |
Das temporäre Verzeichnis, das mit der Variablen TMP festgelegt wird, sollte regelmäßig auf die Überbleibsel vergeblicher Ver- und Entschlüsselungsversuche und andere Dateien überprüft werden. Am Sichersten geht man, wenn TMP auf eine RAMDisk verweist.
# ArmorLines is the maximum number of lines per packet when creating # a transport armored file. # Set to 0 to disable splitting in parts. ArmorLines = 0 |
Diese Einstellung verhindert, dass verschlüsselter und ASCII-kodierter Text auf mehrere Ausgabedateien aufgeteilt wird. Der Wert sollte hier in jedem Fall “0″ sein. Sollte es aus irgendwelchen Gründen doch notwendig werden, den verschlüsselten ASCII-Text vor dem Versenden in kleinere Stücke aufzuteilen, kann dies auch in der Kommandozeile von PGP festgelegt werden. Stücke von maximal 500 Zeilen Länge erhält man mit
C:\PGP\PGP.exe -ea eingangs.txt +ARMORLINES=500
# The following commented-out settings are *not* the defaults. # Uncomment (remove the leading "#" character) them to get the # non-default behaviour indicated. Armor = on # Use -a flag for ASCII armor whenever applicable TextMode = on # Attempt to use -t option where applicable ClearSig = on # Use ASCII armor even for unencrypted signed # messages # KeepBinary = on # Decrypt will not delete intermediate .pgp file # Verbose = 2 # Verbose diagnostic messages Verbose = 0 # Be quiet # Compress = off # Suppress compression to aid debugging # ShowPass = on # Echo password when user types it # Interactive = on # Interactively prompt the user when adding keys # (-ka) # EncryptToSelf = on # Encrypt all messages with your own public key # AutoSign = off # Don't sign new userids Legal_Kludge = off # Use backwards-compatible format |
- Armor = on legt fest, dass die Ausgabedatei von PGP immer ASCII-kodierter Text ist (Endung *.ASC statt *.PGP), der ohne weitere Behandlung über Email versendet werden kann.
- TextMode = on bewirkt bei Textdateien, dass die Ausgabedatei auf verschiedenen Systemen mit vielleicht unterschiedlichen Zeichensätzen dennoch richtig wiederhergestellt werden kann.
- ClearSig = on erzeugt standardmäßig Klartextunterschriften. Das bedeutet, Text und Unterschrift werden in der gleichen Datei übermittelt. Wenn der Text nur unterschrieben, dabei nicht auch verschlüsselt wird, kann der Empfänger ihn auch ohne PGP lesen.
- Verbose = 0 unterdrückt die meisten (Fehler-)Meldungen von PGP.
- Legal_Kludge = off bewirkt, dass auch Chiffretext und Unterschriften, die mit PGP-Versionen 2.3 und älter erzeugt wurden, korrekt verarbeitet werden.
# TZFix is hours to add to time() to get GMT, for GMT timestamps. # Since MSDOS assumes local time is US Pacific time, and pre-corrects # Pacific time to GMT, make TZFix=0 for California, -1 for Colorado, # -2 for Chicago, -3 for NY, -8 for London, -9 for Amsterdam. # However, if your MSDOS environmental variable TZ is properly # defined for your timezone, you can leave TZFix=0. Unix systems # probably shouldn't need to worry about setting TZFix. TZFix = 0 |
Informationen zur TZ-Variable die die Zeitzone festlegt, sollten der ausfühlicheren PGP-FAQ entnommen werden.
# Add optional comment to ASCII armor output. # Comment = " " |
Manchen Menschen scheint die Mglichkeit wichtig zu sein, jeder PGP-Nachricht eine Kommentarzeile hinzuzufügen. Sie kann mit der Variablen Comment in config.txt festgelegt werden. Bei der Verwendung von PGP zum anonymen Remailen, sollte aber auf solche Kommentare verzichtet werden . Auch, wenn ein Angreifer lediglich die verschlüsselte Version einer Email abfängt, die er somit nicht lesen kann, kann der Kommentar unter Umständen verräterisch wirken! Die Zeile sollte daher durch “#” deaktiviert bleiben.
Umgebungsvariable
Der Wert der Path-Variablen in Autoexec.bat muss um das PGP-Verzeichnis erweitert werden. Lautet der bisherige Eintrag z. B.:
Path=c:\dos;c:\windows;c:\f-prot |
und ist das Verzeichnis, in dem PGP installiert wurde c:\pgp , so muss der Pfad für PGP so ergänzt werden:
Path=c:\dos;c:\windows;c:\f-prot;c:\pgp |
Durch den Pfad-Eintrag kann PGP fortan aus jedem beliebigen Verzeichnis und von vielen Frontend-Programmen automatisch bei Bedarf gestartet werden.
Öffentliche Remailer-Schlüssel
Für die sichere Kommunikation über Cypherpunk- (Typ-1) Remailer, die zudem zu mehreren verkettet werden sollten, müssen die öffentlichen Schlüssel der Remailer vorliegen und in pubring.pgp integriert werden. Ein kompletter Satz Remailer-Schlüssel kann, nachdem er aus dem WWW oder per Email bezogen wurde, mit folgedem Kommando in den öffentlichen Schlüsselbund kopiert werden:
pgp [Schlüsseldatei]
wobei “Schlüsseldatei” die aus dem Internet bezogenen Schlüssel enthält.
Werden Nachrichten mit Schlüsseln verarbeitet, die keine vertrauenswürdige Unterschrift besitzen, gibt PGP eine entsprechende Meldung und den üblichen Piepton aus. Wurden die Remailerschlüssel aus verlässlicher Quelle bezogen, vorzugsweise PGP-unterschrieben von rlist-keys@anon.efga.org, so können die Schlüssel trotz Warnhinweis als voraussichtlich authentisch angesehen werden. Der Signaturschlüssel, mit dem diese Schlüsseldatei unterzeichnet worden ist, hat die Schlüssel-ID 0xE46F95A5 . Er kann von einem beliebigen Schlüsselserver weltweit geladen werden, oder per Email von rlist-sign@anon.efga.org
Wen dennoch die PGP-Meldung ärgert, der kann die Schlüssel, denen er vertraut, auch mit seinem eigenen Schlüssel signieren:
pgp -ks [Schlüssel-ID des zu unterschreibenden Schlüssels]
Die User-ID eines Remailer-Schlüssels entspricht normalerweise der Adresse des Remailers. Deren Echtheit lässt sich anhand der veröffentlichten Remailerlisten leicht überprüfen.
Ein gefälschter Schlüssel mit echter User-ID würde lediglich die Auslieferung der Klartextnachricht verhindern, da der Remailer nicht in der Lage wäre, die Nachricht zu entschlüsseln und dabei den nächsten Empfänger zu ermitteln.
Dennoch kann nicht oft genug erklärt werden, dass das Unterschreiben fremder PGP-Schlüssel gründlicher Überlegung bedarf. Launenhaftes Zertifizieren gefährdet die Sicherheit und schwächt das “Web Of Trust”.
Durch das Zertifizieren der Remailerschlüssel werden PGP-Fehlermeldungen unterdrückt, die die Vertrauenswürdigkeit der Schlüssel in Frage stellen. Das hat besonders dann Auswirkungen, wenn ein Remailer-Hilfsprogramm verwendet wird, das PGP minimiert im Hintergrund ausführt. Der Benutzer könnte sich sonst, beim Ertönen eines Pieptones dazu veranlasst fühlen, die PGP-Meldung zu überprüfen und der Ausgabedatei ungerechtfertigterweise zu misstrauen.
