Beachten Sie zunächst, dass Sie den gesamten Prozess vollständig überspringen können, da das CA-Zertifikat des SKS-Pools mit aktuellen GnuPG-Distributionen gebündelt ist - normalerweise unter /usr/share/gnupg/sks-keyservers.netCA.pem
.
Beachten Sie zweitens, dass die Verwendung von HKPS die vom Pool gehaltenen Daten nicht authentifiziert . Dies ist nur eine Datenschutzmaßnahme (um zu verhindern, dass der gesamte Schlüsselring von --refresh-keys enthüllt wird). Die tatsächlichen PGP-Schlüsselblöcke, die von den Keyservern abgerufen werden, müssen jedoch auf dieselbe Weise überprüft werden, wie Sie es immer tun würden. Das heißt, Sie müssen immer noch den Fingerabdruck jedes importierten Schlüssels überprüfen oder sich auf Web-of-Trust oder GnuPGs tofu.db verlassen.
Also wenn es darum geht:
Wie finde ich heraus, welchen öffentlichen Schlüssel ich separat von einem Keyserver herunterladen sollte (damit ich ihrer Website nicht allein traue)?
Wenn jemand die Website kompromittiert haben könnte, um ein gefälschtes CA.pem hochzuladen, könnte er genauso gut eine gefälschte CA.pem.asc-Signatur hochgeladen haben. Wenn jemand einen gefälschten öffentlichen Schlüssel in die Website eingefügt haben könnte, könnte er denselben Schlüssel auf Keyserver hochgeladen haben.
Mit anderen Worten: Das Herunterladen eines Schlüssels von einem Keyserver bietet keine zusätzliche Sicherheit. Der Keyserver hindert niemanden daran, gefälschte Schlüssel mit demselben Namen und derselben E-Mail hochzuladen. Alles läuft noch darauf hinaus, den Fingerabdruck des Schlüssels oder das Web-of-Trust-Verfahren zu überprüfen. Wenn Sie keinen Fingerabdruck zur Verifizierung haben, erhalten Sie möglicherweise einen, indem Sie den Eigentümer fragen.
(Um zu wissen, welche Person den SKS-Pool verwaltet, würde ich sagen, dass technische Mittel nicht ausreichen. Mein Ansatz wäre, Informationen aus verschiedenen Quellen zu sammeln, z. B. andere Leute zu fragen oder web.archive.org zu überprüfen oder im GnuPG-IRC nachzufragen channel (wenn Sie im IRC auf Randoms vertrauen). Wenn Sie überall die gleiche Person "Kristian Fiskerstrand" sehen, ist dies wahrscheinlich die richtige Person.)
Wenn Sie nicht über irgendeine Form Kontakt von bereits existierenden mit der Eigentümer der Website, die einzige Möglichkeit ist, zu vertrauen, dass die Website, die Sie legitime Informationen dient. (Glücklicherweise wird Ihre Verbindung mit HTTPS und WebPKI authentifiziert, sodass Sie die meisten MITM-Angriffe ausschließen können und nur Server-Kompromisse zulassen.)
Sie können möglicherweise verschiedene Momentaufnahmen der Website unter web.archive.org überprüfen (um zu sehen, ob derselbe Schlüssel in den letzten Monaten oder Jahren vorhanden ist).
Wie soll jede Information verwendet werden?
Der Fingerabdruck und / oder der SPKI-Hash des Zertifikats haben praktisch den gleichen Zweck wie wenn Websites neben Downloads reine SHA1-Hashes anbieten. (Tatsächlich ist der Fingerabdruck lediglich ein SHA1-Hash des Zertifikats minus seiner Base64-Kodierung.) Sie können sie verwenden, wenn Sie der Website vertrauen ... aber dann ist er meistens überflüssig, da Sie das CA-Zertifikat selbst von derselben Website erhalten haben. Es kann jedoch einige versehentliche Fehler verhindern.
So zeigen Sie den Fingerabdruck des Zertifikats (SHA1) an:
openssl x509 -in $file -noout -fingerprint -sha1 certtool --fingerprint < $file cat $file | sed "/^-/d" | base64 -d | sha1sum
Beim Anzeigen der X.509v3- Betreffschlüsselkennung muss auf den Unterschied zwischen der Berechnung des SPKI-Hashwerts (wie unter "Weitere Informationen") und der Betrachtung des in X.509-Erweiterungen (wie unter "Erweiterungen") eingebetteten Wertes geachtet werden:
certtool -i < $file | grep -C3 "Public Key ID"
Die Zertifikatsperrliste (Certificate Revocation List, Zertifikatsperrliste) wird von GnuPGs dirmngr verwendet, um sicherzustellen, dass gefährdete Keyserver-Zertifikate erst nach ihrem Ablauf wieder verwendet werden können. Die CRL wird von der Zertifizierungsstelle signiert und ich denke, dass dirmngr diese automatisch herunterlädt und aktualisiert, so dass dies nicht erforderlich ist.
Die Signatur wird vom Inhaber der Website erstellt und kann zur Überprüfung der CA.pem-Datei verwendet werden, wenn Sie bereits andere Überprüfungsmöglichkeiten für den PGP-Schlüssel des Inhabers haben. Nur das Herunterladen von derselben Website bringt nicht viel.
So überprüfen Sie die Signatur:
gpg --verify sks-keyservers.netCA.pem.asc