zur Startseite

Druckausgabe von https://privat.albicker.org
Iveco Daily 4x4, Hunde und multithematisches Blog

FIDO2, Nitrokey und Linux

veröffentlicht am 27.01.2021 mit 717 Worten - Lesezeit: 4 Minute(n) in * GEBRABBEL * LINUX *

Inhaltsverzeichnis

 

FIDO2 ist ein offener Authentifizierungsstandard, der von der FIDO Alliance gehostet wird und aus der W3C Web Authentication Spezifikation (WebAuthn API) und dem Client to Authentication Protocol (CTAP) besteht. Das klingt sehr technisch …

Zwei-Faktor-Authentifizierung

Definition

Von einer Zwei-Faktor-Authentifizierung spricht man, wenn zwei der drei Authentifizierungskategorien verwendet werden für einen Anmeldevorgang:

Im Kern bedeutet dies, daß man bei Anmeldung an Diensten oder Webseiten im Internet zusätzlich oder anstelle des bisher bekannten Paßworts ein weiteres Gerät verwendet.

Ein weiteres Gerät

Das ermöglicht - je nach Sicherheitsanforderungen der jeweiligen Anwendung:

Ausführliche Berichte gibt es auch bei heise.

Die Umsetzung

Wie beschrieben geht es darum, anstelle oder zusätzlich zu einem Paßwort (das gestohlen oder geknackt werden kann) ein weiteres Sicherheitsmerkmal hinzuzufügen zur Anmeldung. Wer online-banking nutzt, der kennt das schon seit Längerem in Form einer TAN, die per SMS auf ein (angemeldetes) Mobiltelefon gelangt oder von einem registrierten TAN-Generator mit eingeschobener Bank-Karte erzeugt wird. Bei FIDO2 geht das u. a. mit

Apps

Davon habe ich Abstand genommen, wie der eine oder andere Leser weiß, habe ich eine gewisse Abneigung gegen “Smart” Geräte.

USB-Keys als “Schlüssel”

Bei der Auswahl/beim Kauf ist darauf zu achten, daß diese Schlüssel WebAuthn/FIDO2 unterstützen müssen.

Schaut man mit den Suchworten FIDO2 und key ins Internet, dann scheinen die security keys von Yubico, die sog. Yubikeys oder die Produkte von Feitian allgegenwärtig.

Wer den Amis und Chinesen nicht traut, der kann auch bei deutschen Herstellern fündig werden: Ich hab den Nitrokey FIDO2 im Einsatz.

Nitrokey FIDO2 USB-Stick

Sowohl Nitrokey als auch Solokeys bieten ihre Geräte nach dem Open Source Prinzip an, d. h. sowohl Hardware als auch Software sind öffentlich zugänglich und kontrollierbar.

Hardware-Einrichtung unter Linux (hier: debian buster)

Einrichtung auf dem eigenen Rechner

Zunächst mal gilt es herauszufinden, ob der angeschlossene Key überhaupt irgendwo am USB-Bus auftaucht:

~$ lsusb
Bus 001 Device 003: ID 20a0:42b1 Clay Logic 

Das ist gut - die Hardware ist da und wird erkannt. Und wie weiter?
Da hilft uns PAM (Pluggable Authentication Modules), eine Programmierschnittstelle, die es ermöglicht, Benutzer über konfigurierbare Module zu authentifizieren. Für FIDO2 gibt es ein kleines Hilfsprogramm pamu2fcfg (Konfigurationswerkzeug für das U2F-PAM-Modul).

Das kann z. B. folgende Ausgabe liefern:

~$ pamu2fcfg
No device found. Aborting.

Nicht gut - da ist was schief gelaufen.
Nitrokey schreibt zur Behebung des Fehlers:

  • Falls der Nitrokey nicht sofort erkannt wird, müssen Sie vielleicht die Datei 41-nitrokey.rules nach /etc/udev/rules.d/ kopieren. In seltenen Fällen benötigt das System die ältere Version dieser Datei.
  • Danach starten Sie Udev neu indem Sie folgenden Befehl ausführen: sudo service udev restart

Dies gilt insbesondere dann, wenn man sich (nur zur Kontrolle/testweise!) als root anmeldet und dann das Kommando eine endlos lange Zeichenkette ausgibt:

~# pamu2fcfg
root:M_U86XUpxby4U57YTNKdRT9KbQ.......................................

Für den hier gezeigten Key genügt die Zeile

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287|42b1|42b3", TAG+="uaccess", GROUP="plugdev", MODE="0660"

in der genannten Datei 41-nitrokey.rules im Verzeichnis /etc/udev/rules.d/. Sicherzustellen ist, daß der angemeldete Benutzer Mitglied der Gruppe plugdev ist.

Zur Kontrolle sollte pamu2fcfg dann die Meldung liefern

~$ pamu2fcfg
No U2F device available, please insert one now, you have 8 seconds
Device found! 

die in der ersten Zeile (mit Ultimatum 😄) zum Anschluß eines Keys auffordert und diesen tatsächlich findet.

Beim Dienst registrieren

Hier möchte ich nichts allgemein Gültiges schreiben, der jeweilige Dienst/die Webseite wird in der Regel die Vorgehensweise erläutern.

Der Praxistest

Hier zeige ich nur beispielhaft, wie eine Anmeldung bei einem geschützten Dienst aussehen könnte.

  1. Zunächst meldet man sich mit Benutzername/Paßwort an, dann

  2. wird man auf eine weitere Seite geleitet, die dazu auffordert, den registrierten Key anzuschließen und per Klick auf den grünen Button die Authentifizierung anzustoßen

    =Bildbeschreibung=

  3. Es öffnet sich ein Popup-Fenster, das zum Bestätigen des Tasters am Key auffordert

    =Bildbeschreibung=

    der Key bestätigt den Tastendruck mit grüner LED

    =Bildbeschreibung=

  4. Das Authentifizierungsfenster schließt sich wieder und man wird zum Dienst/zur Webseite weitergeleitet.

 

weitere Artikel