Mise à jour du micrologiciel#

Ce guide décrit comment mettre à jour le micrologiciel du Nitrokey 3.

Important

Pour les microprogrammes v.1.0.0 et inférieurs, la mise à jour supprimera toutes les données utilisateur ! Assurez-vous que vous avez activé les méthodes de connexion de secours appropriées et/ou assurez-vous que la Nitrokey 3 n’est pas le seul moyen d’authentification/2FA pour vos applications/services.

Pour les micrologiciels v1.0.1 et supérieurs, les données de l’utilisateur sont conservées pendant la mise à jour. Quoi qu’il en soit, assurez-vous d’avoir toujours un autre appareil (ou une autre méthode de connexion) enregistré auprès de votre service, si pour une raison quelconque vos données ne sont pas conservées.

Comment mettre à jour#

Important

Ne débranchez jamais la Nitrokey 3 et n’interrompez jamais le processus pendant la mise à jour, car cela rendrait votre appareil inutilisable !

  1. Assurez-vous que vous avez la dernière ` version de pynitrokey` installée, veuillez vérifier les instructions d’installation pour votre OS.

  2. Exécuter nitropy nk3 update.

  3. Une fois instruit par nitropy touchez l’appareil pour activer le bootloader.

  4. macOS uniquement: Si l’instruction est donnée par nitropy, exécutez à nouveau la commande de mise à jour.

  5. Veuillez attendre que le processus soit terminé. (Cela peut varier en fonction de votre système d’exploitation)

  6. Optionnel : exécutez nitropy nk3 test pour vérifier si le dispositif fonctionne correctement après le flashage.

En cas d’erreur, veuillez prendre les logs du répertoire /tmp (/tmp/nitropy.log.*).

Types de versions de micrologiciels#

Il existe trois types de versions du micrologiciel pour la Nitrokey 3 :

Les versions stables sont les plus importantes pour les utilisateurs. Elles sont conçues pour être rétrocompatibles et pour conserver toutes les données de l’utilisateur, et elles sont testées de manière approfondie. Sur les appareils de production, seules les versions stables doivent être utilisées.

Une version candidate **** est un aperçu d’une version stable à venir. Elle devrait également être compatible avec les versions antérieures, mais n’est pas testée de manière aussi approfondie qu’une version stable.

Les versions de test (précédemment : versions alpha) contiennent des fonctionnalités supplémentaires qui ne sont pas encore prêtes pour la production. Les données utilisateur créées avec une version de test peuvent ne pas être compatibles avec les autres versions. Ces versions sont encore en cours de test et sont plus susceptibles de contenir des bogues.

Voir les release notes sur GitHub pour plus d’informations sur les fonctionnalités disponibles dans une version.

Le numéro de version permet d’identifier le type de version du micrologiciel :

Type

Numéro de version

Exemple

version stable

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

v1.3.1

candidat à la libération

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

v1.3.1-rc.1

version d’essai

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

v1.3.1-test.20230414

Protection contre le déclassement#

Le micrologiciel de la Nitrokey 3 ne peut pas être mis à niveau. Vous ne pouvez installer qu’une mise à jour du micrologiciel avec un numéro de version majeure, mineure et de correctif identique ou supérieur à celui du micrologiciel actuellement installé sur l’appareil. Cela permet de se prémunir contre les attaques par rétrogradation où une version sécurisée du micrologiciel serait remplacée par une ancienne version potentiellement non sécurisée.

Exemples :

  • v1.3.1 peut être mis à jour en v1.3.1-test.20230414 et vice versa parce qu’ils ont les mêmes numéros de version majeure, mineure et de correctif.

  • v1.3.1 peut être mis à jour en v1.3.2 ou v1.4.0 parce que le numéro de version augmente.

  • v1.3.1 ne peut pas être mis à jour vers v1.3.0-rc.1 car le numéro de version diminuerait.

Cela concerne principalement les utilisateurs qui dépendent d’une fonctionnalité des versions de test. Les utilisateurs du micrologiciel stable peuvent toujours mettre à jour vers la dernière version disponible du micrologiciel.