Warum und wie man eine digitale PGP-Signatur verwendet

Vor einiger Zeit haben wir uns mit kryptografischen Hashes (wie MD5- und SH1-Prüfsummen) befasst und erklärt, wie diese sicherstellen, dass eine heruntergeladene Datei dieselbe Datei ist, die der Ersteller für Sie erstellt hat, indem sie einen eindeutigen "Fingerabdruck" der Datei erstellt, die heruntergeladen werden kann gegen das Original geprüft.


Die Möglichkeit, die Integrität von nahezu jeder Datei zu überprüfen, ist wichtig. Wenn wir jedoch Datenschutz- und Sicherheitssoftware aus dem Internet herunterladen, ist dies unbedingt erforderlich. Worauf kommt es an, wenn Sie einem Programm, das möglicherweise einen Virus enthält, Ihre Privatsphäre und Sicherheit anvertrauen, insbesondere wenn Sie bedenken, dass diese Software und ihre Benutzer zweifellos vorrangige Ziele für die NSA und ihre Mitglieder sind?

Selbst wenn Sie Software direkt von einer Hersteller- oder Entwickler-Website herunterladen, werden Sie möglicherweise Opfer eines Man-in-the-Middle-Angriffs (MitM), oder die Website selbst kann auf verschiedene Weise kompromittiert werden.

Die Verwendung von kryptografischen Hashes ist ein Versuch, dieses Problem zu lösen. Leider weist die Technik eine große Schwäche auf. Beispielsweise kann die Website eines Entwicklers gehackt werden, um den Hash einer kompromittierten Datei anstelle des Originals anzuzeigen, oder sie können durch mathematische Schwachstellen unsicher werden. Hashes sind daher hilfreich, um sicherzustellen, dass eine Datei nicht beschädigt wurde. Sie sind jedoch nur bedingt hilfreich, um sicherzustellen, dass es sich bei der heruntergeladenen Datei um die Datei handelt, die von den Entwicklern heruntergeladen werden soll.

Um dies noch sicherer zu machen, können Entwickler ihre Dateien mit digitalen Signaturen signieren, bei denen eine Form der asymmetrischen Kryptografie (öffentliche und private Schlüssel) verwendet wird, um zu überprüfen, ob eine Datei genau das ist, was sie vorgibt.

Ein Diagramm, das zeigt, wie eine digitale Signatur angewendet und anschließend überprüft wird.

PGP-Digitalsignaturen

Unterschiedliche kryptografische Systeme verwenden unterschiedliche Mechanismen, um digitale Signaturen zu erstellen und zu validieren. Windows verwendet beispielsweise die PKI-Technologie (Public Key Infrastructure) von Microsoft, um Signaturen bei der Erstinstallation der Software automatisch zu überprüfen.

Open-Source-Software kann die Microsoft PKI nicht verwenden und verwendet stattdessen digitale PGP-Signaturen. Welches muss dann manuell authentifiziert werden. Diese funktionieren sehr ähnlich wie die Schlüsselpaare, die zur Authentifizierung von PGP-E-Mails verwendet werden, und wie wir sehen werden, muss zur Überprüfung der digitalen Signaturen von PGP ein PGP-kompatibles E-Mail-Programm verwendet werden.

Leider bedeutet dies auch, dass die Verwendung von digitalen PGP-Signaturen wie die Verwendung von PGP zum Sichern von E-Mails zu komplex ist.

So überprüfen Sie eine digitale Signatur mithilfe der Kleopatra-Benutzeroberfläche

Um die digitale PGP-Signatur einer Datei zu überprüfen, müssen Sie einen PGP-Client (oder genauer gesagt GnuPG - seinen Open-Source-Klon) verwenden. GnuPG-Versionen sind für Windows (Gpg4win), Mac OSX und Linux verfügbar (normalerweise vorinstalliert)..

In diesem Tutorial überprüfen wir die digitale Signatur von Pidgin + OTR mit Gpg4win, aber der Vorgang ist für andere Versionen von GnuPG sehr ähnlich.

