Frage GPG - Warum verschlüssele ich mit Unterschlüssel statt Primärschlüssel?


Beim Verschlüsseln einer Datei, die an einen Mitarbeiter gesendet werden soll, wird folgende Nachricht angezeigt:

gpg: using subkey XXXX instead of primary key YYYY

Warum sollte das sein? Ich habe bemerkt, dass, wenn sie mir eine verschlüsselte Datei senden, sie anscheinend auch in Richtung meines Unterschlüssels anstatt meines Primärschlüssels verschlüsselt ist. Für mich scheint das kein Problem zu sein; gpg (1.4.x, macosx) behandelt es einfach und geht weiter. Aber für sie scheint dies mit ihrem automatisierten Tool-Setup ein Problem zu sein, und sie haben verlangt, dass ich sicher sein werde, ihren Primärschlüssel zu verwenden.

Ich habe versucht, etwas zu lesen, und ich habe das Buch "GPG & PGP" von Michael Lucas bestellt, aber ich verstehe nicht, warum es diese Unterscheidung gibt. ich haben Ich lese, dass der Schlüssel zum Signieren und der für die Verschlüsselung verwendete Schlüssel unterschiedlich sein würden, aber ich ging davon aus, dass es zuerst öffentliche und private Schlüssel gab.

Falls es sich um ein Vertrauens- / Validierungs-Problem handelte, ging ich durch den Vergleich von Fingerabdrücken und die Überprüfung, ja, ich vertraue diesem Schlüssel. Während ich das tat, bemerkte ich, dass die primären und Unterschlüssel verschiedene "Verwendungs" -Noten hatten:

primary:  usage: SCA
subkey:   usage: E

"E" scheint wahrscheinlich "Verschlüsselung" zu bedeuten. Aber ich konnte keine Dokumentation darüber finden. Außerdem verwendet mein Mitarbeiter diese Werkzeuge und Techniken seit einigen Jahren, warum sollte das nur ein Problem für mich sein?


26
2018-06-12 16:51


Ursprung




Antworten:


Aktualisieren

Während im folgenden Post richtig erklärt wird, warum Sie separate Verschlüsselungs- und Signaturschlüssel verwenden sollten, ist es nicht sehr hilfreich, die Frage zu beantworten, warum Sie Unterschlüssel anstelle des Primärschlüssels verwenden. Das Debian-Wiki bietet eine viel gründlichere Antwort.

Zusammengefasst ist Ihr Primärschlüssel Ihre Online-Identität und Ihre Identität und Ihr Ruf werden dadurch aufgebaut, dass andere Personen dafür bürgen, dass dieser Schlüssel Ihnen gehört, indem Sie ihn selbst signieren. (Sie könnten sich vorstellen, dass Sie Ihr Twitter-Handle sind und Ihr Ruf Ihre Twitter-Follower ist, oder Sie könnten gegen diese Analogie Einwände erheben, aber ich hoffe, dass Sie damit ein Gefühl dafür bekommen, warum Sie es schützen wollen.) Also, seit Ihrer Wahl Schlüssel ist super wichtig und ist über Jahre aufgebaut, Sie möchten ihn sehr schützen. Insbesondere möchten Sie es nicht auf einem Computer speichern, der gestohlen oder gehackt werden könnte. Sie möchten Ihren Primärschlüssel an einem sicheren Ort offline halten.

Dies macht natürlich Ihren Primärschlüssel sehr unbequem zu verwenden. Für alltägliche Operationen möchten Sie also einen Schlüssel verwenden, der nicht so schwer zu ersetzen ist, wenn er kompromittiert wird. Deshalb wurden Unterschlüssel erfunden.

Ein Unterschlüssel ist immer noch ein öffentliches / privates Schlüsselpaar und ist sicher, solange nur Sie den privaten Schlüssel haben. Es ist kryptographisch genauso sicher wie Ihr Primärschlüssel. Der Unterschied besteht darin, dass Ihr Ruf nur durch Ihre eigene Unterschrift, die Unterschrift aus Ihrem privaten Schlüssel, verbunden ist. Um die Twitter-Analogie zu verwenden, vertraut die Welt darauf, dass Sie Ihr Twitter-Handle sind, weil all Ihre Follower das sagen (ich weiß, es funktioniert nicht immer wirklich so, aber Analogien sind hart!), Und dann können Sie dieses Vertrauen aufbauen Dann kannst du die Welt, in der du dein Instagram-Konto besitzt, viel einfacher überzeugen, indem du es nur twitterst und die Leute werden dir glauben, weil der Tweet von deinem Konto kommt, dem sie vertrauen.

Sie möchten Ihren Unterschlüssel dennoch sicher aufbewahren, aber jetzt, wenn er kompromittiert ist, ist es nicht das große Problem, wenn Ihr Primärschlüssel kompromittiert wäre (oder, in Analogie, jemand Ihr Twitter-Konto entführt hätte). Jetzt können Sie einfach den Unterschlüssel widerrufen und einen neuen Schlüssel erstellen, indem Sie ein Widerrufszertifikat und einen neuen Unterschlüssel signieren und beide auf Ihrem öffentlichen Schlüsselring veröffentlichen (zB twittern "hey, mein Instagram-Handle wurde geändert, verwenden Sie nicht den alten) eins stattdessen "). Dies macht das Unterhalten Ihres Unterschlüssels auf Ihrem Laptop zu einem akzeptableren Risiko, als Ihren Primärschlüssel aufzubewahren.

