Nitrokey 3C NFC in der Praxis unter Linux Mint 20.2 Cinnamon

Bild: Nitrokey 3C NFC USB-Stick In diesem Kapitel befassen wir uns eingehend mit dem Nitrokey 3C NFC unter Linux Mint 20.2 Cinnamon. Weitere Informationen zu den Nitrokey-Sticks findet man auch hier bzw. im Support Forum.

Der neue Nitrokey 3 mit NFC, USB-C, Rust, Common Criteria EAL 6+
Der neue Nitrokey 3 ist der beste Nitrokey den wir je entwickelt haben. Er bietet erstmals NFC, USB-C. Der Nitrokey 3 vereint die Funktionen vorheriger Nitrokey Modelle: FIDO2, Einmalpasswörter, OpenPGP Chipkarte, Curve25519, Passwort-Manager, Common Criteria EAL 6+ zertifiziertes Secure Element, Firmware-Updates. Damit werden Ihre Accounts zuverlässig gegen Phishing und Passwort-Diebstahl geschützt und Ihre Kommunikation und Daten verschlüsselt. Mit starker Hardware-Verschlüsselung, vertrauenswürdig dank Open Source, Qualität made in Germany.

Quelle: https://shop.nitrokey.com/de_DE/shop/product/nk3cn-nitrokey-3c-nfc-148

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 Nitrokey 3C NFC welcher hier für einen Betrag von 49 € erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Verwendung unter Linux Mint 20.2 Cinnamon ein.

Stand November 2021:
Bei der aktuelle Auslieferung1) der Nitrokey 3C NFC handelt sich um eine Vorbestellung. Das ausgelieferte Gerät wird erst einmal nur FIDO2 sowie FIDO U2F unterstützen und bereits die Hardware (inkl. Secure Element) für alle aufgeführten Funktionen beinhalten.
Weitere Funktionen wie Einmalpasswörter, Passwortmanager und OpenPGP Chipkarte sind noch nicht implementiert, sondern werden erst später per Firmware-Updates bereitgestellt!

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=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=20a0 ProdID=42b2 Rev=01.00
S:  Manufacturer=Nitrokey
S:  Product=Nitrokey 3
C:  #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=0b(scard) Sub=00 Prot=00 Driver=(none)
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#=0x2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm
I:  If#=0x3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ac

Mit dem Befehl lshw können wir uns ebenso anzeigen lassen, ob der Stick angesteckt und erkannt wird. Da der USB-Stick unter die Klasse input fällt suchen wir gezielt nach diesen Geräte-Typus.

 # lshw -short -C input
H/W path         Device     Class          Description
======================================================
/0/100/1a/1/1/2             input          Nitrokey 3

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 001 Device 005: ID 20a0:42b2 Clay Logic

Im Syslog wird uns beim Anstecken des Sticks dies entsprechend protokolliert:

Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [108360.162781] thinkpad_acpi: battery 1 registered (start 0, stop 0)
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.203649] usb 1-1.2: new full-speed USB device number 5 using ehci-pci
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.314951] usb 1-1.2: New USB device found, idVendor=20a0, idProduct=42b2, bcdDevice= 1.00
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.314956] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.314958] usb 1-1.2: Product: Nitrokey 3
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.314961] usb 1-1.2: Manufacturer: Nitrokey
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.316882] hid-generic 0003:20A0:42B2.0015: hiddev3,hidraw0: USB HID v1.11 Device [Nitrokey Nitrokey 3] on usb-0000:00:1a.0-1.2/input1
Nov  3 17:34:33 djangos-thinkpad-x230 kernel: [113260.317184] cdc_acm 1-1.2:1.2: ttyACM3: USB ACM device
Nov  3 17:34:33 djangos-thinkpad-x230 mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Nov  3 17:34:33 djangos-thinkpad-x230 mtp-probe: bus: 1, device: 5 was not an MTP device
Nov  3 17:34:33 djangos-thinkpad-x230 snapd[1106]: hotplug.go:199: hotplug device add event ignored, enable experimental.hotplug
Nov  3 17:34:33 djangos-thinkpad-x230 mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Nov  3 17:34:33 djangos-thinkpad-x230 mtp-probe: bus: 1, device: 5 was not an MTP device

Für den Zugriff auf die SmartCard bzw. auf den Nitrokey Pro benötigen wir z.B. für GPG den SmartCard-Daemon scdeamon und die Bibliothek libccid welche bei Linux Mint bereits in der Basisinstallation enthalten ist und mit Hilfe der Pakets scdaemon und libccid bereitgestellt werden.

