Einsatzbericht für Nitrokey 3A (No NFC)

  Claudia Fischering   Lesezeit: 7 Minuten  🗪 4 Kommentare Auf Mastodon ansehen

Ich habe diesen Nitrokey 3A (No NFC) als Geschenk von GNU/Linux.ch erhalten für den 5K Artikel. Am Wochenende hatte ich genug Zeit, um diesen Stick zu testen und hier nun meine Meinung.

einsatzbericht für nitrokey 3a (no nfc)

Beschreibung

Erst einmal zur Verpackung, die war in einem superguten Zustand und hat ein gutes Handgefühl. Der Nitrokey fühlt sich auch echt gut an für Plastik; schon etwas hochwertiger als meine normalen USB-Sticks, finde ich, die ich so habe. Die Schutzkappe sitzt richtig super gut fest, also kann man diese nicht unterwegs irgendwo vergessen. Daraus folgt aber auch, dass die Kappe mit gewisser Muskelkraft braucht, um diese zu lösen. Da habe ich das Gefühl, dass ich den USB-A-Port eindrücke.

Verwendung

Folgende Funktionalität habe ich getestet: FIDO2 (SSH, Websites) und SmartCard. Den Passwortmanager und OTP habe ich nicht getestet, aber da könnte man etwas Feines mit dmenu zaubern, weil bei mir die Nitrokey-App nicht funktionierte (wegen meiner alten Linux-Version).

Einrichtung (Nitrokey)

Ich habe mir erst einmal die Internetseite Nitrokey start angeschaut, die auf der Folie zu sehen war. Nach zwei Klicks auf der Internetseite Nitrokey 3 habe ich nun die Version 3 gefunden.

Bin sofort zum Punkt „Firmware Update“ gegangen und wollte die neueste Version haben. Man solle vorher eine udev Regel hinterlegen, damit dieser gut und schnell erkannt wird. Ist wunderbar beschrieben und ziemlich leicht umzusetzen.

Dann folgte der Punkt „Set Pins“. Da sah ich dann, dass mir eine Software nitropy fehlte. In meinem Linux-System gab es leider keinen Eintrag python-pynitrokey. Somit habe ich mir ein Python-Environment gemacht und pynitrokey installiert mit PIP. Da ich nicht mit PIPx arbeiten wollte, habe ich mir es etwas schwerer gemacht. Info für alle Plattformen

Das Setzen der PIN für FIDO2 war schnell gemacht über das Terminal, sowie für das Passwort und OTP. Bei OpenPGP Card war der User-PIN auch leicht zu setzen, aber Admin-PIN ließ sich nicht setzen. Da meine gnuPG Version 2.2.27 zu alt war. Das letzte PIV für PIN und PUK habe ich nicht gesetzt, da etwas weiter unten stand „Experimental“, somit habe ich es einfach außen vor gelassen. Zurück zur gnuPG Version in meiner virtuellen Maschine hatte ich ein aktuelleres Linux zu laufen, also dachte ich mir, reiche ich den Nitrokey einfach durch und spiele dort weiter. Dort konnte ich auch per Paket-Manager einfach python-pynitrokey (0.12.3-1) installieren und konnte gleich von überall nitropy nutzen. Nun folgte eine lange Abfolge an Fehlern, weil mein Nitrokey nicht wirklich sauber erkannt wurde in der VM. Ich werde nicht alle Schritte jetzt aufzeigen, sondern gleich mit dem Ergebnis fortfahren. Folgende Einträge waren nötig in meiner VMX-Datei:

  • usb.ccid.disable = "TRUE"
  • usb.generic.allowHID = "TRUE"
  • usb.generic.allowLastHID = "TRUE"
  • usb.generic.allowCCID = "TRUE"
  • usb.quirks.device0 = "0x20a0:0x42b2 allow"

Um die Werte für usb.quirks.device0 zu bekommen, muss man das folgende Linux Kommando eingeben lsusb um dann die Vendor-ID : Produkt-ID auszulesen. Bevor man dies aber in der VMX‑Datei schreibt, sollte die virtuelle Maschine ausgeschaltet sein!

Danach nur noch im VMWare Menü → Virtual Machine → Removeable Devices → Clay Logic Nitrokey 3 → Disconnect from Host ausgewählt und dann Nitrokey abstecken und nach 5 Sekunden wieder einstecken, dann war dieser Nitrokey einsatzbereit.

Nun war ich in der Lage, auch die SmartCard in den Admin Bereich zu wechseln, um dann den Admin PIN zu setzen. Dann machte ich ein Generate zur Erzeugung des Signature-Key, des Encryption-Key und des Authentication-Key, wie man es von GPG kennt, wenn man einen Schlüssel erzeugt, nur dass man die Schlüssel nicht auf der Festplatte hat, sondern auf dem Nitrokey. Wenn man alles gemacht hat, kann man sich seinen öffentlichen Schlüssel public-key.asc folgendermaßen holen, per folgendem Terminal-Befehl:

