[Hauptseite Server] [Hauptseite PGP] [Key Signing Sessions] [Session Februar 2006]
UK flag [the english version]

Erklärungen zu Begriffen rund um PGP

Letzte Änderungen

Schlüsseldaten

Die Schlüsseldaten bestehen aus drei Elementen:

  1. Fingerabdruck, z.B. AD 23 A1 90 B1 2B AF BA 44 49 16 7E 3D A0 F3 C3
  2. Schlüssellänge, z.B. 2020 Bits
  3. Schlüssel-ID, z.B. DD934139

Diese Daten können mit pgp -kvc <userID> abgerufen werden.
Ein Schlüssel wird mit diesen Angaben identifiziert und einem Benutzer (der in der oder den User ID angegeben ist) zugeordnet.

Beim alten Schlüsselformat (RSA Schlüssel) müssen diese drei Angaben zusammen mit der userID überprüft werden. Beim neuen Schlüsselformat reicht es den Fingerabdruck und die userID zu vergleichen.

Fingerabdruck (key fingerprint)

Eine Art Kontrollsumme, die aus dem Schlüssel berechnet wird. Die Wahrscheinlichkeit, dass zwei Schlüssel dieselbe Kontrollsumme haben, ist vernachlässigbar klein.
Mit dem alten PGP Schlüsselformat ist möglich, gezielt einen Schlüssel mit derselben Kontrollsumme zu erzeugen. Dies ist mit dem neuen PGP Schlüsselformat praktisch nicht möglich.

Wird im alten PGP Format ein Schlüssel mit derselben Kontrollsumme erzeugt, ist die Schlüssellänge unterschiedlich. Deshalb müssen alle Schlüsseldaten verglichen werden.
Üblicherweise kann ein Schlüssel mit gefälschtem Fingerabdruck nicht zur sicheren Kommunikation benutzt werden, da sie kein Produkt zweier Primzahlen mehr sind und einfach faktorisiert werden können. Es dürfte auch schwierig sein, den dazugehörigen secret key zu generieren. Der Schlüssel kann aber trotzdem auf dem Keyserver deponiert werden.

Schlüssel-ID (key ID)

