Warum verwendet GPG / PGP standardmäßig unterschiedliche Schlüssel zum Signieren / Verschlüsseln?

22

Wenn Sie einen neuen GPG-Schlüssel erstellen, erhalten Sie standardmäßig ein Nur-Signatur-Hauptschlüsselpaar und ein Nur-Verschlüsselungs-Unterschlüsselpaar.

pub  2048R/XXXXXXXX  created: 2013-02-09  expires: 2014-02-09  usage: SC  
sec  2048R/XXXXXXXX           2013-02-09 [expires: 2014-02-09]

sub  2048R/ZZZZZZZZ  created: 2013-02-09  expires: 2014-02-09  usage: E
ssb  2048R/ZZZZZZZZ           2013-02-09 [expires: 2014-02-09]  

(Ausgabe kombiniert von gpg --list-keysund gpg --list-secret-keys)

Es wird außerdem empfohlen, Ihren Hauptschlüssel nicht zum regelmäßigen Signieren (von E-Mails / Daten) zu verwenden, sondern einen weiteren Unterschlüssel nur zum Signieren zu erstellen und Ihren Hauptschlüssel an einem sicheren und Offline-Speicherort zu entfernen / zu sichern, der nur zum Signieren von Schlüsseln verwendet wird .

Dies ist sinnvoll, da es sich bei den meisten Verschlüsselungsendpunkten um Laptops / Telefone oder andere mobile Geräte handelt, die immer online sind und Ihre privaten Schlüssel einem Diebstahls- oder Verlustrisiko aussetzen. Mit einem sicher gespeicherten Hauptschlüssel können Sie solche verlorenen Unterschlüssel jederzeit widerrufen und verlieren nie Ihre Schlüsselsignaturen.

Obwohl mir die Trennung der Hauptschlüssel <-> Unterschlüssel klar ist, verstehe ich nicht, warum der Schwerpunkt auf der Trennung von Signatur- und Verschlüsselungsschlüsseln liegt (auch wenn es sich um beide Unterschlüssel handelt). Kann jemand erklären, warum dies notwendig ist oder was der Vorteil aus sicherheitstechnischer oder praktischer Sicht ist?

Technisch gesehen ist es durchaus machbar und wird von GnuPG unterstützt, einen signierenden UND verschlüsselnden Unterschlüssel zu erstellen.

pub  2048R/YYYYYYYY  created: 2013-08-13  expires: 2014-08-13  usage: SCEA
sub  2048R/VVVVVVVV  created: 2013-08-13  expires: 2014-08-13  usage: SEA 
Chaos_99
quelle
2
Auf diese Frage gibt es bei Security.SE eine gute Antwort, falls sich jemand dafür interessiert.
GnP

Antworten:

9

Im Vereinigten Königreich ist die Verordnung von Investigatory Powers Act 2000 sagt

49 (9) Eine Bekanntmachung nach diesem Abschnitt erfordert nicht die Offenlegung eines Schlüssels, der -

(a) nur zum Erzeugen elektronischer Signaturen verwendet werden soll; und

(b) wurde tatsächlich nicht für andere Zwecke verwendet.

… Was bedeutet, dass die britische Regierung Sie unter bestimmten Umständen zur Übergabe Ihres Entschlüsselungsschlüssels zwingen kann (wenn Sie in Großbritannien ansässig sind), Sie jedoch nicht mit Ihrem Signaturschlüssel ausgeben darf.


quelle
1
Interessant ... dies würde dann auch für private Bitcoin-Schlüssel gelten (nur zum Signieren, nicht zum Verschlüsseln).
Jonathan Cross
… Und es sieht so aus, als ob diese Ausnahmeregelung im Gesetz von 2016 beibehalten wird .
8

Ich weiß nicht genau, warum GPG / PGP das tut, was es tut, aber eine mögliche Motivation dafür ist Disaster Recovery. Möglicherweise möchten Sie eine Kopie Ihres privaten Verschlüsselungsschlüssels an einen sehr engen, vertrauenswürdigen Freund weitergeben. Wenn Ihr Haus also von einem Meteoriten getroffen wird, können Sie weiterhin Ihre alten Nachrichten lesen, die in der Cloud gespeichert sind. (In ähnlicher Weise müssen Sie Ihrem Chef möglicherweise Ihren Verschlüsselungsschlüssel 1 geben , damit er Ihre E-Mail nach dem Verlassen lesen kann.)

Es gibt jedoch keinen Grund für andere, eine Kopie Ihres Signaturschlüsselpaars zu besitzen.
________________
1  "Möglicherweise müssen Sie Ihren Verschlüsselungsschlüssel jemandem geben" - siehe die Antwort von TEV .

Scott
quelle
2

Die einfache Antwort lautet: Je mehr Sie einen Schlüssel verwenden, desto mehr Informationen können Sie über den Schlüssel verlieren.

Ein Signaturschlüssel wird von Ihnen verwendet, um zu authentifizieren, dass Sie einem Schlüssel vertrauen, und um auf den Eigentümer zu schließen, aber was noch wichtiger ist, dass Ihre Kommunikation von Ihnen kommt. Dies wird als Nicht-Zurückweisung bezeichnet .