mkdir ~/Nitrokey
gpg --armor --export $(gpg --list-secret-keys --keyid-format LONG | grep '\[SC\]' -A1 | tail -1 | tr -s ' ') > ~/Nitrokey/public-key.asc

Einrichtung (Thunderbird - Nitrokey)

Es müssen einige Tweaks aktiviert werden, damit es mit Thunderbird und dem Nitrokey klappt.
In den Erweiterten Einstellungen muss ein Eintrag hinzugefügt werden, da der default Pfad zu .gnugp nicht gesetzt ist und es muss noch externer gnugp elaubt werden, also von 'false' auf 'true' setzen. Ich finde es schade das man dies nicht in den normalen Einstellungsmenü vornehmen kann.

Nun muss man seinen öffentlichen Schlüssel noch in Thunderbird hinterlegen (Das war ein Gefummel kann ich euch sagen). Das Hamburger-Menü öffnen und Einstellungen auswählen.
Jetzt in der Linken Seite Allgemein auswählen, wenn nicht schon markiert. Nun im rechten Teil bis nach unten Scrollen bis der Button Konfiguration bearbeiten... erscheint und diesen einmalig drücken. Jetzt in der Suchleiste folgendes eingeben mail.openpgp dieser Eintrag ist nicht vorhanden und muss als String hinzugefügt werden, als Wert sollte dein User Homeverzeichnis drin stehen zum Beispiel /home/user/.gnupg.
Jetzt wieder in der Suchleiste folgendes Eingeben mail.openpgp.allow_external_gnupg dieser Eintrag ist vorhanden, aber dieser steht default auf False es muss aber True sein, also einen Doppel-Mausklick auf das Wort False, dann ändert Thunderbird diesen Wert. Dann kann man diesen Tab und den Einstellungen-Tab schließen. Jetzt muss man das Konto-Einstellungsmenü öffnen und das Email-Konto herausgesuchen, welches man im Nitrokey eingerichtet hat. Achtung, die Email-Adresse muss zu 100% übereinstimmen, ansonsten klappt die Zuweisung nicht! Also, gewünschtes Email-Konto gefunden, dann darunter muss ein Eintrag folgen Ende-zu-Ende-Verschlüsselung diesen anklicken. Dann den Button Schlüssel hinzufügen drücken, dann im nächsten Fenster-Pop-Up Externen Schlüssel ... (.. SmartCard) auswählen und dann die ID vom der ~/Nitrokey/public-key.asc Datei holen mit folgendem Terminal-Befehl gpg --list-packets public-key.asc | grep 'keyid:' | head -1.
Den 16 Stelligen-Code einfach kopieren und in Thunderbird eintragen ohne 0x, dann weiter es folgt eine Fehlermeldung, die ist normal jetzt Import Button drücken und die public-key.asc Datei auswählen und hinzufügen sagen. Jetzt sollte der Public Schlüssel hinzugefügt worden sein und man müsste nun einen grünen Balken sehen - auf der rechten Seite von Ende-zu-Ende-Verschlüsselung mit der ID, die man Eingetragen hat.

Ist dies erledigt kann man eine neue Nachricht verfassen und kann bei Symbolleiste openPGP -> Digital Signieren auswählen, dann wird der öffentliche Schlüssel automatisch hinzugefügt, wenn man auf Senden drückt - Dann folgt die Nitrokey-User-PIN (SmartCard) abfrage und dann das Passwort von dem Email-Konto, sofern dieses nicht hinterlegt wurde. Der Pfeil runter Button neben dem Anhang, wenn man dort "Meinen öffentlichen openPGP-Schlüssel" auswählt, dann wird dieser nicht hinzugefügt (Sinnfrei - Aber ist bestimmt nur ein GUI-Bug oder nicht kompatibel mit dem Nitrokey?)

Jedenfalls kann man nur einen openPGP Schlüssel im Nitrokey SmartCard hinterlegen, also sollte man dies mit bedacht auswählen. Ist der Nitrokey Stick kaputt oder nicht mehr lesbar, dann kann man diese Emails nicht mehr entschlüsseln, sofern man den Privaten schlüssel nicht exportiert hat, sofern das möglich ist. Da ich es noch nicht geschafft habe. Dann sollte man einen Revoke-Certifikat einreichen, sofern man diesen public-key.asc Datei auf einem öffentlichen Key-Server veröffentlicht hat.

Fazit

Im großen und ganzen hat der Nitrokey seine Berechtigung für FIDO2 und SmartCard, aber als Passwort-Manager und OTP glaube ich ist es zu Over Powered (OP). Das mit PIV habe ich auch noch nicht so richtig verstanden.

