Was ist eine OpenPGP / GnuPG-Schlüssel-ID?

25

Ich verstehe die Nützlichkeit des Schlüsselblocks selbst und eines Hashes des Schlüssels, weiß aber nicht, warum zusätzliche Informationen erforderlich sind, sodass ich nicht anfangen kann, die Nützlichkeit zusätzlicher Informationen zu erraten.

Speziell,

  • Was bedeutet es,
  • wo wird es verwendet und
  • (wie) kann es anhand des öffentlichen Schlüssels festgestellt werden?

Es wird tendenziell tangential und im Vorbeigehen erwähnt, was zu Verwirrung führt, da Spacewalk eindeutig einen Unterschied zwischen Fingerabdruck und ID erkennt , während einige von Fedora herausgegebene GPG-Dokumentationen den Ausdruck enthalten

Ersetzen Sie für KEYNAME die Schlüssel-ID oder den Fingerabdruck Ihres primären Schlüsselpaars.

was den Anschein erweckt, als ob die beiden den gleichen Zweck teilen; aber das macht keinen sinn, denn wenn das der fall wäre, warum brauchst du dann zuerst beides?

Parthischer Schuss
quelle
Mit dem Dienstprogramm gpg können Sie eine der beiden Optionen bequem angeben. Wenn Sie einen Fingerabdruck angeben, wird der Fingerabdruck nachgeschlagen, und wenn Sie die ID angeben, wird nach einer ID gesucht, die der von Ihnen angegebenen Zeichenfolge entspricht oder diese enthält. Die ID ist häufig eine von Menschen lesbare Kennung für den Schlüssel. Der Fingerabdruck im Allgemeinen ist unter en.wikipedia.org/wiki/Public_key_fingerprint beschrieben . Was ist das Problem, das Sie tatsächlich haben?
Jason C
@JasonC Spacewalk möchte eine ID sowie einen Fingerabdruck und eine URL für den Schlüsselblock, aber Repos (z. B. EPEL ) stellen nur den Schlüsselblock bereit. Jetzt weiß ich, dass ich den Fingerabdruck erhalten kann, indem ich nur einen Hash des Schlüsselblocks nehme, aber ich weiß nicht, ob ich die ID von einem anderen Ort erhalten, mich für eine entscheiden und sie in eine Datenbank laden soll, bevor ich es sage Raumspaziergang darüber, oder machen Sie einfach einen für den Raumspaziergang. Grundsätzlich ist es ein Spacewalk-Problem, das viel einfacher wird, wenn ich mehr über die Verwendung von GPG-IDs weiß.
Parthian Shot
@JasonC Um es auf den Punkt zu bringen: Ich werde signierte RPMs herunterladen, und alles, was ich habe, ist der Schlüsselblock. Daher muss ich wissen, ob ich mich für eine ID entscheide oder der Emittent sich für eine ID entscheidet.
Parthian Shot
Haben Sie die EPEL / Spacewalk-Installationsanweisungen von fedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepository oder wiki.centos.org/HowTos/PackageManagement/… befolgt und kann Spacewalk Pakete von EPEL aus tatsächlich nicht verwalten? Ist access.redhat.com/site/solutions/308983 relevant?
Jason C
1
Wenn es funktioniert, ohne dass Sie es ausfüllen, weiß es, wie es zu handhaben ist, ohne dass Sie dies angeben, und das Ausfüllen ist nicht hilfreich. Schauen Sie sich jedoch web.archive.org/web/20130821232554/http://centosforge.com/node/… an , um zu erfahren , wie Sie einen Fingerabdruck und eine ID für Spacewalk erhalten. Ähnliche Anweisungen unter darkoperator.com/blog/2011/12/16/… . Weitere Informationen unter google.com/search?q=spacewalk%20package%20key%20id
Jason C

Antworten:

29

Von RFC 4880 :

Ein V4-Fingerabdruck ist der 160-Bit-SHA-1-Hash des Oktetts 0x99, gefolgt von der Paketlänge von zwei Oktetten, gefolgt vom gesamten Public-Key-Paket, beginnend mit dem Versionsfeld. Die Schlüssel-ID sind die niederwertigen 64 Bit des Fingerabdrucks.

Bei V3-Schlüsseln ist die Berechnung ähnlich, die Schlüssellänge wird jedoch weggelassen.

Mit anderen Worten, der Fingerabdruck wird aus einer Konstanten, der Paketlänge und schließlich einem Teil des öffentlichen Schlüsselpakets berechnet. Weitere Erläuterungen zu den Inhalten (und damit zur Berechnung) des verknüpften RFC.

Die (lange) Schlüssel-ID wird durch die niedrigsten 64 Bit dargestellt und verwendet, da der vollständige Fingerabdruck ein unhandlicher und langer Wert ist. Noch häufiger wird die Kurzschlüssel-ID verwendet, die durch die 32 Bits niedrigster Ordnung gebildet wird. Diese Kurzschlüssel-IDs werden häufig als zu kollisionsgefährdet eingestuft und verwenden mindestens die lange ID, wenn nicht einmal der vollständige Fingerabdruck empfohlen wird.

In wenigen Worten zusammengefasst:

Der Fingerabdruck ist der aus dem öffentlichen Schlüsselpaket berechnete Hash-Wert. Die Schlüssel-IDs sind Teil des Fingerabdrucks:

Fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
Long key ID:                                4E1F 799A A4FF 2279
Short key ID:                                         A4FF 2279

Manchmal wird den IDs ein Präfix vorangestellt, 0xda es sich um Hex-Werte handelt.

Jens Erat
quelle
1
Sehr nützlicher Link zu den Informationen über Kollisionen, danke. Möglicherweise möchten Sie die Antwort ändern, um darauf hinzuweisen, dass auch lange Schlüssel fälschbar sind und daher nicht empfohlen werden.
Zkilnbqi
Während kurze Schlüssel-IDs sehr leicht gefälscht werden können, sind lange Schlüssel-IDs 2 bis 32-mal schwerer zu kollidieren und werden dennoch als angemessen angesehen. Auch Fingerabdrücke gefälscht werden können, sie sind nur noch noch schwerer zu schmieden (aufgrund der riesigen Anzahl möglicher Fingerabdrücke).
Jens Erat
1
Der Link, den Sie in Ihrer Antwort angegeben haben, hat mich überzeugt. Meine Unterschrift lautet nun "[email protected] pgp.mit.edu ID vom 22.03.2015". Wenn Ihnen jemand eine verschlüsselte Nachricht senden oder überprüfen möchte, ob Sie eine signierte haben, muss er Ihren öffentlichen Schlüssel trotzdem auf dem Schlüsselserver finden, sodass die Verwendung der Schlüssel-ID keinen Vorteil bringt.
Zkilnbqi