PGP = Spezielle Befehle

> Dieser zweite Teil des Handbuchs beinhaltet spezielle Themen, die nicht im ersten Teil "Grundlagen" enthalten sind. Das Lesen dieses Teils ohne Kenntnis des ersten ist nicht sehr sinnvoll. Andererseits ist die Kenntnis dieses zweiten Teils für die Benutzung von PGP nicht unbedingt erforderlich.

Auswahl eines Schlüssels über seine Schlüssel-ID
Trennung der Unterschrift von der Nachricht
Entschlüsselung einer Nachricht und Speicherung zusammen mit einer Unterschrift
Der Austausch von ASCII-Text zwischen unterschiedlichen Computern
Vermeidung von "Spuren des Klartextes" auf der Festplatte
Anzeige des entschlüsselten Klartextes am Bildschirm
Verschlüsseln einer Nachricht "nur für die Augen der Empfängerin"
Beibehaltung des originalen Dateinamens des Klartextes
Ändern der Benutzer-ID und des Mantra
Ändern der Vertrauensparameter für einen öffentlichen Schlüssel
Prüfen, ob der Bund mit öffentlichen Schlüsseln intakt ist
Telefonische Kontrolle eines öffentlichen Schlüssels
Ein Wort zu großen Schlüsselbunden
PGP als Filterprogramm im Unix-Stil
Unterdrückung nicht notwendiger Fragen: `BATCHMODE`
"Ja" als Standardantwort bei Bestätigungsabfragen: `FORCE`
Der Beendigungscode von PGP
Umgebungsvariable für das Mantra: `PGPPASS`

# Auswahl eines Schlüssels über seine Schlüssel-ID

Bei allen Kommandos, die die Angabe einer Benutzer-ID oder eines Teils derselben erfordern, kann statt dessen auch die hexadezimale Schlüssel-ID benutzt werden. In diesem Fall muß vor der Schlüssel-ID ein `0x` geschrieben werden. Beispiel:

`pgp -kv 0x67F7`

listet alle Schlüssel, in denen `67F7` ein Teil der Schlüssel-ID ist. Diese Option ist vor allem dann praktisch, wenn es von einer Person zwei verschiedene Schlüssel mit ein und derselben Benutzer-ID gibt. In diesem Fall läßt sich mit Hilfe der Schlüssel-ID einer der beiden Schlüssel eindeutig auswählen.

# Trennung der Unterschrift von der Nachricht

Normalerweise wird eine Unterschrift in derselben Datei gespeichert wie der Text, der unterschrieben wird. Dadurch ist die Prüfung einer Unterschrift in den meistens Fällen einfach und bequem möglich. Unter bestimmten Umständen ist es aber sinnvoll, die Unterschrift in einer eigenen Datei, unabhängig von der Textdatei, zu speichern. Hierfür dient die Option `b` zusammen mit der Option `-s`.

Beispiel:

`pgp -sb letter.txt`

Hier wird eine Datei `letter.sig` erzeugt, die nur die Unterschrift enthält. Der Inhalt der Datei `letter.txt` wird nicht in `letter.sig` gespeichert. Wenn die Unterschrift in einer eigenen Datei (`letter.sig` in obigem Beispiel) erzeugt wurde, müssen beide Dateien (im Beispiel `letter.sig` und `letter.txt`) an die Empfängerin geschickt werden. Sie benötigt beide Dateien, um die Echtheit der Unterschrift zu prüfen. Wenn sie die Datei mit der Unterschrift durch PGP bearbeiten läßt, stellt das Programm fest, daß diese Datei keinen Text enthält, und fragt die Benutzerin nach dem Namen der Textdatei. Erst danach kann PGP die Unterschrift prüfen. Wenn der Empfänger bereits weiß, daß Text und Unterschrift in getrennten Dateien gespeichert sind, kann er auch beide Dateinamen in der Kommandozeile angeben:

`pgp letter.sig letter.txt`

