PGP Tool

Lernen · 5 Min. Lesezeit

Wie man eine PGP-Signatur verifiziert — und warum man es sollte

Eine Signatur auf einer Release-Datei ist nur nützlich, wenn du sie tatsächlich überprüfst. Hier ist der 30-Sekunden-Workflow und was jeder Schritt wirklich beweist.

Du hast eine Binärdatei heruntergeladen, der Entwickler hat eine .asc-Signatur daneben veröffentlicht — und jetzt? Die meisten Menschen tun nichts. Die wenigen, die verifizieren, erkennen Supply-Chain-Angriffe, bevor sie kompromittierten Code ausführen.

Was eine Signatur tatsächlich beweist

Eine gültige PGP-Signatur beweist zwei Dinge: (1) Die Datei wurde seit der Signierung nicht verändert, und (2) sie wurde von jemandem signiert, der den privaten Schlüssel besitzt, dessen öffentliche Entsprechung du zur Verifizierung verwendet hast. Sie beweist nicht, dass der Unterzeichner ehrlich ist, oder dass der öffentliche Schlüssel, den du verwendest, wirklich seiner ist.

Dieser zweite Punkt ist wichtig. Wenn ein Angreifer die veröffentlichte Datei austauscht UND seinen eigenen öffentlichen Schlüssel daneben veröffentlicht, wird die Signatur einwandfrei verifizieren — gegen den falschen Schlüssel. Die einzige Verteidigung ist, den Schlüssel des Unterzeichners auf einem anderen Weg zu etablieren: ein veröffentlichter Fingerabdruck auf einer anderen Domain, ein Transparenzprotokoll, eine Keyserver-Suche oder ein persönlicher Austausch.

Der Verifizierungs-Workflow

  1. Lade die Datei und die Signatur herunter (typischerweise file.tar.gz und file.tar.gz.asc).
  2. Besorge den öffentlichen Schlüssel des Unterzeichners. Bevorzuge eine Quelle, die nichts mit der Binärdatei zu tun hat — ein Keyserver, ein gedruckter Fingerabdruck auf einer Konferenz oder ein öffentliches Profil auf einer anderen Domain.
  3. Öffne das Werkzeug "Verifizieren" und füge die Signatur, die Originaldatei und den öffentlichen Schlüssel ein.
  4. Bestätige, dass das Verifizierungsergebnis "Gültige Signatur" mit dem erwarteten Unterzeichner anzeigt.
  5. Prüfe den Fingerabdruck des öffentlichen Schlüssels gegen die Quelle, der du vertraust.

Getrennte vs. Clearsign vs. verschlüsselt-und-signiert

  • Getrennte Signatur — die .asc liegt in einer separaten Datei. Verwendet für Binärdateien, Archive, große Blobs.
  • Clearsigned-Nachricht — der signierte Text und die Signatur befinden sich beide in derselben .asc, wobei der Originaltext im Klartext sichtbar ist. Verwendet für E-Mails und Ankündigungen.
  • Verschlüsselt+signiert — die Nachricht ist sowohl an den Empfänger verschlüsselt als auch vom Absender signiert. Zuerst entschlüsseln, dann die innere Signatur verifizieren.

Häufige Fehler

  • Verifizieren mit einem öffentlichen Schlüssel, der vom selben Ort wie die Binärdatei heruntergeladen wurde — verfehlt den Zweck.
  • "Gute Signatur, aber Schlüssel nicht zertifiziert" Warnungen ignorieren, ohne den Fingerabdruck zu prüfen.
  • Die Datei vor der Verifizierung neu speichern — Zeilenendungsänderungen brechen getrennte Signaturen.