fedora:nitrokey:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
fedora:nitrokey:start [04.12.2018 21:31. ] – [Nitrokey Start und Secure Shell] #Nitrokey #SSH #Fedora djangofedora:nitrokey:start [11.05.2023 20:04. ] (aktuell) – [ED25519-Schlüssel generieren] django
Zeile 1: Zeile 1:
 ====== Nitrokey Start in der Praxis unter Fedora 29 ====== ====== Nitrokey Start in der Praxis unter Fedora 29 ======
 {{:centos:nitrokey:nitrokey-start.png?nolink&280 |Bild: Nitrokey Start USB-Stick}} {{:centos:nitrokey:nitrokey-start.png?nolink&280 |Bild: Nitrokey Start USB-Stick}}
-In diesem Kapitel befassen wir uns eingehend mit dem [[https://shop.nitrokey.com/de_DE/shop/product/nitrokey-start-6|Nitrokey Start]] ([[https://www.nitrokey.com/files/doc/Nitrokey_Start_Infoblatt.pdf|Daten-/Infoblatt]]) unter **[[https://getfedora.org/|Fedora 29]]**. Weitere Informationen zum [[https://www.nitrokey.com/de/news/2018/neu-nitrokey-fido-u2f|Nitrokey-Stick]] findet findet man auch [[https://www.nitrokey.com/de/documentation/installation|hier]] bzw. im [[https://support.nitrokey.com/c/nitrokey-support|Support Forum]].+In diesem Kapitel befassen wir uns eingehend mit dem [[https://shop.nitrokey.com/de_DE/shop/product/nitrokey-start-6|Nitrokey Start]] ([[https://www.nitrokey.com/files/doc/Nitrokey_Start_Infoblatt.pdf|Daten-/Infoblatt]]) unter **[[https://getfedora.org/|Fedora 29]]**. Weitere Informationen zum [[https://www.nitrokey.com/de/news/2018/neu-nitrokey-fido-u2f|Nitrokey-Stick]] findet man auch [[https://www.nitrokey.com/de/documentation/installation|hier]] bzw. im [[https://support.nitrokey.com/c/nitrokey-support|Support Forum]].
  
 Mit Hilfe von asymmetrischen Schlüsselmaterials (PGP und S/MIME) können eMails sowie Dateien und ganze Festplatten verschlüsselt und natürlich auch wieder entschlüsselt werden. Hierzu verwenden wir den [[https://shop.nitrokey.com/de_DE/shop/product/nitrokey-start-6|Nitrokey Start]] welcher [[https://shop.nitrokey.com/de_DE/shop|hier]] für einen überschaubaren Betrag von gerade mal 29€ erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Verwendung unter Fedora 29 ein. Hinweise zu den Besonderheiten bei der Verwendung unter CentOS 7.x sind **[[centos:nitrokey:start|hier]]** zu finden.  Mit Hilfe von asymmetrischen Schlüsselmaterials (PGP und S/MIME) können eMails sowie Dateien und ganze Festplatten verschlüsselt und natürlich auch wieder entschlüsselt werden. Hierzu verwenden wir den [[https://shop.nitrokey.com/de_DE/shop/product/nitrokey-start-6|Nitrokey Start]] welcher [[https://shop.nitrokey.com/de_DE/shop|hier]] für einen überschaubaren Betrag von gerade mal 29€ erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Verwendung unter Fedora 29 ein. Hinweise zu den Besonderheiten bei der Verwendung unter CentOS 7.x sind **[[centos:nitrokey:start|hier]]** zu finden. 
Zeile 243: Zeile 243:
 In dem Artikel **[[https://www.nitrokey.com/de/news/2017/nitrokey-start-unterst%C3%BCtzt-elliptische-kurven-ecc|Nitrokey Start unterstützt elliptische Kurven (ECC)]]** wird sehr ausführlich das Zusammenspiel des Nitrokey Start und ECC beschrieben. In dem Artikel **[[https://www.nitrokey.com/de/news/2017/nitrokey-start-unterst%C3%BCtzt-elliptische-kurven-ecc|Nitrokey Start unterstützt elliptische Kurven (ECC)]]** wird sehr ausführlich das Zusammenspiel des Nitrokey Start und ECC beschrieben.
  
-Damit auf einem **Nitrokey Start** Schlüssel auf Basis elliptischer Kurven generiert werden können, muss dieser mindestens die Firmware Version 1.2 verfügen. Dies kontrolliert man am einfachsten mi Folgendem Befehl.+Damit auf einem **Nitrokey Start** Schlüssel auf Basis elliptischer Kurven generiert werden können, muss dieser mindestens die Firmware Version 1.2 verfügen. Dies kontrolliert man am einfachsten mit Folgendem Befehl.
    $ gpg2 --card-status | grep Reader    $ gpg2 --card-status | grep Reader
  
Zeile 1003: Zeile 1003:
  
 === SSH-Verbindung aufbauen === === SSH-Verbindung aufbauen ===
-Nun können wir wie gewohnt eine Verbindung zu unserem entfernten System aufbauen. +Nun können wir wie gewohnt eine Verbindung zu unserem entfernten System aufbauen, sofern der GPG-Agent am laufen ist. Wir können dazu entweder erst einmal abfragen, ob dieser gestartet wurde, mit Hilfe des folgenden Aufrufs: 
 +   $ ps -aux | grep gpg-agent 
 + 
 +  django    3760  0.0  0.0 364724  3156 ?        Ss   18:30   0:00 gpg-agent --homedir /home/django/.gnupg --use-standard-socket --daemon.  
 + 
 +Oder wir fragen einfach den Karten-Status ab, was unweigerlich den Neustart des GPG-Agenten nach sich zieht. 
 +   $ gpg2 --card-status 
 + 
 +Nun können wir die gewünschte Verbindung zum Zielsystem aufbauen.
    $ ssh zielhost.dmz.nausch.org    $ ssh zielhost.dmz.nausch.org
  
 Da der SSH-Key zur Authentication nicht im Dateisystem liegt, sondern auf der SmartCard des Nitrokey werden wir nun nach der User-PIN gefragt, damit auf den privaten Schlüssel der Karte zugegriffen werden kann. Da der SSH-Key zur Authentication nicht im Dateisystem liegt, sondern auf der SmartCard des Nitrokey werden wir nun nach der User-PIN gefragt, damit auf den privaten Schlüssel der Karte zugegriffen werden kann.
  
-{{ :fedora:nitrokey:fedora-nitrokey-ssh.png?nolink&280 |Bild: PIN Abfrage beim Zugriff auf den Authentication Key der SmartCArd des Nitrokeys}}+{{ :fedora:nitrokey:fedora-nitrokey-ssh.png?nolink&280 |Bild: PIN Abfrage beim Zugriff auf den Authentication Key der SmartCard des Nitrokeys}} 
 + 
 +Der entsperrte Schlüssel der SmartCard des Nitrokey Start wird nun im Speicher gehalten und wir können die USB-Adapter auch so wieder abziehen.  
 + 
 +<WRAP center round important 90%> 
 +**WICHTIG:** \\ 
 +Da wir den Schlüssel **__nicht__** aus einer Datei geladen hatten, können wir diese auch nicht mit Hilfe von ''**ssh-add**'' wieder entladen! Wollen wir verhindern, dass auf den im Speicher vorgehaltenen Schlüssel zugegriffen wird, müssen wir manuell den GPG-Agenten beenden. 
 +   $ pkill gpg-agent 
 + 
 +</WRAP> 
 + 
 +Anschließend lassen sich Verbindungen zu unseren Remote-Systemen erst wieder aufbauen, wenn der GPG-Agent geladen und die Karte nach Eingabe der PIN entsperrt wurde! 
 + 
 +==== Nitrokey Start und X.509 / S/MIME ==== 
 +/* 
 +https://github.com/OpenSC/OpenSC/wiki/OpenPGP-card 
 + 
 +   $ openpgp-tool 
 + 
 +  Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 + 
 +[django@T410 Schreibtisch]$ gpg2 --card-status 
 +Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Application ID ...: D276000124010200FFFE432108430000 
 +Version ..........: 2.0 
 +Manufacturer .....: unmanaged S/N range 
 +Serial number ....: 43210843 
 +Name of cardholder: [nicht gesetzt] 
 +Language prefs ...: [nicht gesetzt] 
 +Sex ..............: unbestimmt 
 +URL of public key : [nicht gesetzt] 
 +Login data .......: [nicht gesetzt] 
 +Signature PIN ....: zwingend 
 +Key attributes ...: rsa2048 rsa2048 rsa2048 
 +Max. PIN lengths .: 127 127 127 
 +PIN retry counter : 3 3 3 
 +Signature counter : 0 
 +Signature key ....: [none] 
 +Encryption key....: [none] 
 +Authentication key: [none] 
 +General key info..: [none] 
 +[django@T410 Schreibtisch]$ gpg2 --card-edit 
 + 
 +Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Application ID ...: D276000124010200FFFE432108430000 
 +Version ..........: 2.0 
 +Manufacturer .....: unmanaged S/N range 
 +Serial number ....: 43210843 
 +Name of cardholder: [nicht gesetzt] 
 +Language prefs ...: [nicht gesetzt] 
 +Sex ..............: unbestimmt 
 +URL of public key : [nicht gesetzt] 
 +Login data .......: [nicht gesetzt] 
 +Signature PIN ....: zwingend 
 +Key attributes ...: rsa2048 rsa2048 rsa2048 
 +Max. PIN lengths .: 127 127 127 
 +PIN retry counter : 3 3 3 
 +Signature counter : 0 
 +Signature key ....: [none] 
 +Encryption key....: [none] 
 +Authentication key: [none] 
 +General key info..: [none] 
 + 
 +gpg/card>  
 + 
 +Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Application ID ...: D276000124010200FFFE432108430000 
 +Version ..........: 2.0 
 +Manufacturer .....: unmanaged S/N range 
 +Serial number ....: 43210843 
 +Name of cardholder: [nicht gesetzt] 
 +Language prefs ...: [nicht gesetzt] 
 +Sex ..............: unbestimmt 
 +URL of public key : [nicht gesetzt] 
 +Login data .......: [nicht gesetzt] 
 +Signature PIN ....: zwingend 
 +Key attributes ...: rsa2048 rsa2048 rsa2048 
 +Max. PIN lengths .: 127 127 127 
 +PIN retry counter : 3 3 3 
 +Signature counter : 0 
 +Signature key ....: [none] 
 +Encryption key....: [none] 
 +Authentication key: [none] 
 +General key info..: [none] 
 + 
 +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 
 +factory-reset  alle Schlüssel und Daten löschen 
 +kdf-setup      Einrichten der KDF zur Authentifizierung 
 +key-attr       Das Schlüsselattribut ändern 
 + 
 +gpg/card> name 
 +Familienname des Kartenbesitzers:Nausch 
 +Vorname des Kartenbesitzers:Michael 
 + 
 +gpg/card> lang 
 +Spracheinstellungende 
 + 
 +gpg/card> sex 
 +Geschlecht: (Männlich (M), Weiblich (F) oder Leerzeichen):
 + 
 +gpg/card> passwd 
 +gpg: OpenPGP Karte Nr. D276000124010200FFFE432108430000 erkannt 
 + 
 +1 - change PIN 
 +2 - unblock PIN 
 +3 - change Admin PIN 
 +4 - set the Reset Code 
 +Q - quit 
 + 
 +Ihre Auswahl? 3 
 +PIN changed. 
 + 
 +1 - change PIN 
 +2 - unblock PIN 
 +3 - change Admin PIN 
 +4 - set the Reset Code 
 +Q - quit 
 + 
 +Ihre Auswahl? 1 
 +Error changing the PIN: Nutzungsvorraussetzungen nicht erfüllt 
 + 
 +1 - change PIN 
 +2 - unblock PIN 
 +3 - change Admin PIN 
 +4 - set the Reset Code 
 +Q - quit 
 + 
 +Ihre Auswahl?  
 + 
 +1 - change PIN 
 +2 - unblock PIN 
 +3 - change Admin PIN 
 +4 - set the Reset Code 
 +Q - quit 
 + 
 +Ihre Auswahl? q 
 + 
 +gpg/card> list 
 + 
 +Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Application ID ...: D276000124010200FFFE432108430000 
 +Version ..........: 2.0 
 +Manufacturer .....: unmanaged S/N range 
 +Serial number ....: 43210843 
 +Name of cardholder: Michael Nausch 
 +Language prefs ...: de 
 +Sex ..............: männlich 
 +URL of public key : [nicht gesetzt] 
 +Login data .......: [nicht gesetzt] 
 +Signature PIN ....: zwingend 
 +Key attributes ...: rsa2048 rsa2048 rsa2048 
 +Max. PIN lengths .: 127 127 127 
 +PIN retry counter : 3 3 3 
 +Signature counter : 0 
 +Signature key ....: [none] 
 +Encryption key....: [none] 
 +Authentication key: [none] 
 +General key info..: [none] 
 + 
 +gpg/card> quit 
 + 
 + 
 +$ opensc-explorer 
 +OpenSC Explorer version 0.19.0 
 +Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Failed to connect to card: Reader in use by another application 
 + 
 + 
 +$ opensc-explorer 
 +OpenSC Explorer version 0.19.0 
 +Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +OpenSC [3F00]>  
 + 
 + 
 +$ openpgp-tool --erase 
 +Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +Erase card 
 + 
 + 
 +$ opensc-explorer 
 +OpenSC Explorer version 0.19.0 
 +Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00 
 +OpenSC [3F00]> help 
 +Supported commands: 
 +  echo [<string> ..]                         display arguments 
 +  ls [<pattern> ..]                          list files in the current DF 
 +  find [<start id> [<end id>]]               find all files in the current DF 
 +  find_tags [<start tag> [<end tag>]]        find all tags of data objects in the current context 
 +  cd {.. | <file id> | aid:<DF name>       change to another DF 
 +  cat [<file id> | sfi:<sfi id>            print the contents of an EF 
 +  info [<file id>                          display attributes of card file 
 +  create <file id> <size>                    create a new EF 
 +  mkdir <file id> <size>                     create a new DF 
 +  delete <file id>                           remove an EF/DF 
 +  rm <file id>                               remove an EF/DF 
 +  verify {CHV|KEY|AUT|PRO}<key ref> [<pin> present a PIN or key to the card 
 +  change CHV<pin ref> [[<old pin>] <new pin> change a PIN 
 +  unblock CHV<pin ref> [<puk> [<new pin>]]   unblock a PIN 
 +  put <file id> [<input file>              copy a local file to the card 
 +  get <file id> [<output file>             copy an EF to a local file 
 +  do_get <hex tag> [<output file>          get a data object 
 +  do_put <hex tag> <data>                    put a data object 
 +  erase                                      erase card 
 +  random <count>                             obtain <count> random bytes from card 
 +  update_record <file id> <rec no> <rec offs> <data>  update record 
 +  update_binary <file id> <offs> <data>      update binary 
 +  apdu <data>                              send a custom apdu command 
 +  asn1 [<file id>                          decode an ASN.1 file 
 +  sm open|close                              call SM 'open' or 'close' handlers, if available 
 +  debug [<value>                           get/set the debug level 
 +  quit                                       quit this program 
 +  exit                                       quit this program 
 +  help                                       show this help 
 +OpenSC [3F00]> exit
  
-~~AUTOTWEET:~~ 
  
 +Pairs of key & certificate from P12 file:
 +$ pkcs15-init --verbose --delete-objects privkey,pubkey --id 3 --store-private-key michael.nausch.p12 --format pkcs12 --auth-id 3 --verify-pin
 +Using reader with a card: Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00
 +Connecting to card in reader Nitrokey Nitrokey Start (FSIJ-1.2.10-43210843) 00 00...
 +Using card driver OpenPGP card.
 +Found OpenPGP card
 +User PIN required.
 +Please enter User PIN [Admin PIN]: 
 +About to delete object(s).
 +NOTE: couldn't find privkey 03 to delete
 +NOTE: couldn't find pubkey 03 to delete
 +Deleted 0 objects
 +About to store private key.
 +error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure
 +Please enter passphrase to unlock secret key: 
 +Importing 3 certificates:
 +  0: /C=DE/CN=Michael Robert Nausch/emailAddress=michael@nausch.org
 +  1: /OU=GlobalSign Root CA - R3/O=GlobalSign/CN=GlobalSign
 +  2: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign PersonalSign 2 CA - SHA256 - G3
 +Failed to store private key: Invalid arguments
  
 +Vermutliche Ursache, private key zu groß!
  
 +*/
  
 +... coming soon!
  
  • fedora/nitrokey/start.1543959069.txt.gz
  • Zuletzt geändert: 04.12.2018 21:31.
  • von django