Aggiornamento del firmware#

(Nitrokey 3 - Linux)

Questa guida descrive come aggiornare il firmware della Nitrokey 3.

Importante

Per i firmware v.1.0.0 e inferiori, l’aggiornamento cancellerà tutti i dati dell’utente! Assicurarsi di aver attivato metodi di login di backup adeguati e/o assicurarsi che Nitrokey 3 non sia l’unico metodo di autenticazione/2FA per le applicazioni/servizi.

Per il firmware v1.0.1 e successivi i dati dell’utente vengono conservati durante l’aggiornamento. In ogni caso, assicuratevi di avere sempre un altro dispositivo (o metodo di accesso) registrato con il vostro servizio, se per qualche motivo i vostri dati non vengono conservati.

Come aggiornare#

Importante

Non scollegare mai Nitrokey 3 o interrompere il processo durante l’aggiornamento, questo potrebbe rendere il tuo dispositivo inutilizzabile!

  1. Assicurati di avere l’ultima versione di pynitrokey installata, controlla le istruzioni di installazione per il tuo sistema operativo.

  2. Esegui nitropy nk3 update.

  3. Una volta ricevuto l’ordine da nitropy toccare il dispositivo per attivare il bootloader.

  4. Solo MacOS: Se indicato da nitropy eseguire nuovamente il comando update.

  5. Attendere il completamento del processo. (Questa operazione può variare a seconda del sistema operativo in uso).

  6. Opzionale: eseguire nitropy nk3 test per controllare se il dispositivo funziona correttamente dopo il flashing.

In caso di errori si prega di prendere i log dalla /tmp directory (/tmp/nitropy.log.*).

Tipi di release del firmware#

Esistono tre tipi di release del firmware per il Nitrokey 3:

Rilasci stabili sono i più importanti per gli utenti. Sono progettate per essere retrocompatibili e per conservare tutti i dati dell’utente e sono accuratamente testate. Sui dispositivi di produzione si devono usare solo le versioni stabili.

Una release candidate **** è un’anteprima di una prossima release stabile. Dovrebbe essere compatibile con le versioni precedenti, ma non viene testata in modo così approfondito come una versione stabile.

Le release di prova (in precedenza: release alfa) contengono funzionalità aggiuntive che non sono ancora pronte per la produzione. I dati utente creati con una release di prova potrebbero non essere compatibili con le altre release. Queste versioni sono ancora in fase di test ed è più probabile che contengano bug.

Per ulteriori informazioni sulle funzionalità disponibili in una release, consultare le note di rilascio di `su GitHub.

Il tipo di release del firmware può essere identificato dal numero di versione:

Tipo

Numero di versione

Esempio

versione stabile

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

v1.3.1

candidato al rilascio

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

v1.3.1-rc.1

rilascio di prova

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

v1.3.1-test.20230414

Protezione dal declassamento#

Il firmware di Nitrokey 3 non può essere declassato. È possibile installare solo un aggiornamento del firmware con un numero di versione maggiore, minore e patch uguale o superiore a quello del firmware attualmente installato sul dispositivo. Questo protegge da attacchi di downgrade in cui una versione sicura del firmware verrebbe sostituita con una versione vecchia e potenzialmente insicura.

Esempi:

  • v1.3.1 può essere aggiornato a v1.3.1-test.20230414 e viceversa perché hanno lo stesso numero di versione maggiore, minore e patch.

  • v1.3.1 può essere aggiornato a v1.3.2 o v1.4.0 perché il numero di versione aumenta.

  • v1.3.1 non può essere aggiornato a v1.3.0-rc.1 perché il numero di versione diminuirebbe.

Questo è importante soprattutto per gli utenti che si affidano a una funzione delle versioni di prova. Gli utenti del firmware stabile possono sempre aggiornare all’ultima versione disponibile del firmware.

Risoluzione dei problemi#

Problema: Ottengo permission denied for /dev/hidrawX durante l’aggiornamento.

Questo probabilmente significa che il vostro utente non ha i permessi necessari per leggere/scrivere il dispositivo. Assicuratevi di aver impostato il corretto udev-rules. Scaricate questo set udev-rules e mettetelo nella vostra directory udev rules (ad esempio, /etc/udev/rules.d). Poi rimuovete la vostra Nitrokey 3 dallo slot USB ed eseguite: udevadm control --reload-rules && udevadm trigger o riavviare la macchina. In seguito l’aggiornamento dovrebbe funzionare senza il problema dei permessi.