OpenPGP-SmartCard V2.0 unter Ubuntu 10.04
Die Speicherung von Schlüsseln auf einer Smartcard gilt als sehr sicher. Dieser Artikel zeigt, wie sie unter Ubuntu 10.04 LTS »Lucid Lynx« eingesetzt wird.
Vorwort
GnuPG erlaubt das Verschlüsseln, Entschlüsseln, die Signierung und das Prüfen der Signaturen von Dateien. Es kann auch zur Authentifizierung und der sicheren Kommunikation (E-Mail) verwendet werden. Die Speicherung der Schlüssel auf der Chipkarte (Smartcard) ist sicherer, da die Schlüssel nicht auf dem PC in der Datei ~/.gnupg/secring.gpg gespeichert werden. In den Dateien secring.gpg und pubring.gpg befindet sich nur ein Verweis auf die Schlüssel, die auf der Chipkarte gespeichert sind.
Befehle, die im Folgenden nach den Zeichen ~#
aufgeführt sind, bitte als Benutzer root ausführen, alles was nach ~$
steht, bitte als normaler Benutzer eingeben.
Chipkartentypen
Als Kartentyp kommt die OpenPGP-SmartCard V2.0 zum Einsatz. Bekannt sind auch noch die Chipkarten von der Free Software Foundation Europe: Eine »Fellowship Smartcard«, die genauso aufgebaut ist wie die OpenPGP-SmartCard, sowie der »GPF Crypto Stick«, der eine OpenPGP SmartCard V2.0 enthält. Auch diese sollten mit dieser Beschreibung funktionieren.
Wird ein Chipkartenleser verwendet, der Chipkarten im Standard-Format aufnehmen kann (85,6 x 54 mm), sollte eine Chipkarte ohne SIM-Ausfräsung gewählt werden. Für einen Chipkartenleser, der nur Chipkarten im SIM-Format aufnehmen kann, zum Beispiel der SCT3511, sollte eine Chipkarte mit SIM-Ausfräsung gewählt werden.
Verwendete Chipkartenleser
Für diese Beschreibung wurden drei Chipkartenleser verwendet:
- Towitoko Chipdrive extern 320 V4.30 (seriell)
- USB-CHIPDRIVE pinpad pro (SPR532)
- USB-CHIPDRIVE MyKey (SCT3511)
USB-Stick Chipkartenleser
Wird nach einem Zugriff auf die Chipkarte der Stick gezogen und dann bei gezogenem Stick auf die Chipkarte zugegriffen, ist auch dann kein Zugriff auf die Chipkarte möglich, wenn der Stick wieder gesteckt wird. Erst nach einer Ab- und Anmeldung am Desktop kann wieder auf die Chipkarte zugegriffen werden. Bei einem Chipkartenleser, der mit dem PC verbunden bleibt und nur die Chipkarte gezogen wird, bestehen keine Probleme. Es wird also empfohlen, einen USB-Stick Chipkartenleser nur zum Ver- und Entschlüsseln sowie zum Signieren zu verwenden, für die Authentifizierung am Desktop ist der Stick nicht geeignet.
Treiber-Installation
Pakete für den Zugriff auf den Chipkartenleser installieren:
~# aptitude install pcscd pcsc-tools opensc
Installierte Abhängigkeiten: libpcsc-perl, libccid, libopenct1, libopensc2. Wenn ein serieller Towitoko-Chipkartenleser verwendet wird, ist zudem das Paket libtowitoko2
zu installieren.
Treiber-Konfiguration
Nicht benötigte Treiber deaktivieren und den Chipkartenleser nicht für andere Anwendungen sperren (nach den Einträgen mit vorangestellter Raute suchen und den ersten Eintrag darunter kopieren, beim zweiten Eintrag die Raute entfernen). Dies ist in /etc/opensc/opensc.conf zu finden.
# reader_drivers = openct, pcsc, ctapi; reader_drivers = pcsc; ... # Default: true lock_login = false;
Wird die Option enable_pinpad = true;
aktiviert, und der Chipkartenleser hat
eine Tastatur, funktioniert die Tastatur beim SPR532 leider trotzdem nicht.
Nun pcscd mit service pcscd restart
neu starten.
Funktionsprüfung Chipkartenleser
Angeschlossenen Chipkartenleser listen:
~$ opensc-tool --list-readers
Ausgabe bei einem Towitoko Chipdrive:
Readers known about: Nr. Driver Name 0 pcsc Towitoko Chipdrive Reader 00 00
Ausgabe bei einem SPR532:
Readers known about: Nr. Driver Name 0 pcsc SCM SPR 532 (21250929200965) 00 00
Ausgabe bei einem SCT3511:
Readers known about: Nr. Driver Name 0 pcsc SCM SCR 3310 00 00
Prüfen, ob Chipkarten erkannt werden:
~$ pcsc_scan
Chipkarte einstecken (z.B. Krankenkassenkarte, OpenPGP-SmartCard ...) und Chipkarte ziehen, im SCT3511 können natürlich nur Chipkarten im Sim-Kartenformat verwendet werden. pcsc_scan beenden mit Strg+c
.