OpenPGP-Schlüssel verwalten

Diese Anleitung bietet eine Schritt-für-Schritt-Anleitung zum Erstellen von OpenPGP-Schlüsselpaaren, Exportieren von Schlüsseln an Schlüsselserver und Finden von OpenPGP-Schlüsseln, um mit anderen sicher zu kommunizieren.

Erster und wichtigster Schritt

Lies die Anleitung OpenPGP: optimales Vorgehen, um sicherzustellen, dass dein System starke Schlüssel erstellt und Schlüssel-Aktualisierungen von gut verwalteten Schlüssel-Servern empfangen werden. Dazu sind Änderungen an der Datei gpg.conf nötig, welche sich je nach System an verschiedenen Orten befinden kann, bei Linux befindet sie sich in ~/.gnupg/gpg.conf.

Linux

Benutzung der GNOME-Anwendung Seahorse

Was ist Seahorse?

Seahorse ist ein graphisches (GUI) Werkzeug zum Verwalten von OpenPGP-Schlüsseln, dem sicheren Speichern von Passwörtern und Erstellen von SSH-Zertifikaten. Es benutzt GPG als Schnittstelle zur OpenGPG-Implementation.

Erstelle und exportiere ein OpenPGP-Schlüsselpaar

  1. Starte Seahorse. Es sollte bei Debian/Ubuntu bereits installiert sein.
  2. Wähle GnuPG-Schlüssel
  3. Erstelle einen neuen Schlüssel durch Klick auf das +
  4. Wähle PGP-Schlüssel
  5. Gib deine Emailadresse und den gewünschten Namen ein. Das muss nicht dein realer Name sein.
  6. Wähle Erweiterte Schlüsseleinstellungen
  7. Verschlüsselungs-Typ sollte RSA sein.
  8. Schlüssellänge sollte 4096 sein.
  9. Das Ablaufdatum sollte innerhalb von zwei Jahren liegen. Du kannst das Ablaufdatum jederzeit ändern, solange du Zugriff auf den Schlüssel hast, auch nachdem der Schlüssel abgelaufen ist. Warum sollte ich ein Ablaufdatum setzen
  10. Gib ein starkes Passwort ein, an das du dich erinnern kannst. Wenn du das Passwort vergisst, kann es nicht wiederhergestellt werden und du verlierst den Zugriff auf alle damit verschlüsselten Daten, auch Emails, für immer.
  11. Dein Computer wird nun einen neuen Schlüssel erstellen, was eine Weile dauern kann. Danach hast du ein OpenGPG-Schlüsselpaar, das direkt benutzt werden kann — Super! Du kannst die Schlüsseleinstellungen verwalten, den öffentlichen Schlüssel exportieren, das Passwort ändern, löschen und/oder den Schlüssel widerrufen und andere Einstellungen mit Seahorse oder von der Kommandozeile aus vornehmen.
  12. Optional An diesem Punkt kannst du deinen öffentlichen Schlüssel an einen Schlüsselserver schicken, von wo andere ihn anfordern können, um verschlüsselte Daten an dich zu schicken. Bevor du weiter machst, wähle einen sicheren Schlüsselserver. Sobald du bereit bist:
    1. Wähle den/die Schlüssel, den/die du exportieren möchtest. Halte Strg und klicke auf die Schlüssel, um sie auszuwählen, oder drücke Strg+A, um alle Schlüssel auszuwählen.
    2. Gehe zu Entfernt → Schlüssel abgleichen und veröffentlichen
    3. Drücke den Knopf Schlüssel-Server
    4. Veröffentliche die Schlüssel zu einem Server (wähle einen aus, wenn der Knopf Abgleichen auf dem vorherigen Schirm ausgegraut war); sie synchronisieren sich alle untereinander, dein Schlüssel wird auf allen verfügbar sein.
  13. Empfohlen: Aktiviere unter Bearbeiten > Einstellungen die Funktion Schlüssel automatisch von den Schlüssel-Servern abrufen, aber lasse Veränderte Schlüssel automatisch mit den Schlüssel-Servern abgleichen deaktiviert. Statt dessen benutze parcimonie.
    1. Drücke den Knopf Schließen und Abgleichen, um deine Schlüssel zu synchronisieren.