Diese Pakete installieren wir, falls diese nicht bereits im System vorhanden sind, bei Bedarf mit Hilfe von apt.

 $ sudo apt install scdaemon libccid

Für den Betrieb unter Linux Mint 20 insbesondere beim NitroPad X230 müssen wir uns noch passende udev-Definitionen hier besorgen.

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

Zum Aktivieren unserer neuen udev-Regeldatei lassen wir diese nun erneut einlesen; hierzu verwenden wir folgenden Befehl:

 # udevadm control --reload-rules

Verwenden wir den Browser Google Chrome bzw. Chromium müssen wir nichts besonderes unternehmen, da diese bereits bestens vorbereitet sind. Auch beim Browser Firefox 78.0.2esr (64-bit) bedarf es keiner gesonderten Konfiguration mehr. Im Zweifelsfall kann man sich aber auch vergewissern, ob die Option hier richtig gesetzt ist.

Im Zweifelsfall geben wir also in der Adresszeile about:config ein und suchen dann nach der Option u2f.

Bild: Bildschirmhardcopy Firefox "about:config"

Mit einem Doppelklick würden wir die Option aktivieren indem wir den Parameter auf auf true setzen..

Vorbereitende Arbeiten

Bevor wir unseren Nitrokey 3C NFC als zusätzliches Authentifizierungs-Gerät verwenden können, melden wir uns wie gewohnt an unserem Konto an. Bild: Bildschirmhardcopy -  Anmelden an unserer Cloud

Die Einrichtung unseres Nitrokey 3C NFC erfolgt über das Menü [ Einstellungen ] und Sicherheit. Hier finden wir im Abschnitt Zwei-Faktor-Authentifizierung den entsprechenden Abschnitt.

Bild: Bildschirmhardcopy -  Menü der Sicherheitseinstellungen im Cloud-Konto

Zum An- bzw. Einbinden unseres Nitrokey 3C NFC klicken wir auf die Schaltfläche [U2F-Gerät hinzufügen].

Bild: Bildschirmhardcopy -  Hinweis beim Anlernen des Nitrokey 3C NFC

Den Hinweisen entsprechend stecken wir nun den Kryptostick an den USB-C Port des Rechners und berühren die grün leuchtende Fläche auf dem Kryptostick.

Bild: Bildschirmhardcopy -  Hinweis beim Anlernen des Nitrokey 3C NFC

Anschließend vergeben wir noch einen Namen für das verbundene Krypto-Device.

Anmelden mit zwei Faktor-Authentifizierung

Wenn wir uns nun zukünftig an unserer Cloud anmelden, werden wir wie gewohnt nach dem User und Passwort gefragt.

Bild: Bildschirmhardcopy -  Anmelden an unserer Cloud

Nach dem Bestätigen der Daten werden wir nun gebeten unseren Nitrokey 3C NFC-Stick anzustecken und die Touch-Taste darauf zu drücken bzw. genauer gesagt zu berühren.

Bild: Bildschirmhardcopy -  Anmelden an unserer Cloud

Nach einer Sekunde werden wir automatisch angemeldet und wir können den Stick wieder vom USB-Port abziehen.

Im nächsten Konfigurationsbeispiel wollen wir unseren GitHub-Account mit einer Zweifaktorathentifizierungsoption mit Hilfe unseres Nitrokey 3C NFC ausstatten.

Vorbereitende Arbeiten

Das Einrichten eines zweiten Faktors ist hier ausfürlich beschrieben und mit Hilfe der dort beschreibenen Vorgehen werden wir nun auch vorgehen.

