Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Nitrokey 3
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Feb 24, 2023 1:15 am    Post subject: Nitrokey 3 Reply with quote

Vor ein paar Tagen habe ich einen Nitrokey 3 gekauft.

Ich weiß ehrlich gesagt noch nicht, was ich damit machen werde. Aber der Appetit kommt ja bekanntlich beim Essen...

Hier im ersten Post möchte ich nach und nach dokumentieren, wie man den Nitrokey 3 unter Linux installieren und nutzen kann.

Weiterhin können wir in diesem Thread diskutieren, wofür man ihn verwenden kann. Also bitte schreibt, wenn Ihr selbst einen Nitrokey oder Yubikey habt. Wofür verwendet Ihr ihn? Wie sind Eure bisherigen Erfahrungen?

1) Installation

1.1) Hardware

Der Nitrokey 3 selbst ist ein USB-Device und wird in einen USB-Port gesteckt.

1.2) udev

Damit man den Nitrokey nutzen kann, ist eine udev-Regel erforderlich. Das Gentoo Paket "app-crypt/libnitrokey" installiert eine Datei mit udev-Regeln: "/usr/lib/udev/rules.d/41-nitrokey.rules". Diese Datei enthält aber noch keine Regel für den neuen Nitrokey 3.

lsusb zeigt die USB ID an:
Code:
Bus 001 Device 011: ID 20a0:42b2 Clay Logic Nitrokey 3

Mit der Ausgabe kann man sich eine Regel bauen und an "/usr/lib/udev/rules.d/41-nitrokey.rules" hinzufügen. Der Standard-Eintrag wäre wohl:
Code:
# Nitrokey 3
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b2", TAG+="uaccess"

Da ich den Zugriff über eine Gruppe "nitrokey" steuern möchte, habe ich diese Gruppe angelegt und folgenden Eintrag hinzugefügt:
Code:
# Nitrokey 3
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b2", TAG+="uaccess", GROUP="nitrokey", MODE="0660"

Nach einem Neustart und udev erscheint dann das Device:
Code:
crw-rw---- 1 root nitrokey 239, 0 Feb 21 10:44 /dev/hidraw0

1.3) Tools

Unter Gentoo gibt es das Paket "app-crypt/nitrokey-app". Wenn ich es richtig verstehe, unterstützt es aber (noch) nicht den Nitrokey 3.

Stattdessen kann man sich mit pip die Software "pynitrokey" installieren. Dazu habe ich den User "nitrokey" angelegt und mich unter diesem angemeldet. Natürlich kann man auch seinen Standard-User verwenden. Aber ich wollte das Ergebnis der pip-Installationsorgie lieber unter einem separaten User haben. Zumindest so lange, wie ich teste.
Code:
pip install --user pynitrokey

Mit dem Programm "nitropy" kann man auf das Device zugreifen und die Firmware updaten.
Code:
.local/bin/nitropy nk3 list
.local/bin/nitropy nk3 version
.local/bin/nitropy nk3 test
.local/bin/nitropy nk3 update


1.4) Firefox

Unter https://webauthn.bin.coffee/ gibt es eine schöne Testseite, mit der man den Web Authentication Support von Firefox und des Nitrokeys testen kann. Der Test hat auf Anhieb funktioniert.

Bis hierher hat alles funktioniert. Wenn ich mehr herausgefunden habe, werde ich diesen Post ergänzen.

Links:


Last edited by mike155 on Sat Feb 25, 2023 2:10 am; edited 1 time in total
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5182

PostPosted: Fri Feb 24, 2023 5:02 am    Post subject: Re: Nitrokey 3 Reply with quote

mike155 wrote:

lsusb zeigt die USB ID an:
Code:
Bus 001 Device 011: ID 20a0:42b2 Clay Logic Nitrokey 3

Mit der Ausgabe kann man sich eine Regel bauen und an "/usr/lib/udev/rules.d/41-nitrokey.rules" hinzufügen. Der Standard-Eintrag wäre wohl:

Ungünstig. Leg lieber eine Datei unter /etc/udev/rules.d an. Eigendlich solltest du wissen dass man keine von portage installierte datei, welche nicht im /etc verzeichnis liegt, editieren.
Denn dadurch wird sich entweder portage bei einem update beschweren oder einfach die datei überschreiben womit deine Änderungen weg sind.
Bei einem uninstall kann es dann auch noch passieren, dass diese Datei dann nicht mit gelöscht wird, da sie modifiziert wurde.

