So verschlüsseln und entschlüsseln Sie Dateien mit GPG unter Linux

Schützen Sie Ihre Privatsphäre mit dem Linux-Befehl gpg. Verwenden Sie eine erstklassige Verschlüsselung, um Ihre Geheimnisse zu schützen. Wir zeigen Ihnen, wie Sie mit gpg mit Schlüsseln arbeiten, Dateien verschlüsseln und entschlüsseln.

GnuPrivacy Guard (GPG) ermöglicht es Ihnen, Dateien sicher zu verschlüsseln, sodass nur der beabsichtigte Empfänger sie entschlüsseln kann. Insbesondere erfüllt GPG die OpenPGP Standard. Es basiert auf einem Programm namens Pretty Good Privacy (PGP). PGP wurde 1991 von . geschrieben Phil Zimmermann.

GPG basiert auf der Idee von zwei Verschlüsselungsschlüsseln pro Person. Jede Person besitzt einen privaten Schlüssel und einen öffentlichen Schlüssel. Der öffentliche Schlüssel kann etwas entschlüsseln, das mit dem privaten Schlüssel verschlüsselt wurde.

Um eine Datei sicher zu versenden, verschlüsseln Sie sie mit Ihrem privaten Schlüssel und dem öffentlichen Schlüssel des Empfängers. Um die Datei zu entschlüsseln, benötigen sie ihren privaten Schlüssel und Ihren öffentlichen Schlüssel.

Daran sehen Sie, dass öffentliche Schlüssel geteilt werden müssen. Sie benötigen den öffentlichen Schlüssel des Empfängers, um die Datei zu verschlüsseln, und der Empfänger benötigt Ihren öffentlichen Schlüssel, um sie zu entschlüsseln. Es besteht keine Gefahr, Ihre öffentlichen Schlüssel genau so zu machen – öffentlich. Tatsächlich gibt es für genau diesen Zweck Public-Key-Server, wie wir sehen werden. Private Schlüssel müssen privat gehalten werden. Wenn Ihr öffentlicher Schlüssel öffentlich zugänglich ist, muss Ihr privater Schlüssel geheim und sicher aufbewahrt werden.

Die Einrichtung von GPG umfasst mehr Schritte als die Verwendung. Zum Glück müssen Sie es normalerweise nur einmal einrichten.

Generieren Ihrer Schlüssel

Der Befehl gpg wurde auf allen überprüften Linux-Distributionen installiert, einschließlich Ubuntu, Fedora und Manjaro.

Sie müssen GPG nicht für E-Mails verwenden. Sie können Dateien verschlüsseln und zum Download bereitstellen oder physisch an den Empfänger weitergeben. Sie müssen den generierten Schlüsseln jedoch eine E-Mail-Adresse zuordnen, wählen Sie also aus, welche E-Mail-Adresse Sie verwenden möchten.

Hier ist der Befehl zum Generieren Ihrer Schlüssel. Die Option –full-generate-key generiert Ihre Schlüssel in einer interaktiven Sitzung in Ihrem Terminalfenster. Sie werden auch zur Eingabe einer Passphrase aufgefordert. Merken Sie sich die Passphrase. Drei oder vier einfache Wörter, die mit Satzzeichen verbunden sind, sind ein gutes und robustes Modell für Passwörter und Passphrasen.

gpg --full-generate-key

Sie werden aufgefordert, einen Verschlüsselungstyp aus einem Menü auszuwählen. Sofern kein triftiger Grund vorliegt, geben Sie 1 ein und drücken Sie die Eingabetaste.

Sie müssen eine Bitlänge für die Verschlüsselungsschlüssel auswählen. Drücken Sie die Eingabetaste, um die Standardeinstellung zu akzeptieren.

Sie müssen angeben, wie lange der Schlüssel dauern soll. Wenn Sie das System testen, geben Sie eine kurze Dauer wie 5 für fünf Tage ein. Wenn Sie diesen Schlüssel behalten möchten, geben Sie eine längere Dauer wie 1 Jahr für ein Jahr ein. Der Schlüssel ist 12 Monate gültig und muss daher nach einem Jahr erneuert werden. Bestätigen Sie Ihre Auswahl mit einem Y.