Dein öffentlicher Schlüssel wird nun auf den Schlüssel-Servern veröffentlicht und ist danach für andere verfügbar!

Deinen oder andere OpenPGP-Schlüssel importieren

Wenn du mit anderen sicher kommunizieren möchtest, oder Daten verschlüsseln willst, die nur sie lesen können, musst du ihren öffentlichen Schlüssel zuerst deinem Schlüsselbund hinzufügen. Beachte: Der Name John Q. wird ab hier verwendet als Beispiel für einen Menschen, den du suchst, nicht dich selbst.

Importieren aus einer Datei

Wenn dir eine Datei mit einem Schlüssel geschickt wird, kannst du ihn so mit Seahorse importieren:

  1. Gehe auf DateiImportieren…
  2. Suche die Datei, wähle sie aus und drücke auf den Knopf Öffnen.

Der Schlüssel in der Datei wurde nun in deinen Schlüsselbund importiert!

Suchen auf Schlüssel-Servern

  1. Gehe zu Entfernt > Entfernte Schlüssel suchen in Seahorse
  2. Tippe einige Worte (oder einen Namen oder Alias), um nach Schlüssel auf dem Schlüssel-Server zu suchen. Das Beste ist, nach einer Emailadresse zu suchen, weil diese direkt mit dem Schlüssel verbunden ist.
  3. Schau dir die angebotene Liste genau an und suche den Schlüssel der Person, die du suchst. Weitere Informationen erhälst du durch Klicken auf Eigenschaften
  4. Sobald du die gewünschten Schlüssel ausgewählt hast, klicke Importieren.

Öffentliche Schlüssel wurden deinem Schlüsselbund angehängt!

Schlüssel verifizieren

Schlüssel können von allen bei Schlüsselservern veröffentlicht werden. Suche zum Beispiel spaßeshalber nach Edward Snowdens Schlüssel. Es gibt viele davon! Bevor du einen Schlüssel benutzt, solltest du den Fingerabdruck mit der Person austauschen, mit der du kommunizieren möchtest. Das solltest du nicht per Mail tun! Die beste Praxis ist, den Fingerabdruck persönlich zu vergleichen. Mindestens solltest du mit der Person sprechen (Stimme/Video), um zu wissen, dass du mit der richtigen Person kommunzierst. Um den Fingerabdruck zu vergleichen, folge diesen Schritten:

  1. Öffne seahorse
  2. Im Menu wähle Ansicht > Alle anzeigen
  3. Suche den bereits importierten Schlüssel
  4. Wähle Eigenschaften (Rechtsklick)
  5. Wähle Details
  6. Vergewissere dich, dass Inhaber*in und Fingerabdruck richtig sind!

Nachdem du den Fingerabdruck sorgfältig überprüft und die Korrektheit mit der Eigentümer*in bestätigt hast, kannst du den Schlüssel mit deinem eigenen Schlüssel unterschreiben:

  1. Wähle im selben Fenster den Reiter Vertrauen drücke den Knopf Diesen Schlüssel signieren.
  2. Signiere den Schlüssel, um anzuzeigen, wie sorgfältig du den Schlüssel überprüft hast. Auch wenn du Überhaupt nicht auswählst, kannst du den Schlüssel für Email- und Datenverschlüsselung wählen. Du kannst auch einstellen, dass andere deine Signatur nicht sehen können, oder dass du die Unterschrift später widerrufen können möchtest.
  3. Drücke Signieren.

Nun kannst du anfangen, Daten zu verschlüsseln, die nur von der Schlüsselinhaber*in entschlüsselt werden können, um einen sicheren Kommunikationskanal zu etablieren!

Benutzung der Linux-Kommandozeile

Diese Anleitung basiert auf der GPG-Anleitung für Ubuntu (englisch)

Stelle sicher, dass die richtigen Standards eingestellt sind

Siehe OpenPGP: optimales Vorgehen bevor du weitermachst, um sicherzustellen, dass die richtigen Standards eingestellt sind.

OpenPGP-Schlüsselpar mit GPG erstellen

