19.12.2016
Der Hauptschlüssel ist die zentrale Komponente eines OpenPGP-Zertifikats, die als einzige nicht ausgetauscht werden kann. Der Fingerprint (und dementsprechend auch die short und long ID) bezieht sich auf den Hauptschlüssel.
Wofür der Hauptschlüssel verwendet wird, hängt von der Struktur des konkreten Zertifikats ab. Abgesehen von sehr speziellen Situationen braucht man sich darum nicht zu kümmern, weil automatisch der richtige Teil des Schlüssels ausgewählt wird.
Ein Zertifikat besteht aus genau einem Hauptschlüssel und eventuell einem oder mehreren Unterschlüsseln. Technisch unterscheiden sich diese beiden Kategorien nicht, abgesehen von der Einschränkung, dass der Hauptschlüssel in der Lage sein muss, Signaturen zu erstellen, was bei Verschlüsselungs-Unterschlüsseln nicht der Fall ist. Der Hauptschlüssel ist immer der erste Teil eines neuen Zertifikats, der erstellt wird, weil alles andere auf ihm aufbaut (d.h., von ihm unterschrieben werden muss).
Der aktuelle Standard (2014, GnuPG 2.0.22) ist ein RSA-Hauptschlüssel für Signaturen mit einem RSA-Unterschlüssel zur Verschlüsselung.
Ausgabe von gpg --list-keys 0x1a571df5
:
pub 4096R/0x1A571DF5 2012-11-04 [verfällt: 2014-11-05] uid [ uneing.] Hauke Laging (Standardadresse) <hauke@laging.de> uid [ uneing.] Hauke Laging (Standardschlüssel: siehe policy URL und signature notations) sub 2048R/0x81F06169 2012-11-04 [verfällt: 2014-11-05]
Ausgabe | Bedeutung |
---|---|
pub 4096R | der Hauptschlüssel ist ein RSA-Schlüssel mit 4096 Bit Länge |
0x1A571DF5 | short ID |
2012-11-04 | Erzeugungsdatum des (Haupt-)Schlüssels |
2014-11-05 | Verfallsdatum (kann verlängert werden) |
uid | User-ID (Benutzerkennung) |
[ uneing.] | Gültigkeit des Zertifikats (bzw. der jeweiligen User-ID) |
sub | Unterschlüssel (in diesem Fall (nicht angezeigt) zur Verschlüsselung) |
Da man die Unterschlüssel austauschen kann, den Hauptschlüssel aber nicht und außerdem nur der Hauptschlüssel für den Aufbau des Web of Trust relevant ist, kann man den Hauptschlüssel als den wichtigsten Teil eines Zertifikats ansehen, auch wenn im Einzelfall die Vertraulichkeit der Daten und Authentizität der Signaturen (also die Sicherheit der Unterschlüssel) von größerer Bedeutung sein mag. Zum Glück kann man den Hauptschlüssel sichern, als Offline-Hauptschlüssel.
Die Trennung in Haupt- und Unterschlüssel hat mehrere Vorteile:
Man wird technisch flexibler. Man kann (für einen Teil des Zertifikats) auch solche Algorithmen verwenden, die grundsätzlich nur signieren können (wie DSA) oder aus Sicherheitsgründen nur zum Verschlüsseln verwendet werden (ElGamal).
Durch diese Flexibilität kann man für denselben Zweck mehrere Schlüssel zur Verfügung stellen, so dass Kommunikationspartnern, die neue Technik verwenden (können), diese auch konkret zur Verfügung steht, gleichzeitig aber Kommunikationspartner mit älteren (oder aus anderen Gründen begrenzten) OpenPGP-Implementierungen nicht ausgeschlossen werden.
Unterschlüssel lassen sich leicht austauschen. Der Kommunikationspartner braucht nur ein aktualisiertes Zertifikat (also eins, das die neuen Schlüssel enthält) zu importieren; die neuen Schlüssel werden dann automatisch erkannt und verwendet (es braucht keine neue Überprüfung des Schlüssels / Fingerprints stattfinden).
Deshalb braucht man nicht das ganze Zertifikat zu entsorgen, wenn Unterschlüssel kompromittiert wurden. Auch wenn man keinen konkreten Grund hat, eine Kompromittierung der Schlüssel anzunehmen, kann man sie regelmäßig (z.B. alle ein, zwei Jahre) austauschen.
Wenn man im Rahmen von Strafverfolgungsmaßnahmen (als Beschuldigter oder als Zeuge) de jure oder de facto gezwungen ist, einen Schlüssel herauszugeben (was eigentlich nur bei Verschlüsselungsschlüsseln passieren kann), dann kann man dies tun, ohne dass die Strafverfolger dadurch in die Lage versetzt werden, die eigenen Unterschriften zu "fälschen". Es ist bei GnuPG allerdings möglich, statt des asymmetrischen Verschlüsselungsschlüssels (für alle Nachrichten) für einzelne Nachrichten den symmetrischen Verschlüsselungsschlüssel herauszugeben. Allerdings wäre dann klar, für welche Nachrichten sich die Strafverfolger interessieren.
Man kann dadurch Offline-Hauptschlüssel nutzen (was bei X.509 derzeit so prinzipiell nicht möglich ist).