TL; DR Unterschlüssel vereinfachen die Schlüsselverwaltung, indem sie die kryptografischen Funktionen öffentlicher Schlüssel von den Vertrauens- und Identitätsfunktionen von (primären) öffentlichen Schlüsseln trennen.


Original Beitrag

Wenn Sie sich die Details der Verschlüsselung mit öffentlichem Schlüssel ansehen, werden Sie feststellen, dass das Signieren und Entschlüsseln eigentlich identische Operationen sind. So ist es in einer naiven Implementierung möglich, jemanden dazu zu bringen, eine Nachricht zu entschlüsseln, indem er sie auffordert, sie zu unterschreiben.

In der Praxis werden mehrere Dinge getan, um sich davor zu schützen. Am offensichtlichsten ist, dass Sie nie eine tatsächliche Nachricht signieren, sondern einen sicheren Hash der Nachricht signieren. Weniger offensichtlich, aber um extra sicher zu sein, benutzen Sie verschiedene Schlüssel zum Signieren und Verschlüsseln. Wenn Sie den Verschlüsselungsschlüssel getrennt halten, können Sie auch die anderen wichtigen und definitiv weniger häufig verwendeten Schlüssel offline und sicherer halten. Dies ist der Fall mit den Schlüsseln, die Sie überprüft haben. Übrigens bedeuten die Flaggen:

  • e = Verschlüsseln / Entschlüsseln (entschlüsseln Sie eine verschlüsselte Nachricht, damit Sie sie lesen können)
  • s = sign (Daten signieren. Zum Beispiel eine Datei oder signierte E-Mail senden)
  • c = bestätigen (einen anderen Schlüssel unterschreiben, Vertrauensbeziehung herstellen)
  • a = Authentifizierung (Einloggen in SSH mit einem PGP-Schlüssel; dies ist relativ neue Verwendung)

Beachten Sie, dass in allen Fällen "Schlüssel" ein öffentliches und privates Schlüsselpaar bedeutet.

Dies sollte kein Problem für Ihren Freund sein, wenn er alles richtig eingerichtet hat, aber alles korrekt einzurichten, kann komplexer sein, als es sein sollte. Es kann also sein, dass die beste Lösung für Ihren Freund ist, einen neuen öffentlichen Schlüssel zu generieren, den er zum Signieren und Verschlüsseln verwendet. Wie ich schon sagte, weil die primäre Verteidigung gegen Angriffe darin besteht, nur einen kryptografisch sicheren Hash einer Nachricht zu signieren, ist es keine ernste Schwäche, einen solchen Schlüssel zu haben.


36
2018-06-16 06:50



Um es kurz zu machen: Man sollte nie mit dem gleichen Schlüssel verschlüsseln und signieren, sonst passieren schlimme Dinge (c) - SaveTheRbtz
Danke, dass du bestätigt hast, was ich gedacht habe. Ich möchte es immer noch wissen Warum Das geht weiter, da der Kollaborateur mir erzählt, dass dieses System für sie funktioniert hat, und ich habe gelernt (über die Mailingliste von gpg-users), dass es 99,99% wahrscheinlich ist, dass mein persönlicher Schlüssel irrelevant ist, da ich nicht t unterschreibe diese Nachricht. Aber du hast meine Fragen beantwortet, also danke! - Michael H.
Ist es sinnvoll, den Hauptschlüssel (Signatur- und Verschlüsselungsunterschlüssel) offline zu halten und Unterschlüssel (Signieren und Verschlüsseln) für jedes von Ihnen verwendete Computergerät zu generieren? Viele der Tutorials, die sich damit beschäftigen, trennen nur die Signaturschlüssel, lassen aber den Verschlüsselungsschlüssel in den täglichen Treibern. - CMCDragonkai


Referenz für die Flaggen

Alternative Referenz

Darüber hinaus werde ich wahrscheinlich nicht viel helfen. Ich habe immer festgestellt, dass PGP / GPG für das, was wenig erreicht wird, zu komplex ist. Viel Glück.


1
2018-06-15 05:04



Antworten, die nur Links enthalten, sind hier verpönt, weil Links im Laufe der Zeit absterben. Wir bevorzugen mindestens einen relevanten Auszug, um mit dem Link zu gehen. - John Gardeniers
Das ist ein Anfang; in Anbetracht .. - Michael H.
@JohnGardeniers Das scheint sinnvoll. Ich hatte darüber nachgedacht, die Informationen einfach als Kommentar zu hinterlassen, aber die Regeln bezüglich der Reputation auf SE-Seiten im Hinblick auf die Tatsache, dass ich Antworten einreichen kann, bevor ich Kommentare abgeben kann, waren verwirrend. Für die Nachwelt: E: Verschlüsselung S: Signieren C: Erstellen von Zertifikaten A: Authentifizierung (mit mehreren Änderungen wegen meiner fetten Finger)
Schön, jemand hat mich dazu geschlagen.