oder

`pgp letter letter.txt`

In diesem Fall fragt PGP nicht nach dem Namen der Textdatei. Die Unterschrift in einer eigenen Datei zu speichern, ist dann sinnvoll, wenn die Unterschriften unabhängig vom Text protokolliert werden sollen. Die abgetrennte Unterschrift ist auch für die Dateien mit ausführbaren Programmen (bei MS-DOS: `.EXE` und `.COM`) sinnvoll, um eine Virusprüfung durchzuführen. Sie ist auch dann sinnvoll, wenn mehrere Personen ein Dokument (beispielsweise einen Vertrag) unterschreiben sollen, ohne daß die Unterschriften "verschachtelt" werden. Die Unterschrift jeder einzelnen Person wird unabhängig von den anderen gespeichert. Wenn man eine verschlüsselte Nachricht erhält, bei der Unterschrift und Text in einer Datei stehen, kann die Unterschrift auch nachträglich vom Text getrennt werden. Dies geschieht mit der Option `-b` bei der Entschlüsselung:

`pgp -b letter`

Hier wird `letter.pgp` entschlüsselt. Falls eine Unterschrift vorhanden ist, wird sie geprüft und in einer eigenen Datei `letter.sig` gespeichert.

# Entschlüsselung einer Nachricht und Speicherung zusammen mit einer Unterschrift

Normalerweise wollen Sie eine verschlüsselte Nachricht vollständig entschlüsseln, die Unterschrift (oder mehrere verschachtelte Unterschriften) prüfen und hierbei eine "Schicht" nach der anderen abtrennen, bis der originale Klartext übrig bleibt. Manchmal wollen Sie aber die Nachricht nur entschlüsseln und die Unterschriften bei der Nachricht belassen. Dies ist beispielsweise dann sinnvoll, wenn Sie die Kopie einer unterschriebenen Nachricht an eine dritte Person weiterleiten möchten, gegebenenfalls erneut verschlüsselt. Angenommen, es kommt eine Nachricht, die Charlie unterschrieben hat, verschlüsselt mit dem öffentlichen Schüssel des Empfängers. Die Nachricht soll entschlüsselt und zusammen mit Charlies Unterschrift an Alice weitergeleitet werden, gegebenenfalls mit ihrem öffentlichen Schlüssel verschlüsselt. Mit PGP ist das kein Problem. Mit folgendem Kommando wird eine Nachricht entschlüsselt, ohne daß die Unterschriften abgetrennt werden:

`pgp -d letter`

Hier wird die Datei `letter.pgp` entschlüsselt, und Unterschriften werden, falls vorhanden, zusammen mit dem entschlüsselten Klartext in der Ausgabedatei gespeichert.

Die Ausgabedatei kann archiviert oder - gegebenenfalls wieder verschlüsselt - an eine andere Person weitergeleitet werden.

# Der Austausch von ASCII-Text zwischen unterschiedlichen Computern

Mit PGP kann jede Art von Klartext verschlüsselt werden, irgendwelche Binärdaten ebenso wie ASCII-Text. Wahrscheinlich wird PGP am häufigsten für die Verschlüsselung von E-Mail benutzt, so daß der Klartext aus ASCII-Daten besteht.

ASCII-Text wird auf verschiedenen Computern leicht unterschiedlich dargestellt. Beispielsweise endet eine Zeile bei MS-DOS mit den beiden Zeichen für Wagenrücklauf und Zeilenvorschub. Bei Unix endet eine Zeile nur mit dem Zeichen für Zeilenvorschub. Beim Macintosh endet eine Zeile mit dem Zeichen für Wagenrücklauf, ohne Zeilenvorschub. Traurig, aber wahr.