Passwort-Manager oder OTP jedes mal Terminal öffnen; okay; man könne sich etwas mit dmenu zusammen schustern, um es zugänglicher zu machen, aber es ist limitiert auf ungefähr 60 Einträge oder so (Passwörter oder OTP) (Stand irgendwo in der Anleitung vom Nitrokey).
Ich hatte solche Probleme nur gehabt, weil mein Ubuntu 22.04 nicht den richtigen Support bietet für den Nitrokey, somit musste ich diesen per VMWare Workstation Player 17 durchreichen, dass war auch wieder eine fummel Arbeit, um die richtigen Parameter für die VMX-Datei zu finden. Falls jemand Interesse hat an dieser Odyssee meines Einrichten des Nitrokey A3 NFC mit VMWare Workstation Player 17 und dem Guest System Arch Linux, der möge sich in den Kommentaren melden, dann werde ich einen Ausführlichen Artikel dazu schreiben mit jeglicher Ausgabe, damit der nächste es etwas einfacher hat als ich, man müsse mir dann dazu etwas mehr Zeit geben - da ich dann alles ausformulieren muss, da ich mir nur die Ausgaben und Befehle gesichert habe **(kleine Rand Notiz)**.

Für FIDO2-SSH und FIDO2-Website werde ich diesen Nitrokey weiter verwenden, da das wirklich etwas angenehmer ist sich einzuloggen. Man fühlt sich sicherer mit dem Nitrokey SSh - Login, weil man den Nitrokey berühren muss, sofern mein Privater-Schlüssel in dritt Hände kommt, können diese damit nichts Anfangen, da der Nitrokey fehlt - Einfach Tool.

Grüße/Dankeschön

An Ralf und seine Redaktion ein großes Dankeschön für das Geschenk Nitrokey A3 (No NFC).
Ich habe einige Freude und einige Kopfzerbrechen gehabt, aber nun kann man damit genussvoll arbeiten.

Quellen:
[1] - Meine Gehirnzellen
[2] - https://nitrokey.com/start
[3] - https://docs.nitrokey.com/...

Tags

Linux, Nitrokey, Thunderbird, GnuPG

V wie Vendetta
Geschrieben von V wie Vendetta am 6. August 2026 um 12:58

Ich finde die Idee hinter diesen Sticks ja sehr interessant, aber was, wenn er kaputt geht, ich ihn verliere oder ihn jemand klaut? Laut LLM bräuchte ich also mindestens zwei Sticks und eine gute Backup-Strategie. Wie viele Seiten/Dienste unterstützen überhaupt Absicherung durch solche Sticks? Vermutlich wenige, denn dann können die doch keine persönlichen Daten abgreifen, wie Smartphonenummern oder mittels Tracking durch Apps auf unsicheren Smartphonebetriebssystemen.

UbIx
Geschrieben von UbIx am 6. August 2026 um 21:51

Ich benutzt den Nitrokey 3A und 3C NFC schon seit dem croudfounding. Generell empfiehlt es sich immer eine zweite Methode vorzuhalten. Zwei sticks sind dann nicht erforderlich.

z.B.

  • FIDO2 Boot eines LUKS verschlüsselten system's (Fallback Phaspfrase)
  • Webseite, TOTP da meist am Smartphone komfortabler
  • Mehrere OpenPGP keys, aber dann ist der Sinn weg, wenn man ihn nicht auf nen zweiten stick legt.
  • ...

Zu deiner Frage nach dem, welche Dienste HW tokens unterstützen. Einige insbesondere GIT repos, wo ein klick doch deutlich einfacher als andere Methoden ist. Zumal wenn man sie mehrmals am Tag braucht.

Ich werde mir demnächst weiter nitrokeys zulegen, da sie unter openSUSE tumbleweed super integrierbar sind, und doch die tägliche Nutzung wesentlich vereinfachen, wenn man hohe Sicherheitsanforderungen hat.

jazzzy
Geschrieben von jazzzy am 6. August 2026 um 13:10

Hallo, danke für den interessanten Artikel. Ich habe mir vor kurzem den Token2 Fido-Stick zugelegt, da er 300 Zugänge speichern kann. Die bieten zur Verwaltung keyroost (Appimage) an, das wohl diversen Sticks funktionieren soll. Wäre die Nutzung des Nitrokeys damit möglich und einfacher?

Gruß jazzzy

Ein IT-Typ
Geschrieben von Ein IT-Typ am 7. August 2026 um 15:58

Ich habe mir den Nitrokey 3A (no NFC) auch letztens zum Ausprobieren zugelegt. Bisher halte ich es erst mal so, dass er nur optional verwendet werden kann und mich bei Verlust nicht aussperrt. Wenn ich mich aber entscheide, vollständig darauf zu setzen, muss ein zweiter Key her.

Momentan verwende ich ihn für die Anmeldung bei bestimmten Web-Diensten mit FIDO2, z. B. an meiner Nextcloud anstelle des Passworts - das kann man aber stattdessen auch eingeben.

Was ich ebenfalls eingerichtet habe ist die PAM-Authentifizierung am PC mit Nitrokey: Anstelle des Passworts muss die PIN des Nitrokeys eingegeben werden und dieser danach gedrückt. Spart beim Reaktivieren des Systems aus dem Standby viel Zeit, wenn man ein langes Passwort hat und ist ziemlich bequem. Man kann es so konfigurieren, dass wenn man eine leere oder falsche PIN eingibt, stattdessen das Passwort abgefragt wird. So ist man nicht vom Key abhängig. Ist an der Stelle aber dann natürlich weniger eine Sicherheits- und mehr eine Komfortmaßnahme.