GnuPG - Mails verschlüsseln

Ein Versuch zur praktischen Anwendung

Nach langem hin und her sowie diversen Versuchen was man mit GPG alles anstellen kann habe ich mich endlich dazu entschlossen E-Mails mit GPG zu verschlüsseln (inklusive Signatur). Damit der Komfort nicht so ganz auf der Strecke bleibt nutze ich ein bereits hier vorgestelltes Konzept, welches ich lediglich an meine Bedürfnisse angepasst habe.

Konkret sieht das dann so aus: Die Erstellung der Schlüssel kann man sowohl grafisch (zum Beispiel über Seahorse) vornehmen als auch über einen Terminal. Da letzteres leichter nachvollzogen werden kann läuft folgendes komplett im Terminal an.

Die wichtigen Details sowie die Eingaben habe ich fett hervorgehoben, darauf sollte man unbedingt achten.

Hauptschlüssel erstellen


$ gpg --gen-key --expert
gpg (GnuPG) 2.0.21; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (1) RSA und RSA (voreingestellt)
   (2) DSA und Elgamal
   (3) DSA (nur signieren/beglaubigen)
   (4) RSA (nur signieren/beglaubigen)
   (7) DSA (Leistungsfähigkeit selber einstellbar)
   (8) RSA (Leistungsfähigkeit selber einstellbar)
Ihre Auswahl? 8

Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Signieren Zertif. Verschl.
   (U) Umschalten der Signaturfähigkeit
   (V) Umschalten der Verschlüsselungsfähigkeit
   (A) Umschalten der Authentisierungsfähigkeit
   (Q) Beenden
Ihre Auswahl? u

Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Zertif. Verschl.
   (U) Umschalten der Signaturfähigkeit
   (V) Umschalten der Verschlüsselungsfähigkeit
   (A) Umschalten der Authentisierungsfähigkeit
   (Q) Beenden
Ihre Auswahl? v

Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Zertif.
   (U) Umschalten der Signaturfähigkeit
   (V) Umschalten der Verschlüsselungsfähigkeit
   (A) Umschalten der Authentisierungsfähigkeit
   (Q) Beenden
Ihre Auswahl? q

RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 4096
Die verlangte Schlüssellänge beträgt 4096 Bit
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
         0 = Schlüssel verfällt nie
      <n>  = Schlüssel verfällt nach n Tagen
      <n>w = Schlüssel verfällt nach n Wochen
      <n>m = Schlüssel verfällt nach n Monaten
      <n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0) 0
Schlüssel verfällt nie
Ist dies richtig? (j/N) j

GnuPG erstellt eine User-ID um Ihren Schlüssel identifizierbar zu machen.

Ihr Name ("Vorname Nachname"): Florian Krauskopf
Email-Adresse: info@r3v0luti0n.com
Kommentar:
Sie haben diese User-ID gewählt:
    "Florian Krauskopf <info@r3v0luti0n.com>"

Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? f
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.

Wir müssen eine ganze Menge Zufallswerte erzeugen. Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
gpg: Schlüssel 311D4BD7 ist als uneingeschränkt vertrauenswürdig gekennzeichnet
Öffentlichen und geheimen Schlüssel erzeugt und signiert.

gpg: "Trust-DB" wird überprüft
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell
gpg: Tiefe: 0 gültig: 4 signiert: 0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 4u
gpg: nächste "Trust-DB"-Pflichtüberprüfung am 2014-08-01
pub 4096R/311D4BD7 2013-09-14
  Schl.-Fingerabdruck = A200 4CF6 D967 5261 694D 2A76 DFC5 5D1A 311D 4BD7
uid                  Florian Krauskopf <info@r3v0luti0n.com>
$

Unterschlüssel erstellen


$ gpg --edit-key --expert 311D4BD7
gpg (GnuPG) 2.0.21; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Geheimer Schlüssel ist vorhanden.

pub 4096R/311D4BD7 erzeugt: 2013-09-14 verfällt: niemals Aufruf: C
                  Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt
[ uneing.] (1). Florian Krauskopf

gpg> addkey
Schlüssel ist geschützt.

Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
Benutzer: "Florian Krauskopf "
4096-Bit RSA Schlüssel, ID 311D4BD7, erzeugt 2013-09-14

Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (3) DSA (nur signieren/beglaubigen)
   (4) RSA (nur signieren/beglaubigen)
   (5) Elgamal (nur verschlüsseln)
   (6) RSA (nur verschlüsseln)
   (7) DSA (Leistungsfähigkeit selber einstellbar)
   (8) RSA (Leistungsfähigkeit selber einstellbar)
Ihre Auswahl? 8

Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung
Derzeit erlaubte Vorgänge: Signieren Verschl.
   (U) Umschalten der Signaturfähigkeit
   (V) Umschalten der Verschlüsselungsfähigkeit
   (A) Umschalten der Authentisierungsfähigkeit
   (Q) Beenden
Ihre Auswahl? q

RSA-Schlüssel können zwischen 1024 und 4096 Bit lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 2048
Die verlangte Schlüssellänge beträgt 2048 Bit
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
         0 = Schlüssel verfällt nie
      <n>  = Schlüssel verfällt nach n Tagen
      <n>w = Schlüssel verfällt nach n Wochen
      <n>m = Schlüssel verfällt nach n Monaten
      <n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0) 1y
Key verfällt am So 14 Sep 2014 20:36:28 CEST
Ist dies richtig? (j/N) j
Wirklich erzeugen? (j/N) j
Wir müssen eine ganze Menge Zufallswerte erzeugen. Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.

pub  4096R/311D4BD7  erzeugt: 2013-09-14  verfällt: niemals     Aufruf: C
                    Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt
sub  2048R/35527925  erzeugt: 2013-09-14  verfällt: 2014-09-14  Aufruf: SE
[ uneing.] (1). Florian Krauskopf

gpg> save
$

Noch ein wichtiger Punkt: Mit dem Befehl adduid könnte man weitere Identitäten zu seinem Hauptschlüssel hinzufügen (zum Beispiel eine 2. oder 3. Mailadresse). Das Problem dabei ist, dass jeder Kommunikationspartner damit auch eure anderen Mailadressen sehen kann (wurde mir gesagt - ich habe es ehrlichgesagt nicht nachgeprüft).

Überprüfen ob alles passt


$ gpg --list-key 311D4BD7
pub   4096R/311D4BD7 2013-09-14
uid                  Florian Krauskopf <info@r3v0luti0n.com>
sub   2048R/35527925 2013-09-14 [verfällt: 2014-09-14]
$

Da die Ausgabe unter Umständen nicht gleich zu verstehen ist, hier eine ASCII-Art mäßige Erläuterung:
pub   4096R/311D4BD7 2013-09-14
|     |   | |        `- Datum der Erstellung
|     |   | `- Key ID
|     |   `- R steht für RSA-Key
|     `- 4096 Bit Schlüsselstärke
`- Hauptschlüssel

uid                  Florian Krauskopf <info@r3v0luti0n.com>
|                    `- Die Identität des Nutzers/Ausstellers
`- Benutzeridentitäten

sub   2048R/35527925 2013-09-14 [verfällt: 2014-09-14]
|     |   | |        |                     `- Verfallsdatum
|     |   | |        `- Datum der Erstellung
|     |   | `- Key ID
|     |   `- RSA-Key
|     `- 2048 Bit Schlüsselstärke
`- Subschlüssel

Revision 4 | 2014-03-20 19:36:09
Wer bin ich? | Impressum
Copyright © r3v0luti0n