Eine OpenPGP Card bzw. einen Crypto Stick für die Nutzung vorbereiten
Hier wird ein recht aufwendigerer Weg der Initialisierung beschrieben, welcher aber alle vorhandenen Möglichkeiten optimal zu nutzen versucht und gleichzeitig eine möglichst komfortable Handhabung ermöglichen soll. Entgegen der in früheren Versionen dieser Anleitung benutzen Beschreibung der fsfe wird jetzt für jeden Zweck (C - Certify/Beglaubigen, S - Signieren, C - Crypt/Verschlüsseln, A - Authentifizieren) nur ein Schlüssel verwendet. Nur so ist eine eindeutige Schlüsselzuordnung durch verschiedene Programme möglich. Denn manche nehmen bei mehreren vorhandenen Schlüsseln mit gleichem Zweck den neuesten Schlüssel, andere den mit der längsten Laufzeit und wieder andere den ersten, der im Schlüsselbund gefunden wird.
Damit entfällt der permanente Verschlüsselungs-Schlüssel, welcher offline gespeichert wurde und ein Entschlüsseln auch nach Verlust des zur täglichen Nutzung vorgesehenen Verschlüsselungs-Schlüssel ermöglichen sollte. Deswegen ist es wichtig, den zur täglichen Nutzung vorgesehenen Verschlüsselungs-Schlüssel auch nach dessen Ablauf bzw. eventuellem Zurückziehen zu sichern. Ansonsten können damit verschlüsselte Daten nicht mehr entschlüsselt werden.
Die Schlüssel werden auf 2 unterschiedlichen Karten gespeichert, eine für die tägliche Nutzung (Usercard), die andere für administrative Zwecke (Admincard). Es entsteht folgende Struktur:
Schlüsselart | Speicherort | Einsatz |
---|---|---|
Hauptschlüssel | Admincard | Beblaubigen von anderen Schlüsseln |
|
Usercard | Signieren im täglichen Gebrauch (Mails) |
|
Usercard | Verschlüsseln im täglichen Gebrauch |
|
Usercard | Authentifizieren (z.B. SSH) |
Das Speichern des Hauptschlüssels auf der Admincard, hat den Vorteil, daß alle Aktionen, welche nur mit dem Hauptschlüssel durchgeführt werden können, wesentlich komfortabler und sicherer erledigt werden können. Das betrifft vor allen das Beglaubigen anderer Schlüssel.
Im Gegensatz zur Verwendung von z.B. "gpg --card-edit" und "generate" werden alle Schlüssel außerhalb der Karte angelegt. Das ist zwar eventuell weniger sicher, hat aber den Vorteil, daß ein Backup aller Schlüssel angelegt werden kann. Damit ist bei Defekt der Karte eine komplette Wiederherstellung möglich. Auch das Anlegen eine Zweitkarte ist so möglich. Alternativ würde natürlich auch nur ein Backup des Verschlüsselungs-Schlüssels genügen, um verschlüsselte Files bzw. Mails auch nach Defekt oder Verlust der Karte wiederherstellen zu können. Signatur- und Authentifizierungs-Schlüssel werden dann einfach durch neue ersetzt.
Beschrieben wird die Einrichtung der Smartcard unter Linux (im konkreten Beispiel: Gentoo). Sinngemäß sollte alles auch auf andere Distributionen oder sogar Windows angewendet werden können. Folgende Punkte sollten bereits erfüllt/vorhanden sein:
Letzteres kann z.B. unter Gentoo mit KDE durch Aktivierung von "GPG_AGENT=true" und "SSH_AGENT=gpg" in der Datei /etc/plasma/startup/10-agent-startup.sh erreicht werden:
GPG_AGENT=true #SSH_AGENT=true SSH_AGENT=gpg # use gpg-agent for ssh instead of ssh-agent if [ "${GPG_AGENT}" = true ]; then if [ -x /usr/bin/gpgconf ]; then gpgconf --launch gpg-agent >/dev/null 2>&1 if [ $? = 2 ]; then eval "$(/usr/bin/gpg-agent --enable-ssh-support --daemon)" fi fi fi if [ "${SSH_AGENT}" = true ]; then if [ -x /usr/bin/ssh-agent ]; then eval "$(/usr/bin/ssh-agent -s)" fi elif [ "${SSH_AGENT}" = gpg ] && [ "${GPG_AGENT}" = true ]; then if [ -e /run/user/$(id -ru)/gnupg/S.gpg-agent.ssh ]; then export SSH_AUTH_SOCK=/run/user/$(id -ru)/gnupg/S.gpg-agent.ssh elif [ -e "${HOME}/.gnupg/S.gpg-agent.ssh" ]; then export SSH_AUTH_SOCK=${HOME}/.gnupg/S.gpg-agent.ssh fi fi
Das Homeverzeichnis von GnuPG sollte jungfräulich sein. Ist das nicht der Fall, wird (evtl. nach Backup) dieses gelöscht und neu erstellt:
$ rm -rf /home/mmustermann/.gnupg $ gpg -k gpg: Verzeichnis `/home/mmustermann/.gnupg' erzeugt gpg: Die "Keybox" `/home/mmustermann/.gnupg/pubring.kbx' wurde erstellt gpg: /home/mmustermann/.gnupg/trustdb.gpg: trust-db erzeugtDanach am besten nochmal ab- und anmelden oder den Rechner komplett neu starten. Sind die Voraussetzungen erfüllt, sollte die Abfrage des Kartenstatus möglich sein:
$ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006012345670000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: [nicht gesetzt] Language prefs ...: [nicht gesetzt] Sex ..............: unbestimmt URL of public key : [nicht gesetzt] Login data .......: [nicht gesetzt] Signature PIN ....: nicht zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
Das ist ein Beispiel für eine leere Karte. Sollte die Karte schon benutzt worden sein, kann sie wie folgt gelöscht werden:
$ gpg --card-editgpg/card> admin Admin-Befehle sind erlaubt gpg/card> factory-reset gpg: OpenPGP Karte Nr. D2760001240102010006054862170000 erkannt gpg: Hinweis: Dieses Kommando zerstört alle auf der Karte gespeicherten Schlüssel! Fortsetzen? (j/N) j Möchten Sie die Karte wirklich komplett löschen? ("yes" eingeben) yes gpg/card> quit
Das funktioniert nicht mit älteren Versionen des OpenPGP-Applets auf dem Yubikey. Dann wird dessen OpenPGP-Applet bei installiertem Yubikey Manager besser mit folgendem Kommando zurückgesetzt:
$ ykman openpgp reset WARNING! This will delete all stored OpenPGP keys and data and restore factory settings? [y/N]: y Resetting OpenPGP data, don't remove your YubiKey... Success! All data has been cleared and default PINs are set. PIN: 123456 Reset code: NOT SET Admin PIN: 12345678
An dieser Stelle passen wir die Konfigurationsdateien unter "~/.gnupg" an bzw. erstellen diese, wenn sie noch nicht vorhanden sind. Im Gegensatz zu früheren Versionen dieser Anleitung sind bei aktuellen GnuPG-Versionen nur wenige Optionen erforderlich, da bereits die Default-Werte den Empfehlungen entsprechen (z.B. Anleitung zum optimalen Vorgehen auf riseup.net).
~/.gnupg/gpg.conf
# Options for GnuPG
##default-key 0xXXXXXXXXXXXXXXXX
set-policy-url http://www.musterfirma.bsp/ca/Policy_PGP_Musterfirma_CA_1234567890abcdef.txt
with-fingerprint
ask-cert-expire
"default-key" verweist auf die Id des zum Signieren bevorzugten Schlüssels. Die können wir natürlich erst konfigurieren, wenn wir den Schlüssel erzeugt haben. "set-policy-url" verweist auf die eigene Beglaubigungsrichtlinie. Der Dateiname enthält dabei am Ende (vor dem ".txt") die Schlüssel-Id. Im Beispiel handelt es sich hier um die Beglaubigungsrichtlinie der Zertifizierungsstelle einer fiktiven Firma, welche die Schlüssel zusätzlich signiert. Die Schlüssel-Id im Dateinamen ist demzufolge die des Schlüssels der Zertifizierungsstelle.
In der Regel wird keine Zertifizierungsstelle verwendet. Dann sollte hier (falls man überhaupt eine Beglaubigungsrichtlinie angeben will) die Id des eigenen Schlüssels stehen. Da dieser aber erst noch erstellt wird, kann man diese Option erst nach der Schlüsselerstellung setzen, womit der Schlüssel aber keine Policy-URL enthält. Wie diese noch eingefügt wird, ist weiter unten beschrieben.
Für den GPG-Agent werden folgende Optionen definiert:
~/.gnupg/gpg-agent.conf
enable-ssh-support
allow-mark-trusted
default-cache-ttl 18000
max-cache-ttl 86400
ignore-cache-for-signing
Um später nur verschlüsselt mit Schlüsselserver zu kommunizieren, wird eine Datei mit folgendem Inhalt angelegt:
~/.gnupg/dirmngr.conf
keyserver hkps://keys.openpgp.org
Zuerst sollten auf beiden Karten die PINs geändert werden:
$ gpg --change-pin gpg: OpenPGP Karte Nr. D2760001240102000005000010B10000 erkannt 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Ihre Auswahl? 3 PIN changed. 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Ihre Auswahl? 1 PIN changed. 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Ihre Auswahl? qDabei erfolgt die PIN-Eingabe (alte und neue) im sich jeweils öffnenden Pinentry-Fenster. Die PINs einer neu initialisierten Karte lauten: > PIN: 123456 > Admin-PIN: 12345678 Nun können verschiedene Daten der Karte angepaßt werden, zuerst die Usercard:
$ gpg --card-edit Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: [nicht gesetzt] Language prefs ...: [nicht gesetzt] Sex ..............: unbestimmt URL of public key : [nicht gesetzt] Login data .......: [nicht gesetzt] Signature PIN ....: nicht zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card> admin Admin-Befehle sind erlaubt gpg/card> name Familienname des Kartenbesitzers:Mustermann Vorname des Kartenbesitzers:Max gpg/card> url URL um den öffentlichen Schlüssel zu holen: https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc gpg/card> login Logindaten (Kontenname): mmustermann gpg/card> lang Spracheinstellungende gpg/card> sex Geschlecht: (Männlich (M), Weiblich (F) oder Leerzeichen): m gpg/card> forcesig gpg/card> list Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: Max Mustermann Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: mmustermann Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card> quit
Unter der URL wird der noch zu erzeugende öffentliche Schlüssel abgelegt. Dieser kann dann (z.B. auf einem anderen PC) mittels "fetch" (auch ein card-edit Befehl, s.o.) abgeholt werden. "forcesig" schaltet das Erzwingen der Eingabe der Signatur-PIN um. Der Default-Wert unterscheidet sich bei den verschiedenen Karten-Versionen. Beim abschließenden "list" sollte hinter "Signature PIN ....:" "zwingend" stehen.
Die Admincard wird genauso personalisiert, lediglich beim Namen kann zur Unterscheidung noch ein "(Admin)" hinzugefügt werden:
gpg/card> name Familienname des Kartenbesitzers:Mustermann (Admin) Vorname des Kartenbesitzers:Max
Ein Login muß bei der Admincard auch nicht angegeben werden.
Der Schlüssel wird nicht einfach auf der Karte erstellt, was zwar prinzipiell sicherer wäre, allerdings nicht die Möglichkeit bietet, von allen Schlüsseln ein Backup anzulegen. Deswegen wird der Schlüssel so erstellt, wie man es auch ohne Karte tun würde:
$ gpg --expert --full-gen-key gpg (GnuPG) 2.2.10; Copyright (C) 2018 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 (Nutzung selber einstellbar) (8) RSA (Nutzung selber einstellbar) (9) ECC und ECC (10) ECC (nur signieren) (11) ECC (Nutzung selber einstellbar) (13) Vorhandener Schlüssel Ihre Auswahl? 8 Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung Derzeit erlaubte Vorgänge: Signieren Zertif. Verschl. (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (Q) Beenden Ihre Auswahl? s Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung Derzeit erlaubte Vorgänge: Zertif. Verschl. (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (Q) Beenden Ihre Auswahl? v Mögliche Vorgänge eines RSA-Schlüssels: Signieren Zertif. Verschl. Authentisierung Derzeit erlaubte Vorgänge: Zertif. (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (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) 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"): Max Mustermann Email-Adresse: Kommentar: born 1976-02-01 in Musterstadt, Germany Sie haben diese User-ID gewählt: "Max Mustermann (born 1976-02-01 in Musterstadt, Germany)" Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? f 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 2F2C4B05C56A12D3 ist als ultimativ vertrauenswürdig gekennzeichnet gpg: Verzeichnis `/home/mmustermann/.gnupg/openpgp-revocs.d' erzeugt gpg: Widerrufzertifikat wurde als '/home/mmustermann/.gnupg/openpgp-revocs.d/2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.rev' gespeichert. Öffentlichen und geheimen Schlüssel erzeugt und signiert. pub rsa2048 2019-04-29 [C] 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 uid Max Mustermann (born 1976-02-01 in Musterstadt, Germany)
Bei der Schlüsselerstellung wird die gewünschte Passphrase zur Absicherung des Schlüsselbundes im Pinentry-Fenster abgefragt.
Im Beispiel wurde der Hauptschlüssel mit dem Fingerprint "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3"erzeugt. Der Fingerprint des Hauptschlüssels wird im Folgenden häufig als Parameter angegeben und muß dann durch den Fingerprint des eigenen Hauptschlüssels ersetzt werden.
Es wird ein 2048 Bit langer RSA-Schlüssel erstellt. Prinzipiell könnte auch ein anderes Format oder eine andere Länge gewählt werden, falls die verwendete OpenPGP-Card das unterstützt.
Eine Email-Adresse wurde nicht eingegeben, da die erzeugte Identität als Haupt-/Default-Identität nicht an eine (evtl. nicht permanente) Email-Adresse gebunden werden soll. Ob überhaupt ein Kommentar und falls ja mit solchem Inhalt (born 1976-02-01 in Musterstadt, Germany) angegeben werden sollte, muß jeder selbst entscheiden. S. dazu z.B.: Verwende keinen “Kommentar” in Deiner Benutzer-ID.
Hier nochmal die Auflistung mit allen Parametern:
$ gpg --list-sigs --keyid-format 0xlong --list-options show-policy-urls "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" pub rsa2048/0x2F2C4B05C56A12D3 2019-04-29 [C] Schl.-Fingerabdruck = 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 uid [ ultimativ ] Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sig 3 0x2F2C4B05C56A12D3 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) Beglaubigungsrichtlinie: http://www.musterfirma.bsp/ca/Policy_PGP_Musterfirma_CA_1234567890abcdef.txt
Im Beispiel hat der Hauptschlüssel die Id 0x2F2C4B05C56A12D3. Hier ist auch bereits die Beglaubigungsrichtlinie der Zertifizierungsstelle eingetragen (s. ~/.gnupg/gpg.conf). Soll die Beglaubigungsrichtlinie stattdessen die Id des gerade erstellten Schlüssels enthalten, trägt man nun erst den Parameter "set-policy-url" in die gpg.conf ein:
set-policy-url http://www.musterfirma.bsp/ca/Policy_PGP_Musterfirma_CA_827D473281CC3929.txt
Um dies dann auch an die Schlüssel anzufügen, geht man wie folgt vor:
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" Geheimer Schlüssel ist vorhanden. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) gpg> uid * sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1)* Max Mustermann (born 1976-02-01 in Musterstadt, Germany) gpg> delsig uid Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sig!3 2F2C4B05C56A12D3 2019-04-29 [Eigenbeglaubigung] Diese korrekte Beglaubigung entfernen? (j/N/q)j Eigenbeglaubigung wirklich entfernen? (j/N)j 1 Beglaubigung entfernt. gpg> sign sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ Haupt-Fingerabdruck = 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem Schlüssel "Max Mustermann (born 1976-02-01 in Musterstadt, Germany)" (2F2C4B05C56A12D3) beglaubigen wollen Dies wird eine Eigenbeglaubigung sein. Wirklich signieren? (j/N) j gpg> save
Damit wird die Eigensignatur aller vorhandenen Identitäten erst gelöscht und dann (inkl. URL der Beglaubigungsrichtlinie) wieder angefügt.
Als Beispiel erstellen wir nun 2 weitere Identitäten - für die private und die Firmen-Email-Adresse:
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) gpg> adduid Ihr Name ("Vorname Nachname"): Max Mustermann Email-Adresse: mmustermann@unitas-network.de Kommentar: Unitas Network Sie haben diese User-ID gewählt: "Max Mustermann (Unitas Network) <mmustermann@unitas-network.de>" Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? f sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1) Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2). Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> gpg> adduid Ihr Name ("Vorname Nachname"): Max Mustermann Email-Adresse: maxm@mustermann-privat.de Kommentar: privat Sie haben diese User-ID gewählt: "Max Mustermann (privat) <maxm@mustermann-privat.de>" Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(A)bbrechen? f sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1) Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3). Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> uid 1 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1)* Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3). Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> primary sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1)* Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Nach der Erstellung der beiden zusätzlichen User-IDs wurde die erste wieder als primäre markiert. Das Angeben eines Kommentars ist wieder Ermessenssache (s.o.).
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" addkey gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. gpg: "Trust-DB" wird überprüft gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: Tiefe: 0 gültig: 1 signiert: 0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> 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) Ihre Auswahl? 4 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) 2y Key verfällt am Mi 28 Apr 2021 10:10:11 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Es wurde also ein RSA-Schlüssel mit einer Länge von 2048 Bit und einer Gültigkeitsdauer von 2 Jahren mit der Id 0x865E873CCE925644 erstellt.
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" addkey gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> 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) Ihre Auswahl? 6 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) 2y Key verfällt am Mi 28 Apr 2021 10:12:08 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Der Verschlüsselungs-Schlüssel hat die Id 0xB36554A953282A98 bekommen.
Dafür muß der Expert-Mode genutzt werden, um die sogenannte Leistungsfähigkeit (besser Schlüsselfunktion) umschalten zu können:
$ gpg --expert --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" addkey gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> 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 (Nutzung selber einstellbar) (8) RSA (Nutzung selber einstellbar) (10) ECC (nur signieren) (11) ECC (Nutzung selber einstellbar) (12) ECC (nur verschlüsseln) (13) Vorhandener Schlüssel Ihre Auswahl? 8 Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung Derzeit erlaubte Vorgänge: Signieren Verschl. (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (Q) Beenden Ihre Auswahl? s Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung Derzeit erlaubte Vorgänge: Verschl. (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (Q) Beenden Ihre Auswahl? v Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung Derzeit erlaubte Vorgänge: (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (Q) Beenden Ihre Auswahl? a Mögliche Vorgänge eines RSA-Schlüssels: Signieren Verschl. Authentisierung Derzeit erlaubte Vorgänge: Authentisierung (S) Umschalten der Signaturnutzbarkeit (V) Umschalten der Verschlüsselungsnutzbarkeit (A) Umschalten der Authentisierungsnutzbarkeit (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) 2y Key verfällt am Mi 28 Apr 2021 10:15:13 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Der Authentisierungsschlüssel wurde mit Id 0xA4625D4AE8D91416 erstellt. Damit sind alle benötigten Schlüssel erzeugt (s. Funktion hinter "Nutzung:" in obiger Ausgabe):
Alle Schlüssel befinden sich im lokalen Schlüsselbund (Keyring) auf der Festplatte des PC.
Nun wird ein Backup des Schlüsselbundes angelegt:
$ cp ~/.gnupg/openpgp-revocs.d/2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.rev . $ gpg --export --armor "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" > 2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.pub.asc $ gpg --export-secret-keys --armor "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" > 2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.priv.asc $ gpg --export-secret-subkeys --armor "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" > 2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.priv_sub.asc
Damit werden das automatisch erstellte Widerufszertifikat, der öffentliche Hauptschlüssel, der private Hauptschlüssel und die privaten Unterschlüssel ins aktuelle Verzeichnis kopiert. Daraus wird eine verschlüsselte ZIP-Datei erstellt:
$ 7z a -tzip -mem=AES256 -p PGP-MMustermann.zip 2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.* $ rm 2F2D806B6B5802FDA5E7D9302F2C4B05C56A12D3.*
Die ZIP-Datei (PGP-MMustermann.zip) kann auf ein sicheres Offline-Medium (z.B. USB-Stick) verschoben werden, welches dann im Tresor gelagert wird.
Ein Ausdruck auf Papier ist auch sinnvoll, z.B. mit PaperKey:
$ gpg --export-secret-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" | paperkey --output paperkey.asc
Hier werden die für den täglichen Gebrauch vorgesehenen Unterschlüssel auf die Usercard verschoben. Zuerst der Signatur-, dann der Verschlüsselungs und zuletzt der Authentisierungs-Schlüssel. Bitte vorher auf das Einstecken der richtigen Karte achten (jetzt also die Usercard).
Bitte im Folgenden nicht blind den Befehl zur Schlüsselauswahl (z.B. "key 2") kopieren, sondern an Hand der Id und z.B. "Aufruf" und "verfällt" den korrekten Schlüssel wählen!
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> key 1 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb* rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> keytocard Wählen Sie den Speicherort für den Schlüssel: (1) Signatur-Schlüssel (3) Authentisierungs-Schlüssel Ihre Auswahl? 1 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb* rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> key 1 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> key 2 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb* rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> keytocard Wählen Sie den Speicherort für den Schlüssel: (2) Verschlüsselungs-Schlüssel Ihre Auswahl? 2 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb* rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> key 2 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> key 3 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb* rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> keytocard Wählen Sie den Speicherort für den Schlüssel: (3) Authentisierungs-Schlüssel Ihre Auswahl? 3 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E ssb* rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Die Usercard sieht nun wie folgt aus:
$ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: Max Mustermann Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: mmustermann Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: D5EA 30A8 FDF4 39AB E231 B145 865E 873C CE92 5644 created ....: 2019-04-29 08:09:06 Encryption key....: 5D9C D1AE 6362 0E55 52D4 DA8E B365 54A9 5328 2A98 created ....: 2019-04-29 08:11:24 Authentication key: 372A DBDF 4147 4169 47C5 E6AB A462 5D4A E8D9 1416 created ....: 2019-04-29 08:14:01 General key info..: sub rsa2048/865E873CCE925644 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals ssb> rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217
Man sieht also, daß hinter "Signature key", "Encryption key" und "Authentication key" die jeweiligen Schlüssel eingetragen sind. Die unteren Zeilen (nach "General key info") zeigen den aktuellen Schlüsselbund auf dem PC an. Das ">" hinter "ssb" zeigt an, daß diese Schlüssel auf eine Karte verschoben wurden. Die Nummer der Karte steht in der nächsten Zeile.
Momentan befinden sich die 3 Unterschlüssel auf der Usercardarte, der Hauptschlüssel befindet sich noch im lokalen Schlüsselbund. Dieser wird nun auf die Admincard verschoben (diese also statt der Usercard auch einstecken):
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S Kartennummer:0006 05486217 ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E Kartennummer:0006 05486217 ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A Kartennummer:0006 05486217 [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> keytocard Den Hauptschlüssel wirklich verschieben? (j/N) j Wählen Sie den Speicherort für den Schlüssel: (1) Signatur-Schlüssel (3) Authentisierungs-Schlüssel Ihre Auswahl? 1 sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Vertrauen: ultimativ Gültigkeit: ultimativ ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S Kartennummer:0006 05486217 ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E Kartennummer:0006 05486217 ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A Kartennummer:0006 05486217 [ ultimativ ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ ultimativ ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ ultimativ ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> save
Die Admincard sieht nun wie folgt aus:
$ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006052274280000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05227428 Name of cardholder: Max Mustermann (Admin) Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: [nicht gesetzt] Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 created ....: 2019-04-29 07:00:49 Encryption key....: [none] Authentication key: [none] General key info..: pub rsa2048/2F2C4B05C56A12D3 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sec> rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Kartennummer:0006 05227428 ssb> rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217
Hier ist also nun hinter "Signature key" der Hauptschlüssel eingetragen. Die unteren Zeilen (nach "General key info") zeigen wieder den aktuellen Schlüsselbund auf dem PC an. Dort steht nun auch das ">" hinter "sec", also wurde auch dieser Schlüssel auf eine Karte verschoben. Die Kartennummer für den ersten Schlüssel ist die der Admincard, die der anderen Schlüssel die der Usercard.
Mittels "default-key" wird der zum Signieren standardmäßig zu verwendende Schlüssel festgelegt. Das ist der Signaturschlüssel auf der Usercard.
Durch Hinzufügen der weiteren Einträge wird sichergestellt, daß alle von uns verschlüsselten Daten zusätzlich zum öffentlichen Schlüssel des Empfängers auch mit dem eigenen Verschlüsselungsschlüssel verschlüsselt werden. Damit können die verschlüsselten Daten auch selbst wieder entschlüsselt werden.
~/.gnupg/gpg.conf
default-key 0x865E873CCE925644
try-secret-key 0xB36554A953282A98
hidden-encrypt-to 0xB36554A953282A98!
default-recipient 0xB36554A953282A98!
Wir erstellen eine Testdatei:
$ echo "Das ist ein Test" > ~/Test.txt
und verschlüsseln diese an uns selbst (kein Empfänger angegeben). Die dabei entstandene ASCII-Datei zeigen wir uns an:
$ gpg -a -e ~/Test.txt gpg: übersprungen: öffentlicher Schlüssel bereits als Standardempfänger gesetzt $ cat ~/Test.txt.asc -----BEGIN PGP MESSAGE----- hQEMAwAAAAAAAAAAAQf/S79Iom6vkvsD/w5SxhRE0yC/3ME2OvAULue19YazM1lr U94+zvxuAPkKS6pI0LffXzH3FtMzsyBdJ5RJwZrOQp5WJH80ZJNLZpfntUiMpDKX iRGOmeOgBN+cVErlZuxTxhf7jKqeOngKkJwPok4LoIN+1gtU+Y3c7FQjhZzXi1ls RoDTmqtR1tUkVSUw3P53v53FNU1OFUDeqGJZu9chXTV34ZiYy5Ew4Ff5QdfF1F8K AU3rYMv/cgafokdDgqY15kWSLHABFsohEZtLP+zjAKJe7ZJJM17j6Ix8N7Ef5bYB ktU0jUTWXN1oe9Y16l45GLQ3LdHUh+Se8omH7EaujdJSAe2ms3eEl6jP8bpSH7fk xZmybdwolR8SyuxIuDkr56BTBeEkuWXtN7ZNNb7MMeXuzHrRg4OWQ5n5wcTxJJ9w oQvY0ZbKqwVKIr5ABK34qK5AqQ== =3Qml -----END PGP MESSAGE-----
Nun wird wieder entschlüsselt:
$ gpg -d ~/Test.txt.asc gpg: "0x865E873CCE925644" wird als voreingestellter geheimer Signaturschlüssel benutzt gpg: Ungenannter Empfänger; Versuch mit geheimen Schlüssel B36554A953282A98 ... gpg: Alles klar, wir sind der ungenannte Empfänger. gpg: verschlüsselt mit RSA Schlüssel, ID 0000000000000000 Das ist ein Test $ rm ~/Test.txt.asc
Dabei sollte nach der PIN der Karte gefragt werden. Es werden die verschiedenen Schlüssel durchprobiert und bei Erfolg der unverschlüsselte Inhalt der Datei ausgegeben. Das Entschlüsseln sollte nun nochmal ohne eingelegte Karte getestet werden, das darf dann nicht funktionieren.
Nun signieren wir die Testdatei mit dem privaten Schlüssel und lassen uns das Ergebnis anzeigen:
$ gpg --clearsign ~/Test.txt gpg: "0x4D4A32F1E8CABE19" wird als voreingestellter geheimer Signaturschlüssel benutzt $ cat ~/Test.txt.asc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Das ist ein Test -----BEGIN PGP SIGNATURE----- iQGBBAEBCABrFiEE1eowqP30OaviMbFFhl6HPM6SVkQFAlzGwG9NGmh0dHA6Ly93 d3cubXVzdGVyZmlybWEuYnNwL2NhL1BvbGljeV9QR1BfTXVzdGVyZmlybWFfQ0Ff ODI3RDQ3MzI4MUNDMzkyOS50eHQACgkQhl6HPM6SVkQgCgf+PdHOFcYLRO4i3cl5 zvHgtvssHdQ34dacZArOdFiZ5MwyTW8FHbOOhr4bY0SPNTNgxANmVqPxbeEvAgiX rmUdP5vChB2TFp5dMNuojZyA8n3cJJjV9tQfWb1rILUpZax7lv82bz+3o4QvVajJ NrONf4Mb9Dd2xXUxQvb+cM2BiguDAyuKBd3N4eYCo5HtO1VkD5M9uDM0LnTJiSrs 9XZlJvxADDLexShRNuyss2Dl0wXVF2VjRgYYLMUscNz2+bnHTCIIldD3lN1edcaC Zii64kGZJcsQueGvOvaFGarl2X1TtdAo0alNcrXuCdNIMjKAnegN58on/cHIDEQk I/OvLw== =vx/R -----END PGP SIGNATURE-----
Dabei sollte wieder nach der Karten-PIN gefragt werden. Zur Kontrolle auch diesen Test ohne Karte wiederholen.
Zuletzt wird die korrekte Signatur überprüft:
$ gpg --verify ~/Test.txt.asc gpg: Signatur vom Mo 29 Apr 2019 11:14:23 CEST gpg: mittels RSA-Schlüssel D5EA30A8FDF439ABE231B145865E873CCE925644 gpg: Korrekte Signatur von "Max Mustermann (born 1976-02-01 in Musterstadt, Germany)" [ultimativ] gpg: alias "Max Mustermann (Unitas Network) <mmustermann@unitas-network.de>" [ultimativ] gpg: alias "Max Mustermann (privat) <maxm@mustermann-privat.de>" [ultimativ] gpg: Beglaubigungsrichtlinie: http://www.musterfirma.bsp/ca/Policy_PGP_Musterfirma_CA_827D473281CC3929.txt Haupt-Fingerabdruck = 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 Unter-Fingerabdruck = D5EA 30A8 FDF4 39AB E231 B145 865E 873C CE92 5644 gpg: WARNUNG: Keine abgetrennte Signatur; die Datei '/home/mmustermann/Test.txt' wurde NICHT überprüft!
Der öffentliche Schlüssel wird im Textformat exportiert:
$ gpg --export --armor --output /tmp/mmustermann-pgp.asc "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3"
Die entstandene Datei /tmp/mmustermann-pgp.asc wird dann unter der auf der Karte angegebenen URL (https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc) veröffentlicht. Zusätzlich kann auch noch eine Veröffentlichung auf den Schlüsselservern erfolgen.
Soll die Usercard auf einem weiteren PC genutzt werden, erstellt man auf diesem zuerst, wie oben beschrieben, die Voraussetzungen und die Grundkonfiguration bzw. paßt die vorhandene Umgebung entsprechend an.
Dann wird die Karte bekanntgegeben. Zuerst wird der öffentliche Schlüssel geholt:
$ gpg --card-edit gpg: Die "Keybox" `/home/mmustermann/.gnupg/pubring.kbx' wurde erstellt Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: Max Mustermann Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: mmustermann Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 1 Signature key ....: D5EA 30A8 FDF4 39AB E231 B145 865E 873C CE92 5644 created ....: 2019-04-29 08:09:06 Encryption key....: 5D9C D1AE 6362 0E55 52D4 DA8E B365 54A9 5328 2A98 created ....: 2019-04-29 08:11:24 Authentication key: 372A DBDF 4147 4169 47C5 E6AB A462 5D4A E8D9 1416 created ....: 2019-04-29 08:14:01 General key info..: [none] gpg/card> fetch gpg: fordere Schlüssel von https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc an gpg: /home/mmustermann/.gnupg/trustdb.gpg: trust-db erzeugt gpg: Schlüssel 2F2C4B05C56A12D3: Öffentlicher Schlüssel "Max Mustermann (born 1976-02-01 in Musterstadt, Germany)" importiert gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1 gpg: importiert: 1 gpg/card> quit
Alternativ kann der öffentliche Schlüssel auch von einem Schlüsselserver oder dem anderen Computer kopiert werden.
Nach dem folgenden Kommando weiß der neue Computer dann auch, welche geheimen Schlüssel sich auf der Usercard befinden:
$ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: Max Mustermann Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: mmustermann Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 1 Signature key ....: D5EA 30A8 FDF4 39AB E231 B145 865E 873C CE92 5644 created ....: 2019-04-29 08:09:06 Encryption key....: 5D9C D1AE 6362 0E55 52D4 DA8E B365 54A9 5328 2A98 created ....: 2019-04-29 08:11:24 Authentication key: 372A DBDF 4147 4169 47C5 E6AB A462 5D4A E8D9 1416 created ....: 2019-04-29 08:14:01 General key info..: sub rsa2048/865E873CCE925644 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sec# rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals ssb> rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217
Der Hauptschlüssel ist noch unbekannt ("#" hinter "sec"). Abhilfe schafft bei Bedarf ein "gpg --card-status" mit eingesteckter Admincard.
Dem neuen Schlüssel sollten wir uneingeschränkt vertrauen:
$ gpg --edit-key "2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3" gpg (GnuPG) 2.2.10; Copyright (C) 2018 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. sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Kartennummer:0006 05227428 Vertrauen: unbekannt Gültigkeit: unbekannt ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S Kartennummer:0006 05486217 ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E Kartennummer:0006 05486217 ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A Kartennummer:0006 05486217 [ unbekannt ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> gpg> trust sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Kartennummer:0006 05227428 Vertrauen: unbekannt Gültigkeit: unbekannt ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S Kartennummer:0006 05486217 ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E Kartennummer:0006 05486217 ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A Kartennummer:0006 05486217 [ unbekannt ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> Bitte entscheiden Sie, in wieweit Sie diesem User zutrauen, Schlüssel anderer User korrekt zu prüfen (durch Vergleich mit Lichtbildausweisen, Vergleich der Fingerabdrücke aus unterschiedlichen Quellen ...)? 1 = Weiß nicht so recht 2 = Nein, ihm traue ich NICHT 3 = Ich vertraue ihm marginal 4 = Ich vertraue ihm vollständig 5 = Ich vertraue ihm absolut m = Zurück zum Menü Ihre Auswahl? 5 Wollen Sie diesem Schlüssel wirklich ultimativ vertrauen? (j/N) j sec rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Nutzung: C Kartennummer:0006 05227428 Vertrauen: ultimativ Gültigkeit: unbekannt ssb rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: S Kartennummer:0006 05486217 ssb rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: E Kartennummer:0006 05486217 ssb rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Nutzung: A Kartennummer:0006 05486217 [ unbekannt ] (1). Max Mustermann (born 1976-02-01 in Musterstadt, Germany) [ unbekannt ] (2) Max Mustermann (Unitas Network) <mmustermann@unitas-network.de> [ unbekannt ] (3) Max Mustermann (privat) <maxm@mustermann-privat.de> Bitte beachten Sie, daß ohne einen Programmneustart die angezeigte Schlüsselgültigkeit nicht notwendigerweise korrekt ist. gpg> quit
Damit sollte die Karte auch auf diesem PC normal genutzt werden können.
Nach einem Tausch der Karte (z.B. nach Defekt) muß GnuPG wissen, daß sich die Schlüssel nun auf einer anderen Karte befinden. Sonst wird bei jeder Aktion mit den geheimen Schlüsseln nach der alten Karte verlangt. Dazu löscht man einfach die privaten Schlüssel. Das folgende Kommando aber nur so ausführen, wenn keine anderen privaten Schlüssel vorhanden sind! Ansonsten nur den einzelnen Hauptschlüssel der Karte löschen. Anschließend liest man die Karte neu ein:
$ rm ~/.gnupg/private-keys-v1.d/* $ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006054862170000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05486217 Name of cardholder: Max Mustermann Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: mmustermann Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 1 Signature key ....: D5EA 30A8 FDF4 39AB E231 B145 865E 873C CE92 5644 created ....: 2019-04-29 08:09:06 Encryption key....: 5D9C D1AE 6362 0E55 52D4 DA8E B365 54A9 5328 2A98 created ....: 2019-04-29 08:11:24 Authentication key: 372A DBDF 4147 4169 47C5 E6AB A462 5D4A E8D9 1416 created ....: 2019-04-29 08:14:01 General key info..: sub rsa2048/865E873CCE925644 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sec# rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals ssb> rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217
Das kann dann noch mit der Admincard wiederholt werden:
$ gpg --card-status Reader ...........: 1050:0407:X:0 Application ID ...: D2760001240102010006052274280000 Version ..........: 2.1 Manufacturer .....: Yubico Serial number ....: 05227428 Name of cardholder: Max Mustermann (Admin) Language prefs ...: de Sex ..............: männlich URL of public key : https://www.unitas-network.de/unternehmen/mitarbeiter/mmustermann-pgp.asc Login data .......: [nicht gesetzt] Signature PIN ....: zwingend Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: 2F2D 806B 6B58 02FD A5E7 D930 2F2C 4B05 C56A 12D3 created ....: 2019-04-29 07:00:49 Encryption key....: [none] Authentication key: [none] General key info..: pub rsa2048/2F2C4B05C56A12D3 2019-04-29 Max Mustermann (born 1976-02-01 in Musterstadt, Germany) sec> rsa2048/2F2C4B05C56A12D3 erzeugt: 2019-04-29 verfällt: niemals Kartennummer:0006 05227428 ssb> rsa2048/865E873CCE925644 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/B36554A953282A98 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217 ssb> rsa2048/A4625D4AE8D91416 erzeugt: 2019-04-29 verfällt: 2021-04-28 Kartennummer:0006 05486217