Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
centos:cryptos [20.07.2011 19:17. ] – Kapitel zum Thema M$-Windows XP angelegt und Verweis eingetragen django | centos:cryptos [20.04.2018 10:25. ] – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== GPF CryptoStick in der Praxis ====== | ||
+ | In diesem Kapitel befassen wir uns mit dem [[http:// | ||
+ | |||
+ | Der Cryptostick vereint in einem kleinen Plastikgehäuse einen Kartenleser mit zugehöriger OpenPGP Chipkarte. Technische Details zum CryptoStick findet man im [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Im Gegensatz zu klassischen Variante bei der Speicherung der Schlüsseldaten auf einem Computer, werden beim CryptoStick die Schlüsseldaten direkt auf der OpenPGP Chipkarte verwaltet, gespeichert und bei Bedarf auch erzeugt. Dies erfolgt mit Hilfe der Software //GnuPG V2//, die kompatibel zum OpenPGP Standard ist. Entscheidet man sich für das Verschieben des Schlüsselringes von unserem CentOS6.x Client auf den CryptoStick, | ||
+ | |||
+ | ===== Hardwareinformationen ===== | ||
+ | Informationen über den Cryptostick können wir mit hilfe des Befehls **usb-devices** dem System abverlangen. | ||
+ | $ usb-devices | ||
+ | < | ||
+ | D: Ver= 1.10 Cls=00(> | ||
+ | P: Vendor=20a0 ProdID=4107 Rev=01.00 | ||
+ | S: Manufacturer=German Privacy Foundation | ||
+ | S: Product=Crypto Stick v1.2 | ||
+ | C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA | ||
+ | I: If#= 0 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=usbfs</ | ||
+ | |||
+ | |||
+ | Im Syslog wird uns beim Anstecken des Sticks dies entsprechend protokolliert: | ||
+ | < | ||
+ | Jul 13 13:44:28 proton kernel: usb 2-1: New USB device found, idVendor=20a0, | ||
+ | Jul 13 13:44:28 proton kernel: usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 | ||
+ | Jul 13 13:44:28 proton kernel: usb 2-1: Product: Crypto Stick v1.2 | ||
+ | Jul 13 13:44:28 proton kernel: usb 2-1: Manufacturer: | ||
+ | Jul 13 13:44:28 proton kernel: usb 2-1: configuration #1 chosen from 1 choice</ | ||
+ | |||
+ | Wer es lieber graphisch dargestellt haben will, nutzt einfach den Befehl **hardinfo** aus dem gleichnamigen RPM-Paket. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Softwarepaket ===== | ||
+ | Rufen wir nun mit Hilfe von **gpg --card-status ** den Kartenstatus ab, wird uns mit unter folgende Fehlermeldung präsentiert: | ||
+ | < | ||
+ | gpg-agent[2846]: | ||
+ | Das fehlende Programm **/ | ||
+ | # yum install gnupg2-smime -y | ||
+ | |||
+ | ===== Aktivierung im System ===== | ||
+ | Möchten wir nun auf unseren Stick als //normaler User// Zugreifen, werden wir im ersten Schritt erst einmal nicht viel Erfolg haben. | ||
+ | < | ||
+ | gpg: selecting openpgp failed: Kein passendes Gerät gefunden | ||
+ | gpg: OpenPGP Karte ist nicht vorhanden: Kein passendes Gerät gefunden</ | ||
+ | Als **root** hingegen klappt dies erst einmal ohne größere Probleme. | ||
+ | # gpg --card-status | ||
+ | |||
+ | ==== Variante 1 ==== | ||
+ | In der ersten Variante beschreiten wir den Weg über eine entsprechende udev-Regel und dem Aufruf des **pgp-agent** als Autostarter. | ||
+ | === udev-Regel === | ||
+ | Damit nun unser User //django// auch auf den Stick zugreifen kann, legen wir uns eine passende udev-regel an. | ||
+ | # vim / | ||
+ | <file | / | ||
+ | # django: 2011-07-13 | ||
+ | # udev-Regel für CryptoStick der GPF | ||
+ | ATTR{idVendor}==" | ||
+ | </ | ||
+ | Anschließend können wir auch als normaler User auf den CryptoStick zugreifen. | ||
+ | $ gpg --card-status | ||
+ | < | ||
+ | Version ..........: 2.0 | ||
+ | Manufacturer .....: ZeitControl | ||
+ | Serial number ....: 000008D1 | ||
+ | Name of cardholder: [nicht gesetzt] | ||
+ | Language prefs ...: de | ||
+ | Sex ..............: | ||
+ | URL of public key : [nicht gesetzt] | ||
+ | Login data .......: [nicht gesetzt] | ||
+ | Signature PIN ....: zwingend | ||
+ | Key attributes ...: 2048R 2048R 2048R | ||
+ | Max. PIN lengths .: 32 32 32 | ||
+ | PIN retry counter : 3 0 3 | ||
+ | Signature counter : 0 | ||
+ | Signature key ....: [none] | ||
+ | Encryption key....: [none] | ||
+ | Authentication key: [none] | ||
+ | General key info..: [none] | ||
+ | </ | ||
+ | === pgp-agent === | ||
+ | == socket-Zugriff == | ||
+ | Beim Abfragen des Kartenstatus mittels **//gpg --card-status// | ||
+ | $ gpg --card-status | ||
+ | | ||
+ | Dies liegt zum einen daran, dass der pgp-agent nicht läuft. Startet man diesen mit: | ||
+ | $ gpg-agent --daemon | ||
+ | | ||
+ | Sieht man aber, dass der Socket im Verzeichnis **/ | ||
+ | Mit der Option **--use-standard-socket** können wir jedoch festlegen, dass der Socket im Verzecihnis **~/ | ||
+ | $ gpg-agent --daemon --use-standard-socket | ||
+ | | ||
+ | Beim anschließenden Versuch, auf den Stick zuzugreifen, | ||
+ | == automatischer Start == | ||
+ | Damit nun der **pgp-agent** bei unserer Anmeldung am System automatisch mit der richtigen Option gestartet wird legen wir uns einen Autostarter an. | ||
+ | $ mkdir ~/ | ||
+ | $ vim ~/ | ||
+ | <file | ~/ | ||
+ | [Desktop Entry] | ||
+ | Type=Application | ||
+ | Exec=gpg-agent --daemon --use-standard-socket | ||
+ | Hidden=false | ||
+ | X-GNOME-Autostart-enabled=true | ||
+ | Name[de_DE]=GPG-Daemon | ||
+ | Name=GPG-Daemon | ||
+ | Comment[de_DE]=Starten des GPG-Daemon beim Systemstart | ||
+ | Comment=Starten des GPG-Daemon beim Systemstart | ||
+ | </ | ||
+ | Alternativ können wir auch unter dem Menüpunkt **[System]** -> **[Einstellungen]** -> **[Startprogramme]** uns die vorgenannte Konfigurationsdatei erstellen (lassen). | ||
+ | |||
+ | {{ : | ||
+ | === Einschränkung(en) === | ||
+ | In dem vorgenannten Beispiel gibt es leider eine kleine Einschränkung, | ||
+ | |||
+ | gpg: selecting openpgp failed: Kein passendes Gerät gefunden | ||
+ | gpg: OpenPGP Karte ist nicht vorhanden: Kein passendes Gerät gefunden | ||
+ | |||
+ | Wie dieser Makel umgangen werden kann, ist im folgenden Artikel beschrieben. | ||
+ | ==== Variante 2 ==== | ||
+ | Da es mit unter sehr lästig werden kann, wenn der Stick des öfteren an- und wieder abgesteckt wird, ist im nachfolgenden Kapitel beschrieben in einem Beispiel beschrieben, | ||
+ | Um es gleich vorweg zu nehmen, wir unterstellen mal, dass an dem Rechner sich nur ein User aufhält und eben nur dieser auch einen CryptoStick verwendet. | ||
+ | |||
+ | Im Gegensatz zur zuvor beschriebenen //Variante 1// verlagern wir hier das Starten des **// | ||
+ | === gpg-agent recycle-script === | ||
+ | Wir legen uns als erstes mal ein **bin**-Verzeichnis im Home-Verzeichnis unseres Users an. | ||
+ | $ mdir ~/bin | ||
+ | Dort legen wir uns ein kleines Bash-Script an | ||
+ | $ vim ~/ | ||
+ | <file | ~/ | ||
+ | #!/bin/bash | ||
+ | # Variablen definieren | ||
+ | |||
+ | PID=$(/ | ||
+ | |||
+ | echo "Die PID des gpg-agenten lautet: "$PID | ||
+ | |||
+ | echo " | ||
+ | /bin/kill $PID | ||
+ | |||
+ | echo " | ||
+ | / | ||
+ | </ | ||
+ | Im Anschluss statten wir nun noch das Script(chen) mit **x**-Rechten aus. | ||
+ | $ chmod +x ~/ | ||
+ | Damit nun neben dem richtigen Treiber/ | ||
+ | $ vim / | ||
+ | <file | / | ||
+ | # django: 2011-07-20 | ||
+ | # udev-Regel für CryptoStick der GPF | ||
+ | ATTR{idVendor}==" | ||
+ | </ | ||
+ | Darin passen wir natürlich den Usernamen, in dem hier gezeigten Beispiel **django** unseren Bedürfnissen nach an. | ||
+ | |||
+ | Nun können wir unseren Cryptostick an- und abstecken, der Stick kann mit Hilfe des gpg-agenten immer angesprochen werden. So brauchen wir den Stick z.B. nur anstecken, wenn wir in Thunderbird eine Nachricht signieren oder entschlüsseln wollen. | ||
+ | |||
+ | ===== Cryptostick im Windows-Umfeld ===== | ||
+ | Den Umgang mit dem CryptoStick im Windowsumfeld, | ||
+ | |||
+ | ===== Praxisbeispiele rund um den Cryptostick | ||
+ | Für die einzelnen Anwendungsfälle, | ||
+ | * **[[centos: | ||
+ | * **[[centos: | ||
+ | * **[[centos: | ||
+ | |||
+ | |||