Firmware-Update#

Diese Anleitung beschreibt, wie Sie die Firmware des Nitrokey 3 aktualisieren können.

Wichtig

Bei Firmware v.1.0.0 und darunter werden durch das Update alle Benutzerdaten gelöscht! Stellen Sie sicher, dass Sie geeignete Backup-Anmeldemethoden aktiviert haben und/oder sicherstellen, dass der Nitrokey 3 nicht die einzige Möglichkeit zur Authentifizierung/2FA für Ihre Anwendungen/Dienste ist.

Bei Firmware v1.0.1 und höher bleiben die Benutzerdaten während der Aktualisierung erhalten. Wie auch immer, stellen Sie sicher, dass Sie immer ein anderes Gerät (oder eine andere Anmeldemethode) bei Ihrem Dienst registriert haben, falls Ihre Daten aus irgendeinem Grund nicht erhalten bleiben.

Wie aktualisieren#

Wichtig

Trennen Sie niemals die Verbindung zum Nitrokey 3 oder brechen Sie den Vorgang während der Aktualisierung ab, dies wird Ihr Gerät wahrscheinlich unbrauchbar machen!

  1. Vergewissern Sie sich, dass Sie die neueste `Pynitrokey-Version installiert haben. Bitte lesen Sie die Installationsanweisungen für Ihr Betriebssystem.

  2. Lauf nitropy nk3 update.

  3. Nach der Anweisung von nitropy berühren Sie das Gerät, um den Bootloader zu aktivieren.

  4. Nur macOS: Wenn Sie von nitropy angewiesen werden, führen Sie den Befehl update erneut aus.

  5. Bitte warten Sie, bis der Vorgang abgeschlossen ist. (Dies kann je nach Betriebssystem variieren)

  6. Optional: nitropy nk3 test ausführen, um zu prüfen, ob das Gerät nach dem Flashen ordnungsgemäß funktioniert.

Im Falle von Fehlern entnehmen Sie bitte die Protokolle dem Verzeichnis /tmp (/tmp/nitropy.log.*).

Firmware-Freigabetypen#

Es gibt drei Arten von Firmware-Versionen für den Nitrokey 3:

Stabile Versionen sind für die Benutzer am wichtigsten. Sie sind so konzipiert, dass sie abwärtskompatibel sind, alle Benutzerdaten beibehalten und gründlich getestet werden. Auf Produktionsgeräten sollten nur stabile Versionen verwendet werden.

Ein Release Candidate ist eine Vorschau auf eine kommende stabile Version. Er sollte auch abwärtskompatibel sein, wird aber nicht so gründlich getestet wie eine stabile Version.

Testversionen (früher: alpha releases) enthalten zusätzliche Funktionen, die noch nicht für die Produktion bereit sind. Benutzerdaten, die mit einer Testversion erstellt wurden, sind möglicherweise nicht mit anderen Versionen kompatibel. Diese Versionen werden noch getestet und enthalten mit größerer Wahrscheinlichkeit Fehler.

In den release notes auf GitHub finden Sie weitere Informationen über die in einer Version verfügbaren Funktionen.

Sie können den Typ einer Firmware-Version anhand ihrer Versionsnummer erkennen:

Typ

Versionsnummer

Beispiel

stabiles Release

v<major>.<minor>.<patch>

v1.3.1

Freigabekandidat

v<major>.<minor>.<patch>-rc.<counter>

v1.3.1-rc.1

Testabruf

v<major>.<minor>.<patch>-test.<date>

v1.3.1-test.20230414

Downgrade-Schutz#

Die Firmware des Nitrokey 3 kann nicht herabgestuft werden. Sie können nur ein Firmware-Update mit der gleichen oder einer höheren Haupt-, Neben- und Patch-Versionsnummer als die derzeit auf dem Gerät installierte Firmware installieren. Dies schützt vor Downgrade-Angriffen, bei denen eine sichere Firmware-Version durch eine alte, potenziell unsichere Version ersetzt wird.

Beispiele:

  • v1.3.1 kann auf aktualisiert werden und umgekehrt, da sie dieselbe Haupt-, Neben- und Patch-Versionsnummer haben. v1.3.1-test.20230414

  • v1.3.1 kann auf v1.3.2 oder v1.4.0 aktualisiert werden, da sich die Versionsnummer erhöht.

  • v1.3.1 kann nicht auf v1.3.0-rc.1 aktualisiert werden, da sich die Versionsnummer verringern würde.

Dies ist vor allem für Benutzer relevant, die sich auf eine Funktion aus den Testversionen verlassen. Benutzer der stabilen Firmware können immer auf die neueste verfügbare Firmware-Version aktualisieren.

Troubleshooting (Linux):#

Problem: Ich erhalte permission denied for /dev/hidrawX während der Aktualisierung.

Dies bedeutet wahrscheinlich, dass Ihr Benutzer nicht die erforderlichen Rechte zum Lesen/Schreiben des Geräts hat. Bitte stellen Sie sicher, dass Sie die richtigen udev-rules eingerichtet haben. Laden Sie diesen udev-rules Satz herunter und legen Sie ihn in Ihr udev rules Verzeichnis (z.B. /etc/udev/rules.d). Entfernen Sie dann Ihren Nitrokey 3 aus dem USB-Slot und führen Sie aus: udevadm control --reload-rules && udevadm trigger oder starten Sie Ihren Rechner neu. Danach sollte das Update ohne das Berechtigungsproblem funktionieren.