Nicht verschlüsselte ASCII-Daten werden bei E-Mail-Systemen normalerweise in eine kanonische, maschinenunabhängige Form gebracht, wenn sie zwischen zwei Computern ausgetauscht werden. Bei kanonischer Textdarstellung besteht ein Zeilenende aus den Zeichen Wagenrücklauf und Zeilenvorschub. Beispielsweise konvertiert das weit verbreitete KERMIT den ASCII-Text in diese kanonische Form, bevor der Text an einen anderen Computer gesendet wird, und das KERMIT auf dem Computer, der den Text empfängt, konvertiert ihn wieder in diejenige Form, die sein Betriebssystem braucht. Dadurch ist es einfach, Texte zwischen verschiedenen Computern auszutauschen.

Diese automatische Anpassung der Textdarstellung an das jeweilige Betriebssystem ist bei verschlüsselten Nachrichten nicht möglich, weil der Klartext durch die Verschlüsselung dem Übertragungsprogramm verborgen bleibt. Diese Aufgabe muß das Verschlüsselungsprogramm übernehmen. Deshalb kann man bei PGP angeben, ob der Klartext als Binärdaten oder als ASCII-Text angesehen werden soll. In letzterem Fall wird der Klartext vor der Verschlüsselung in kanonische Form gebracht. Bei der Entschlüsselung wird er dann in die Form gebracht, die für das Betriebssystem des Computers, auf dem entschlüsselt wird, geeignet ist.

Wenn die Option `t` beim Verschlüsseln und / oder Unterschreiben einer Nachricht mit angegeben wird, konvertiert PGP den Text vor der Verschlüsselung bzw. dem Unterschreiben in die kanonische Form:

`pgp -et message.txt Empfänger-ID`

Diese Option schaltet PGP automatisch ab, sobald es in der zu verschlüsselnden Datei Daten findet, die es nicht als Text betrachtet. Falls der Klartext aus einem 8-Bit-Zeichensatz besteht, falls er also mehr Zeichen enthält als der ASCII-Standard für den englischen Zeichensatz, verwendet PGP bei der Konvertierung in die kanonische Form den Zeichensatz LATIN1 (ISO 8859-1 Latin Alphabet 1). Die Konvertierung hängt davon ab, was als Parameter `CHARSET` in der PGP-Konfigurationsdatei eingetragen ist. LATIN1 ist eine Obermenge von ASCII, mit diakritischen Zeichen für viele europäische Sprachen.

# Vermeidung von "Spuren des Klartextes" auf der Festplatte

Nachdem PGP eine Datei verschlüsselt hat, kann es bei Bedarf die Klartext-Datei überschreiben und danach löschen, so daß keine "Spuren" des Klartextes auf der Festplatte verbleiben. Dies verhindert, daß der Klartext mit einem Sektor-Editor oder einem ähnlichen Programm noch gelesen werden kann. Diese Option ist sinnvoll, um zu vermeiden, daß vertrauliche Informationen unkontrolliert auf der Festplatte verbleiben.

Um den Klartext nach der Verschlüsselung und / oder dem Unterschreiben von der Festplatte zu löschen, wird die Option `w` verwendet:

`pgp -esw message.txt Empfänger-ID`

Hier wird eine verschlüsselte, unterschriebene Datei `message.pgp` erzeugt, und die Klartext-Datei `message.txt` wird danach überschrieben und gelöscht. Diese Option sollte mit Vorsicht benutzt werden. Zudem muß betont werden, daß hierdurch keinerlei Fragmente des Klartextes gelöscht werden, die ein Textverarbeitungsprogramm häufig auf der Festplatte ablegt, wenn man einen Text eintippt und bearbeitet. Die meisten Textverarbeitungsprogramme erzeugen Backup- und temporäre Dateien. Außerdem wird die Klartext-Datei nur einmal überschrieben. Das ist zwar ausreichend, um ein Lesen des Klartextes mit den üblichen Werkzeugen der Datenwiederherstellung zu verhindern, reicht aber nicht aus, um einen gezielten und ausgefeilten Leseversuch abzuwehren, bei dem eine schwache Restmagnetisierung der überschriebenen Daten mittels spezieller Hardware ausgewertet wird.(*)

