Hier finden Sie eine Übersicht und Anleitungen zur Verwendung des GPF Crypto Stick mit zahlreicher Open Source Software.
For an English explanation of setting up the Crypto Stick see here.
Eine allgemeine und gut verständliche Einführung bietet der Artikel Magisches Leuchten im Linux Magazin 2010/12.
Eine umfangreiche Anleitung gibt es auf Pro-Linux.
Einen ausfuehrlichen Erfahrungsbericht unter CentOS gibt es hier.
Die häufigsten Fragen und Antworten zum Crypto Stick.
Installation
Ubuntu Linux 11.04 und neuer
Für den Crypto Stick genügt es pcsclite als gewöhnliches Ubuntu-Paket zu installieren: sudo apt-get install libccid pcscd .
Die Pakete openct und opensc sollten entfernt werden, da diese zu Beeinträchtigungen führen können: sudo apt-get remove openct opensc
Festplattenverschluesselung
Anleitung zur Verwendung von dm-crypt.
Eine Anleitung auf Basis von eCryptfs.
Eine sehr einfach zu handhabendes kryptographisches Dateisystem liefert EncFS, das auf FUSE basiert. Eine Anleitung für Ubuntu ist hier. Die Kurzanleitung zur Verwendung von extra langen Passwörtern mit Kryptostick:
# Erstellung
$ echo "mein geheimer schlüssel" >key # sehr langer Schluessel im Klartext
- $ gpg -e key # Schluessel nun in key.gpg
- $ rm key # Klartext löschen
$ encfs ~/.Cryptdir.crypt ~/Cryptdir # "paranoia modus" & "mein geheimer schlüssel" als password eingeben
- $ fusermount -u ~/Crpytdir # neues Filesystem aushängen
# Benutzung
$ gpg -d key.gpg | encfs -S ~/.Crpytdir ~/CryptDir # PIN eingeben
- $ fusermount -u ~/Crpytdir # Filesystem nach Gebrauch wieder aushängen
Mit entsprechender Treiberunterstuetzung in OpenSC wird es zukuenftig auch moeglich LUKS nach dieser Anleitung einzubinden. DERZEIT NOCH NICHT MOEGLICH!
Ubuntu Linux 9.10 und älter
Für den Crypto Stick v1.0 genügt es pcsclite als gewöhnliches Ubuntu-Paket zu installieren: sudo apt-get install libccid pcscd . Für den Crypto Stick v1.2 muss ein aktualisierter Treiber installiert werden.
Die Pakete openct und opensc sollten entfernt werden, da diese zu Beeinträchtigungen führen können: sudo apt-get remove openct opensc
Das enthaltene GnuPG 1.4.9 funktioniert nicht mit dem Crypto Stick. Stattdessen ist es besser das entsprechende Paket für Ubuntu Lucid zu installieren. Die Verwendung von GnuPG 2 ist mit Ubuntu 9.10 oder älter nicht empfohlen. Falls ihr es doch verwenden wollt, beachtet die Hinweise im Abschnitt Ubuntu Linux 10.4 und neuer.
Windows
Beim Einstecken des Crypto Stick v1.2 sollte Windows vorschlagen den entsprechenden Treiber zu suchen. Dies ist zu bestätigen, so dass die Treiberinstallation weitestgehend automatisch erfolgt. Für den Crypto Stick v1.0 muss evtl. dieser Treiber heruntergeladen und installiert werden.
Grundsätzlich ist GPG4Win ein empfehlenswertes Paket für Windows, welches GnuPG 2 und zahlreiche weitere nützliche Tools für die Verschlüsselung enthält (z.B. ein Plugin zur Nutzung von GnuPG und dem Crypto Stick mit Outlook). Alternativ könnt Ihr GnuPG 1.4.10b als Binary herunterzuladen und installieren.
Der sog. Minidriver ermöglichen die Anmeldung an Windows mittels des Crypto Sticks, sowie die Verwendung des Crypto Stick mit dem Internet Explorer und Chrome Web Browser.
Mac OS X
Crypto Stick v1.2: In Lion ist der benötigte CCID-Treiber bereits vorinstalliert. Bei Snow Leopard wird eine neuere CCID-Treiberversion benötigt, die nicht in MacOS enthalten ist. Hier gibt es ein Installationspaket, das auch auf Wunsch GnuPG 1.4.10 installiert. Alternativ koenntest Du diese Quelle pruefen.
Crypto Stick v1.0: Der nötige Gerätetreiber ist bereits standardmäßig in Mac OS Snow Leopard und Leopard enthalten. Für ältere Versionen von Mac OS siehe hier.
Du musst eine passende Version von GnuPG installieren. Es gibt GnuPG 1.4.10 in Fink und MacGPG1 1.4.11 sowie Version 2 von GPGTools.
Achtung: Wegen einer 32/64bit Inkompatibilität funktioniert der CryptoStick unter 10.7 Lion nur mit GPG2. 1.4.11 gibt eine malloc-Fehlermeldung aus.
Android
Android wird noch nicht unterstuetzt aber die folgenden Links koennen helfen dies zu untersuchen.
PKCS#11 Treiber
Peter Koch hat freundlicherweise einen (proprietären) PKCS#11-Treiber für den Crypto Stick entwickelt. Der Treiber befindet sich derzeit noch in der Entwicklung und wird die Verwendung des Crypto Stick mit zahlreichen neuen Anwendungen ermöglichen. Hier gibt es eine gute Anleitung zum Umgang mit X.509-Zertifikaten.
Die optionale Debug-Version erzeugt automatisch eine Logdatei in $TMP/pkcs11.log (Linux) bzw. %TEMP%\PKCS11.log (Windows), die auch die PINs protokolliert. Diese Debug-Version daher bitte nur fuer Testzwecke verwenden.
Einschränkungen:
- Derzeit funktionieren mittels PKCS#11-Schnittstelle generierte Schlüssel noch nicht mit GnuPG. Andersherum jedoch. Wenn Sie den Crypto Sick sowohl mit GnuPG als auch mit PKCS#11 verwenden wollen, generieren Sie die Schlüssel mittels GnuPG.
- Bei der Linuxversion besteht noch nicht die Möglichkeit, neue Schlüssel zu generieren.
- Die Änderung des Passwortes/PIN unter Linux ist noch nicht möglich.
OpenSC
Der OpenSC Treiber unterstützt den Crypto Stick noch nicht aber dies ist in Entwicklung und wird bald veröffentlicht werden.
Anwendungen
GnuPG
GnuPG gibt es in der Version 1 und Version 2, die jeweils ab Version 1.4.10 und 2.0.13 mit dem Crypto Stick funktionieren. Anleitung zur Verwendung des Crypto Sticks mit GnuPG (Kommandozeile). Hinweis: Die Fellowship Smartcard ist funktional ähnlich zu dem Crypto Stick, so dass diese Anleitung auch auf den Crypto Stick zutrifft.
Allgemein ist die offizielle Dokumentation zu empfehlen.
Verteilen auf mehreren Systemen
Der GPFCryptoStick benötigt den öffentlichen Keyring auf allen Systemen, an dem der GPFCryptoStick eingesetzt werden soll. Unter Linux geht das so: Daher ist es notwendig die Datei ~/.gnupg/pubring.gpg z.B. auf einen USB-Stick zu lagern und diesen dann auf den anderen Systemen zu verteilen. Hierbei sollte beachtet werden, dass bei jedem Import eines öffentlichen Schlüssels sich auch der Keyring ändert.
GPGagent
Für GnuPG 2 ist weiterhin zu beachten, dass gpg-agent im Hintergrund ausgeführt werden muss. Falls es hierbei Probleme gibt könnten folgende Links hilfreich sein:
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Tips%20and%20Tricks
http://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html#Invoking-GPG_002dAGENT
Benutzerauthentifikation mittels PAM und siehe Poldi.
Mozilla Thunderbird + Enigmail
Thunderbird funktioniert grundsätzlich mit dem Crypto Stick. Verwenden Sie dazu mindestens Version 1.1 von der Erweiterung Enigmail für Thunderbird 3.1. Das ältere Enigmail 0.95.7 funktioniert ebenfalls. Die Version 1.0 funktioniert nicht mit dem Crypto Stick. Für Thunderbird 3.0 gibt es hier das angepasste Enigmail: Enigmail 1.0.1 (angepasst) für Thunderbird 3.0 auf Linux (32 Bit), Linux (x86, 64 Bit), MacOS X, Windows (32 Bit).
Folge anschließend der Anleitung zur Einrichtung und Verwendung des Crypto Stick unter Windows mit Mozilla Thunderbird und Enigmail.
Emailverschlüsselung mittels X.509 sollte mit dem PKCS#11 Treiber funktionieren (ungetestet).
Mozilla Firefox
Du musst den PKCS#11 Treiber installieren:
- Lade den PKCS#11 Treiber herunter und speichere ihn auf der lokalen Festplatte.
Oeffne das Menue Bearbeiten -> Einstellungen -> Erweitert -> Verschluesselung -> Kryptographie-Module
- Druecken den Knopf "Laden". Gib "Crypto Stick" als Modulname ein und druecke "Durchsuchen" um die PKCS#11 Treiberdatei auszuwaehlen. Bestaetige und schliesse alle Dialoge.
Veraltet: Mittels Scute lässt sich (theoretisch) der Crypto Stick in Mozilla Firefox für die Zertifikatsanmeldung nutzen lassen. Leider ist Scute nicht sehr stabil und funktioniert daher nicht in jedem Fall. Basierend auf der offiziellen Dokumentation, ist hier eine aktualisierte Anleitung.
TrueCrypt
Mittels des PKCS#11 Treibers lässt sich TrueCrypt (getestet mit Version 7.0 unter Ubuntu 10.04) nutzen:
Unter TrueCrypt im Menü 'Settings>Preferences>Security Token' die heruntergeladene Library angeben.
Als Token muß man eine mit TrueCrypt zufällig generierte Schlüsseldatei (64 Byte groß, Name beliebig, unter 'Tools> Keyfile Generator') erstellen.
Unter 'Tools > Manage Security Token Keyfiles' kann man nun nach PIN-Eingabe die generierte Schlüsseldatei als 'Private Data Object 3' auf den Crypto Stick importieren (Original natürlich sicher löschen!). Exportieren (vom Stick) kann man die Schlüsseldatei auch wieder, so daß sie auch ohne Crypto Stick Zugang zum Container gewährt (fragliches Sicherheitsrisiko).
Jetzt kann man den Crypto Stick mit TrueCrypt nutzen. Beispiel: Container anlegen, statt Passwort einfach "Keyfile" wählen und das Token auswählen.
Sicherheitsaspekte: Laut TrueCrypt Handbuch ist ein 64-stelliges zufälliges Passwort völlig ausreichend. Die maximal verfügbaren 254 Bytes im CryptoStick sind also mehr als ausreichend.
OpenSSH
Siehe hier und hier. Hinweis: Die Fellowship Smartcard ist funktional ähnlich zu dem Crypto Stick, so dass diese Anleitung auch auf den Crypto Stick zutrifft. Hier gibt es Informationen zu OpenSSH secure shell und X.509 v3 Zertifikaten.
PuTTY /KiTTY
Folgen Sie dieser Anleitung zur Nutzung von PuTTY unter Windows.
Ein kostenloses (aber proprietäres) angepasstes PuTTY, welches auch mit dem Crypto Stick funktioniert.
Eine kostenloses und offenes angepasstes PuTTY, welches aber ein PKCS#11 Modul benötigt. Daher funktioniert es derzeit noch nicht mit dem Crypto Stick.
KiTTY ist eine Weiterentwicklung von PuTTY, da dieses nicht mehr weiter entwickelt wird. In der neusten Betaversion enthält KiTTY Unterstützung für Smartkarten mittels dieser PKCS#11-Schnittstelle. KiTTY sollte mittels des PKCS#11 Treibers mit dem Crypto Stick funktionieren (ungetestet).
OpenVPN
Status unbekannt, dieser Link koennte nuetzlich sein.
OpenID
Certifi.ca is an OpenID provider allowing authentication with the Crypto Stick (instead of user name and password) by using the PKCS#11 driver.
Webmail
Roundcube is a great webmail client written in PHP. It can be extended to allow certificate authentication so that the Crypto Stick can be used instead of user name and password.
IPsec
Strong Swan koennte mittels des PKCS#11 Treibers funktionieren.
Evolution
Die neueste Version von Evolution unterstützt den Crypto Stick.
Gajim
Der Instant Messenger für XMPP (Jabber) kann mit dem Crypto Stick betrieben werden. Unter Kontoeinstellungen → Persönliche Informationen (Accounts → Personal Information) wird der OpenPGP-Key selektiert. Darüber hinaus besteht die Möglichkeit, den GPG-Agent zu verwenden, so dass nur einmalig die PIN eingegeben werden muss. Damit kann sichere Kommunikation über XMPP erfolgen.
Getestet unter Ubuntu 10.04 Linux, Gajim 0.13
Informationen zu Gajim - ist auch unter Windows erhältlich!
GPA - GNU Privacy Assistant
Erkennt Cryptostick 1.0 unter Ubuntu "out-of-the-box", bietet umfangreiche Möglichkeiten zum Schlüssel/Kartenmanagement. Es beherrscht auch Datei-Operationen wie Verschlüsselung, Entschlüsselung, Signierung. Webseite
Fazit: Eines der besten Crypto Stick Utilities unter Linux. Erhältlich auch für Windows.
Erfolgreich getestet unter Ubuntu 10.04 mit GPA 0.9.0 (GPG 2.0.14) welches aus den Ubuntu-Repositories installierbar ist.
WebID
WebID ist eine wichtige Technologie um sichere und verteilte soziale Netzwerke zu ermöglichen, welches hoffentlich der Facebook-Nachfolger wird. Hier ist ein Video (WebM, Ogg video, H.264) welches zeigt wie der Crypto Stick verwendet wird um ein WebID Profil zu erzeugen und dies anschließend in einem Internetcafe in Singapur genutzt wird. Der Crypto Stick schützt vor Computerviren die ansonsten Benutzernamen und Passwort hätten klauen können
PAM
Poldi 0.4.1 funktioniert problemlos mit dem Crypto Stick zur PAM Authentifizierung. Ich habe die unveränderte Datei /etc/poldi/poldi.conf verwendet.
auth-method localdb
log-file /var/log/poldi.log
debug
scdaemon-program /usr/bin/scdaemon
Eine Zeile zu /etc/poldi/localdb/users hinzugefügt, mit der CryptoStick Seriennummer (von gpg --card status | grep Application) :
D00600012401020000000000xxxxxxxx alpha
Und dann den öffentlichen Schlüssel des Crypto Sticks in die Poldi local db gegeben:
sudo poldi-ctrl -k > /etc/poldi/localdb/keys/D00600012401020000000000xxxxxxxx
Der Rest ist das übliche Vorgehen zur Konfiguration der PAM Konfigurationsdateien. Momentan behalte ich die Möglichkeit bei mich mit Passwort anzumelden, daher habe ich in /etc/pam.d/gdm hinzugefügt: /etc/pam.d/login /etc/pam.d/sudo /etc/pam.d/gnome-screensaver:
auth sufficient pam_poldi.so
Hinweis: Es ist gefährlich mit PAM zu spielen, daher solltest Du sichergehen dich immer an dem Computer anmelden zu können wenn die Authentifizierung versagt. Denk dran dass das Booten von Grub in den Rettungsmodus das root Passwort benötigt. Daher merke Dir dieses oder verwende eine Live CD um auf das Dateisystem manuell zuzugreifen.
Hat man sein privates Home-Verzeichnis mit Passwort verschlüsselt, ist es dringend abzuraten, komplett auf Authentifizierung über den Crypto Stick zu konfigurieren. Die Folge ist, dass home Verzeichnis nicht gelesen werden kann. Möchte man trotzdem eine Authentifikation über Crypto Stick, muss daher das home Verzeichnis auch auf die Authentifikationsmethode über Crypto Stick umgestellt werden.
Fehlersuche
- Stecke den Crypto Stick an Deinen Computer an und überprüfe ob das Gerät korrekt erkannt wird bzw. der Treiber geladen wird. Die Lampe des Sticks sollte nach dem Anstecken kurz leuchten und dann aus gehen.
Linux: tail -v /var/log/messages
MacOS X: tail -f /var/log/system.log
Windows: Start -> Einstellungen -> Systemsteuerung -> System -> Hardware -> Gerätemanager -> Smart card readers (o.ä.)
Überprüfe ob GnuPG den Stick korrekt erkennt: gpg --card-status bzw. gpg2 --card-status (je nach benutzter Version) sollten einige Statusinformationen über den Stick ausgeben.
- falls GnuPG Version 1 und Version 2 installiert sind: Überprüfe ob das verwendete Emailprogramm die richtige GnuPG Version verwendet. Ggf. kann man das in den jeweiligen Einstellungen ändern.
weitere Anleitungen und Links
Alternative Anleitungen fuer GNU/Linx (VERALTET)
UDEV
Der neue empfohlene Weg ist, eine UDEV Regel zu erstellen, so dass keine weitere Treiberinstallation nötig ist. Vorgehen:
Falls Du Ubuntu oder Debian Linux verwendest, lade und installiere dies Paket.
Andernfalls, falls Du eine andere Linuxdistribution verwendest, lade diese UDEV Regel herunter und kopiere sie in das entsprechende Verzeichnis: sudo cp 40-cryptostick.rules /etc/udev/rules.d
Linux (alternative vorkompilierte Treiberpakete)
Es wird empfohlen die UDEV Regel aus dem vorherigen Abschnitt zu verwenden. Sollte diese bei Dir nicht funktionieren, kannst Du es mit diesen Treibern versuchen.
Alternativ zu der oben vorgeschlagenen Installation, kann ein aktualisierter pcsclite Treiber verwendet werden:
Ubuntu 10.4 / Lucid: i386, amd64
Ubuntu 9.10 / Karmic: i386, amd64
Ubuntu 9.04 / Jaunty: i386, amd64
Ubuntu 8.10 / Intrepid: i386, amd64
Ubuntu 8.04 / Hardy: i386, amd64
Manuelle Installation
Entweder kann die neuste Version aus dem pcsclite-Repository verwendet werden, oder dieser Patch. Solltet Ihr nicht die oben bereitgestellten Debian- bzw. Ubuntupakete nutzen wollen, könnt Ihr den Patch wie im Folgenden beschrieben manuell installieren:
- Nötige Pakete zum Kompilieren installieren: sudo apt-get install dpkg-dev debhelper libusb-dev libpcsclite-dev flex autotools-dev
- Quellpaket herunterladen: apt-get source libccid
in erzeugtes Verzeichnis wechseln: cd ccid-<Version>
den Patch installieren: patch -p 0 < ../libccid-1.3.11-Crypto-Stick.patch
- Debianpaket erzeugen: dpkg-buildpackage -rfakeroot -uc -b
neues Debianpaket installieren: sudo dpkg -i ../libccid<Version>.deb
4096 Bit Schlüssel
Um 4096 Bit lange Schlüssel verwenden zu können muss GnuPG gepatched werden (Dank an Chris Boyle).