nitrokey:linuxmint:fido2

Nitrokey FIDO2 in der Praxis unter Linux Mint 20

Bild: Nitrokey FIDO2 USB-Stick
In diesem Kapitel befassen wir uns mit der zusätzlichen Absicherung beim Login z.B. bei unserer Nextcloud-Installation mit Hilfe eines Sicherheitstoken im Speziellen mit FIDO21), einem neuen Internet-Standard und die passwortlose Weiterentwicklung von FIDO U2F.

Eine grundlegende Beschreibung zu den Verfahren finden sich in den Erklärungen für Einsteiger zu FIDO1/U2F und FIDO2 der FIDO-Allianz (in englischer Sprache).

Hierzu verwenden wir den Nitrokey FIDO2 (Daten-/Infoblatt) welcher hier für einen überschaubaren Betrag von knapp erstanden werden kann. Zu Test- und Demozwecken wurde von der Firma Nitrokey GmbH freundlicherweise ein Nitrokey FIDO2 kostenfrei zur Verfügung gestellt, was natürlich lobend erwähnt werden darf! In dem folgenden Beitrag gehen wir auf die Besonderheiten bei der Verwendung unter Linux Mint 20 insbesondere beim NitroPad X230 ein. .

Der Nitrokey FIDO U2F Cryptostick vereint in einem kleinen Plastikgehäuse ein vollständig FIDO2) kompatibles zu 100% Open Source und Open Hardware Device, mit einer Sensortaste/Knopf welches zum zusätzlichen Absichern einer unbegrenzte Anzahl von Benutzerkonten verwendet werden kann. Weitere Informationen zum Nitrokey-Stick findet findet man auch hier bzw. im Support Forum.

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#= 10 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=20a0 ProdID=42b1 Rev=01.00
S:  Manufacturer=Nitrokey
S:  Product=Nitrokey FIDO2 2.0.0
S:  SerialNumber=123E456789000
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

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 FIDO2 2.0.0

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 010: ID 20a0:42b1 Clay Logic 

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

Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.556215] usb 1-1.2: new full-speed USB device number 11 using ehci-pci
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.666934] usb 1-1.2: New USB device found, idVendor=20a0, idProduct=42b1, bcdDevice= 1.00
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.666939] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.666941] usb 1-1.2: Product: Nitrokey FIDO2 2.0.0
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.666944] usb 1-1.2: Manufacturer: Nitrokey
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.666946] usb 1-1.2: SerialNumber: 207E32BB5252
Aug 23 19:54:22 Djangos-ThinkPad-X230 kernel: [10188.668768] hid-generic 0003:20A0:42B1.0007: hiddev3,hidraw0: USB HID v1.11 Device [Nitrokey Nitrokey FIDO2 2.0.0] on usb-0000:00:1a.0-1.2/input0
Aug 23 19:54:23 Djangos-ThinkPad-X230 mtp-probe: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Aug 23 19:54:23 Djangos-ThinkPad-X230 mtp-probe: bus: 1, device: 11 was not an MTP device
Aug 23 19:54:23 Djangos-ThinkPad-X230 mtp-probe: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2"
Aug 23 19:54:23 Djangos-ThinkPad-X230 mtp-probe: bus: 1, device: 11 was not an MTP device

Für den Betrieb unter openSUSE Leap 15.2 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..

Melden wir uns nun an einer Webseite an, werden wir wie gewohnt aufgefordert uns mit unserem Benutzer und dem zugehörigen Passwort anzumelden.

Bild: Bildschirmhardcopy -  Anmelden an unserer Cloud

Nach dem Bestätigen der Daten werden wir nun gebeten unseren Nitrokey FIDO U2F-Stick anzustecken bzw. 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.

Links


1)
Fast IDentity Online 2
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/fido2.txt
  • Zuletzt geändert: 23.08.2020 17:57.
  • von django