(*)Weiteres hierzu steht weiter unten im Abschnitt "Nicht richtig gelöschte Dateien". d.Ü.

# Anzeige des entschlüsselten Klartextes am Bildschirm

Um den entschlüsselten Klartext nur am Bildschirm zu lesen (ähnlich dem Unix-Kommando more), ohne daß er in eine Datei geschrieben wird, kann die Option `-m` verwendet werden:

`pgp -m letter.pgp`

Dieser Befehl zeigt den entschlüsselten Klartext am Bildschirm an.(*)

(*)Mit den Tasten `LEERTASTE`, `RETURN` und `B` kann im Text geblättert werden. Mit `Q` wird das Lesen beendet. d.Ü.

Im Abschnitt Auswahl eines Programms für die Textanzeige am Bildschirm erfahren Sie, wie Sie ein externes Anzeigeprogramm einbinden, das das Lesen komfortabler macht.

# Verschlüsseln einer Nachricht "nur für die Augen der Empfängerin"

Um festzulegen, daß die Empfängerin den entschlüsselten Klartext nur am Bildschirm lesen, ihn aber nicht in eine Datei schreiben kann, wird die Option `-m` beim Verschlüsseln verwendet:

`pgp -sem message.txt Empfänger-ID`

Wenn die Empfängerin eine so verschlüsselte Nachricht mit ihrem privaten Schlüssel und ihrem Mantra entschlüsselt, wird der Klartext nur auf ihrem Bildschirm angezeigt, aber nicht auf der Festplatte gespeichert. Die Textanzeige erfolgt auf dem Bildschirm so, wie zuvor im Abschnitt Anzeige des entschlüsselten Klartextes am Bildschirm beschrieben. Wenn der Empfänger die Nachricht ein zweites Mal lesen will, muß er die Nachricht erneut entschlüsseln.

Diese Option ist der sicherste Weg, um zu verhindern, daß vertrauliche Nachrichten versehentlich als Klartext auf der Festplatte des Empfängers liegenbleiben. Diese Option wurde in PGP auf Anfrage eines Benutzers eingebaut, der seiner Liebsten intime Nachrichten schicken wollte, aber befürchtete, daß sie unabsichtlich eine entschlüsselte Nachricht auf dem Computer ihres Ehemanns liegen lassen könnte.(*)

(*)Es ist natürlich trotzdem möglich, durch ein Umlenken der Ausgabe den entschlüsselten Text in eine Datei zu speichern. Der Zweck der Option liegt darin, daß dies nicht unabsichtlich geschieht. d.Ü.

# Beibehaltung des originalen Dateinamens des Klartextes

Normalerweise gibt PGP der Datei mit dem entschlüsselten Klartext den gleichen Namen wie der Datei mit dem verschlüsselten Text, aber ohne Suffix. Ein anderer Name für die Klartext-Datei kann mit der Option `-o` festgelegt werden. Bei den meisten E-Mail-Nachrichten ist dies sinnvoll, weil man so den Dateinamen bei der Entschlüsselung festlegen kann und typische Nachrichten meist unbrauchbare ursprüngliche Dateinamen wie `an_phil.txt` oder `krypt.msg` haben.

Wenn PGP eine Klartext-Datei verschlüsselt, fügt es den originalen Dateinamen dem Klartext vor der Komprimierung bei. Normalerweise verwendet PGP diesen originalen Dateinamen bei der Entschlüsselung nicht, aber bei Bedarf kann PGP angewiesen werden, der entschlüsselten Klartext-Datei diesen Namen zu geben. Das ist sinnvoll, wenn PGP dazu benutzt wird, Dateien zu ver- und entschlüsseln, deren Name von Bedeutung ist.

Um den originalen Namen der Klartext-Datei bei der Entschlüsselung zu erhalten, kann die Option `-p` verwendet werden:

`pgp -p verschlüsselte-datei`

