Changement de clé OpenPGP

Pour passer à un système un peu plus sécurisé

Bonjour à toutes et à tous. Aujourd'hui un petit article pour expliquer aux connaissances qui suivent ce blog que j'ai changé de clé OpenPGP récemment, avec une preuve de ce changement dans cet article même. Je ne le fait pas en anglais car je connais trop peu de personnes utilisant ma clé et ne comprenant que l'anglais.

Preuve de changement

Voici un message signé avec l'ancienne et la nouvelle clé, attestant que je suis à l'origine de ce changement. Étant donné que je n'ai pas perdu mon ancienne clé, je ne sais pas si c'est une bonne manière de faire ou pas, mais j'ai vu que c'était une pratique courante sur les internets.

Avec l'ancienne clé…

Tout d'abord, le message signé avec l'ancienne clé.

$ gpg --armor --clearsign --default-key 90630953659268D8 < change.txt
gpg: using "90630953659268D8" as default secret key for signing
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Coucou, j'ai changé ma clé OpenPGP :

    6127 DECD 8E5E 9BD6 9314  40EA 9063 0953 6592 68D8

Par la clé suivante :

    1559 F7ED 5E5F 9565 4F26  D787 98C8 2227 AEB1 D067

Ce message, signé par les deux clés, devrait plus ou moins prouver ça, pour
ceux qui faisaient confiance à l'ancienne clé.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEYSfezY5em9aTFEDqkGMJU2WSaNgFAlzhi04ACgkQkGMJU2WS
aNg9mg/7B9aVjUQOLUqqQ15KmaLn/s5/Bt4nUN+21FAU9rj3UiliFFS58OZ3cOjN
/zf9CMXOd8OqN46UDG11m9PmV0BWfAhCy72NNWQNDQpUXYjGHjKewKYpLY9Cm12r
wguA9ODI2RjaILqxl2I/PLk2F3XvzT/ZOsDN1hpXHhTV0wp+BjfD+uJ9bw10f76j
QDUekFxiDzoR0kJjVDRzEnGe+OT4eOY8JXYfIC0usfvXrd7GeLW2IDK1/ek9RQ5T
9o8ICMvCcTzLfYaF2YGwT+lhT+gGvvUBnQL/q/EKpy2rhSW5hvDNvk2cuPYmyMy1
hpeLE9lnuYkcoaqzVUAvI7nDgcPFQjCzYLnrnkCQV8i0fTRo4TN6T0icva7ZZ+VX
TK6Cy/MltlpTIoOqCdgkT2mrGLrQAcD5H+xKdhCbDCBhbQSZyIOMd1Bwe6BhxFCN
d9tXqI8Nf3H3gd5UY75+J5yIZLVKSAI+FSFC+3ysSoWjtNY3A5aIlFT50QhJ6eIy
Qv3gCS2RZ8YLVtYTg/9s0DpO2p721+NSs0ufjSppLUpqqM2GZ6JIQM/FntU8vUIc
LoNm2myxJPo9wzEnudeqxWJYzSWMbmS+9Pz71VitqG3UYThegpz+PPRXRXovfBqK
IPGnxZ5LUr4IGkeykQcl02WPG1LcNslPoZLEhllWrB+Xvr7jDNE=
=hDWz
-----END PGP SIGNATURE-----

Je ne pense pas révoquer cette clé étant donné qu'elle est encore au chaud chez moi, par contre je ne vais signer/chiffrer qu'avec la nouvelle. Une fois que l'ancienne sera arrivée à expiration, les gens n'auront plus d'autre choix que de basculer sur la nouvelle.

…et avec la nouvelle clé

Puis ce même message signé avec la nouvelle clé.

$ gpg --armor --clearsign --default-key 0x98C82227AEB1D067 < change.txt
gpg: using "0x98C82227AEB1D067" as default secret key for signing
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Coucou, j'ai changé ma clé OpenPGP :

    6127 DECD 8E5E 9BD6 9314  40EA 9063 0953 6592 68D8

Par la clé suivante :

    1559 F7ED 5E5F 9565 4F26  D787 98C8 2227 AEB1 D067

