Wie kann GnuPG keyserver.ubuntu.com vertrauen?

Wie kann GnuPG keyserver.ubuntu.com vertrauen?

Mir ist bewusst, dass die Gültigkeit eines OpenPGP-Zertifikats auf der Überprüfung des Zertifikats durch eine vertrauenswürdige Partei innerhalb eines Vertrauensnetzes beruht.

Die meisten Leute, die GnuPG nicht täglich verwenden, werden ihre Schlüssel jedoch einfach keyserver.ubuntu.comeinmal abrufen und darauf vertrauen, dass sie korrekt sind. Wenn Sie beispielsweiseAnleitung zur Verifizierungauf Ubuntu.com:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092" "C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451"

Obwohl diese Kommunikation stattfinden wirdüber einfaches, unverschlüsseltes HTTPIch glaube, dass das Zertifikat, das wir vom Schlüsselserver zurückbekommen, vom Schlüsselserver selbst signiert wird, und dass wir der Antwort vertrauen können, solange wir ein vertrauenswürdiges Zertifikat für den Schlüsselserver kennen.

Aber wie können wir dem Schlüsselserver vertrauen, wenn wir diesen Befehl nur einmal ausführen, da ich nicht glaube, dass GnuPG trustdbbereits eine Datei erstellt hat? Verfügt GnuPG über eine integrierte Liste von Zertifikaten, denen es vertraut, einschließlich des Zertifikats von keyserver.ubuntu.com? Wenn ja, wie kann ich diese Liste finden, um zu überprüfen, ob dies der Fall ist?

Wäre es ohne diese vertrauenswürdige Liste nicht möglich, dass meine gesamte Kommunikation vom selben Man-in-the-Middle (MITM) abgefangen wird, der mir dann keyserver.ubuntu.comgleichzeitig ein gefälschtes Zertifikat und ein gefälschtes signiertes Paket (z. B. das ISO des Betriebssystems selbst) zuspielt?

Antwort1

Der Parameter zum Empfangen von Schlüsseln ist der vollständige Fingerabdruck von zwei Schlüsseln:

  • 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
  • C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451

Der Fingerabdruck wird aus dem öffentlichen Schlüssel berechnet (IOpenPGP-Schlüssel-IDs auf Super User besprochen, wenn Sie weitere Referenzen wünschen). GnuPG erkennt, dass der falsche Schlüssel zurückgegeben wurde, wenn der berechnete Fingerabdruck des empfangenen Schlüssels nicht mit dem angeforderten Fingerabdruck übereinstimmt. Mit anderen Worten: Sie können Schlüsselservern nicht vertrauen (sie werden von zufällig ausgewählten Personen betrieben, die möglicherweise böswillige Absichten verfolgen), aber Sie müssen es nicht, alle von Schlüsselservern empfangenen Informationen müssen ohnehin validiert werden. Die Bandbreite möglicher Fingerabdrücke ist sehr, sehr groß: Es ist nicht möglich, eine Kollision zu finden (derselbe Fingerabdruck für einen anderen Schlüssel), selbst wenn Sie über enorme Rechenkapazitäten verfügen, wie sie beispielsweise die NSA haben könnte).Vertrauen Sie jedoch nicht kurzen Schlüssel-IDs.

Aus demselben Grund sollten Sie den Ergebnissen eines Keyservers bei der Suche nach Mail-Adressaten oder Benutzer-IDs nicht trauen. Nicht nur könnten Keyserver-Betreiber bösartige Informationen zurückgeben, Keyserver verifizieren auch überhaupt nichts (jeder könnte Schlüssel für beliebige Mail-Adressen hochladen).Sie müssen Schlüssel immer selbst validieren.Es gibt in GnuPG keine standardmäßig vertrauenswürdigen Schlüssel, nicht einmal die Schlüssel des GnuPG-Betreuers. Wenn Sie der Quelle vertrauen, die die Fingerabdrücke des Ubuntu-Schlüssels auflistet, können Sie diese signieren, um GnuPG darauf aufmerksam zu machen, dass Sie diese Schlüssel überprüft haben.

Es gibt zwar auch HKPS (HKP over HTTPs), das ändert aber nichts an der fehlenden Überprüfung der Schlüsselserverinformationen; HKPS wurde nur eingeführt, damit ein Man-in-the-Middle nicht aufzeichnen kann, welche Schlüssel Sie von Schlüsselservern abrufen.

verwandte Informationen