Nitrokey 3 Dokumentation: Anzahl Fehlversuche für OTP/PWM-PIN sowie für FIDO-PIN ergänzen

Hi,
können die folgenden Informationen in der Nitrokey 3 Dokumentation auf der Seite PINs festlegen ergänzt werden?:

  • Angaben anlog zu OpenPGP-Karte mit Boxen für Bemerkung und Warnung
  • Anzahl Fehlversuche für OPT/Passwortmanager-PIN (lt. Kommandozeile sind dies 8)
  • Anzahl Fehlversuche für FIDO2-PIN
  • Empfehlung zur Mindestlänge der PIN in Abhängigkeit der erlaubte Fehlversuche (irgendwo hatte ich dazu schon mal etwas gelesen)

Können diese PINs zurück gesetzt werden? Oder ist ein Reset des Schlüssels erforderlich?

Die Ergänzungen der Dokumentation wären auf jeden Fall sinnvoll, ja. Bevor das geschieht, das folgende ist mein Stand:

  • Die möglichen Wiederholungen für die Passwörter (im folgenden “secrets”) PIN sind 8. Nach acht Fehlversuchen ist die Funktion gesperrt und kann nur durch Reset der Applikation (nitropy nk3 secrets reset) zurückgesetzt werden. Dabei gehen alle gespeicherten secrets verloren (jedoch nur diese) und es kann anschliessend eine neue PIN vergeben werden.
  • Für die FIDO2-PIN sind es nur drei Fehlversuche. Der Schlüssel kann aber neu gesteckt werden, was erneute drei Versuche ermöglicht. edit: Wie durch @robin-nitrokey unten im thread erläutert erfolgt nach insgesamt acht Versuchen dann eine Blockage. Bei Blockage bzw Verlust der PIN muss für die FIDO Funktionalitäten ein reset durchgeführt werden (nitropy nk3 fido2 reset, gefolgt von fido2 set-pin), wobei alle FIDO credentials verloren gehen.
  • Für beide (secrets/fido2) PIN sind alphanumerische Passwörter möglich. Es gibt für die NK Pro weitere Empfehlungen für die Mindestlängen in den FAQ. Für diese Schlüssel gelten aber andere Voraussetzungen (user PIN drei Versuche, getrennte user/admin PIN).
  • Anders als teilweise in der Dokumentation beschrieben, sind zumindest unter Linux keine admin Rechte für die nitropy reset Funktionen notwendig.
1 Like

Ich habe heute sehr viele Versuche mit falschen FIDO2 PIN abgefeuert und der Nitrokey 3 sagte dann:

Your device has been blocked after too many failed unlock attempts, to fix this it will have to be reset. (If no pin is set, plugging it in again might fix this warning)

Unplugging half dann nicht mehr (am Anfang schon).

1 Like

Das kann ich bestätigen. Irgendwann wird auch die FIDO2-PIN geblockt. Habe das heute auch ausprobiert.

Leider hat bei mir der FIDO2-Reset mit nitropy nicht funktioniert - das war eher eine schnelle Aktion. Bei Gelegenheit werde ich es nochmal probieren und mein Ergebnis und die nitropy Meldungen hier posten.

1 Like

Hallo,

Die FIDO 2 Funktionalität sollte nach einem Aus- und Wiedereinschalten nicht blockiert bleiben. Wenn dies passiert, handelt es sich um einen Fehler.
Wie haben Sie den Zustand erreicht, in dem es heißt: „Your device has been blocked after too many failed unlock attempts, to fix this it will have to be reset. (If no pin is set, plugging it in again might fix this warning)", haben Sie nitropy oder einen Webbrowser verwendet? Ist es beim Entsperren des Geräts zum Anmelden oder beim Versuch, seine PIN zu ändern, passiert?

Bezüglich der FIDO2-PIN fehlt hier noch ein Aspekt: Bei FIDO2 gibt es zwei Retry-Counter. Nach drei fehlgeschlagenen Versuchen hintereinander ist die PIN blockiert und der Stick muss neu eingesteckt werden. Nach insgesamt acht fehlgeschlagenen Versuchen ist die PIN gesperrt und man muss ein FIDO2-Reset durchführen.

@saper @weitwapp Das erklärt, warum irgendwann das Repluggen nicht mehr geholfen hat. nitropy fido2 reset sollte aber weiterhin funktionieren. Wenn das nicht klappt, teilt bitte die genaue Fehlermeldung mit Logdatei. Achtung: Der Reset kann nur innerhalb der ersten zehn Sekunden nach dem Einstecken erfolgen und muss mit Touch-Button bestätigt werden.

1 Like

So, ich weiß jetzt auch warum der FIDO2-PIN Reset nicht funktioniert hat, siehe mein Post vom 07.11.2023 oben.

Nach der insgesamt 8 Fehleingabe der PIN wird diese gesperrt. Führt man dann einen Reset durch - (nitropy fiod2 reset) aus, dann wird die Meldung 0x30 - NOT_ALLOWED ausgegeben. Grund hierfür ist anscheinend, dass der Schlüssel zunächst neu gestartet bzw. neu gesteckt werden muss - darauf hatte ich zuvor nicht geachtet.
Tut man dies, dann funktioniert der Reset.

2 Likes

Interessant wäre noch, ob man den Nitrokey wirklich ausstecken muss, oder ob ein nitropy nk3 reboot reicht.

Das wäre evtl. ein Szenario für ein Denial of Service, wenn jemand einfach mehrfach falsche PINs testet, rebootet, nochmal testet und so den Token sperrt.

Habe aktuell meinen Nitrokey 3 zum Testen bei mehreren Services registriert und möchte ihn nicht zum Ausprobieren resetten.

1 Like

Sähe so der Test aus?:

  1. 3x PIN falsch eingeben
  2. nitropy nk3 reboot
  3. 3x PIN falsch eingeben
  4. nitropy nk3 reboot
  5. 2x PIN falsch eingeben
  6. nitropy nk3 reboot
  7. nitropy fido2 reset

Erwartung:
2. bricht mit einem Fehler ab, da der Stick neu gesteckt werden muss anstelle des Reboots

Genau. Wenn das funktioniert, könnte man den Key sperren.

Gute Idee, leider funktioniert es in der Tat so.
Mit etwas Timing ist es auch möglich, den fido2 reset durchzuführen ohne neu zu stecken. Besonders ärgerlich, da für die Aktion keine PIN benötigt wird, @robin-nitrokey und @sosthene-nitrokey.