Privacy Handbuch

Die Sicherheit asymmetrischer Verschlüsselung hängt entscheidend von der sicheren Aufbewahrung des privaten Schlüssels ab. Es gibt mehrere Möglichkeiten, wie private Schlüssel kompromittiert werden könnten:

OpenPGP Smartcards ermöglichen eine sichere Nutzung von GnuPG unter diesen Bedingungen. Der private Schlüssel ist ausschließlich auf der Smartcard gespeichert, er verläßt diese sichere Umgebung nicht. Alle Krypto-Opertionen, die den privaten Schlüssel nutzen, werden auf der Smart­card ausge­führt. (Die Nutzung von Smartcards hätte wahrscheinlich die Kompromittierung der OpenPGP-Schlüssel von Cryptome.org verhindern können.)

Einige Angebote von OpenPGP Smartcards:

Ein erster Test

Die GnuPG Software Collection kann Smartcards out-of-the-box nutzen. Zuerst sollte man prüfen, ob alles funktioniert und die Smartcard erkannt wird. Smartcard anschließen und auf der Konsole bzw. in der DOS-Box folgendes Kommando eingeben: > gpg2 --card-status
Application ID ...: D27600xxxxxxxxxxxxxxx
Version ..........: 2.0
Manufacturer .....: unknown
....
Wenn keine Smartcard gefunden wird, kann man zuerst prüfen, ob die GnuPG Software Collection vollständig installiert wurde (gpg2 + gpg-agent + scdaemon) und ob der gpg-agent läuft.

Verwaltung der Smartcard mit GNU Privacy Assistant (GPA)

Der GNU Privacy Assistant (GPA) ist Bestandteil des gpg4win Paketes und kann in allen Linux Distributionen aus den Repositorys installiert werden. Mit diesem GUI können auch OpenPGP Smartcards verwaltet werden. Dafür wählt man das Fenster "Kartenverwaltung".


In dem Fenster "Kartenverwaltung" kann man neue Schlüssel auf der Smartcard generieren lassen, die Daten anpassen und eine neue PIN/PUK setzen.

Die PIN benötigt man, wenn man die Smartcard zum Entschlüsseln oder Signieren von Daten verwenden möchte. Die PUK (auch Admin-PIN genannt) wird benötig, wenn man Daten auf der Smartcard ändern odr neue Schlüssel erzeugen möchte.

Verwaltung der Smartcard auf der Kommandozeile

Die Nutzung von "gpg2" auf der Kommandozeile bietet die Möglichkeit, die Smartcard zu verwalten. Einen Überblick über alle Smartcard-Funktionen gibt die Hilfe mit dem "help" Kommando. Als erstes muss man den Admin-Mode aktivieren, dann hat man vollen Zugriff auf alle Funktionen: > gpg2 --card-edit
...
gpg/card> admin
Admin-Befehle sind erlaubt

gpg/card> help
...
gpg/card> quit
Neue Schlüssel generiert man auf der Smartcard mit "generate", die PIN und Admin-PIN kann man mit "passwd" ändern, mit "unblock" kann man den Zähler für Fehlversuche zurück setzen und "factory-reset" löscht alle Schlüssel auf der Smartcard.

Neuer oder fremder Rechner - was nun?

Ein nettes Feature von OpenPGP Smartcards ist es, an einem neuen oder fremden Rechner den Public Key von einer Download Adresse holen zu können. Der private Key ist auf der Card in einer sicheren Umgebung, somit kann man auch unterwegs auf einem halbwegs vertrauenswürdigen, fremden Rechner eines Bekannten mit vollständiger GnuPG Installation die PGP-Verschlüsselung nutzen ohne den privaten Schlüssel zu kompromittieren.

Die Funktion zum Abrufen des Public Key von der Download URL steht nur auf der Kommandozeile zur Verfügung. Nach dem Abrufen des Public Key muss man noch einmal den Card-Status aufrufen, damit der private Schlüssel an den Public Key gebunden wird: > gpg2 --card-edit
...
gpg/card> fetch    (Holen des Public Key von der konfigurierten Download URL)
gpg/card> quit
>
> gpg2 --card-status    (Re-Bind von private und public Key)
Prinzipiell könnte man auch einen Keyserver nutzen, um den öffentlichen Schlüssel zu importieren. Die Verwendung der Download URL der Smartcard ist aber sicherer. 

OpenPGP Smartcards mit Thunderbird verwenden

Wenn man in Thunderbird 78.x eine OpenPGP Smartcard zum Entschlüsseln und Signieren von E-Mails verwenden möchte, muss man in den Erweiterten Einstellungen folgende Option aktivieren: mail.openpgp.allow_external_gnupg = true Dann wird für die Einrichtung des eigenen Schlüssels eine dritte Option angeboten

Im folgenden Schritt kann man die ID des eigenen Schlüssels von der OpenPGP Smartcard eingeben. Der Zugriffs­schutz für den privaten Key wird dann von GnuPG geregelt. Die Krypto-Operationen mit dem privaten Key werden dann auf der Smartcard ausgeführt statt mit OpenPGP.js in Thunderbird, was die krypto­grafische Sicherheit verbessert.