Nouveau firmware : Identités multiples et clés PGP avec un seul démarrage Nitrokey

Désormais, vous pouvez utiliser une fonction très attendue avec votre Nitrokey Start l'utilisation : Avec la nouvelle prise en charge multi-ID du micrologiciel RTM.10 pour Nitrokey Start, vous avez pour la première fois la possibilité de stocker et d'utiliser en toute sécurité plusieurs identités avec différentes clés PGP. C'est pratique si vous regulièrement utilisez des clés provenant de différents contextes, par exemple privé, professionnel, lié à un projet. Il n'est donc plus nécessaire d'utiliser plusieurs Nitrokeys ou d'autres lieux de stockage.

Cela fait de Nitrokey Start le seul appareil sur le marché qui vous permet d'utiliser plusieurs identités. Trois cartes à puce virtuelles et indépendantes dans un seul Nitrokey Start, supportant trois identités, chacune avec trois paires de clés et des codes PIN différents. Ce support multi-ID est toujours compatible avec GnuPG et ne nécessite aucune personnalisation du logiciel.

Avec une seule commande, vous pouvez passer à l'un des trois ID (0,1 et 2) :

nitropy start set-identity <ID>


Dans ce qui suit, nous vous montrerons comment utiliser la fonction de support Multi-ID.

Préparation

Pour basculer entre les différentes identités sur Nitrokey Start, nous installons d'abord notre utilitaire de nitropie. L'installation sous Windows est décrite ici. Sous Linux, l'installation se fait au moyen de :

sudo apt install python3-pip
pip3 install --user pynitrokey


En outre, le Nitrokey Start doit avoir la nouvelle version du micrologiciel RTM.10 et être mis à jour si nécessaire.

