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 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. 

Thunderbrid 78.x und OpenPGP Smartcards

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

Im Gegensatz zu älteren Thunderbird Version mit Enigmail kann man die Smartcard nicht im GUI von Thunderbird verwalten man kann keine Schlüssel generieren und keine PINs ändern. Es ist nur der Zugriff auf den privaten Key zum Signieren und Entschlüsseln möglich.

s