Wir haben einen zweiteiligen Artikel über die Verwendung von Gpg4win und empfehlen dringend, mindestens Teil 1 zu lesen, um sich mit den wichtigsten Konzepten vertraut zu machen, die im Folgenden verwendet werden.

Der Gpg4win-Download selbst ist mit einem von einer anerkannten Zertifizierungsstelle (CA) überprüften Schlüssel digital signiert und kann mithilfe einer vertrauenswürdigen älteren Kopie von GnuPG unabhängig auf Überprüfung überprüft werden (ein SHA1-Hash ist ebenfalls verfügbar).. Sie sollten niemals einer Kopie von Gpg4win vertrauen, die Sie nicht überprüft haben.

Sobald GnuPG installiert ist, benötigen wir drei Dinge, um eine digitale Signatur zu verifizieren:

  • Die Datei, die wir überprüfen möchten (duh!), Z. das Installationsprogramm für pidgin-otr-4.0.1.exe
  • Die PGP / GPG-Signaturdatei (.asc), z. pidgin-otr-4.0.1.exe.asc
  • Der öffentliche Schlüssel / das PGP-Zertifikat, mit dem diese Signatur erstellt wurde, z. gpgkey.asc

Diese Dateien sollten (hoffentlich) alle vom Entwickler bereitgestellt werden, dessen digital signierte Dateien Sie überprüfen möchten. Öffentliche Schlüssel / PGP-Zertifikate werden häufig auf einem Schlüsselserver gespeichert, die Entwickler sollten jedoch Anweisungen für den Zugriff auf sie bereitstellen.

Kleopatra

Kleopatra ist ein Schlüsselverwaltungsprogramm, das mit Gpg4win gebündelt ist.

1. Sie benötigen einen persönlichen privaten Schlüssel, um das PGP-Zertifikat zu zertifizieren. Wenn Sie zuvor eine erstellt haben (z. B. mit GPA), können Sie diese importieren (Datei -> Zertifikate importieren ...), oder Sie können ein neues Schlüsselpaar erstellen (Datei -> Neues Zertifikat…).

Assistenten führen Sie durch den Rest dieses Prozesses

2. Importieren Sie den öffentlichen Schlüssel / das PGP-Zertifikat in Kleopatra. Verwenden Sie dazu entweder "Zertifikate importieren" oder klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Schlüssel importieren"..

3. Zertifizieren Sie das PGP-Zertifikat mit Ihrem privaten Schlüssel. Dadurch wird GnuPG mitgeteilt, dass Sie der Person vertrauen, die das Zertifikat signiert hat.

a) Klicken Sie in Kleopatra mit der rechten Maustaste auf den Schlüssel und wählen Sie "Zertifikat zertifizieren"..

b) Wählen Sie das Zertifikat aus und bestätigen Sie, dass Sie den Fingerabdruck überprüft haben (dies wird hoffentlich auf der Website des Entwicklers veröffentlicht)..

c) Wenn Sie nicht sehr sicher sind, ob das Zertifikat echt ist, sollten Sie es nur für sich selbst zertifizieren (Zertifikate basieren auf dem Prinzip eines Vertrauensnetzes - je mehr Menschen ihnen vertrauen, desto sicherer können Sie sein, dass sie echt sind)..

d) Geben Sie Ihre Passphrase für den privaten Schlüssel ein, um die Überprüfung des Zertifikats abzuschließen.

4. Nachdem Sie das Zertifikat zertifiziert haben, mit dem die Signatur für die heruntergeladene Datei erstellt wurde (Puh!), Können Sie sie zur Überprüfung der Signatur verwenden.

a) In Kleopatra gehe zu Datei -> Dateien entschlüsseln / überprüfen und zur Signaturdatei navigieren oder mit der rechten Maustaste darauf klicken und zu den Optionen von MoreGpgEX wechseln -> Überprüfen.