Ce message, signé par les deux clés, devrait plus ou moins prouver ça, pour
ceux qui faisaient confiance à l'ancienne clé.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE/0vnfqUe7n1fhjM4L/9j9YUbA+IFAlzhi0UACgkQL/9j9YUb
A+Lw0g/5Ad4DBgGDHHTPjowgXgOeOqfYndUXV0f9Ji61AqYoLkfh30a6x9w6QI9/
gEZRqCOV4YY2KPMYED8+GSNoXWC6WPUqk/wt/TlPyBWcmUfRq0HEUTXSkkOq4Qvw
/yJ29ilu2k05Q1BQO03Jo9e/qPm3o6qxVd2GLyAMTdCwjXp4/Q2CTuJisrYAnhox
ydmlxfQaQk2RIZc1yIj1qxFFL/jPEkwtY7a02L3GeDVDNkorTskSakvzxhj/wG61
qYD76FArt06FnQp90M1WqlZZt4Bz8FHP4epgw1yKoMPj0ApOMyuz6RjC3h3OtF0i
tWrNH5JJjD255cq6WLcTGVGeZJwTt1r5/8wH7tzfmigS9nyhmuOG3RaF9I6NnxlD
+Cs0ZMlfFEis9HsefdpgTJkxeLIy9K28iKR819x2AAgK5YVO85au+1Uy+XC0ctRz
9HXxQGSZxMyYF2G8B9WLsSwHtTOSl7UoN2QlnGWm2VQxJE3j4sDphwIbl1JGBFyq
xwiAsGw73IisT/gvfxGgWWB8hHpvyaWLpjGqBDBw5sBElFCxHM57EhnXokEQNbbm
ucQuz19pyaLmjW2SQkno8Q7svfBQK4NxpmHrvPH60sp7frhLVCn+na7JagNzEoJS
PvlqBYhjnl0TjVrxzjjZibrbv5smolCN/+OZK+cFTzWqmtuaCDs=
=zRRI
-----END PGP SIGNATURE-----

Je n'ai pas réussi à concaténer les deux message bout à bout de façon élégante avec gpg --clearsign, donc j'ai préféré faire deux clearsign qui peuvent être vérifiés avec un copier-coller dans gpg --verify. On se dira que c'est pas grave et que c'est toujours mieux que rien. Par contre, ça ne vaut pas une vérification en personne.

Pourquoi ce changement ?

J'ai découvert récemment le principe des clés 2FA ainsi que des Yubikey et j'ai trouvé le concept génial. Étant donné que je change souvent de machine entre le portable, la tour et les PCs de récup', il arrive un moment où je dois :

  • importer ma clé privée OpenPGP sur la nouvelle machine ;
  • créer une nouvelle clé SSH ;
  • ajouter la clé SSH aux services qui en ont besoin ;
  • et bien d'autres étapes fastidieuses…

De plus, en cas de perte, panique, car la clé privée n'est plus en lieu sûr ; il faut donc lancer le processus de révocation.

Maintenant on passe à l'étape supérieure avec une clé physique sécurisée. C'est le même principe qu'une carte à puce, cependant le code PIN — tapé sur le clavier plutôt que sur un lecteur sécurisé — peut être victime d'une attaque par keylogging. Le périphérique est configuré en touch-to-sign, afin d'être sûr qu'un programme à distance ne se mette pas à signer des choses à notre place une fois la clé déverouillée. Enfin, la clé privée ne peut pas être extraite mais seulement remplacée par une autre, en utilisant le code PUK.

Je rédigerai peut-être d'autres articles pour détailler comment je me sert de la clé au quotidien. J'ai suivi ce super guide et que j'en suis très content. La mise en place prend environ une heure ou deux. Une fois que tout est finalisé c'est vraiment très simple à utiliser.

Au plaisir d'une prochaine cryptoplancha.

Une question ou remarque ? N'hésitez pas à me contacter en envoyant un mail à microjoe, suivi d'un arobase, puis encore microjoe et enfin un « point org ».