{{tag>Crypto GPG Matériel }}
= GPG - Carte a puce YubiKey NitroKey
== Carte
Voir :
* https://linuxfr.org/news/openpgp-card-une-application-cryptographique-pour-carte-a-puce#le-mat%C3%A9riel
* https://connect.ed-diamond.com/GNU-Linux-Magazine/glmf-123/utilisation-de-smartcards-gnupg-v2-au-quotidien-partie-1
* https://incenp.org/dvlpt/docs/carte-openpgp/index.html
* https://docs.canokeys.org/userguide/openpgp/
* https://sorenpoulsen.com/securing-gnupg-keys-on-a-nitrokey-pro
* https://www.xmodulo.com/linux-security-with-nitrokey-usb-smart-card.html
* https://wiki.gentoo.org/wiki/Project:Infrastructure/Nitrokey_Pro_2_guide_for_Gentoo_developers
* https://raymii.org/s/articles/Nitrokey_Start_Getting_started_guide.html
* https://stafwag.github.io/blog/blog/2020/05/02/using-smartcardhsm-with-gpg/
* https://rodolphe.breard.tf/article/utiliser-une-carte-a-puce-openpgp/
* https://www.gnupg.org/howtos/card-howto/en/ch03s03.html
U2F Zero
Pas vraiment Libre
* OnlyKey
Autres
* https://sorenpoulsen.com/using-a-nitrokey-pro-from-another-computer
* https://www.linux.com/training-tutorials/protecting-code-integrity-pgp-part-5-moving-subkeys-hardware-device/
* https://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/
* https://linuxfr.org/news/openpgp-card-une-application-cryptographique-pour-carte-a-puce
OpenSC - GPG
* https://github.com/OpenSC/OpenSC/wiki/OpenPGP-card
YubiKeys GPG
Voir :
* https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP
* https://github.com/drduh/YubiKey-Guide
* https://gist.github.com/ageis/14adc308087859e199912b4c79c4aaa4
* https://ocramius.github.io/blog/yubikey-for-ssh-gpg-git-and-local-login/
* https://www.unicoda.com/?p=3230
* https://www.thepolyglotdeveloper.com/2019/02/use-yubikey-pgp-signing-encryption-authentication/
* https://dev.to/shostarsson/use-your-yubikey-to-its-fullest-4agh
Nitrokey
* https://docs.nitrokey.com/fr/pro/openpgp-keygen-backup.html
Source :
* https://blog.eleven-labs.com/fr/openpgp-clef-secrete-yubikey-partie-2/
apt-get install -y gnupg-agent pinentry-curses scdaemon pcscd yubikey-personalization libusb-1.0-0-dev
gpg --card-status
== GPG
Default PIN
* USER : 123456
* ADMIN : 12345678
Voir :
* https://docs.puri.sm/Librem_Key/Getting_Started/User_Manual.html#managing-gpg-keys
* https://developer.okta.com/blog/2021/07/07/developers-guide-to-gpg
* https://blog.eleven-labs.com/fr/openpgp-clef-secrete-yubikey-partie-2/
* https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP
* https://docs.nitrokey.com/fr/pro/ecc.html
* https://sorenpoulsen.com/securing-gnupg-keys-on-a-nitrokey-pro
* https://docs.nitrokey.com/fr/start/linux/openpgp-keygen-on-device.html
* https://linuxfr.org/news/openpgp-card-une-application-cryptographique-pour-carte-a-puce#
Reset :
openpgp-tool --erase
$ gpg --card-edit
# -> "admin" -> "factory-reset"
$ gpg --edit-card
admin
passwd # change Admin PIN
passwd # change PIN
name
login
lang
sex
forcesig
list
quit
gpg --card-status
------------
== Exportation de la clé publique et
=== utilisation du serveur de clés
Bien que vous puissiez commencer à utiliser votre Nitrokey immédiatement après avoir généré les clés sur votre système, vous devez importer votre clé publique sur chaque système sur lequel vous souhaitez utiliser la Nitrokey. Pour être prêt, tu as donc deux options : Soit tu enregistres la clé publique où tu veux et tu l’utilises sur un autre système, soit tu enregistres la clé publique sur une page Web/un serveur de clés.
Génération d’un fichier de clé publique
Pour obtenir un simple fichier de votre clé publique
gpg --armor --export keyID > pubkey.asc
Utilisez soit l’empreinte digitale comme « keyID » (regardez ''gpg -K'' pour l’obtenir) ou utilisez simplement votre adresse email comme identifiant.
Vous pouvez emporter ce fichier avec vous ou l’envoyer à qui vous voulez. Ce fichier n’est pas du tout secret. Si tu veux utiliser la Nitrokey sur un autre système, tu dois d’abord importer cette clé publique via
gpg --import pubkey.asc
ensuite taper
gpg --card-status
pour que le système sache où chercher cette clé. C’est tout.
=== Téléchargement de la clé publique
Si vous ne voulez pas transporter un fichier de clé publique avec vous, vous pouvez le télécharger sur keyserver. Vous pouvez le faire en tapant
gpg --keyserver search.keyserver.net --send-key keyID
Si vous utilisez une autre machine, vous pouvez simplement l’importer en utilisant
gpg --keyserver search.keyserver.net --recv-key keyID
Une autre possibilité est de changer le paramètre URL sur votre carte. Lancez à nouveau ''gpg --card-edit'' et définissez d’abord l’URL où se trouve la clef (par exemple sur le serveur de clefs ou sur votre page web, etc. A partir de maintenant, vous pouvez importer la clé sur un autre système en utilisant simplement la commande ''fetch'' dans l’environnement ''gpg --card-edit''.
== Autres
https://github.com/gdestuynder/pinentry-auto/blob/master/pinentry-auto