Actualizarea firmware-ului#

Acest ghid descrie modul de actualizare a firmware-ului de pe Nitrokey 3.

Important

Pentru firmware v.1.0.0 și mai jos, actualizarea va șterge toate datele utilizatorului! Asigurați-vă că aveți activate metode de autentificare de rezervă adecvate și/sau asigurați-vă că Nitrokey 3 nu este singura modalitate de autentificare/2FA pentru aplicațiile/serviciile dvs.

Pentru firmware v1.0.1 și versiunile superioare, datele utilizatorului sunt păstrate în timpul actualizării. În orice caz, asigurați-vă că aveți întotdeauna un alt dispozitiv (sau o altă metodă de conectare) înregistrat la serviciul dvs., dacă, din anumite motive, datele dvs. nu sunt păstrate.

Cum se actualizează#

Important

Nu deconectați niciodată Nitrokey 3 sau nu întrerupeți procesul în timpul actualizării, deoarece acest lucru va face ca dispozitivul să devină inutilizabil!

  1. Asigurați-vă că aveți instalată cea mai recentă versiune pynitrokey, vă rugăm să verificați installation instructions pentru sistemul dumneavoastră de operare.

  2. Executați nitropy nk3 update.

  3. Odată ce ați fost instruiți de nitropy` atingeți dispozitivul pentru a activa bootloaderul.

  4. Doar pentru MacOS: Dacă sunteți instruit de nitropy rulați din nou comanda de actualizare.

  5. Vă rugăm să așteptați până la finalizarea procesului. (Acest lucru poate varia în funcție de sistemul dvs. de operare)

  6. Opțional: rulați nitropy nk3 test pentru a verifica dacă dispozitivul funcționează corect după blițuire

În caz de erori, vă rugăm să luați jurnalele din directorul /tmp (/tmp/nitropy.log.*).

Tipuri de versiuni de firmware#

Există trei tipuri de versiuni de firmware pentru Nitrokey 3:

Versiuni stabile sunt cele mai importante pentru utilizatori. Acestea sunt concepute pentru a fi compatibile cu versiunile anterioare și pentru a păstra toate datele utilizatorului și sunt testate în detaliu. Pe dispozitivele de producție, trebuie utilizate numai versiunile stabile.

release candidate este o previzualizare a unei viitoare versiuni stabile. De asemenea, ar trebui să fie compatibil cu versiunile anterioare, dar nu este testat la fel de amănunțit ca o versiune stabilă.

Versiunile de testare (anterior: versiunile alfa) conțin caracteristici suplimentare care nu sunt încă pregătite pentru producție. Este posibil ca datele de utilizator create cu o versiune de testare să nu fie compatibile cu alte versiuni. Aceste versiuni sunt încă în curs de testare și este mai probabil să conțină erori.

Consultați release notes pe GitHub pentru mai multe informații despre caracteristicile disponibile într-o versiune.

Puteți identifica tipul unei versiuni de firmware prin numărul de versiune:

Tip

Numărul versiunii

Exemplu

versiune stabilă

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

v1.3.1

candidat la lansare

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

v1.3.1-rc.1

versiune de testare

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

v1.3.1-test.20230414

Protecție la retrogradare#

Firmware-ul dispozitivului Nitrokey 3 nu poate fi actualizat. Puteți instala numai o actualizare de firmware cu același număr de versiune majoră, minoră și de patch sau cu un număr mai mare decât cel al firmware-ului instalat în prezent pe dispozitiv. Acest lucru protejează împotriva atacurilor de downgrade în care o versiune de firmware sigură ar fi înlocuită cu o versiune veche, potențial nesigură.

Exemple:

  • v1.3.1 poate fi actualizat la v1.3.1-test.20230414 și viceversa, deoarece au același număr de versiune major, minor și patch.

  • v1.3.1 poate fi actualizat la v1.3.2 sau v1.4.0 deoarece numărul versiunii crește.

  • v1.3.1 nu poate fi actualizat la v1.3.0-rc.1 deoarece numărul versiunii ar scădea.

Acest lucru este relevant mai ales pentru utilizatorii care se bazează pe o caracteristică din versiunile de testare. Utilizatorii firmware-ului stabil pot actualiza întotdeauna la cea mai recentă versiune de firmware disponibilă.

Troubleshooting (Linux):#

Problemă: Primesc permission denied for /dev/hidrawX în timpul actualizării.

Acest lucru înseamnă probabil că utilizatorul dvs. nu are permisiunile necesare pentru a citi-scrie pe dispozitiv. Vă rugăm să vă asigurați că ați configurat corect udev-rules. Descărcați acest set udev-rules și plasați-l în directorul dvs. de reguli udev (de exemplu, /etc/udev/rules.d). Apoi scoateți Nitrokey 3 din slotul USB și rulați: `udevadm control --reload-rules && udevadm trigger sau reporniți mașina. Ulterior, actualizarea ar trebui să funcționeze fără problema de permisiune.