Ich benutze diese Option normalerweise nicht, weil andernfalls ungefähr die Hälfte der an mich gerichteten E-Mail-Nachrichten den gleichen Dateinamen wie `an_phil.txt` oder `prz.txt` hätten.

# Ändern der Benutzer-ID und des Mantra

Ab und zu kann es erforderlich sein, das Mantra zu ändern, beispielsweise dann, wenn jemand beim Eintippen des Mantra zugeschaut hat. Oder die Benutzer-ID muß geändert werden, sei es wegen einer Heirat oder wegen einer geänderten E-Mail-Adresse. Oder es soll dem Schlüssel eine zweite oder dritte Benutzer-ID hinzugefügt werden, um mehrere E-Mail-Adressen oder Berufsbezeichnungen einzutragen. Mit PGP können einem Schlüssel mehrere Benutzer-IDs hinzugefügt werden, und jede dieser IDs kann für die Auswahl des Schlüssel aus dem Bund mit öffentlichen Schlüsseln verwendet werden. Die eigene Benutzer-ID und das Mantra können mit folgendem Kommando geändert werden:

`pgp -ke Benutzer-ID [Schlüsselbund]`

PGP fragt dann nach der neuen Benutzer-ID und dem neuen Mantra. Wenn der optionale Parameter `Schlüsselbund` angegeben wird, muß es sich um einen Bund mit öffentlichen Schlüsseln handeln, nicht mit geheimen. Der Parameter `Benutzer-ID` muß die eigene ID sein. PGP erkennt dies daran, daß diese ID sowohl im Bund mit öffentlichen Schlüsseln als auch im Bund mit geheimen Schlüsseln auftaucht. Beide Dateien werden geändert, auch wenn ein Bund mit öffentlichen Schlüsseln als Parameter angegeben wurde.

# Ändern der Vertrauensparameter für einen öffentlichen Schlüssel

Manchmal müssen die Vertrauens-Einstellungen für einen öffentlichen Schlüssel geändert werden. Was diese Vertrauensparameter sind, steht in Teil I des Handbuchs im Abschnitt Wie überprüft PGP, welche Schlüssel gültig sind?. Mit folgendem Befehl können die Vertrauensparameter für einen öffentlichen Schlüssel geändert werden:

`pgp -ke Benutzer-ID [Schlüsselbund]`

Wenn der optionale Parameter `Schlüsselbund` angegeben wird, muß es ein Bund mit öffentlichen Schlüsseln sein, nicht mit geheimen Schlüsseln.

# Prüfen, ob der Bund mit öffentlichen Schlüsseln intakt ist

Normalerweise prüft PGP automatisch jeden Schlüssel und jede Unterschrift, die einem Bund mit öffentlichen Schlüsseln hinzugefügt werden, und paßt automatisch die Vertrauenseinstellungen und Gültigkeitswerte an. Theoretisch paßt es die Gültigkeitswerte für alle betroffenen Schlüssel an, wenn ein Schlüssel dem Bund mit öffentlichen Schlüsseln hinzugefügt oder aus ihm gelöscht wird. Manchmal möchte man aber auch dann eine umfassende Analyse haben, wenn keine Änderungen an dem Schlüsselbund erforderlich sind: Prüfen der Bestätigung(en) der einzelnen Schlüssel, Prüfen der Vertrauensparameter, Neuberechnung der Gültigkeitswerte und Vergleich des eigenen, absolut vertrauenswürdigen Schlüssels mit der Sicherheitskopie auf einer schreibgeschützten Diskette. Es ist sinnvoll, diese Integritätsprüfung in regelmäßigen Abständen durchzuführen, um sicherzustellen, daß der Bund mit öffentlichen Schlüsseln wirklich intakt ist. Mit der Option `-kc` führt PGP eine vollständige Analyse des Bunds mit öffentlichen Schlüsseln aus:

`pgp -kc`

