Änderung des Standard Passworts schlägt fehl

Moin,

Ich habe versucht einen Nitrokey Start einzurichten und kam nicht einmal weiter als zur Änderung des Passworts.
Das Passwort hat sich nie geändert egal was ich als neues Passwort gewählt habe. Nach einigen Versuchen hat er mir einen Error geworfen das das angegeben Passwort falsch sei egal ob Firmen Standard oder Normal.
Ich dachte er hätte sich nach dem 3. Versuch das PW zu ändern einfach selbst gesperrt und habe versucht mithilfe der auf der Seite beschriebene Verfahren ihn zurück zu setzen. (https://www.nitrokey.com/de/documentation/how-reset-nitrokey).
Doch nachdem ich dies getan hab schmeißt er einen “Kartenfehler” Error. Und es funktioniert nichts mehr.
Versucht hab ich das ganze mit Win10 und GnuPG 2.0.30 (Gpg4win 2.3.4) die Firmenware des Sticks müsste 1.2+ kann ich aber nicht mehr nachpürfen da er mit nur “kartenfehler” ausgibt. Dazu sei auch gesagt das die Option zum zurücksetzen “gpg2 --card-edit” → “admin” → “factory-reset”" bei nicht nicht ging weil die factory-reset option garnicht auftauchte

Wie in der FAQ geschrieben, funktioniert die Option zum zurücksetzen “gpg2 --card-edit” -> “admin” -> “factory-reset” nur mit GnuPG 2.1. Dies kannst Du installieren entweder im Rahmen von GPG4Win Beta oder standalone.

Nachdem ich auf Linux gewechselt bin hab ich wenigstens die Auswahl für factory-reset die ich unter Windows, egal ob 2.1 oder nicht, nicht hatte. Wenn ich jetzt eine Änderung machen will sagt er “Nutzungsvorrausetzungrn nicht erfüllt” dabei spielt es keine Rolle was für einen Pin ich eingebe. Beim ändern des Admin Passworts klappt es beim ersten mal und die Meldung “PIN changed” erscheint. Doch beim 2. Versuch diese zu ändern akzeptiert er sowohl den Standard Admin Pin als auch den Neuen und schmeißt immer den Fehler Falsche PIN. Nach beendrn von gpg und erneuten aufrufen dessen + passwd fragt er jetzt SOFORT nach einer neuen PIN ohne das ich etwas daran ändern könnte und auch hier schmeißt er den “Falsche PIN” Error. Ich habe keine Ahnung ob davon irgendetwas beabsichtigt ist. Aber es ist mir immer noch nicht möglich den Key einzurichten.

Hallo,

bezüglich des fehlenden factory-reset unter Windows werde ich noch einmal recherchieren. Vielen Dank für den Hinweis!

Die Fehlermeldung “Nutzungsvoraussetzungen nicht erfüllt” erscheint normalerweise, wenn die PIN kürzer gewählt wird, als vorgegeben. Bitte versuche eine PIN mit >=6 Zeichen. Das sollte eigentlicht klappen.

Hier hast du vermutlich vergessen “admin” einzugeben. Dann fragt gpg bei Eingabe von passwd nämlich sofort nach der aktuellen Benutzer-PIN.

Nun zum eigentlichen Problem…
Was das Ändern des Admin-Passworts angeht, so verhält sich das ganze tatsächlich teilweise ein wenig merkwürdig. Ich glaube ich konnte ähnliche Probleme feststellen wie du. Ich fürchte aber, dass sich gpg da einfach ein wenig seltsam verhält (ich versuche dem noch auf dem Grund zu gehen). Folgendes hat bei mir sowohl für den factory-reset als auch für das Ändern der PIN geholfen:

  • gebe ‘killall gpg-agent; gpg-agent --daemon --pinentry-program /usr/bin/pinentry-curses’ in die Konsole ein, um fehlerhafte sessions von gpg-agent zu beenden
  • stöpsel den Stick aus
  • steck den Stick wieder ein und starte gpg und führe factory-reset oder admin-PW-Änderung aus

→ wiederhole den Vorgang je Operation (wie reset oder passwd). Bei mir gab es mit dieser Methode dann keine Probleme mehr.

Wie gesagt, ich versuche das Problem bei Gelegenheit näher einzukreisen, weil so ganz zufriedenstellend ist das noch nicht. Im normalen Betrieb (also wenn erst einmal das Passwort sitzt), sollte es aber keine Probleme bereiten.

Bitte sag mir Bescheid, ob es nun klappt.

Liebe Grüße
Alex

Danke für die Antwort nitrolex.
Leider scheint der befehl “killall gpg-agent; gpg-agent --daemon --pinentry-program /usr/bin/pinentry-curses” bei mir nichts als Ärger gebracht zu haben. Wenn ich jetzt versuche den PIN zu ändern erscheint bei jeder Option “Error changing the PIN: Kein Pinentry” auch nach zahlreichen factory resets ändert sich nichts. Kann es seien das der Stick jetzt komplett leer ist? inklusive Standard?

Hallo,

ich denke eher, dass der Befehl nicht ganz zu deiner Umgebung gepasst hat. Der zweite Befehl soll gpg-agent mit einer bestimmtes pinentry-version starten. Wenn diese bei dir nicht vorhanden ist, wird es Probleme geben. Vielleicht versuchst du erst einmal nur ‘killall gpg-agent’. Er sollte beim Aufrufen von gpg eh alleine wieder neu starten, wenn ich das richtig sehe. Danach sollte er dann auch wieder den korrekten pinentry nutzen, der bei dir funktioniert. Im Zweifel einmal an- und abmelden.

Tut mir Leid, für die Umstände!

Der factory-reset dürfte am Gerät selbst nichts zerstört haben, keine Sorge.

Liebe Grüße
Alex

Mein Stick scheint irgendwie nicht richtig zu funktionieren. Viel kann man ja nicht kaputt machen. gpg2 --card-edit --> admin --> passwd --> 3 --> aktuelle pin --> 2x neue Pin. Das müsste man doch eigentlich wieder und wieder wiederholen können. Allerdings ab dem 2. mal sagt er immer Falsche PIN und jetzt sagt er auch bei allen Optionen außer “1 - change PIN” da sagt er allerdings immer noch Nutzungsvorrausetzungen nicht erfüllt auch wenn die PIN länger ist. In einem älterem Post wurde davon berichtet das es Problem mit einer race condition gibt die dann das ändern des PINs nicht mehr möglich macht. kann es sein das diese noch im Umlauf sind?

Hallo,

also die angesprochene race condition in der Vergangenheit traf nur auf den Nitrokey Storage, aber nicht auf den Nitrokey Start zu.

Es fällt mir leider schwer, das Verhalten zu reproduzieren. Du sagst, es läuft erst beim zweiten Versuch die PIN zu ändern fehl und dir wird dann angezeigt “Falsche PIN”. Das legt allerdings den Schluss nahe, dass schlicht beim ersten Ändern der PIN etwas anders läuft als von dir intendiert.

Was passiert denn, wenn du die PIN nur ein einziges Mal initial änderst. Funktioniert die neue PIN dann überhaupt? Was ist, wenn du beim zweiten Versuch des Änderns anstatt die neue PIN, die Standard-PIN eingibst? Was passiert, wenn du eine andere Operation ausführst, die die Admin-PIN benötigst? Vermutlich hat es gar nichts mit der Funktion zum Ändern der PIN zu tun.

Ich könnte mir vorstellen, dass dein pinentry-Programm die PIN falsch oder anders als vermutet überträgt. Nutzt du nur Zahlen oder auch Zeichen? Nutzt du den Nummernblock oder die “normale” Zahlenreihe der Tastatur? Kannst du dir die Zeichen während des Tippen anzeigen lassen?

Was für ein System nutzt du genau (z. B. Ubuntu 16.04 mir Unity)? Vielleicht kommen wir so der Sache noch auf die Spur.

Liebe Grüße
Alex

Ich vermute, dass die PIN zwischengespeichert wird und nach der ersten PIN-Änderung im Zwischenspeicher noch die alte PIN vorhanden ist.

Ist das denn überhaupt ein wirkliches Problem? Du scheinst die PIN ja grundsätzlich ändern zu können und zweimal ändern ist ja vermutlich nur eher ein Test.

Ich bin mir langsam nicht mehr sicher ob ich irgend etwas grundlegend falsch mache. Bei der Befehlskette “gpg2 --card-edit --> admin --> passwd --> 4 --> 12345678 --> 123456789 --> 123456789” gibt er mir schon den Error “Kartenfehler” aus. Ich hab ihn vorher mit factory-reset resettet und nichts weiter gemacht.

Vllt liegt der Fehler an meinem System? Ich habe ein Ubuntu 16.04 mit Unity auf einer Virtual Box unter Win10 laufen. Da ich wie gesagt keine factory-reset option unter Windows gefunden habe.

Zu deinen Fragen: Wenn ich den Admin Pin ändere sagt er beim ersten mal wie oben erwähnt “PIN changed” Beim eintippen bei punkt 4 wird dann “Falsche PIN” für die neue PIN angezeigt.
Meine neue Admin Pin ist jetzt: 123456789
Wenn ich jetzt das 2. mal die PIN ändern will akzeptiert er 12345678 (standard) und 123456789(neu) und lässt mich ein neues Eintippen sagt aber anschließend IMMER “Falsche PIN”. Bei einer Eingabe von 1 als Admin PIN schmeißt er mich sofort mit dem Error"Falsche PIN" raus. er akzeptiert also Beide bin als Admin PIN bekommt aber dann Probleme.

Zur Info ich habe bisher nur Zahlen benutzt. Ich habe bisher sowohl Num Block als auch die Zahlenreihe (normalerweise aber den NUM Block). Und ich habe keine Möglichkeit gesehen mir die Nummer während des eintippens anzeigen zu lassen

Wie verhält es sich, wenn Du vor dem zweiten Ändern Deinen Computer neu startest (um sicher zu gehen, dass nicht irgendetwas gecached wird)?

Das hat leider nichts gebracht.

Hallo @MicMacio,

ich bin derzeit noch am Testen, um das Verhalten vielleicht reproduzieren zu können.

Bitte versuche von nun an die virtuelle Linux-Umgebung zu meiden, weil ich mir nicht sicher bin, ob das immer hunterprozentig klappt mit der USB-Übertragung von Host- zu Gast-System.
Außerdem habe ich es selbst unter Win10 probiert und unter der aktuellen GPG4Win Beta (siehe Link von Jan oben) gibt es definitiv die Reset-Funktion. Bitte versuche deshalb noch einmal das Programm zu installieren und schau mit ‘gpg --version’ nach, ob es auch wirklich geklappt hat. Es sollte dann 2.1.22 da stehen. Vielleicht hast du dann mit der gpg-Version mehr Glück. Wenn es kein factory-reset gibt, läuft da was falsch.

Ich hatte einmal auch ein ähnliches Verhalten wie das, was du beschreibst. gpg hatte die Karte nach einem Ändern der PIN und anschließendem “quit” nicht mehr erkennen wollen. Ich musste dann den Stick im Geräte-Manager entfernen, um weitermachen zu können. (Nach Funktionen wie PIN Ändern und factory-reset.) Die PIN wurde aber tatsächlich verändert, das funktionierte also. Nach einem Neustart war selbst dieses Verhalten weg und der Stick tat wie er soll.

Deshalb würde ich dich bitten

  • noch einmal sicherzugehen, dass du die neueste gpg Version für Windows verwendest.
  • Im Zweifel nach den beschriebenen Operationen (die man ja nicht häufig ausführt) mal den Stick herauszuziehen, notfalls auch aus dem Geräte-Manager entfern und/oder auch einen Neustart ausführst. Damit können wir sicher gehen, dass Windows da nicht rumwurschtelt.
  • Schaust, ob es dann noch Probleme gibt, den Stick einzurichten.

Ich versuche derweil herauszufinden, was dort manchmal Probleme bereitet. Ich habe es aber wie gesagt erst einmal und auch nur teilweise reproduzieren können.

Liebe Grüße
Alex

Moin Alex,

Sorry für die späte Antwort.
Aufjedenfall erstmal Danke. Deine Antworten sind immer sehr umfangreich und freundlich.
Ich habe es mittlerweile soweit das ich gpg4wn benutzen kann(factoryreset taucht auf und version 2.1 wird angezeigt)
Die Probleme bleiben allerdings gleich.
factory-reset --> passwd --> 3 --> 12345678 --> 123456789 --> Message : Pin changed

Dann habe ich, wie du es vorgeschlagen hast, den Stick entfernt. Nach erneuten einstecken des Sticks hat Windows ihn nicht mehr richtig erkannt. “no such device” erscheint. Nach einem Reboot erkennt er ihn dann wieder.

gpg --card-edit --> admin --> passwd --> 4 --> 123456789 --> Message: Falsche Pin.

Beim ändern der (normalen / User) PIN wird immer noch “Nutzungsanforderungen nicht erfüllt” angezeigt egal was ich eingebe.

Im Geräte Manager wird mir der Stick übrigens als “unbekannte Smartcard” angezeigt. Ist das so richtig? Müsste er nicht Nitrokey Start oder ähnliches sagen?

Für mich wirkt der Stick einfach kaputt.

VG
MicMacio

Das ist richtig so und unproblematisch. Lediglich wenn Du den Nitrokey mittels Microsofts Cryptographic Service Provider verwenden willst, müsstest Du den entsprechenden MiniDriver installieren.

Lieber MicMacio,

es tut mir wirklich sehr Leid, dass ich mich so lange nicht gemeldet habe! Ich konnte dir einfach nicht recht weiterhelfen, weil ich das Verhalten nicht reproduzieren konnte… Nun habe ich letztens selbst das Problem gehabt, dass ich die PIN nicht ändern konnte. Dadurch konnte ich das Problem nachvollziehen und so den Fehler finden.

Nach einem factory-reset des Nitrokey Start (oder des darunter liegenden Gnuk) bist vermutlich du in zwei Probleme gelaufen. Das eine sehe ich als Bug an (ich werde versuchen beim Entwickler eine Änderung zu erwirken), das andere ist Feature von Gnuk (ob das nun gut ist oder nicht, sei dahin gestellt).

Der Bug:

Wenn kein Schlüssel auf dem Stick erstellt oder geladen wurde, dann kann die Nutzer-PIN nicht geändert. Das erklärt natürlich, warum dieses Problem bei dir immer wieder auftrat. Die Admin-PIN kann ohne Probleme auch vorher geändert werden. Der Reset-Code ist davon vermutlich auch betroffen, da bin ich mir nicht sicher.

Hier ist allerdings ein zweites Problem aufgetaucht. Ich habe es alles noch einmal genau nachgestellt. Auch nach der Erstellung eines keys hat er mir, wie bei dir, Falsche PIN angezeigt. Eigentlich müsste es hier “Nutzungsanforderungen nicht erfüllt” heißen, denn hier möchte er, wie beim Admin, eine sechs-stellige PIN erhalten. Ich nehme an, du hattest (wie ich), eine sechs-stellige (nämlich eine neue Nutzer-PIN) eingegeben.

Das Feature:
Gnuk ist eine Software die die Funktionen einer OpenPGP Card nachbildet und sich in der Theorie ganz genauso verhält. Bei Gnuk gibt es allerdings, anders als bei der OpenPGP Card, auch einen so genannten “headless admin mode”, mittels dem man nur eine Benutzer-PIN und nicht auch eine Admin-PIN benutzt. Hierfür ändert man nur die Benutzer-PIN. Dadurch wird der Modus automatisch aktiviert. Das geht aber nur, wenn man auch die Regeln für Admin-PINs einhält. Das heißt, die Benutzer-PIN muss 8 Zeichen enthalten. Vielleicht hat auch dies für Probleme bei dir gesorgt. Willst du also nach einem factory-reset die Benutzer-PIN ändern, so entweder mit >=8 Zeichen (=“headless admin mode” wird aktiviert) oder du änderst erst die Admin-PIN und dann die Benutzer-PIN. Alles natürlich erst nach Erstellen/Hochladen eines PGP keys (siehe Bug-Beschreibung oben).

Es tut mir wirklich nochmals Leid, dass du solche Probleme hattest. Ich hoffe, du bist jetzt nicht total frustriert. Ich versuche a) Hinweise in unseren Anleitungen zu hinterlegen (zum “Feature”) b) den Bug vom Entwickler beheben zu lassen.

Sag mir Bescheid, falls es doch noch weitere Probleme gibt. Soweit ich sehen kann, drehten sich deine Probleme um die beiden benannten Punkte. Zögere auch nicht, Bescheid zu geben, falls meine Erläuterungen verwirrend für dich sind!

Liebe Grüße
Alex