Exemple

  1. Commençons par vérifier l'état actuel du démarrage de Nitrokey et de la clé PGP que nous avons créée il y a quelque temps ([email protected]) :
    gpg --card-status
     
    	Reader ...........: 20A0:4211:FSIJ-1.2.15-48479234:0
    	Application ID ...: D276000124010200FFFE484792340000
    	Application type .: OpenPGP
    	Version ..........: 2.0
    	Manufacturer .....: unmanaged S/N range
    	Serial number ....: 48479234
    	Name of cardholder: [not set]
    	Language prefs ...: [not set]
    	Salutation .......:
    	URL of public key : [not set]
    	Login data .......: [not set]
    	Signature PIN ....: forced
    	Key attributes ...: rsa2048 rsa2048 rsa2048
    	Max. PIN lengths .: 127 127 127
    	PIN retry counter : 3 3 3
    	Signature counter : 4
    	KDF setting ......: off
    	Signature key ....: 0765 27AF F2FC 32CA 1E76 B968 8089 A281 3611 5B29
    	created ....: 2020-07-02 14:03:02
    	Encryption key....: 12C4 0590 7FC3 9D96 0CB0 3955 81EC 8A55 B7B0 6333
    	created ....: 2020-07-02 14:03:02
    	Authentication key: 40F4 6EC1 4DEB 9AA0 98F5 69DF 9D5A A879 1BD3 13EB
    	created ....: 2020-07-02 14:03:02
    	General key info..: pub rsa2048/8089A28136115B29 2020-07-02 Alice (Office) <office@example.com>
    	sec> rsa2048/8089A28136115B29 created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234
    	ssb> rsa2048/9D5AA8791BD313EB created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234
    	ssb> rsa2048/81EC8A55B7B06333 created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234
  2. Nous changeons maintenant l'ID au démarrage de Nitrokey en utilisant notre utilitaire de nitropie. Comme l'ID 0 est déjà occupé par notre clé PGP existante, nous passons à l'ID 1 :
    nitropy start set-identity 1
  3. Nous créons une nouvelle paire de clés PGP (clé privée et publique) en utilisant GnuPG. Pour cela, nous entrons dans le terminal :
    gpg --card-edit
  4. Maintenant, "gpg/card" apparaît. Nous entrons ici la commande suivante :
    admin

    Le terminal est en sortie :
    Admin commands are allowed
  5. Ensuite, nous donnerons l'ordre :
    generate
  6. Nous suivons les instructions supplémentaires sur la sauvegarde de la clé, le nom de la clé, la longueur de la clé, la période de validité, etc. que GnuPG produit dans le terminal pour créer notre nouvelle paire de clés PGP.
  7. Après avoir créé notre nouvelle clé PGP, nous examinons l'état de l'ID 1 actuellement sélectionnée avec la clé PGP créée en supplément ([email protected]) :
    gpg --card-status
     
    	Reader ...........: 20A0:4211:FSIJ-1.2.15-48479234:0
    	Application ID ...: D276000124010200FF01484792340000
    	Application type .: OpenPGP
    	Version ..........: 2.0
    	Manufacturer .....: unmanaged S/N range
    	Serial number ....: 48479234
    	Name of cardholder: [not set]
    	Language prefs ...: [not set]
    	Salutation .......:
    	URL of public key : [not set]
    	Login data .......: [not set]
    	Signature PIN ....: forced
    	Key attributes ...: rsa2048 rsa2048 rsa2048
    	Max. PIN lengths .: 127 127 127
    	PIN retry counter : 3 3 3
    	Signature counter : 4
    	KDF setting ......: off
    	Signature key ....: 37DB 86EA 9F0D 1A2B CE76 DBDB C746 E60A 541B 899E
    	created ....: 2020-07-02 14:59:05
    	Encryption key....: 886C 82FE EC53 AFA7 9117 A13D 5178 5F88 DD7C EC4C
    	created ....: 2020-07-02 14:59:05
    	Authentication key: 9C33 6A76 4ED4 8798 6CB8 80D4 0973 389D FDB1 EAB7
    	created ....: 2020-07-02 14:59:05
    	General key info..: pub rsa2048/C746E60A541B899E 2020-07-02 Alice (Home) <home@example.com>
    	sec> rsa2048/C746E60A541B899E created: 2020-07-02 expires: 2021-07-02
    	card-no: FF01 48479234
    	ssb> rsa2048/0973389DFDB1EAB7 created: 2020-07-02 expires: 2021-07-02
    	card-no: FF01 48479234
    	ssb> rsa2048/51785F88DD7CEC4C created: 2020-07-02 expires: 2021-07-02
    	card-no: FF01 48479234
  8. Nous revenons maintenant à l'ID 0 :
    nitropy start set-identity 0
  9. Le statut de l'ID 0 reste inchangé :
    gpg --card-status
     
    	Reader ...........: 20A0:4211:FSIJ-1.2.15-48479234:0
    	Application ID ...: D276000124010200FFFE484792340000
    	Application type .: OpenPGP
    	Version ..........: 2.0
    	Manufacturer .....: unmanaged S/N range
    	Serial number ....: 48479234
    	Name of cardholder: [not set]
    	Language prefs ...: [not set]
    	Salutation .......:
    	URL of public key : [not set]
    	Login data .......: [not set]
    	Signature PIN ....: forced
    	Key attributes ...: rsa2048 rsa2048 rsa2048
    	Max. PIN lengths .: 127 127 127
    	PIN retry counter : 3 3 3
    	Signature counter : 4
    	KDF setting ......: off
    	Signature key ....: 0765 27AF F2FC 32CA 1E76 B968 8089 A281 3611 5B29
    	created ....: 2020-07-02 14:03:02
    	Encryption key....: 12C4 0590 7FC3 9D96 0CB0 3955 81EC 8A55 B7B0 6333
    	created ....: 2020-07-02 14:03:02
    	Authentication key: 40F4 6EC1 4DEB 9AA0 98F5 69DF 9D5A A879 1BD3 13EB
    	created ....: 2020-07-02 14:03:02
    	General key info..: pub rsa2048/8089A28136115B29 2020-07-02 Alice (Office) <office@example.com>
    	sec> rsa2048/8089A28136115B29 created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234
    	ssb> rsa2048/9D5AA8791BD313EB created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234
    	ssb> rsa2048/81EC8A55B7B06333 created: 2020-07-02 expires: 2021-07-02
    	card-no: FFFE 48479234

De même, nous pouvons également créer une nouvelle paire de clés PGP sous l'ID 2. Bien entendu, il est également possible d'importer des paires de clés existantes. En effet, chaque identifiant se comporte comme une carte à puce indépendante qui peut être configurée et utilisée individuellement. Par conséquent, les codes PIN de chaque identifiant sont également individuels, mais il est bien sûr possible de configurer les mêmes codes PIN. De même, une réinitialisation d'usine ne réinitialise que l'identifiant sélectionné.

25.7.2024

Comments

Will OpenKeychain be able to use all three identities? Will there be an app to switch identities on a mobile phone? Or is it only possible to use the identity previously set with "nitropy start set-identity"?
Plant Ihr das Feature auch in anderen Nitrokey Modellen anzubieten?
Ja, früher oder später im Nitrokey 3. Allerdings hätten wir das zuvor gerne in der OpenPGP Card Spezifikation festgelegt. Darauf warten wir derzeit.
I was planning on buying a Nitrokey Storage soon-ish (with no prior personal experience with Nitrokeys so far) and I was asking myself given this news, whether this upgrade will come to other Nitrokeys eventually by means of a firmware updates, or if this is only possible for Nitrokey Start right now, given a difference in the used underlying hardware components. If the hardware is in fact too different that a simple firmware update cannot bring this feature to other Nitrokeys, will there be new versions of the other keys, that include multiple PGP keys anytime soon?
This will only come to Nitrokey 3 in the future.

Add new comment

Fill in the blank.