
Ich verwende PGP und dann GnuPG seit über 20 Jahren und mein ältester Schlüssel befindet sich seit 1996 immer noch auf dem MIT-Server. (RSA 1024 ohne Unterschlüssel ...)
Im Laufe der Zeit wurden die Schlüssel zu Paaren aus Haupt- und Nebenschlüssel. In all diesen JahrenIch habe den Unterschlüssel nicht ein einziges Mal benötigtFunktion. Ich kenne auch niemanden persönlich, der sie verwendet hat.
Ich habe zwar alle „guten Gründe“ gelesen, warum Unterschlüssel „verwendet werden sollten“, aber keiner dieser Gründe traf auf mich zu.
Beispielsweise sind Unterschlüssel großartig, wenn der Verschlüsselungsschlüssel kompromittiert wurde!!! Aber meine Verschlüsselungsschlüssel wurden nie kompromittiert. Und ich kenne auch niemanden, dessen Schlüssel kompromittiert wurden.
Oder angeblich ist es gut für Organisationen, bei denen ein Hauptschlüssel mit vielen Verschlüsselungsschlüsseln verknüpft ist. Ich habe es nicht gesehen. Ich frage mich, ob eine solche Organisation irgendwo in diesem Universum existiert. Nach allem, was ich gesehen habe, scheint die Unterschlüssel-Idee ein Fall vonÜberentwicklungmit keiner oder nur sehr seltener Verwendung im wirklichen Leben. Vielleicht ist die Idee nur eine Rationalisierung des DSA/elGamal-Schemas.
Auf jeden Fall arbeite ich an einer Software, bei der keine Unterschlüssel verwendet werden. Außerdem möchte ich, dass meine Schlüssel mit RetroShare kompatibel sind (einem sicheren P2P-IM-Chat und Dateiaustausch, bei dem nur einzelne Schlüssel ohne Unterschlüssel verwendet werden).
Weiß jemand, ob es eine Möglichkeit gibt, Schlüssel ohne Unterschlüssel zu generieren? Ich kenne nur die Option zum Entfernen von Unterschlüsseln im Menü „--edit-key“. Ich weiß nicht, ob Schlüssel ohne sie generiert werden können. Gibt es eine Möglichkeit? Vielen Dank für jede Hilfe, um dieses Problem besser zu verstehen.
Antwort1
Vorteile der Verwendung von Unterschlüsseln
Die Mentalität, lieber Unterschlüssel zu verwenden, mag wie Überentwicklung aussehen, hat aber einige starke Argumente. Die Notwendigkeit bei Verwendung mit Nur-Signatur-Algorithmen wie DSA ist offensichtlich (und wird nicht diskutiert). Die Möglichkeit, den privaten Primärschlüssel offline zu stellen (und das Risiko zu verringern, ihn zu verlieren) und die einfachere Rotation von Schlüsseln können sehr wichtig erscheinen, wenn man sich nicht stark auf das Web of Trust verlässt. Aber es gibt noch andere Gründe: Die getrennte Verwendung kann das Risiko verringern, wenn sowohl Verschlüsselung als auch Signaturen verwendet werden. Beispielsweise gab es einmal einen Fehler mit schlechten Zufallszahlen und DSA-Schlüsseln, bei dem das Ausstellen einer Reihe von Signaturen Ihren privaten Schlüssel enthüllte. Wenn dieser Schlüssel auch zur Verschlüsselung verwendet worden wäre, wäre auch Ihre private Kommunikation offengelegt worden. Natürlich sind DSA-Schlüsselkonnte nichtwurden zur Verschlüsselung verwendet, sagen aber, dass bei RSA keine ähnlichen Probleme auftreten werden?
Ein weiteres Beispiel: OpenSSH hatte einige Probleme, die möglicherweise Ihre privaten SSH-Schlüssel an den Schlüsselserver weitergaben. Ich verwende OpenPGP-Authentifizierungsunterschlüssel zusammen mit Monkeysphere. In diesem Fall wäre mein Authentifizierungsunterschlüssel weitergegeben worden, nicht mein Primärschlüssel. Das Ersetzen des Authentifizierungsunterschlüssels dauerte fünf Minuten, das Verteilen völlig neuer Schlüssel hätte eine Stunde (oder sogar länger) gedauert.
Unterschlüssel erhöhen zwar die Komplexität, aber das merkt man nicht wirklich und es funktioniert einfach gut. Der Rechen- und Speicheraufwand ist vernachlässigbar, es entsteht kein zusätzlicher manueller Aufwand. Warum nicht einfach einige (mögliche) zusätzliche Vorteile „kostenlos“ mitnehmen?
Ich benutze sie sowieso nicht
Es könnte durchaus Gründe gebennichtUnterschlüssel zu verwenden. Vielleicht möchten Sie sich nur auf einige Teile der OpenPGP-Infrastruktur verlassen und sich nicht um Vertrauensmanagement und andere Dinge kümmern. Wenn Sie Software für andere erstellen, sollten Sie Ihre Benutzer nicht einschränken: Vielleicht wäre es für einige auch sinnvoll, einfach einen Unterschlüssel bereitzustellen, anstatt ein völlig unabhängiges Schlüsselpaar zu erstellen?
Das Generieren von Schlüsseln ohne Unterschlüssel erfordert die Verwendung eines Algorithmus, der sowohl Verschlüsselung als auch Signaturen unterstützt, was bei RSA der Fall ist (bei DSA jedoch nicht). Zum Generieren eines „allgemein verwendbaren“ Primärschlüssels ohne Unterschlüssel müssen Sie das --expert
Menü zur Schlüsselgenerierung verwenden:
gpg --expert --gen-key
Dann wähle(8) RSA (legen Sie Ihre eigenen Fähigkeiten fest). Sie können die möglichen Verwendungszwecke des Schlüssels auswählen, wobei C
(Zertifizierung) für einen Primärschlüssel erforderlich ist, S
(Signierung), E
(Verschlüsselung) und A
(Authentifizierung) beliebig ausgewählt werden können. Schließen Sie den Rest des Assistenten ab, und Sie erhalten einen Primärschlüssel ohne Unterschlüssel mit den ausgewählten Fähigkeiten.
Antwort2
@jens-erat Danke für deine Antwort, ich habe das Gleiche gesucht. Nur ein Detail zur Info:
gpg --expert --gen-key
hat bei mir nicht funktioniert (GPG 2.2.4). Das hier hat funktioniert:
gpg --expert --full-generate-key