Mit folgendem Befehl prüft PGP die Unterschriften für einen bestimmten öffentlichen Schlüssel:

`pgp -kc Benutzer-ID [schlüsselbund]`

Weitere Informationen darüber, wie der eigene Schlüssel mit einer Sicherheitskopie verglichen wird, stehen bei der Beschreibung des Parameters `BAKRING` im Abschnitt Die Konfigurationsdatei.

Eine komplette Überprüfung des Schlüsselbunds kann auch mit dem Befehl `pgp -km` durchgeführt werden, hierbei zeigt PGP auch die Vertrauensketten an.

# Telefonische Kontrolle eines öffentlichen Schlüssels

Es kann vorkommen, daß man einen öffentlichen Schlüssel bekommt, der nicht von einer anderen vertrauenswürdigen Person bestätigt ist. Dann stellt sich die Frage, wie sich die Echtheit dieses Schlüssels feststellen läßt. Der beste Weg hierfür ist die Kontrolle des Schlüssels über einen anderen Kanal als den, über den der Schlüssel geschickt wurde. Wenn man die Person kennt, der der öffentliche Schlüssel gehört, und wenn man auch ihre Stimme am Telefon erkennt, besteht eine einfache und bequeme Lösung des Problems darin, sie anzurufen, und den Schlüssel im Gespräch zu kontrollieren(*). Hierzu braucht man sich nicht mühsam den ganzen ASCII-dargestellten Schlüssel vorzulesen. Es reicht, den verhältnismäßig kurzen Fingerabdruck des Schlüssels zu vergleichen. Den Fingerabdruck eines Schlüssel gibt PGP mit der Option `-kvc` aus:

`pgp -kvc Benutzer-ID [schlüsselbund]`

(*)Die Frage, unter welchen Voraussetzungen die telefonische Kontrolle eines Schlüssels wirklich zuverlässig möglich ist, ist zusammen mit der Frage, wann man für die Echtheit eines fremden Schlüssel mit der eigenen Unterschrift bürgen kann, das wahrscheinlich schwierigste, aber auch interessanteste Problem bei PGP. So taucht in den Foren von MailBoxnetzen immer wieder die Frage auf, ob sich die telefonische Kontrolle eines Schlüssels auch dann durchführen läßt, wenn sich die Gesprächspartner nicht kennen. Wir halten das nicht für möglich. Für weitere Betrachtungen zu dem Problem der Schlüsselkontrolle sei auf die FAQs verwiesen. d.Ü.

PGP zeigt die Benutzer-ID zusammen mit dem 16 Byte langen Fingerabdruck an. Wenn beide Gesprächspartnerinnen diesen PGP-Befehl ausführen, können sie den Schlüssel anhand des Fingerabdruck kontrollieren.

Wenn die Echtheit sowohl des eigenen öffentlichen Schlüssels als auch des öffentlichen Schlüssels des Gesprächspartners überprüft ist, kann die Echtheit der Schlüssel wechselseitig durch eine Unterschrift bestätigt werden. Dies ist ein sicherer und komfortabler Weg, um mit dem Aufbau eines Netzes vertrauenswürdiger Schlüssel innerhalb eines Kreises von Freunden und Freundinnen zu beginnen.

# Ein Wort zu großen öffentlichen Schlüsselbunden

PGP ist ursprünglich entwickelt worden, um kleine Schlüsselbunde mit ein paar hundert Schlüsseln zu verwalten. Mit der Zeit ist PGP aber sehr verbreitet geworden, so daß viele Leute nun geradezu riesige Schlüsselbunde verwenden.(*) Hierfür ist PGP gegenwärtig noch nicht ausgelegt. Für die Aufnahme einiger Tausend Schlüssel in Ihren persönlichen Schlüsselbund kann PGP erhebliche Zeit brauchen.

(*)Es gibt beispielsweise in Hamburg einen Keyserver, auf dem mehrere Megabyte an öffentlichen Schlüsseln liegen. d.Ü.