Sie müssen Ihren Namen und Ihre E-Mail-Adresse eingeben. Sie können einen Kommentar hinzufügen, wenn Sie möchten.

  So spielen Sie Sony PSP-Spiele in Retro Arch unter Linux

Sie werden aufgefordert, Ihre Passphrase einzugeben. Sie benötigen die Passphrase immer dann, wenn Sie mit Ihren Schlüsseln arbeiten, also stellen Sie sicher, dass Sie wissen, was es ist.

Klicken Sie auf die Schaltfläche OK, wenn Sie Ihre Passphrase eingegeben haben. Dieses Fenster wird Ihnen angezeigt, während Sie mit gpg arbeiten. Denken Sie also daran, sich Ihre Passphrase zu merken.

Die Schlüsselgenerierung findet statt und Sie kehren zur Eingabeaufforderung zurück.

Erstellen eines Widerrufszertifikats

Wenn Ihr privater Schlüssel anderen bekannt wird, müssen Sie die alten Schlüssel von Ihrer Identität trennen, damit Sie neue generieren können. Dazu benötigen Sie ein Widerrufszertifikat. Wir werden dies jetzt tun und es an einem sicheren Ort aufbewahren.

Der Option –output muss der Dateiname des Zertifikats folgen, das Sie erstellen möchten. Die Option –gen-revoke veranlasst gpg, ein Widerrufszertifikat zu generieren. Sie müssen die E-Mail-Adresse angeben, die Sie beim Generieren der Schlüssel verwendet haben.

gpg --output ~/revocation.crt --gen-revoke [email protected]

Sie werden aufgefordert zu bestätigen, dass Sie ein Zertifikat erstellen möchten. Drücken Sie Y und drücken Sie die Eingabetaste. Sie werden nach dem Grund für die Erstellung des Zertifikats gefragt. Da wir dies im Voraus tun, wissen wir es nicht genau. Drücken Sie 1 als plausible Vermutung und drücken Sie die Eingabetaste.

Wenn Sie möchten, können Sie eine Beschreibung eingeben. Drücken Sie zweimal die Eingabetaste, um Ihre Beschreibung zu beenden.

Sie werden aufgefordert, Ihre Einstellungen zu bestätigen, drücken Sie Y und drücken Sie die Eingabetaste.

Das Zertifikat wird generiert. Sie werden eine Meldung sehen, die die Notwendigkeit bekräftigt, dieses Zertifikat sicher aufzubewahren.

Es erwähnt jemanden namens Mallory. Kryptographie-Diskussionen werden seit langem verwendet Bob und Alice wie die beiden Menschen kommunizieren. Es gibt noch andere Nebencharaktere. Eve ist eine Lauscherin, Mallory ein böswilliger Angreifer. Alles, was wir wissen müssen, ist, dass wir das Zertifikat sicher aufbewahren müssen.

Lassen Sie uns mindestens alle Berechtigungen außer unseren aus dem Zertifikat entfernen.

chmod 600 ~/revocation.crt

Lassen Sie uns mit ls nachsehen, wie die Berechtigung jetzt lautet:

ls -l

Das ist perfekt. Außer dem Dateibesitzer – uns – kann niemand etwas mit dem Zertifikat anfangen.

Öffentlichen Schlüssel einer anderen Person importieren

Um eine Nachricht zu verschlüsseln, die eine andere Person entschlüsseln kann, benötigen wir ihren öffentlichen Schlüssel.

Wenn Ihnen deren Schlüssel in einer Datei zur Verfügung gestellt wurde, können Sie diese mit dem folgenden Befehl importieren. In diesem Beispiel heißt die Schlüsseldatei „mary-geek.key“.

gpg --import mary-geek.key

Der Schlüssel wird importiert und Ihnen werden Name und E-Mail-Adresse angezeigt, die mit diesem Schlüssel verknüpft sind. Das sollte natürlich mit der Person übereinstimmen, von der Sie es erhalten haben.

Es besteht auch die Möglichkeit, dass die Person, von der Sie einen Schlüssel benötigen, ihren Schlüssel auf einen öffentlichen Schlüsselserver hochgeladen hat. Diese Server speichern die öffentlichen Schlüssel von Menschen aus der ganzen Welt. Die Schlüsselserver synchronisieren sich periodisch miteinander, so dass Schlüssel universell verfügbar sind.