Nehmen wir zum Beispiel an, 10000-maliges Verwenden eines Schlüssels bedeutet, dass Sie alle Informationen verlieren, die für die Rekonstruktion dieses Schlüssels erforderlich sind. Die Verwendung eines Schlüssels> 9999 bedeutet, dass sich möglicherweise jemand anders als Sie ausgibt und Ihre vertrauenswürdige Signatur an den Schlüssel oder das Dokument eines bösen Dritten weitergibt, sodass Ihr gesamtes vertrauenswürdiges Netzwerk davon ausgeht, dass Sie diese Partei sind oder das Dokument von Ihnen stammt.

Wenn Sie jedoch auch mit demselben Schlüssel verschlüsseln, wird der Schwellenwert schneller erreicht.

Um diese mögliche Störung zu vermeiden, wird ein zweiter Schlüssel erstellt, der nur zum Ver- / Entschlüsseln verwendet wird und der nur zum Verschlüsseln von Daten wie Sie verwendet wird. Sobald dieser Schlüssel 9999 Mal verwendet wurde, können Sie diesen Schlüssel verfallen lassen, ohne das Vertrauen zu verlieren, das Sie mit Ihrem gültigen Signaturschlüssel ausgeteilt haben. Sie führen einen neuen Schlüssel durch, generieren einen neuen Verschlüsselungsschlüssel und signieren ihn mit Ihrem Signaturschlüssel, um zu zeigen, dass es sich um einen vertrauenswürdigen Verschlüsselungsschlüssel handelt, den jeder überprüfen kann.

BEARBEITEN:

Auf Wieder zu lesen , was ich oben und schrieb GNU Privacy Handbook , meine Schlussfolgerung ist , dass subein privater Schlüssel ist und pubmuss ein öffentlicher Schlüssel sein. @GnP diese Antwort:

" The keyword pub identifies the public master signing key, and the keyword sub identifies a public subordinate key."

Daniël W. Crompton
quelle
Ich nehme an, für die meisten Leute wird der Signaturschlüssel viel häufiger verwendet als der Verschlüsselungsschlüssel, da fast alle Mails signiert, aber nur einige verschlüsselt werden. In diesem Fall ist der gpg-default falsch herum, da der encr. Der Schlüssel kann leicht geändert werden, der Signaturschlüssel jedoch nicht.
Chaos_99
Da Sie normalerweise mit dem öffentlichen Schlüssel einer anderen Person verschlüsseln, klingt dies etwas logisch, und es gibt wahrscheinlich gute Gründe dafür, die mir derzeit nicht bekannt sind.
Daniël W. Crompton
Du hast recht. Bitte tausche "Verschlüsselung" mit "Entschlüsselung" in meinem Kommentar. Aber der Punkt bleibt gültig. Sie signieren häufiger als Sie DEcrypt. Ich habe diese Frage gestellt, um genau die "wahrscheinlich guten Gründe" herauszufinden, die Sie erwähnt haben.
Chaos_99
1
Sowohl der Master als auch der Unterschlüssel sind gültige Schlüsselpaare mit öffentlichem und privatem Schlüssel. Die Abkürzung für den privaten Master ist 'sec', für den privaten Unterschlüssel 'ssb'. Beides ist mit zu sehen gpg --list-secret-keys. Die oben angegebenen Auflistungen zeigen nur öffentliche Schlüssel, die von zurückgegeben wurden gpg --list-keys.
Chaos_99
1
"Je häufiger Sie einen Schlüssel verwenden, desto mehr Informationen können Sie über den Schlüssel verlieren." Haben Sie eine Quelle für diese Behauptung?
GnP
0

Wenn Sie einen neuen GPG-Schlüssel erstellen, erhalten Sie standardmäßig ein Nur-Signatur-Hauptschlüsselpaar und ein Nur-Verschlüsselungs-Unterschlüsselpaar.

Nachrichten können sein:

  • nicht signiert und unverschlüsselt
  • signiert und unverschlüsselt
  • nicht signiert und verschlüsselt
  • signiert und verschlüsselt

Für jeden dieser Fälle gibt es Verwendungsmöglichkeiten, je nachdem, was Sie mit Signieren und Verschlüsselung erreichen möchten.

Wenn Sie durch Signieren eine Identität / Bestätigung herstellen und durch Verschlüsseln Nachrichten als privat kennzeichnen, können Sie durch das Verschlüsseln, aber nicht kennzeichnen, eine private Nachricht senden, die nicht unbedingt mit Ihrer Identität verknüpft ist oder von Ihnen unterstützt wird. In diesem Fall möchten Sie separate Schlüssel.

LawrenceC
quelle
2
Korrigieren Sie mich, wenn ich falsch liege, aber ich glaube, dass Sie beim Verschlüsseln einer Nachricht den (öffentlichen) Schlüssel des Empfängers verwenden. Sobald dieser Ihre Hände verlässt, ist er für Sie nicht mehr nachvollziehbar. Mit Ihrem Verschlüsselungsschlüssel können andere Personen verschlüsselte Nachrichten an Sie senden.
Scott
@Scott ja, aber die meisten Benutzer haben normalerweise auch einen Standardschlüssel festgelegt, damit sie lesen können, was sich in ihrem Postausgang befindet, und in der Regel eine Standardsignatur angeben können. In diesen Fällen wird jedoch die Schlüssel-ID des Master- / Zertifizierungsschlüssels verwendet, um den richtigen Unterschlüssel auszuwählen.
Ben