Eine 8 Byte grosse Zahl in sedezimaler Schreibweise, die eindeutig einen Schlüssel identifizieren soll. Von diesen 8 Byte werden von PGP jeweils die 4 niederwertigsten angezeigt. Es wäre möglich, dass ein zweiter Schlüssel dieselbe Schlüssel-ID hat. Auf den Keyservern (mit im Juli 1999 mit ca. 600'000 Schlüsseln) gibt es einige solche Kollisionen. Damit PGP zwischen einem Benutzernamen (UserID) und einer Schlüssel-ID unterscheiden kann, wird dem Schlüssel-ID ein 0x vorangestellt, z.B. 0xDD934139.

Keyserver

Rechner, die eine Datenbank mit öffentlichen Schlüsseln und Unterschriften führen. Die Server (im Moment über 50) tauschen neue Schlüssel/Unterschriften untereinander aus. Dadurch kann für Abfragen ein beliebiger Server verwendet werden.

Weitere Informationen über Keyserver:

UserID

Der Benutzername, der zu einem Schlüssel gehört. Im Prinzip kann das ein beliebiger String sein, per Konvention ist das Format aber festgelegt:

Format Beispiel
Name <eMail> Patrick Feisthammel <pafei@rubin.ch>

Ein Schlüssel kann mit mehreren UserID's versehen werden. Das führt aber oft zu Problemen, darum sollte wenn immer möglich nur eine UserID verwendet werden.

Schlüsselformat

In den PGP Versionen vor 5.0 wurden die Schlüssel in einem Format gespeichert, dass die interne Versionsnummer 3 trägt. In dieser Version wird für die Ermittlung des Fingerabdrucks die Schlüssellänge nicht mitberücksichtigt. Desshalb muss bei der Überprüfung der Schlüsseldaten auch die Schlüssellänge verglichen werden.
In diesem Format (V3) können nur RSA Schlüssel gespeichert werden. Ab PGP 5.0 wurde ein neues Format (V4) eingeführt, das die Schlüssellänge bei der Berechnung des Fingerabdrucks mitberücksichtigt. Dadurch muss bei diesen Schlüsseln (meist DH/DSS Schlüssel) die Schlüssellänge nicht zusätzlich überprüft werden.

Das Format V4 ermöglicht auch die Speicherung von RSA Schlüsseln im neuen Format. Mir ist bis heute (July 1999) keine Software bekannt, die dies macht. Solche RSA Schlüssel können aber dann natürlich nicht mehr mit alter PGP Software benutzt werden.

Weiter Infos: Die Schlüsselformate sind im RFC2440 festgelegt.

Geheimer Schlüssel (secret key)

In einem Public Krypto Keysystem wird ein geheimer und ein öffentlicher Schlüssel benötigt. Der geheime Schlüssel darf nur einer Person bekannt sein, den öffentlichen Schlüssel sollen alle kennen.

Mantra / Passsatz / Passphrase

Um den Zugriff auf den geheimen Schlüssel nur berechtigten Personen zu gewähren, wird der geheime Schlüssel mit einem Mantra (auch Passphrase genannt) geschützt.

Dieses Mantra muss um den Schutz des geheimen Schlüssels sicherzustellen möglichst unknackbar sein. Ein normales Passwort reicht nicht aus. Darum wir es auch als Passsatz bezeichnet.

Öffentlicher Schlüssel (public key)

In einem Public Krypto Keysystem wird ein geheimer und ein öffentlicher Schlüssel benötigt. Den öffentlichen Schlüssel sollen alle kennen. Mit diesem kann eine Nachricht so verschlüsselt werden, das sie nur vom Inhaber des geheimen Schlüssel gelesen werden kann.

Schlüsselbund (key ring)

Jeder PGP Benutzer sammelt die öffentlichen Schlüssel anderer PGP Benutzer in einer Datei, dem Schlüsselbund.

Genaugenommen gibt es zwei Schlüsselbünde. Einen für die öffentlichen Schlüssel und einen für die geheimen Schlüssel. Der Schlüsselbund mit den öffentlichen Schlüssel wird in der Datei pubring.pgp (PGP 2.x.x) oder pubring.pkr (PGP 5.x) abgespeichert. Derjenige für die geheimen Schlüssel in der Datei secring.pgp (PGP 2.6.x) oder secring.skr (PGP 5.x).

Elektronische Unterschrift

Eine elektronische Unterschrift kann zum Teil mit einer handschriftlichen Unterschrift verglichen werden:

Sie kann nur von der Person stammen, die die Unterschrift erzeugen kann.

Eine elektronische Unterschrift bindet aber ein Dokument viel stärker an die Unterschrift. Auf einem Papier kann nach der Unterschrift noch etwas geändert werden. Das Blatt könnte sogar erst nach dem Anbringen der Unterschrift beschrieben werden (Blanko-Unterschrift).

Eine elektronische Unterschrift passt nur genau zu dem Dokument, zu dem die Unterschrift gemacht wurde.

Jede Änderung des Dokumentes lässt die elektronische Unterschrift ungültig werden.

Ausser Dokumenten können auch andere Schlüssel unterschrieben werden. Dabei handelt es sich dann um ein Schlüsselzertifikat.

Key revocation Zertifikat

Soll ein Schlüssel ungültig erklärt werden, wird ein Key revocation Zertifikat benötigt. Ein solches Zeritifikat ist ähnlich einer Unterschrift unter einem Schlüssel (Schlüsselzertifikat). Nur wird damit der Schlüssel als ungültig erklärt.
Dies kann z.B. nötig sein, wenn

Um ein solches Zertifikat zu erzeugen, ist der geheime Schlüssel und der Passsatz nötig. Wer eines von beidem nicht (mehr) hat, kann kein Zertifikat mehr erzeugen.
Das ist eine sehr unangenehme Situation, darum sollte so ein Zertifikat gleich beim Erstellen eines neuen Schlüssels auch generiert werden.

Schlüsselzertifikat

Ein Schlüsselzertifikat ist eine elektronische Unterschrift unter einen öffentlichen Schlüssel. Mit einer solchen Unterschrift wird bestätigt, dass der unterschriebene Schlüssel der angegebenen Person gehört.

Bei PGP wird jeweils eine user-ID signiert. Bei Schlüsseln mit mehreren userID's sollte jede userID signiert werden.

Die Schlüsselzertifikate bilden zusammen das Web of trust (Vertrauensnetz).
Siehe auch: Keyserver

Eigenunterschrift (selfsigned signature)

Dies ist ein Schlüsselzertifikat das mit dem eigenen Schlüssel ausgestellt ist. Dies bindet die userID des Schlüsselinhabers an den Schlüssel.

Jeder Schlüssel muss eine solche Eigenunterschrift tragen. Ansonsten könnte die userID manipuliert werden, ohne dass dies von PGP erkannt werden kann.

Beispiel eines Schlüssel mit Eigenunterschrift:

Type Bits/KeyID    Date       User ID
pub  2048/A094DA25 1999/07/24 Patrick Feisthammel CERTIFICATION ONLY, Key A
            Key fingerprint = 2C 03 41 8E 72 82 6D 91  6A ED 83 45 A5 AF 13 DB
sig       A094DA25             Patrick Feisthammel CERTIFICATION ONLY, Key A

Das Public Krypto Keysystem (PKK)

Diese Erklärung ist nur sehr rudimentär. Weitere Informationen finden sich in der Dokumentation zu PGP.

Jeder Benutzer generiert zwei Schlüssel: Einen geheimen und einen öffentlichen Schlüssel. Der öffentliche Schlüssel wird möglichst weit verbreitet, der geheime soll sonst niemand je sehen.

Verschlüsseln: Wird eine Meldung mit einem öffentlichen Schlüssel verschlüsselt, kann sie nur mit dem passenden geheimen Schlüssel entschlüsselt werden.

Unterzeichnen: Es wird eine Hashcode (eine Art Kontrollsumme, wobei es extrem schwer ist einen zweiten Text zu finden, der dieselbe Kontrollsumme hat) der Meldung errechnet und dieser mit dem geheimen Schlüssel verschlüsselt. Der Empfänger entschlüsselt den Hashcode mit dem öffentlichen Schlüssel und vergleicht ihn mit dem selber errechneten Hashcode der Meldung. Sind die Hashcodes gleich, passt die Unterschrift zum Dokument.

PGP verwendet als PKK den RSA Algorithmus. Eine kurze gute (mathematische) Erklärung, wie RSA funktioniert findet sich in PGP Attacks.


Hinweise, Kommentare per mail an Patrick Feisthammel <pafei@rubin.ch>
Letzte Änderung: 19 Juni 2002, Patrick Feisthammel