Dies ist eine alte Version des Dokuments!
Nitrokey Pro in der Praxis unter CentOS 7.x
In diesem Kapitel befassen wir uns eingehend mit dem Nitrokey Pro unter CebtOS 7.x. Neben der verbesserten Absicherung von Login mit einmalpasswörtern können eMails mit Hilfe von asymetrischen Schlüsselmaterials (PGP und S/MIME) auch Dateien und ganze Festplatten verschlüsselt und natürlich auch wieder entschlüsselt werden.
Hierzu verwenden wir den Nitrokey Pro welcher hier für einen überschaubaren Bettrag von nicht einmal 50€ erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Besonderheiten bei der Verwendung unter CentOS 7.x ein.
Der Nitrokey Pro Cryptostick vereint in einem kleinen Plastikgehäuse einen Kartenleser mit zugehöriger manipulationssicheren OpenPGP Chipkarte, einem zu 100% Open Source und Open Hardware Device. Wie schon erwähnt wird das geheime Schlüsselmaterial (RSA 2048-4096 Bit, ECC 256-512 Bit) im manipulations- und PIN-geschützten integrierten Chipkarte gespeichert und somit bestens gegen Schadcode oder Verlust bzw. Diebstahl und gegen Hardware-Angriffe geschützt.
Anwendungsfälle und Einsatzszenarien:
- Sicheres Login
Einmallpassworte können zur Zweitauthentisierung bei vielen Webanwendungen oder Web-Diensten genutzt werden. Darüber hinaus ist auch eine Verwendung bei der Anmeldung an Rechnern oder z.B. bei der Anmeldung an entfernten Systemen mittels Zertifikaten und Schlüsseln bei SSH umsetzbar. - Verschlüsselung rund um eMails
Zur vertraulichen Kommunikation via eMail kann das benötigte Schlüsselmaterial auf dem Kryptostick Nitrokey Pro erzeugt und sicher verwahrt werden. Eine Verwendung unter GnuPG, OpenPGP oder S/MIME ist somit gegeben. - Verschlüsselung von Dateien und Massenspeichern(Festplatten)
Auch hier wird das geheime Schlüsselmaterial, wie auch schon beim Anwendungsfall eMail-Kommunikation, auf dem Kryptostick generiert und sicher vorgehalten. Eine Ver- und Entschlüsselung unserer Daten mit Hilfe von TrueCrypt, GnuPG Tools oder weiteren Anwendungen sthet also nichts im Wege.
Weitere Informationen zum USB-Stick Nitrokey Pro findet findet man auch hier bzw. im Support Forum.
Darüber hinaus ist das 100%-Open PCB-Hardware-Design, sowie die Firmware und der Software SourceCode der Nitrokey-Familie in Github hinterlegt und einsehbar.
Hardwareinformationen
Informationen über den Stick können wir mit Hilfe des Befehls usb-devices
aus dem RPM-Paket usbutils dem System abverlangen.
# usb-devices
T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 26 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=20a0 ProdID=4108 Rev=01.00 S: Manufacturer=Nitrokey S: Product=Nitrokey Pro S: SerialNumber=000000000000000000006FDA C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbfs I: If#= 1 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=(none)
Mit Hilfe des Befehls lsusb
aus dem RPM-Paket usbutils können wir auch die Produkt- und Hersteller-Identifikationsnummer des Nitrokey-Sticks ermitteln.
# lsusb Bus 002 Device 026: ID 20a0:4108 Clay Logic
Im Syslog wird uns beim Anstecken des Sticks dies entsprechend protokolliert:
Nov 16 17:49:39 T410 kernel: usb 2-1.2: new full-speed USB device number 27 using ehci-pci Nov 16 17:49:39 T410 kernel: usb 2-1.2: New USB device found, idVendor=20a0, idProduct=4108 Nov 16 17:49:39 T410 kernel: usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 16 17:49:39 T410 kernel: usb 2-1.2: Product: Nitrokey Pro Nov 16 17:49:39 T410 kernel: usb 2-1.2: Manufacturer: Nitrokey Nov 16 17:49:39 T410 kernel: usb 2-1.2: SerialNumber: 000000000000000000006FDA Nov 16 17:49:39 T410 kernel: input: Nitrokey Nitrokey Pro as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input38 Nov 16 17:49:39 T410 kernel: hid-generic 0003:20A0:4108.001F: input,hidraw2: USB HID v1.10 Keyboard [Nitrokey Nitrokey Pro] on usb-0000:00:1d.0-1.2/input0 Nov 16 17:49:39 T410 mtp-probe: checking bus 2, device 27: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2" Nov 16 17:49:39 T410 mtp-probe: bus: 2, device: 27 was not an MTP device Nov 16 17:49:39 T410 systemd: Reached target Smart Card. Nov 16 17:49:39 T410 systemd: Starting Smart C
udev-Regeln
Für den Betrieb unter CentOS 7 müssen wir uns noch passende udev-Definitionen hier besorgen und unserer Umgebung anpassen. Dies ist notwendig, da sonst die Gerätedatei nicht mit den entsprechenden Benutzer-Rechten angelegt wird!
Wir wechseln also erst einmal in das entsprechende Konfigurationsverzeichnis /etc/udev/rules.d/
.
# cd /etc/udev/rules.d/
Dann holen wir uns die entsprechende Musterdatei auf unseren Rechner.
# wget https://www.nitrokey.com/sites/default/files/41-nitrokey.rules
Wie schon erwähnt ist es unter CentOS 7 notwendig für unseren Benutzer eine Änderung an der Berechtigung der Gerätedatei vorzunehmen. Grundsätzlich gibt es hierzu zwei Varianten:
- Dateirechte : Wir sorgen dafür dass auf die Gerätedatei
/dev/hidraw0
jeder lesend und schreibend zugreifen kann, in dem wir die Dateirechte auf 666 setzen, oder - Nutzerrechte : wir sorgen dafür dass die Gerätedatei
/dev/hidraw0
direkt unserem Benutzer, mit dem wir uns an unserem Rechner anmelden, gehört.
Wir entscheiden uns hier für die Option 2., wir sorgen also dafür dass die Gerätedatei unserem Nutzer - in diesem Konfigurationsbeispiel dem Benutzer django gehört, sobald dieser den Kryptostick in einen USB-Port steckt.
Zunächst legen wir als erstes mal die Gruppe plugdev an.
# groupadd plugdev
Dann setzen wir unseren Benutzer django in diese Gruppe plugdev.
# usermod -aG plugdev django
Nun passen wir noch die eingangs heruntergeladene udev-Regeldatei /etc/udev/rules.d/41-nitrokey.rules an. Der entscheidende Zusatz ist nun hier die Option OWNER=„django“
.
# vim /etc/udev/rules.d/41-nitrokey.rules
- /etc/udev/rules.d/41-nitrokey.rules
# Nitrokey U2F KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", OWNER="django", GROUP="plugdev", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0" # Nitrokey FIDO U2F KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", OWNER="django", GROUP="plugdev", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287" SUBSYSTEM!="usb", GOTO="gnupg_rules_end" ACTION!="add", GOTO="gnupg_rules_end" # USB SmartCard Readers ## Crypto Stick 1.2 ATTR{idVendor}=="20a0", ATTR{idProduct}=="4107", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess" ## Nitrokey Pro #ATTR{idVendor}=="20a0", ATTR{idProduct}=="4108", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess" ATTR{idVendor}=="20a0", ATTR{idProduct}=="4108", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", OWNER+="django", GROUP+="plugdev", TAG+="uaccess" ## Nitrokey Storage ATTR{idVendor}=="20a0", ATTR{idProduct}=="4109", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess" ## Nitrokey Start ATTR{idVendor}=="20a0", ATTR{idProduct}=="4211", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess" ## Nitrokey HSM ATTR{idVendor}=="20a0", ATTR{idProduct}=="4230", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess" LABEL="gnupg_rules_end"
Zum Aktivieren unserer geänderten udev-Regeldatei lassen wir diese nun erneut einlesen; hierzu verwenden wir folgenden Befehl:
# udevadm control --reload-rules
Sobald wir nun unseren Nitrokey Pro-Stick in einen USB-Port stecken wird die zugehörige Gerätedate mit den richtigen Berechtigungen angelegt. Hierzu verwenden wir die zum Stick passenden ANgaben, die wir mit lsusb
ermittelt haben.
# lsusb
Bus 002 Device 032: ID 20a0:4108 Clay Logic
# ll /dev/bus/usb/002/032
crw-rw-r--+ 1 django plugdev 189, 159 16. Nov 18:16 /dev/bus/usb/002/032
Anwendungsfälle - Software
Nitrokey-App
Für die Verwaltung des Sticks stellt uns Nitrokey eine entsprechende Anwendung bzw. App zur Verfügung. Die Softwarequellen finden wir im GitHub-Reposoitory. Auf der Downloadseite zu RedHat finden wir Angaben zum eigenen Repository, von dem wir ein passenden RPM-Paket installieen können.
Hierzu binden wir als erstes einmal das passende Repository auf unserem Rechner ein:
# yum-config-manager --add-repo \\ https://copr.fedorainfracloud.org/coprs/ignatenkobrain/Nitrokey-EL7/repo/epel-7/ignatenkobrain-Nitrokey-EL7-epel-7.repo
Das EPEL-Repository haben wir ja standardmäßig bereits eingebunden. Dieses wird für das Paket hidapi, eine Abhängigkeit des Paketes nitrokey-app, benötigt.
Nun installieren wir uns das Paket nitrokey-app mit Hilfe des Paketverwaltungswerkzeugs yum.
# yum install nitrokey-app
Was uns das Paket alles mitgebracht hat können wir mit Hilfe nachfolgenden Befehls erkunden.
# rpm -qil nitrokey-app
Name : nitrokey-app Version : 1.2 Release : 1.el7.centos Architecture: x86_64 Install Date: Do 15 Nov 2018 17:43:50 CET Group : Unspecified Size : 939794 License : GPLv3+ Signature : RSA/SHA1, So 24 Dez 2017 22:24:56 CET, Key ID 36b570df607d9567 Source RPM : nitrokey-app-1.2-1.el7.centos.src.rpm Build Date : So 24 Dez 2017 22:24:53 CET Build Host : copr-builder-238330759.novalocal Relocations : (not relocatable) URL : https://github.com/Nitrokey/nitrokey-app Summary : Nitrokey's Application Description : Nitrokey's Application. /usr/bin/nitrokey-app /usr/lib/udev/rules.d/41-nitrokey.rules /usr/share/applications/nitrokey-app.desktop /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/bash-completion/completions/nitrokey-app /usr/share/icons/hicolor/128x128/apps/nitrokey-app.png /usr/share/icons/hicolor/16x16/apps/nitrokey-app.png /usr/share/icons/hicolor/22x22/apps/nitrokey-app.png /usr/share/icons/hicolor/24x24/apps/nitrokey-app.png /usr/share/icons/hicolor/32x32/apps/nitrokey-app.png /usr/share/icons/hicolor/48x48/apps/nitrokey-app.png /usr/share/icons/hicolor/scalable/apps/nitrokey-app.svg /usr/share/licenses/nitrokey-app-1.2 /usr/share/licenses/nitrokey-app-1.2/LICENSE /usr/share/nitrokey /usr/share/nitrokey/info.png /usr/share/nitrokey/quit.png /usr/share/nitrokey/safe_zahlenkreis.png /usr/share/nitrokey/settings.png /usr/share/pixmaps/nitrokey-app.png
Nun können wir die Anwendung starten. Wir finden diese entweder unter dem Menü Zubehör/Utilities im Anwendungsmenü oder wird starten das Programm einfach auf der Konsole.
$ nextcloud-app
Der Start wird mit einem Eintrag in der oberen Statusleiste angezeigt.
Kurz nach dem Anstecken unseres Kryptosticks Nitrokey Pro wird uns in der Statusleiste am oberen Bildschirmrand ein Hinweis eingeblendet.
Die Smartcard, die im Nitrokey Pro bebaut wurde, ist mit zwei PINs geschützt, der Benutzer-PIN (Standard: 123456) und Admin-PIN (Standard: 12345678).
Wird die Benutzer-PIN mehr als 3x falsch eingeben, wird die Karte für den Benutzer gesperrt. Mit der Admin-PIN kann der Fehleingabezähler zurückgesetzt bzw. eine neue Benutzer-PIN vergeben werden.
Wird jedoch die Admin-PIN mehr als 3x falsch eingegeben, wird die Smart-Crad komsperrt und der Stick ist anschließend nur noch durch einen Master-Reset in den Auslieferungszustand zu versetzen.
Hierzu kopiert man sich folgende Datei auf den Rechner:
$ wget https://www.nitrokey.com/sites/default/files/nitrokey-reset.txt
Anschließend führt man einen Factory-Reset aus und benutzt folgenden Befehl:
$ gpg-connect-agent < nitrokey-reset.txt
Seien Sie also unbedingt vorsichtig beim Umgang mit diesen PINs! Ein so strenger PIN-basierter Hardware-Schutz ist unerlässlich, wenn die SmartCard vor dem Zugriff durch die falschen Hände geschützt werde soll.
Wir werden also zuerst einmal die beiden PINs abändern. Hierzu klicken wir mit der rechten Maustaste auf das Nitrokey-Symbol oben auf dem Desktop und wählen Sie das Menü „Konfigurieren“. Dort können wir nun sowohl die Benutzer- als auch Admin-PINs ändern.
Hier ändern wir nun die er Benutzer-PIN (Standard: 123456) sowie auch die Admin-PIN (Standard: 12345678) ab.
Nitrokey Pro und GnuPG
Da es sich bei der Chipkarte des Nitrokey Pro um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von GnuPG verwaltet werden. Hierzu installieren wir uns das Paket gnupg2, sofern es nicht bereits bei der Erstkonfiguration unseres Rechner installiert wurde.
# yum install gnupg2
Alle Sicherheitsfunktionen wie z.B. das Erzeugen/Speichern von GPG-Schlüsseln, das Verschlüsseln/Entschlüsseln einer Datei, das Signieren einer Nachricht, die auf der Hardware ausgeführt werden, können mit Hilfe des Befehls gpg bzw. gpg2, welches identisch mit gpg ist (!) gesteuert werden.
Sollte beim Aufruf des Befehls gpg die Karte nicht sofort angesprochen werden können, einfach den Befehl nochmals ausführen:
$ gpg --card-status
gpg: selecting openpgp failed: Karte nicht vorhanden gpg: OpenPGP Karte ist nicht vorhanden: Karte nicht vorhanden
card-status
Mit der Option card-status können wir uns mit dem Befehl gpg –card-status
den Kartenstatus ausgeben lassen.
$ gpg --card-status
Application ID ...: D276000124010303000500006FDA0000 Version ..........: 3.3 Manufacturer .....: ZeitControl Serial number ....: 00006FDA Name of cardholder: [nicht gesetzt] Language prefs ...: de Sex ..............: unbestimmt URL of public key : [nicht gesetzt] Login data .......: [nicht gesetzt] Signature PIN ....: nicht zwingend Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 64 64 64 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
Die einzelnen Datenfelder haben hierbei folgende Bedeutung:
Datenfeld | Beschreibung |
---|---|
Application ID | Individuelle (unique) KartenID, diese beinhaltet: ° den Kartentyp ° die Version der Spezifikation ° den Hersteller und ° die Seriennummer des Cryptosticks Diese Application ID ist einmalig und bei jeder Karte anders. |
Version | verwendete OpenPGP Version |
Manufacturer | Hersteller der Karte |
Serial number | Seriennummer der Karte, die vom Hersteller vergeben wurde. |
Name of cardholder | Vorname und Nachname des Karteninhabers ( Es sind hier derzeit nur reines ASCII erlaubt, also keine deutschen Umlaute). Dieses Feld wird von GPG nicht verwendet. |
Language prefs | Gewählte/bevorzugte Sprache (Muttersprache) des Karteninhabers. Dieses Feld wird von GPG nicht verwendet. |
Sex | Geschlecht des Karteninhabers.: (Männlich (M), Weiblich (F) oder Leerzeichen) |
URL of public key | Angabe einer URL, mit der der public-key mit Hilfe des Befehls fetch unter gpg --edit-card auf die Karte geladen werden kann. |
Login data | Bei diesem Feld kann der Account-Name des Karteninhabers abgelegt werden, der bei Anmeldeversuchen genutzt werden kann. GPG führt hier keinerlei Abgleiche zwischen diesem Namen und dem Namen der in einem Schlüssel angegeben und verwendet wird durch! |
Signature PIN | Hier kann über die beiden Schalter zwingend und nicht zwingedn eingestellt werden, ob bei jedem Signaturevorgang die PIN abgefragt werden soll, oder nicht. Bei der Option nicht zwingend kann GPG die PIN zwischenspeichern, solange der CryptoStick angesteckt bleibt. |
Key attributes | Angaben über Art und Umfang der hinterlegten Schlüssel |
Max. PIN lengths | Maximale Länge der einzelnen PINs, kann nicht verändert werden! |
PIN retry counter | Zähler für die verbleibenden Versuche zur Eingabe der richtigen PIN. Der max. Zählwert von 3 wird bei jeder Falscheingabe um eins heruntergesetzt. Sobald die richtige Admin-PIN eingegeben wurde, wir der max. Wert von 3 wieder zurück gesetzt. Die beiden ersten Werte (von links gesehen) werden für die User-PIN verwendet. GPG stellt hierbei sicher, dass beide werde synchronisiert werden. Der zweite (mittlere) Wert wird lediglich für Besonderheiten aus dem ISO-Standard 7816 verwendet. Der dritte (rechte) Wert wird als Fehlversuchszähler für die Admin_PIN verwendet. |
Signature counter | Zähler der generierten Signaturen bzw. Signaturvorgänge mit der KArte. Der Zähler kann nicht manipuliert werden und wird lediglich zurückgesetzt, sobald ein neuer Signature-Schlüssel erzeugt oder auf die Karte geladen wird. |
Signature key | Signatur-Schlüssel (primärer OpenPGP-Schlüssel) |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
Encryption key | Entschlüsselungs-Schlüssel (Unterschlüssel des primären (Signature-)Schlüssels. |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
Authentication key | Authentifizierung-Schlüssel (Unterschlüssel des primären (Signature-)Schlüssels. |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
General key info | Diese primäre USer ID wird angezeigt, sobald ein entsprechender öffentlicher Schlüssel (public-key) verfügbar ist. |
change-pin
Wie schon mit der Nitrokey App können wir auch mit Hilfe des Befehls gpg --change-pin
die Benutzer- und die Admin-PIN, wie auch die PIN zum Zurücksetzen der Benutzer-PIN, ändern.
Die Benutzer-PIN (Menüpunkt 1) wird benötigt für den täglichen Betrieb wie z.B. zum Entsperren des Token, oder zum Signieren und Verschlüsseln. Die Mindestlänge für den User-Pin beträgt 6 Zeichen.
Die Admin-PIN (Menüpunkt 3) wird für die Karten-/Token-Verwaltung verwendet, so z.B. für das Laden von Schlüsseln auf den Krypto-Stick, das Erzeugen von Schlüsseln oder das Ändern von Informationen wie die Inhaberdaten auf der Karte. Die Mindestlänge für die Admin-PIN beträgt 8 Zeichen.
Wird die Benutzer-PIN 3x falsch eingeben, wird die Karte gesperrt und kann dann nur mit der Admin-PIN oder dem Reset-Code zurückgesetzt werden. Wenn Sie den falschen Admin-Pin dreimal eingeben, wird die Karte unbrauchbar und kann dann lediglich mit einem Factory-Reset (Verlußt aller Kartendaten!) zurück gesetzt werden!
Die Reset-PIN (Menüpunkt 4) kann nur zum Zurücksetzen der Benutzer-PIN verwendet werden. Die Mindestlänge für den Reset-Code beträgt 8 Zeichen. Der Reset-Code Fehlerzähler kann wiederum mit der Admin-PIN zurückgesetzt werden. Wird nach zweimaliger Falscheingabe der Benutzer- wie auch der Admin-PIN und dann die richtige PIN eingeben, wird der Fehlerzähler zurückgesetzt.
Worin besteht nun aber der genaue Unterschied zwischen dem Reset-Code und der Admin-PIN? Möchte man in einer Organisation Nitrokey Pro an seine Mitarbeiter ausgeben, werden bestimmte Daten, wie z.B. Namen, die Public Key URL oder auch das erzeugte Schlüsselmaterial zentral vorgegeben. Da der Benutzer selbst diese Daten nicht verändern können soll, wird dieser auch nicht Kenntnis von der Admin-PIN haben. Sperrt sich nun der Mitarbeiter aus, weil er die Benutzer-PIN 3x falsch eingegeben hat, kann der Neutzer natürlich nicht die Admin-PIN eingeben, da er diese nicht kennt. Hier kommt nun der Reset-Code ins Spiel. Mit Hilfe dieses Codes kann der Benutzer nun die Benutzer-PIN zurücksetzen.
$ gpg --change-pin
gpg: OpenPGP Karte Nr. D276000124010303000500006FDA0000 erkannt 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Ihre Auswahl?
Beim Menüpunkt 1 können wir z.B. die Benutzer-PIN abändern. Wir werden dann nach der aktuellen PIN gefragt und müssen die neue PIN 2x eingeben zum Abändern.
card-edit
Mit Hilfe des Befehls gpg --card-edit
haben wir entsprechend umfangreiche Zugriffs-, Erstellungs- und Änderungsoptionen auf die Daten und das Schlüsselmaterial, welches auf der Smartcard gespeichert wurden und werden.
$ gpg --card-edit
Application ID ...: D276000124010303000500006FDA0000 Version ..........: 3.3 Manufacturer .....: ZeitControl Serial number ....: 00006FDA Name of cardholder: [nicht gesetzt] Language prefs ...: de Sex ..............: unbestimmt URL of public key : [nicht gesetzt] Login data .......: [nicht gesetzt] Signature PIN ....: nicht zwingend Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 64 64 64 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card>
User-Befehle
Mit Hilfe des Befehls help können wir uns anzeigen lassen, welche Optionen im jeweiligen Modus Benutzer oder Admin zur Verfügung stehen.
gpg/card> help
quit Menü verlassen admin Zeige Admin-Befehle help Diese Hilfe zeigen list Alle vorhandenen Daten auflisten fetch Holen des Schlüssels mittels der URL auf der Karte passwd Menü für Ändern oder Entsperren der PIN verify überprüfe die PIN und liste alle Daten auf unblock die PIN mit dem Rückstellcode wieder freigeben
Admin-Befehle
Mit dem Befehl admin können wir in den Admin-Modus/-Bereich wechseln und auch dort alle Befehle mit Hilfe von help anzeigen lassen.
gpg/card> admin
Admin-Befehle sind erlaubt
gpg/card> help
quit Menü verlassen admin Zeige Admin-Befehle help Diese Hilfe zeigen list Alle vorhandenen Daten auflisten name Kartenbesitzernamen ändern url Schlüssel-holen-URL ändern fetch Holen des Schlüssels mittels der URL auf der Karte login Ändern der Logindaten lang Ändern der Spracheinstellungen sex Ändern des Geschlechts des Kartenbesitzers cafpr Ändern des CA-Fingerabdrucks forcesig Umschalten des "Signature-force-PIN"-Schalters generate neue Schlüssel erzeugen passwd Menü für Ändern oder Entsperren der PIN verify überprüfe die PIN und liste alle Daten auf unblock die PIN mit dem Rückstellcode wieder freigeben
Individuelle Konfiguration - Stick personalisieren
Schlüssel generieren
Wir wollen uns nun einen neuen GPG-Schlüssel in der SmartCard erzeugen und rufen hierzu den Befehl generate auf. Wir werden nun menügeführt durch eine Reihe von Standardfragen geführt, welche alle relevante Daten abfragen, die zur Generierung des Hauptschlüssels wie auch der Unterschlüssel die für die Aufgaben Signatur, Verschlüsselung und Authentifizierung benötigt werden.