Der öffentliche Schlüsselserver des MIT ist ein beliebter Schlüsselserver, der regelmäßig synchronisiert wird, sodass die Suche dort erfolgreich sein sollte. Wenn jemand erst kürzlich einen Schlüssel hochgeladen hat, kann es einige Tage dauern, bis er angezeigt wird.

  So hosten Sie ein Minecraft-Spiel auf einer virtuellen Linux-Maschine

Der Option –keyserver muss der Name des Schlüsselservers folgen, den Sie durchsuchen möchten. Der Option –search-keys muss entweder der Name der gesuchten Person oder deren E-Mail-Adresse folgen. Wir verwenden die E-Mail-Adresse:

gpg --keyserver pgp.mit.edu --search-keys [email protected]

Übereinstimmungen werden für Sie aufgelistet und nummeriert. Um eine zu importieren, geben Sie die Nummer ein und drücken Sie die Eingabetaste. In diesem Fall gibt es eine einzelne Übereinstimmung, also geben wir 1 ein und drücken die Eingabetaste.

Der Schlüssel wird importiert, und uns werden der Name und die E-Mail-Adresse angezeigt, die mit diesem Schlüssel verknüpft sind.

Verifizieren und Signieren eines Schlüssels

Wenn Ihnen eine Ihnen bekannte Person eine öffentliche Schlüsseldatei ausgehändigt hat, können Sie sicher sagen, dass sie dieser Person gehört. Wenn Sie ihn von einem öffentlichen Schlüsselserver heruntergeladen haben, müssen Sie möglicherweise überprüfen, ob der Schlüssel der Person gehört, für die er bestimmt ist.

Die Option –fingerprint veranlasst gpg, eine kurze Folge von zehn Sätzen von vier hexadezimalen Zeichen zu erstellen. Sie können die Person bitten, Ihnen den Fingerabdruck ihres Schlüssels zu senden.

Anschließend können Sie mit der Option –fingerprint dieselbe Fingerabdrucksequenz aus hexadezimalen Zeichen generieren und vergleichen. Wenn sie übereinstimmen, wissen Sie, dass der Schlüssel dieser Person gehört.

gpg --fingerprint [email protected]

Der Fingerabdruck wird generiert.

Wenn Sie sicher sind, dass der Schlüssel echt ist und der Person gehört, mit der er verknüpft sein soll, können Sie deren Schlüssel signieren.

Wenn Sie dies nicht tun, können Sie es trotzdem verwenden, um Nachrichten von und an diese Person zu verschlüsseln und zu entschlüsseln. gpg wird Sie jedoch jedes Mal fragen, ob Sie fortfahren möchten, da der Schlüssel nicht signiert ist. Wir verwenden die passend benannte Option –sign-key und geben die E-Mail-Adresse der Person an, damit gpg weiß, welcher Schlüssel zu signieren ist.

gpg --sign-key [email protected]

Sie sehen Informationen zum Schlüssel und zur Person und werden aufgefordert, zu bestätigen, dass Sie den Schlüssel wirklich signieren möchten. Drücken Sie Y und drücken Sie die Eingabetaste, um den Schlüssel zu signieren.

So teilen Sie Ihren öffentlichen Schlüssel

Um Ihren Schlüssel als Datei freizugeben, müssen wir ihn aus dem lokalen gpg-Schlüsselspeicher exportieren. Dazu verwenden wir die Option –export, gefolgt von der E-Mail-Adresse, mit der Sie den Schlüssel generiert haben. Der Option –output muss der Name der Datei folgen, in die der Schlüssel exportiert werden soll. Die Option –armor weist gpg an, eine ASCII-Armor-Ausgabe anstelle einer Binärdatei zu generieren.

gpg --output ~/dave-geek.key --armor --export [email protected]

Wir können mit weniger einen Blick in die Schlüsseldatei werfen.

less dave-geek.key

Der Schlüssel wird in seiner ganzen Pracht gezeigt:

Sie können Ihren öffentlichen Schlüssel auch auf einem öffentlichen Schlüsselserver teilen. Die Option –send-keys sendet den Schlüssel an den Schlüsselserver. Der Option –keyserver muss die Webadresse des öffentlichen Schlüsselservers folgen. Um zu identifizieren, welcher Schlüssel gesendet werden soll, muss der Fingerabdruck für den Schlüssel in der Befehlszeile bereitgestellt werden. Beachten Sie, dass zwischen den Sätzen von vier Zeichen keine Leerzeichen stehen.

  So bereinigen und beschleunigen Sie Arch Linux

(Sie können den Fingerabdruck für Ihren Schlüssel anzeigen, indem Sie die Option –fingerprint verwenden.)

gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4

Sie erhalten eine Bestätigung, dass der Schlüssel gesendet wurde.

Verschlüsseln von Dateien

Endlich können wir eine Datei verschlüsseln und an Mary senden. Die Datei heißt Raven.txt.

Die Option –encrypt weist gpg an, die Datei zu verschlüsseln, und die Option –sign weist gpg an, die Datei mit Ihren Daten zu signieren. Die Option –armor weist gpg an, eine ASCII-Datei zu erstellen. Der Option -r (Empfänger) muss die E-Mail-Adresse der Person folgen, an die Sie die Datei senden.

gpg --encrypt --sign --armor -r [email protected]

Die Datei wird mit demselben Namen wie das Original erstellt, jedoch mit „.asc“ an den Dateinamen angehängt. Werfen wir einen Blick hinein.

less Raven.txt.asc

Die Datei ist völlig unleserlich und kann nur von jemandem entschlüsselt werden, der Ihren öffentlichen Schlüssel und Marys privaten Schlüssel besitzt. Die einzige Person, die beides hat, sollte Mary sein.

Wir können die Datei jetzt an Mary senden, in der Gewissheit, dass niemand anderes sie entschlüsseln kann.

Entschlüsseln von Dateien

Mary hat eine Antwort gesendet. Es befindet sich in einer verschlüsselten Datei namens coded.asc. Wir können es sehr einfach mit der Option –decrypt entschlüsseln. Wir werden die Ausgabe in eine andere Datei namens plain.txt umleiten.

Beachten Sie, dass wir gpg nicht mitteilen müssen, von wem die Datei stammt. Das kann es aus dem verschlüsselten Inhalt der Datei herausarbeiten.

gpg --decrypt coded.asc > plain.txt

gpg --decrypt coded.asc > plain.txt in einem Terminalfenster“ width=“646″ height=“212″ onload=“pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);“  onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Schauen wir uns die plain.txt-Datei an:</p>
<pre>less plain.txt</pre > <p><img loading=

Die Datei wurde für uns erfolgreich entschlüsselt.

Auffrischen Ihrer Schlüssel

In regelmäßigen Abständen können Sie gpg bitten, die vorhandenen Schlüssel mit einem öffentlichen Schlüsselserver zu vergleichen und alle geänderten Schlüssel zu aktualisieren. Sie können dies alle paar Monate tun oder wenn Sie einen Schlüssel von einem neuen Kontakt erhalten.

Die Option –refresh-keys veranlasst gpg, die Prüfung durchzuführen. Der Option –keyserver muss der Schlüsselserver Ihrer Wahl folgen. Nachdem die Schlüssel zwischen den öffentlichen Schlüsselservern synchronisiert wurden, sollte es egal sein, welchen Sie wählen.

gpg --keyserver pgp.mit.edu --refresh-keys

gpg antwortet, indem es die überprüften Schlüssel auflistet und Sie darüber informiert, ob sich welche geändert oder aktualisiert haben.

Datenschutz ist ein heißes Thema

Datenschutz ist heutzutage nie weit von den Nachrichten entfernt. Was auch immer Ihre Gründe sind, Ihre Daten sicher und privat zu halten, gpg bietet eine einfache Möglichkeit, Ihre Dateien und Kommunikationen unglaublich stark zu verschlüsseln.

Es gibt andere Möglichkeiten, gpg zu verwenden. Sie können ein Plugin für Donnervogel namens Enigmail. Es hakt sich direkt in Ihre gpg-Konfiguration ein, damit Sie E-Mail-Nachrichten aus Thunderbird heraus verschlüsseln können.