Vielleicht möchten Sie einen riesigen "importierten" Schlüsselbund Ihrem eigenen hinzufügen, obwohl Sie eigentlich nur an ein paar Dutzend Schlüsseln interessiert sind. Wenn das alles ist, was Sie mit so einem riesigen Schlüsselbund anstellen möchten, gibt es einen effizienteren Weg: Extrahieren Sie die wenigen für Sie interessanten Schlüssel aus dem großen Bund und fügen Sie diese Schlüssel Ihrem eigenen Bund hinzu.

Die richtige Lösung wäre natürlich, PGP so zu verbessern, daß es geeignete Datenbanktechniken für die Handhabung großer Schlüsselbunde verwendet. Doch solange dies nicht geschehen ist, müssen Sie entweder kleinere Dateien verwenden oder sich mit Geduld wappnen.

# PGP als Filterprogramm im Unix-Stil

Unix-Fans sind es gewöhnt, "pipes" zu verwenden, um Daten zwischen zwei Programmen auszutauschen. Der Output eines Programms kann mittels einer "pipe" als Input in ein zweites Programm gelenkt werden. Damit dies funktioniert, müssen die Programme ihre Daten aus dem standard input lesen und in den standard output schreiben. PGP kann in dieser Form arbeiten. Falls Ihnen schleierhaft ist, was obiges zu bedeuten hat, werden Sie diese Möglichkeit wahrscheinlich auch nicht brauchen, so daß Sie diesen Abschnitt überlesen können. Wenn die Option `-f` verwendet wird, arbeitet PGP als Unix-Filter. Beispiel:

`pgp -feast Benutzer-ID <inputfile >outputfile`

Diese Option kann die Verwendung von PGP zusammen mit E-Mail-Programmen vereinfachen.

Wenn man PGP als Unix-Filter verwendet, möglicherweise in einem Unix-Script oder in einer MS-DOS-Batchdatei, kann es sinnvoll sein, die Umgebungsvariable `PGPPASS` zu verwenden, um zu verhindern, daß PGP bei jedem Aufruf das Mantra abfragt. `PGPPASS` ist weiter unten beschrieben.

# Unterdrückung nicht notwendiger Fragen: `BATCHMODE`

Wird in der PGP-Befehlszeile `BATCHMODE` angegeben, stellt PGP während des Programmablaufes keinerlei unnötige Fragen. Beispiel:

`pgp +batchmode verschlüsselte_datei`

Dies ist sinnvoll, wenn PGP aus Unix Shell-Scripts oder aus einer MS-DOS-Batchdatei aufgerufen wird. Manche PGP-Befehle für die Schlüsselverwaltung brauchen in jedem Fall Eingaben durch die Benutzerin. Sie sollten deshalb in Shell-Scripts vermieden werden.

`BATCHMODE` kann auch bei der Prüfung der Echtheit einer Unterschrift verwendet werden. Ist die Unterschrift nicht in Ordnung, wird als Beendigungscode 1 zurückgegeben. Bei einer intakten Unterschrift gibt PGP den Wert 0 zurück.

# "Ja" als Standardantwort bei Bestätigungsabfragen: `FORCE`

`FORCE` veranlaßt PGP, "ja" als Standardantwort anzunehmen, wenn es danach fragt, ob eine bereits existierende Datei überschrieben werden soll, oder ob ein öffentlicher Schlüssel aus einem Schlüsselbund mit `-kr` entfernt werden soll. Beispiel:

`pgp +force verschlüsselte_datei`

oder:

`pgp -kr +force smith`

`FORCE` kann praktisch sein, wenn PGP aus einer MS-DOS-Batchdatei bzw. einem Unix-Script aufgerufen wird.

# Der Beendigungscode von PGP

Um den Betrieb von PGP aus Unix-Scripten oder MS-DOS-Stapeldateien zu unterstützen, gibt PGP eine Statusmeldung an die aufrufende Shell zurück. Ein Beendigungscode von Null bedeutet, daß kein Fehler auftrat; jeder andere Wert signalisiert einen Fehler. Jeder Fehler erzeugt einen anderen Code.(*)