Drücke Alt+F2 und gib gnome-terminal ein, danach drücke enter. Tippe gpg --gen-key ins Terminal, das sollte dieses Menü öffnen:

Please select what kind of key you want:
  (1) RSA and RSA (default)
  (2) DSA and Elgamal
  (3) DSA (sign only)
  (4) RSA (sign only)

Wähle den gewünschten Typ. RSA and RSA sind empfohlen. (sign only)-Schlüssel können nicht zur Verschlüsselung benutzt werden.

Als nächstes wähle die Größe. 4096 ist empfohlen.

What keysize do you want? (2048)

Danach stelle ein, wie lange der Schlüssel gültig sein soll und drücke y. Wenn du 0 wählst, läuft der Schlüssel nie ab und du musst ihn widerrufen, wenn du ihn nicht mehr nutzen möchtest. Es wird empfohlen, dass der Schlüssel innerhalb von 2 Jahren abläuft.

Please specify how long the key should be valid.
     0 = key does not expire
   <n> = key expires in n days
   <n>w = key expires in n weeks
   <n>m = key expires in n months
   <n>y = key expires in n years
Key is valid for? (0)

Gib Name und Emailadresse, aber keinen Kommentar ein ein. Name und Emailadresse kannst du frei wählen und müssen nicht notwendigerweise stimmen. Wenn der OpenPGP-Schlüssel zum Verschlüsseln von Emails benutzt werden soll, gib die entsprechende Adresse bei der Abfrage “Email address” ein.

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
  "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Real name: John Q. Alias
Email address: the-email-youre-going-to-use@whatever.tld
Comment:
  1. Gib ein starkes Passwort ein, an das du dich erinnern kannst. Wenn du das Passwort vergisst, kann es nicht wiederhergestellt werden und du verlierst den Zugriff auf alle damit verschlüsselten Daten, auch Emails für immer.
    Wenn du enter drückst, wird ein Schlüsselpaar erstellt.

Dein OpenPGP-Schlüsselpaar (öffentlich/privat) wurde erstellt!

Schlüssel anzeigen

Du kannst deine Schlüssel mit diesem Befehl anzeigen:
gpg --list-secret-keys

Die Ausgabe sollte in etwa so aussehen:

sec   4096R/0xE361D8GH916EFH89 2014-05-14 [expires: 2016-05-14]
      Key fingerprint = 1234 5678 90AB CDEF GH01  2344 5678 9012 ABCE FGH1
uid                            John Q. Alias <the-email-youre-going-to-use@wherever.tld>
ssb   4096R/0x40339E25E2F2D99E 2014-05-14

Du findest die Schlüssel-ID in der ‘sec’-Zeile. Sie enthält die Schlüsselstärke und abgekürzt den Schlüssel-Typ (4096 in der ersten Zeile), einen Schrägstrich, die Schlüssel-ID und das Erstellungsdatum. Zur Veranschaulichung:

sec   4096R/0xE361D8GH916EFH89 2014-05-14 [expires: 2016-05-14]
            ^Schlüssel-ID^
      Key fingerprint = 1234 5678 90AB CDEF GH01  2344 5678 9012 ABCE FGH1
uid                            John Q. Alias <the-email-youre-going-to-use@wherever.tld>
ssb   4096R/0x40339E25E2F2D99E 2014-05-14

In diesem Beispiel lautet die Schlüssel-ID also E361D8GH916EFH89.

Allerdings solltest du dich, wie hier beschrieben, nicht auf die Schlüssel-ID verlassen. Benutze stattdessen den ganzen Fingerabdruck für alle Operationen.

Öffentlichen OpenPGP-Schlüssel exportieren/publizieren

  1. Drücke Alt+F2 und starte gnome-terminal
  2. Exportiere eine ASCII-geschützte Version deines öffentlichen Schlüssels:
    gpg --export -a <<fingerprint>> > mykey.asc

Dein ASCII-geschützter öffentlicher Schlüssel befindet sich jetzt in der Datei mykey.asc im aktuellen Ordner (gewöhnlich dein ‘home’-Ordner). Jetzt kannst du den Schlüssel verschicken, damit dir andere für dich verschlüsselte Dateien schicken können.