b) Stellen Sie sicher, dass "Eingabedatei" die Signaturdatei ist und dass das Feld "Signierte Daten" das zu überprüfende Programm oder die zu überprüfende Datei enthält, und klicken Sie dann auf "Entschlüsseln / Überprüfen"..

c) Wenn alles in Ordnung ist, erklärt Kleopatra die Unterschrift für gültig.

Wie kann ich einem Zertifikat vertrauen??

Die einfachste Möglichkeit, die Gültigkeit eines PGP-Zertifikats zu überprüfen, besteht darin, die Website der Person zu überprüfen, die das Zertifikat signieren soll. Mit etwas Glück wird der Fingerabdruck des Zertifikats veröffentlicht.

Dies ist zwar einfach, garantiert jedoch nicht die Echtheit der Signatur, da die Website möglicherweise von einer Regierung gehackt oder gezwungen wurde, einen gefälschten Fingerabdruck anzuzeigen (dasselbe Problem, das kryptografische Hashes plagt)..

Hier kommt das Web of Trust ins Spiel, wo Benutzer für ein Zertifikat bürgen. In der Praxis ist dies ein geheimer Prozess, der für die meisten Benutzer sowohl zu komplex als auch zu dunkel ist. Das Beste, auf das die meisten von uns hoffen können, ist, dass das Zertifikat von einer anerkannten Zertifizierungsstelle bestätigt oder von bekannten Entwicklern signiert wurde die ihre Signaturschlüssel veröffentlichen (wie zum Beispiel die Tor-Entwickler).

Pidgin + OTR ist in mancher Hinsicht ein schlechtes Beispiel dafür, wie digitales Signieren funktionieren sollte, da die OTR-Webseite fast keine Anweisungen zur Verwendung der veröffentlichten Schlüssel enthält und das PGP-Zertifikat nicht nur schwer zu finden, sondern auch nicht verfügbar war Von https://otr.cypherpunks.ca/gpgkey.asc gibt es keine einfache Möglichkeit, die Authentizität zu überprüfen (die Tatsache, dass ein 1024-Bit-RSA-Schlüssel verwendet wird, ist auch in diesem Zeitalter schlecht, wenn der NSA möglicherweise eine derart schwache Verschlüsselung knacken kann ).

Es ist jedoch ein gutes Beispiel dafür, warum der gesamte Begriff der digitalen Signaturen so durcheinander ist! Eine interessante Diskussion darüber, wie Sie versuchen können, das OTR-Zertifikat zu verifizieren, finden Sie hier.)

Fazit

Wie Sie sehen, ist das Überprüfen einer digitalen Signatur wirklich ein Schmerz, und es ist kein Wunder, dass selbst diejenigen, die den Jargon-schweren arkanen Prozess verstehen, sich selten darum kümmern. Das Problem wird noch schlimmer, wenn viele Entwickler nicht erklären, wie sie ihre Dateien überprüfen und / oder schlampige PGP-Zertifikate ausstellen, die nur sehr schwer zu überprüfen sind (OTR-Team, wir sehen uns um!)

Die Tatsache, dass digitale Signaturen der einzig sinnvolle Weg bleiben, um sicherzustellen, dass Sie Dateien herunterladen, die Sie herunterladen möchten (oder dass die Entwickler Sie herunterladen möchten), ist kein gutes Zeichen für die Internetsicherheit.

Bis jedoch jemand ein besseres, benutzerfreundlicheres System erfindet, besteht unsere größte Hoffnung darin, die Entwickler zu ermutigen, klare Anweisungen zur Verwendung ihrer digitalen Signaturen zu geben und aussagekräftige Garantien für die Echtheit ihrer PGP-Zertifikate zu veröffentlichen ... (Seufzer)

"Diagramm der digitalen Signatur" von Acdx - Eigene Arbeit. Lizenziert unter CC BY-SA 3.0 über Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Digital_Signature_diagram.svg#mediaviewer/File:Digital_Signature_diagram.svg

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me