Bevor wir unser Krypto-Gerät als zweiten Faktor einrichten und verwenden können, müssen wir bei GitHub zunächst Textnachricht/SMS als zweiten Faktor aktivieren. Dazu gehen wir wie folgt beschrieben vor:

  1. Nachdem wir uns an unserem GitHub-Konto angemeldet haben, klicken wir in der rechten oberen Ecke unseres Browserfensters auf den Menüpunkt Settings Bild: GitHub Settings-Einstellungsmenüpunkt
  2. Links finden wir nun in den persönlichen Einstellungsmöglichkeiten die Option Account security. Bild: GitHub Settings-Einstellungsmenüpunkt
  3. Hier aktivieren wir nun den Punkt [ Enable two-factor authentication ]. Bild: GitHub Einstellungsoption: Two-factor authentication
  4. Beim Einstellunkspunkt Two-factor authentication wählen wir die Option Set up using SMS und klicken auf die Schaltfläche [ Continue ]. Bild: GitHub Einstellungsoption: Set up using SMS
  5. Unter Authentication verification, wählen wir den Country Code unseres Landes aus und geben unsere Mobiltelefonnummer (ohne führende Null) ein und klicken anschließend auf die Schaltfläche [ Send authentication code ]. Bild: GitHub Einstellungsoption: Set up using SMS
  6. Den sechsstelligen Code, den wir nun als SMS auf unser Mobiltelefon gesendet bekommen tragen wir nun in das Feld Enter the six-digit code sent to your phone ein und klicken anschließend auf die Schaltfläche [ Continue ]. Anschließend erhalten wir die recovery codes, die es ermöglichen im Notfall, falls z.B. der Nitrokey 3C NFC verloren gehen sollte, auf unser GitHub-Konto zuzugreifen. Bild: GitHub Einstellungsoption: Set up using SMS
  7. Die Codes speichern wir am besten auf einem sicheren Speichergerät ab. Anschließend klicken wir auf die Schaltfläche [ I have saved my recovery codes ] zum Aktivieren der Zweifaktorauthentifizierung unseres Bneutzerkontos. Bild: GitHub Erfolgreiche Aktivierung der SMS-2FA
  8. Zu guter Letzt melden wir uns einmal ab und erneut bei GitHub an. Nach Eingabe des Passwortes wird uns nun per SMS der Zugangscode zugeschickt den wir in das betreffende Feld eingeben. Bild: GitHub Abfrage des per SMS zugesandten Zugangscode bei SMS-2FA
  9. Nun können wir endlich unseren Nitrokey 3C NFC als zweiten Faktor einbinden. Die ggf. nötige originale Beschreibung hierzu findet sich hier. Zunächst verbinden wir unseren Krypto-Stck mit dem USB-C Port unseres Rechners. In der rechten oberen Ecke unseres Browserfensters klicken wir auf den Menüpunkt Settings. Bild: GitHub Settings-Einstellungsmenüpunkt
  10. Links finden wir nun, wie schon zuvor bei der Einrichtung der 2FA mit Textnachrichten/SMS, in den persönlichen Einstellungsmöglichkeiten die Option Account security. Bild: GitHub Settings-Einstellungsmenüpunkt
  11. Hier wählen wir die Option Security Keys aus in dem wir auf die Schaltfläche [ Add ] klicken. Bild: GitHub Hinzufügen eines Hardware-Sicherheits-Schlüssels
  12. Unter Security keys wählen wir nun die Schaltfläche [ Register new security key ] an. Bild: GitHub Hinzufügen eines Hardware-Sicherheits-Schlüssels
  13. Anschließend geben wir einen „sprechenden Namen“ für unseren Krypto-Stick an, damit wir es bei ggf. mehreren Geräten leichter haben, diesen zuzuordnen. Bild: GitHub Hinzufügen eines Hardware-Sicherheits-Schlüssels
  14. Nach Eingabe des Namen werden wir nun gebeten unseren Nitrokey 3C NFC-Stick anzustecken bzw. die Touch-Taste darauf zu drücken bzw. genauer gesagt zu berühren. Bild: GitHub Hinzufügen eines Hardware-Sicherheits-Schlüssels
  15. Wurde der Nitrokey 3C NFC erkannt, wird dies in unserem Benutzerkonto entsprechend positiv vermerkt. Bild: GitHub definierter Nitrokey 3C NFC als 2FA

Anmelden mit zwei Faktor-Authentifizierung

Wenn wir uns nun zukünftig bei GitHub anmelden, werden wir wie gewohnt nach dem User und Passwort gefragt.

Bild: Anmeldedialog bei GitHub

Anschließend werden wir aufgefordert den Nitrokey 2C NFC anzustecken und die Touch-Taste darauf zu drücken bzw. genauer gesagt zu berühren.

Bild: Anmeldedialog bei GitHub

Nach dem Bestätigen der Daten werden wir nun gebeten unseren Nitrokey 3C NFC-Stick anzustecken bzw. die Touch-Taste darauf zu drücken bzw. genauer gesagt zu berühren.

Bild: Anmeldedialog bei GitHub

Nach einer Sekunde werden wir automatisch angemeldet und wir können den Stick wieder vom USB-Port abziehen.

Links


1)
Stand : 01.11.2021
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • nitrokey/linuxmint/3cnfc.txt
  • Zuletzt geändert: 07.04.2022 12:10.
  • von django