(*) Eine Liste der möglichen Fehlercodes finden Sie hier.

# Umgebungsvariable für das Mantra: `PGPPASS`

Normalerweise fragt PGP das Mantra genau zu dem Zeitpunkt ab, wenn ein geheimer Schlüssel benötigt wird. Das Mantra kann aber auch in der Umgebungsvariablen `PGPPASS` gespeichert werden. Wenn `PGPPASS` definiert ist, versucht PGP, ihren Wert als Mantra für den Zugriff auf einen geheimen Schlüssel zu verwenden. Ist das in `PGPPASS` gespeicherte Mantra nicht korrekt, fragt PGP nach dem richtigen Mantra.

Unter MS-DOS könnte das Mantra so gesetzt werden:

`SET PGPPASS=Zaphod Beeblebrox wird Bundespräsident`

Die Eingabe eines Mantra während des Laufes von PGP ist dann nicht mehr erforderlich, vorausgesetzt, daß "Zaphod Beeblebrox wird Bundespräsident" wirklich das richtige Mantra ist.

Die Verwendung von `PGPPASS` ist einerseits gefährlich, macht aber andererseits die Arbeit mit PGP wesentlich einfacher, wenn man regelmäßig größere Mengen verschlüsselter Nachrichten erhält.

Die Auswertung der Umgebungsvariablen `PGPPASS` habe ich auf vielfachen Wunsch hin in PGP aufgenommen. Die Verwendung von `PGPPASS` ist aber gefährlich, weil das Mantra dann nicht nur in Ihrem Gedächtnis, sondern auch irgendwo im Speicher Ihres Rechner steht. Leichtsinnig wäre es, das Mantra in einer Datei auf demselben Rechner zu speichern, auf dem auch Ihre Datei `secring.pgp` steht. Nicht nur sehr leichtsinnig, sondern einfach dumm wäre es, das Mantra in einer Batchdatei, am Ende gar in `autoexec.bat`, zu speichern. Jedermann könnte sich in der Mittagspause an Ihren Rechner setzen, und sowohl Ihr Mantra als auch Ihren geheimen Schlüsselbund mitgehen lassen.

Die Gefährlichkeit von `PGPPASS` kann nicht stark genug betont werden. Bevor Sie sich überlegen, ob Sie `PGPPASS` trotzdem verwenden, sollten Sie auf jeden Fall die Abschnitte Probleme bei Mehrplatzcomputern, und Öffentliche Schlüssel vor Manipulation schützen, genau lesen.

Falls Sie `PGPPASS` unbedingt brauchen, ist es am sichersten, das Kommando zum Setzen von `PGPPASS` unmittelbar vor der Benutzung von PGP einzutippen und unmittelbar nach der Benutzung von PGP `PGPPASS` wieder zu löschen oder den Computer auszuschalten. Sie sollten `PGPPASS` auf keinen Fall verwenden, wenn andere Personen Zugang zu Ihrem Computer haben. Es könnte jemand vorbeikommen und Ihr Mantra ganz einfach durch Abfragen der Umgebungsvariablen herausfinden.

> PGP stellt noch weitere, weniger bedenkliche Methoden zur Verfügung, mit denen die Eingabe des Mantras automatisiert werden kann. Auch diese sind Sicherheitsrisiken, aber kleinere.

> Das Mantra kann mit der Option `-z` in der Befehlszeile übergeben werden:

> `pgp -m "-zZaphod Beeblebrox wird Bundespräsident"

> geheim.pgp

> `

> Oder es wird in eine (vor anderen Benutzern geschützte) Datei geschrieben und der Pfad und der Dateiname dieser Datei in der Umgebungsvariablen `PGPPASSFD` gespeichert.

Dies ist Zugriff auf diese Seite.