Öffentlichen OpenPGP-Schlüssel bei einem Schlüssel-Server veröffentlichen

Um deinen öffentlichen Schlüssel an einen Schlüssel-Server zu schicken

  1. drücke Alt+F2 und starte: gnome-terminal
  2. tippe gpg --send-keys <<fingerprint>>
    wobei <> der Fingerabdruck des zu veröffentlichenden Schlüssels ist. Hoffentlich hast du bereits einen [[guten Schlüssel-Server eingestellt → /gpg-best-practices#selecting-a-keyserver-and-configuring-your-machine-to-refresh-your-keyring].

Windows

Die Windows-Version dieser Anleitung ist veraltet und wurde noch nicht übersetzt. Wenn du Windows benutzt, kannst du uns helfen sie zu aktualisieren und zu übersetzen! Siehe unser github-Archiv für Hilfe-Seiten, um zu erfahren wie

Es wird nicht empfohlen Windows für sichere Kommunikation zu verwenden. Während Windows abgesichert werden kann, um es sichererer als die Standardumgebung zu machen, geht die Tendenz bei Windows in Richtung sehr laxer Sicherheit. Es gibt eine Vielfalt voreingebauter Exploits, die es einfach machen, das System anzugreifen und zu kompromittieren. Hier ein paar Stichpunkte gegen die Verwendung von Windows für sichere Kommunikation:

  • weitreichende Verbreitung von Schadsoftware/Trojanern/Viren, die Tastatureingaben mitspeichern (und damit Verschlüsselung umgehen), oder andere Informationen mitloggen könnten
  • Regierungen benutzen Windows für gezieltes Hacken und installieren Schadsoftware, während Microsoft darüber Bescheid weiß.
  • Windows benutzt gewöhnlich ein unverschlüsseltes Dateisystem und das Hauptverschlüsselungswerkzeug ist proprietär und kann nicht auf Sicherheitslücken, Hintertüren, oder anderen Schwachstellen überprüft werden.
  • Nutzungskonten sind standardmäßig Admins
  • Weil Windows proprietär ist der offen liegt Quellcode, gibt es keine wirksame Analyse nach Defekten, Hintertüren, oder allem, was “nach Hause telefoniert”. Alle Geheimnisse, die du auf deinen Rechner tust, traust du Microsoft an.

Als Plattform für sichere Kommunikation empfehlen wir, eine Distribution freier Software basierend auf GNU Linux wie Debian (empfohlen), oder Ubuntu (Vorsicht wegen Problemen bei der Verletzung der Privatssphäre) zu installieren.

Install Gpg4win

Gpg4win" is the recommended OpenPGP implementation for windows. It is Free Software, licensed under the GPL, with the source code available for modification or scrutiny.

  1. Download Gpg4win"
  2. Double click the executable and begin the installation.
  3. Select the language you’ll be using.
  4. You’ll be greeted by the welcome screen. Press Next to continue.
  5. Next, you’ll be asked to agree to the [GNU General Public License→en.wikipedia.org/wiki/General_Public_License] (the GPL license), which can be read in its entirety at [GNU.org→www.gnu.org/licenses/gpl.html]. If you accept, press Next.
  6. Choose the components you want to install. The default options are recommended. [Claws-Mail→en.wikipedia.org/wiki/Claws_Mail] is a powerful cross-platform email client available for Linux, Windows, Mac OS X, and others. GpgOL installs the plugin necessary to use OpenPGP keys with the Outlook mail client.
  7. Select the install folder (the default is recommended).
  8. Choose what shortcuts to create.
  9. Choose a name for any shortcut folders and then begin the installation. Choose to view the README file, or not, and then click finish.

Gpg4win is now installed and ready to use!

Create and Export an OpenPGP Public/Private Key pair

Kleopatra seems to be the more recent and more polished of the two Gpg4win key manager GUI frontends on Windows, so this guide recommends using that.

  1. Launch Kleopatra by the shortcut you installed (default: StartAll ProgramsGpg4winKleopatra)
  2. Click FileNew Certificate… or Ctrl+N.
  3. Press the Create a personal OpenPGP key pair button.
  4. Enter your name, email address, and a comment if you wish. Your name and email address can be anything you want, not necessarily your real name or email address. If you want to use your OpenPGP key for encrypting email, put the email address you want to use with encryption in the “Email address” box. When finished, click the Advanced Settings… button.
  5. In the Advanced Settings… dialog box, choose your key type and key strength. RSA, using key strength of 4,096 bits, for Signing and Encryption are recommended. When finished with the key settings, press OK to close the dialog box, then click Next.
  6. Review the information for the key, then press the Create Key button.
  7. Enter a strong password that you can remember. The password strength meter will give you a relative indication of how strong the password is. Getting 100% is strongly recommended. If you forget this password, it cannot be recovered and any encrypted data you have using it, including emails, will be permanently inaccessible.

Your key pair is now finished! From here, you can do one of the following:

  • Make a backup copy of your certificate (key)
  • Send the Certificate by email
  • Upload the certificate to a Directory Service (key server)
  • finish the wizard

It is recommended to upload the certificate to a directory service. This will upload your public key to a key server where it can be used by others to encrypt data and emails that only you can decrypt.

Find or Import someone else’s OpenPGP Public Key

If you want to be able to communicate with someone securely or encrypt data that only they can read, you need to import their public key into your keyring first.

Import from a key file

If someone exports their key to a file and sends it to you, you can import it into your keyring via Kleopatra by:

  1. Pressing the Import Certificates button, then
  2. Locating where you saved the key file, selecting it, and pressing the Open button.

The key that was stored in the key file has now been imported into your keyring!

Find on the key servers

  1. Navigate to FileLookup Certificates on Server… in Kleopatra
  2. Type some key words (a name or alias) to search the key servers. The best way to find someone is to search for their email address, as it’s uniquely tied to them.
  3. Select and review the keys that are returned to determine whether the key(s) returned belong to the person you’re looking for. You can review additional information about the key by pressing the Details… button.
  4. Once you’ve determined and selected the key(s) you want to import into your local keyring, press Import.

Their public key has now been imported into your keyring! Once you have verified the fingerprint (see above about why this is important), you may sign the key.

Sign their key (Certify their Certificate)

To do this,

  1. Click the Imported Certificates or Other Certificates tab.
  2. Right click the key you want to sign and click Certify Certificate…
  3. Select the user ID you want to certify and press Next
  4. Choose whether you want this certification to be visible to others or only to yourself and then press the Certify button.

You have now signed their key (certified their certificate) and are ready to begin encrypting data or emails that only they can decrypt!

Mac OS X

Wir haben leider keine MacOS-Version dieser Anleitung. Wenn du MaxOS benutzt, kannst du uns helfen sie zu schreiben! Siehe unser github-Archiv für Hilfe-Seiten, um zu erfahren wie

Es wird nicht empfohlen, Mac OS X als sichere Kommunikationsplattform zu benutzen. Während es weniger Sicherheitslücken gibt und es im Allgemeinen sicherer als Windows ist, hat OS X in der Vergangenheit eine geringe Geschwindigkeit bei Sicherheitsaktualisierungen gezeigt. Außerdem ist durch die große Zahl proprietärer Software und Pakete eine genaue Analyse nach Hintertüren, oder alles, was “nach Hause telefoniert” unmöglich. Zudem bietet es Hintertüren, die durch Hacker, Regierungen und Unternehmen ausgenutzt werden können. Einige Stichpunkte zu OS X und Sicherheit:

  • Basiert zum Großteil auf proprietärer Software, die nicht verändert oder analysiert werden kann.
  • Die Kamera kann von Ferne angestellt werden, was als “Funktion” beworben wird, falls der Laptop gestohlen wird. Allerdings kann es auch ausgenutzt werden und schränkt damit dein Privatssphäre ein.
  • Das Dateisystem ist standardmäßig nicht verschlüsselt und das verfügbare Werkzeuge hat unzureichende Sicherheit.

Als Plattform für sichere Kommunikation empfehlen wir, Linux zu installieren. Siehe [Installing Ubuntu Linux]