Zusätzlich ist der von dir genannte eintrag auch schon vorhanden: https://github.com/Nitrokey/libnitrokey/commit/075bfe1d287af351dbc223491bc28319bd34d4df (Oct 13, 2021)
Das wäre dann ab version 3.7 von libitrokey (upstream ist bei 3.8 Nov 15, 2022: https://github.com/Nitrokey/libnitrokey/releases)

Da wäre es wohl besser ein ebuild für 3.7 bzw 3.8 zu erstellen statt hier in den system dateien rum zu editieren.

Alternativ könnte auch https://github.com/d-e-s-o/nitrocli funktionieren
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Feb 24, 2023 8:33 pm    Post subject: Reply with quote

@firefly: danke für Deine schnelle Antwort. Auf die Idee, dass es schon eine neuere Version geben könnte, bin ich gestern Abend nicht mehr gekommen. Libnitokey-3.8 enthält in der Tat die benötigte Regel. Ich habe einen Bump Request gestellt: https://bugs.gentoo.org/896248. Wenn akzeptiert wird, kann ich die entsprechenden Zeilen in meinem Post löschen.

Ich habe den nitrocli-ebuild für die aktuelle Version von nitrocli aktualisiert: nitrocli-20230224.ebuild. Leider erkennt auch diese Version meinen Nitrokey 3 nicht. Es bleibt also vorerst nur "pynitrokey".
Back to top
View user's profile Send private message
Dragonix
Apprentice
Apprentice


Joined: 21 May 2006
Posts: 253
Location: Germany

PostPosted: Wed Mar 08, 2023 7:06 pm    Post subject: Reply with quote

Hi,

ich wollte mir auch den 3er kaufen, aber den NFC, den gibt's derzeit nach wie vor nur zum Vorbestellen.
Ich bin gerade aber eher davon abgekommen, scheinbar ist das alles (noch) nicht so ganz problemlos: Stick kann derzeit noch recht wenig (?), NFC macht wohl öfters Probleme. Schwanke derzeit zwischen "garnix kaufen" und einem Konkurrenten (Yubikey?). Wie zufrieden bist du denn so? Ich hätte vor allem Interesse an FIDO2, Auth für SSH und eventuell PGP.

Viele Grüße
Matthias
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Sun Mar 12, 2023 1:40 pm    Post subject: Reply with quote

Hi Dragonix, danke für Deine Antwort.

Soweit ich sehe, funktionieren:
  1. Das Low-Level-Programm "nitropy"
  2. FIDO2 und FIDO UDF über Browser
  3. SSH

1 und 2 habe ich getestet, 3 nur ansatzweise. Sehr störend finde ich, dass Programm "nitrokey-app" noch nicht funktioniert, mit dem man die Schlüssel auf dem Key anzeigen und bearbeiten kann. GnuPG funktioniert wohl auch noch nicht.

Mein Hauptproblem ist, dass ich immer noch nicht verstehe, was mir der NitroKey bringt.

Zurzeit verwende ich KeepassXC zur Verwaltung meiner Passwörter. Die Passwörter werden (verschlüsselt) im Dateisystem gespeichert. Schlüssel für SSH und PGP werden auch (verschlüsselt) im Dateisystem gespeichert.

Wenn die Festplatte kaputt geht, habe ich ein Backup. D.h. ich muss mir keine Sorgen machen, dass meine Schlüssel verloren gehen. Wenn jemand mein Backup in die Hände bekommt, ist es verschlüsselt. Selbst wenn er es entschlüsseln könnte, findet er nur die verschlüsselten Passwort- und Key-Dateien. Also muss ich mir da auch keine Sorgen machen.

Wie aber ist es beim Nitrokey? Wenn ich es richtig verstehe, werden alle Schlüssel auf dem Nitrokey gespeichert - und man kann kein Backup davon machen. Wenn der NitroKey kaputt geht, ist alles weg? Ich bräuchte also einen zweiten Schlüssel als Backup? Das scheint mir doch erheblich komplizierter zu sein, als wenn ich meine Daten im Dateisystem speichere? Oder sind die NitroKeys so robust, dass sie nicht kaputt gehen?

Zurzeit würde ich es so sehen. Im professionellen Bereich, wo es wirklich wichtig ist, dass Schlüssel sicher gespeichert werden (beispielsweise bei einer CA), ist ein sicheres Hardware-Device absolut notwendig, damit niemand an die Schlüssel kommt. Aber für mich? Muss ich mir Sorgen machen, dass jemand meine Passwörter und Schlüssel klaut?

Mir fällt auf, dass ich manchmal dass falsche Passwort eingebe. Dann muss ich Passwörter ändern, was mich jedes Mal ärgert. Das würde ein Nitrokey verhindern. Ich glaube auch, dass ein Nitrokey sinnvoll sein kann für diejenigen, die keinen Passwort Manager verwenden wollen oder können - und auf allen Webseiten das gleiche Passwort verwenden - und dann auch noch ihr Geburtsdatum. Da wäre ein NitroKey natürlich ein Riesen-Fortschritt.

Aber die Frage bleibt: was bringt ein NitroKey für einen fortgeschrittenen Anwender, der einen Passwort-Manager verwendet und die üblichen Sicherheitsregeln beachtet?
Back to top
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1391
Location: Germany

PostPosted: Sun Mar 12, 2023 3:14 pm    Post subject: Reply with quote

mike155 wrote:
Mein Hauptproblem ist, dass ich immer noch nicht verstehe, was mir der NitroKey bringt.

Da bin ich mal gespannt was andere dazu meinen. Bin da kein User oder Experte drinne und würde mich da auch über mehr Infos freuen.

Ich sehe die dinger als Hardware-Schlüssel und somit eine Trennung von Laufendem System und Schlüssel. Wenn also das laufende System komprimitiert ist, dann sollten die Keys nicht gleich auch futsch sein..
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5182

PostPosted: Sun Mar 12, 2023 4:59 pm    Post subject: Reply with quote

mike155 wrote:
Aber die Frage bleibt: was bringt ein NitroKey für einen fortgeschrittenen Anwender, der einen Passwort-Manager verwendet und die üblichen Sicherheitsregeln beachtet?

Solche HW Keys haben verschiedene funktionen. Zum einen können sie als weiteren Faktor für ein 2FA/MFA (Multi Factor Auth) verwendet werden.
Ist dann so was ähnliches wie die Authenticator Apps (z.b. mit TOTP support)
Dabei haben sie den Vorteil das so ein Key ein physicher zusätzlicher Faktor ist, den man online nicht einfach klauen kann.

Die andere mir bekannte Funktion ist "Passwordless Auth" (via FIDO Standard) wobei hier der Key, soweit ich das verstehe, als ersatz für das klassische Password gilt.
Grob vergleichbar ist es mit dem public/private key eines SSH-Keys. Nur durch den FIDO Standard auf verschiedene Authentifizierungsfunktionen anwendbar.

Theoretisch sollte jeder HW-Key, welcher für Passwordless Auth genutzt werden kann, eindeutig sein, weil bei der Herstellung der "Key/Secret" fest in den Key eingespeichert wird.
Das Problem ist, dass man hier dem Hersteller vertrauen muss, dass das im HQ-Key gespeicherte "Key/Secret" wirklich einzigartig ist und es davon keine Kopien existieren.

So ein HW-Key erhöht die Sicherheit eines Accounts, weil hier ein physischer Gegenstand existiert, welcher den privaten Teil, welcher für eine Authentifizierung notwendig ist, enthält.
Was aber wiederum ein Problem erzeugt. Verliert man den HW-Key dann sind alle Zugänge futsch, welcher nur über diesen HW-Key erreichbar sind.
Deswegen wird empfohlen, wenn man einen HW-Key für Authentifizierung via FIDO nutzt, dass man mindestens 2 HW-Keys besitzt und beide in den Accounts hinterlegt. Und dabei die zusätzlichen HW-Keys sicher verwahrt.
Dadurch hat man durch die zusätzlichen HW-Keys weiterhin zugriff auf die Accounts sollte der 1. HW-Key nicht mehr verfügbar sein (verloren, kaputt oder gar gestohlen)

Die zusätzlichen funktionen wie SSH-Key/GPG-Key gab es schon länger in form von smart-cards auf denen ein Public/Private-Key Pair erzeugt wurde und der private key auf der smart-card gespeichert ist. Smart-cards sind vom aussehen einer Giro-Card/Kredit-Karte ähnlich.
Das ganze jetzt halt in USB-Stick form anstelle einer smart-card für den man ein spezielles Lesegerät benötigt.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5182

PostPosted: Sun Mar 12, 2023 7:09 pm    Post subject: Reply with quote

mike155 wrote:
GnuPG funktioniert wohl auch noch nicht.

Laut deren webseite soll der stick "OpenPGP smart card" unterstützen. Das würde bedeuten dass der gnupg mit dem stick direkt kommunizieren kann via der PC/SC Architektur.
Dann sollte es theoretisch reichen wenn gnupg mit aktiven useflag smartcard + usb.

Wobei das aktuell wirklich nicht unterstützt wird. Liegt aber daran dass das feature für den 3er noch beta ist. Siehe auch FAQ:
https://docs.nitrokey.com/nitrokey3/faq.html
Quote:
Q: When will the OpenPGP card firmware be available?

OpenPGP card functionnality is currently available as a beta firmware. The announcement contains more information concerning the current status and installation instructions.
Q: Why does the Nitrokey 3 not show up in GnuPG/Nitrokey App/nitropy?

Currently the Nitrokey 3 does only show up and can be managed in nitropy. Nitrokey App and GnuPG will likely be only available once the firware update is available for the OpenPGP card.

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1391
Location: Germany

PostPosted: Mon Mar 13, 2023 7:01 am    Post subject: Reply with quote

firefly wrote:
Deswegen wird empfohlen, wenn man einen HW-Key für Authentifizierung via FIDO nutzt, dass man mindestens 2 HW-Keys besitzt und beide in den Accounts hinterlegt. Und dabei die zusätzlichen HW-Keys sicher verwahrt.
Dadurch hat man durch die zusätzlichen HW-Keys weiterhin zugriff auf die Accounts sollte der 1. HW-Key nicht mehr verfügbar sein (verloren, kaputt oder gar gestohlen)

Erstmal danke für die ausführliche Erklärung. Macht es für mich greifbarer ob das irgendwann etwas sein wird, was ich nutze oder nicht.
Jetzt nun eine Frage zu diesem Absatz: Muss man zur Verwendung dann beide HW-Keys verwenden oder ist bei einem Diebstahl des eines schnelligkeit angesagt da einer zur vollständigen Kontrolle ausreicht?
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5182

PostPosted: Mon Mar 13, 2023 10:10 am    Post subject: Reply with quote

Banana wrote:
firefly wrote:
Deswegen wird empfohlen, wenn man einen HW-Key für Authentifizierung via FIDO nutzt, dass man mindestens 2 HW-Keys besitzt und beide in den Accounts hinterlegt. Und dabei die zusätzlichen HW-Keys sicher verwahrt.
Dadurch hat man durch die zusätzlichen HW-Keys weiterhin zugriff auf die Accounts sollte der 1. HW-Key nicht mehr verfügbar sein (verloren, kaputt oder gar gestohlen)

Erstmal danke für die ausführliche Erklärung. Macht es für mich greifbarer ob das irgendwann etwas sein wird, was ich nutze oder nicht.
Jetzt nun eine Frage zu diesem Absatz: Muss man zur Verwendung dann beide HW-Keys verwenden oder ist bei einem Diebstahl des eines schnelligkeit angesagt da einer zur vollständigen Kontrolle ausreicht?

Die HW-Keys sind unabhängig. Du kannst jeden hinterlegten HW-Key einzeln für die Authentifizierung nutzen. Die Registrierung von weiteren HW-Keys dient als backup wenn der hauptsächlich genutzte HW-key nicht mehr verfügbar ist.
Ist hier dann vergleichbar als wenn man mehrere SSH public keys in einem account hinterlegt.

Im falle eines Diebstahls gewinnt der, wer zuerst mit dem HW-Key in seinem besitzt in dem Account sich anmeldet und die anderen hinterlegten HW-Keys entfernt.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Mon Mar 13, 2023 10:08 pm    Post subject: Reply with quote

Ich habe eine hübsche Einführung gefunden, die die unterschiedlichen Verwendungsmöglichkeiten vorstellt - als Ergänzung zu dem, was @firefly schon so schön erklärt hat. Die Einführung ist zwar für den Yubikey, sollte aber - abgesehen von den einzelnen Befehlen - auch für den Nitrokey 3 gelten: How to use a YubiKey with Fedora Linux.

Laut dieser Beschreibung kann man auch eine PIN setzen. Dann muss man bei einem Diebstahl keine Angst mehr haben. Allerdings muss man die PIN dann auch eingeben, bevor man den USB-Key nutzen kann.

Schön erklärt wird auch der Unterschied zwischen "alternative factor" und "second factor".

Eine weitere Einsatzmöglichkeit könnte auch ein Smartphone sein. Dort hat man ja ein System, das nicht übermäßig vertrauenswürdig ist. (oder genauer: ICH vertraue meinem Smartphone nicht). Und da könnte ein vertrauenswürdiger Nitro/Yubikey natürlich ein willkommener sicherer Platz zur Speicherung von Keys sein.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Mon May 08, 2023 11:47 pm    Post subject: Reply with quote

Kurzes Update: mittlerweile gibt es ein passendes GUI-Tool für den Nitrokey 3: die Nitrokey App 2 (Announcement, Homepage). Wenn man die Befehle in der Anleitung ausführt, lässt sich das Programm einfach installieren. Zurzeit bietet die Nitrokey App 2 nur eine Funktion: "Firmware aktualisieren". Leider hat das bei mir nicht funktioniert. Weitere Funktionen wie eine Key-Verwaltung dürften bald hinzugefügt werden.

Auch bei der Firmware gibt es neue Versionen, mit denen weitere Funktionen wie One-Time Passwords und OpenPGP Card Unterstützung hinzugefügt wurden.

Ich glaube, dass ich den Nitrokey 3 einfach ein paar Monate zu früh gekauft habe. In ein paar Monaten wird man ihn bestimmt gut nutzen können.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum