GnuPG, clefs, YubiKey : c’est parti

L’enchaînement  et le choix des commandes et des configurations qui vont suivre sont essentiellement extraites du blog de Simon Josefsson dans son article Offline GnuPG Master Key and Subkeys on Yubikey NEO Smartcard.

Après m’être documenté sur la génération de clefs, GnuPG et les possibilités  d’intégration au système, je me suis donc naturellement tourné vers la pratique et l’expérimentation. J’essaye ici d’en retracer les étapes, afin d’être en mesure de le reproduire au besoin.

Quelques points restent à améliorer et à solutionner, notamment l’absence dans les systèmes live testés (Kali Linux, Debian 9.5.0 et Parrot Security 4.2.2), du composant scdaemon permettant de communiquer avec la YubiKey et conduisant à l’échec de la commande gpg –card-edit.

Dernière petite note avant d’entrer dans le vif du sujet. Pourquoi une YubiKey (Neo) ? Tout simplement parce que j’avais fait l’acquisition de ce matériel il y a de cela quelques années, mais n’avais pas réussi à l’intégrer à mon utilisation quotidienne. Ce dispositif été donc tout indiqué pour servir de support de stockage à mes sous clefs.

Pour rappel, les opérations effectuées ci-dessous sont à réaliser sur une machine hors ligne et dans un système « Live ». Les plus soucieux de leur sécurité pourront aller jusqu’à utiliser un ordinateur dédié à cette tâche (un raspberry pi zéro peut-être ?).

Configuration

Nous allons tout d’abord changer le dossier principal de GnuPG afin de le faire pointer sur un support de stockage externe. L’export sera à effectuer dans tous les terminaux dans lesquels nous souhaiterons utiliser GnuPG.

export GNUPGHOME=/media/root/42D8-F705/gnupghome
mkdir $GNUPGHOME

Nous commençons également par changer la configuration par défaut, en créant le fichier $GNUPGHOME/gpg.conf avec le contenu suivant (à adapter en fonction des préférences) :

# Set the default preferences for new keys
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAMELLIA256 CAMELLIA192 CAMELLIA128
TWOFISH

# Use a strong digest when signing a key
cert-digest-algo SHA512

#
charset utf-8

# Prevent collisions by using long IDs
keyid-format 0xlong

# Always display fingerprints
with-fingerprint
Génération de la clé maîtresse

Nous pouvons ensuite passer à la génération de la clef maîtresse. Suivant les conseils dispensés en commentaire de mon article « PGP – Première exploration« , j’ai choisi le couple ECC et Curve 25519.

$ gpg --full-generate-key --expert
gpg: le trousseau local « /media/root/42D8-F705/gnupghome/pubring.kbx » a été créé
Sélectionnez le type de clef désiré :
(1) RSA et RSA (par défaut)
(2) DSA et Elgamal
(3) DSA (signature seule)
(4) RSA (signature seule)
(7) DSA (indiquez vous-même les capacités)
(8) RSA (indiquez vous-même les capacités)
(9) ECC et ECC
(10) ECC (signature seule)
(11) ECC (indiquez vous-même les capacités)
(13) Clef existante
Quel est votre choix ? 10
Sélectionnez le type de courbe elliptique désiré :
(1) Curve 25519
(3) NIST P-256
(4) NIST P-384
(5) NIST P-521
(6) Brainpool P-256
(7) Brainpool P-384
(8) Brainpool P-512
(9) secp256k1
Quel est votre choix ? 1
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
= la clef expire dans n jours
w = la clef expire dans n semaines
m = la clef expire dans n mois
y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 6m
La clef expire le jeu. 21 mars 2019 21:00:21 UTC
Est-ce correct ? (o/N) o
GnuPG doit construire une identité pour identifier la clef.
Nom réel : R. Daneel Olivaw
Adresse électronique : r.daneel.olivaw@streeling-universite.org
Commentaire :
Vous avez sélectionné cette identité :
« R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org> »</r.daneel.olivaw@streeling-universite.org>
Changer le (N)om, le (C)ommentaire, l'(A)dresse électronique
ou (O)ui/(Q)uitter ? o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.
gpg: /media/root/42D8-F705/gnupghome/trustdb.gpg : base de confiance créée
gpg: clef 8E7FFBCD155A4DBA marquée de confiance ultime.
gpg: répertoire « /media/root/42D8-F705/gnupghome/openpgp-revocs.d » créé
gpg: revocation certificate stored as '/media/root/42D8-F705/gnupghome/openpgp-revocs.d/45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD.rev'
les clefs publique et secrète ont été créées et signées.pub ed25519 2018-09-22 [SC] [expire : 2019-03-21]
45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD
uid R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org> *****</r.daneel.olivaw@streeling-universite.org>

Nous noterons au passage qu’un certificat de révocation a été automatiquement créé dans le dossier openpgp-revocs.d. Sinon, nous pouvons en générer un via la commande :

Changer la date d’expiration

Lors de la génération, une durée de validité de 6 mois a été choisi pour la clé. Nous allons tester immédiatement la prolongation de la durée de validité d’une clé.

$ gpg --expert --edit-key 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD
La clef secrète est disponible.
sec ed25519/3B2AAADC344F6EAA
créé : 2018-09-22 expire : 2019-03-21 utilisation : SC
confiance : ultime validité : ultime
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> expire
Modification de la date d'expiration de la clef principale.
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
= la clef expire dans n jours
w = la clef expire dans n semaines
m = la clef expire dans n mois
y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 0
La clef n'expire pas du tout
Est-ce correct ? (o/N) o

sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> q
Faut-il enregistrer les modifications ? (o/N)

Nous constatons que la date d’expiration a bien été modifiée.

Sauvegarde intermédiaire

Reprenant les conseils de l’article de Josefsson, nous pouvons effectuer une sauvegarde double avec un export de la clé et une copie du répertoire de GnuPG dans son état actuel.

$ gpg -a --export-secret-keys 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../masterkey.txt
$ cp -a $GNUPGHOME $GNUPGHOME-backup-masterkey
Création des sous-clés

Pour la génération des sous-clés, nous choisissons le RSA2048, du fait de la limitation qu’impose la YubiKey Neo.

gpg --expert --edit-key 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD

La clef secrète est disponible.gpg: vérification de la base de confiance
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: profondeur : 0 valables : 1 signées : 0
confiance : 0 i., 0 n.d., 0 j., 0 m., 0 t., 1 u.
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>gpg> addkey
Sélectionnez le type de clef désiré :
(3) DSA (signature seule)
(4) RSA (signature seule)
(5) Elgamal (chiffrement seul)
(6) RSA (chiffrement seul)
(7) DSA (indiquez vous-même les capacités)
(8) RSA (indiquez vous-même les capacités)
(10) ECC (signature seule)
(11) ECC (indiquez vous-même les capacités)
(12) ECC (chiffrement seul)
(13) Clef existante
Quel est votre choix ? 4
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 2048
La taille demandée est 2048 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
= la clef expire dans n jours
w = la clef expire dans n semaines
m = la clef expire dans n mois
y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 1y
La clef expire le dim. 22 sept. 2019 21:18:50 UTC
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>
gpg> addkey
Sélectionnez le type de clef désiré :
(3) DSA (signature seule)
(4) RSA (signature seule)
(5) Elgamal (chiffrement seul)
(6) RSA (chiffrement seul)
(7) DSA (indiquez vous-même les capacités)
(8) RSA (indiquez vous-même les capacités)
(10) ECC (signature seule)
(11) ECC (indiquez vous-même les capacités)
(12) ECC (chiffrement seul)
(13) Clef existante
Quel est votre choix ? 6
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 2048
La taille demandée est 2048 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
= la clef expire dans n jours
w = la clef expire dans n semaines
m = la clef expire dans n mois
y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 1y
La clef expire le dim. 22 sept. 2019 21:20:17 UTC
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> addkey
Sélectionnez le type de clef désiré :
(3) DSA (signature seule)
(4) RSA (signature seule)
(5) Elgamal (chiffrement seul)
(6) RSA (chiffrement seul)
(7) DSA (indiquez vous-même les capacités)
(8) RSA (indiquez vous-même les capacités)
(10) ECC (signature seule)
(11) ECC (indiquez vous-même les capacités)
(12) ECC (chiffrement seul)
(13) Clef existante
Quel est votre choix ? 8

Actions possibles pour une clef RSA : Signer Chiffrer Authentifier

Actions actuellement permises : Signer Chiffrer(S) Inverser la capacité de signature
(C) Inverser la capacité de chiffrement
(A) Inverser la capacité d'authentification
(Q) Terminé


Quel est votre choix ? s


Actions possibles pour une clef RSA : Signer Chiffrer Authentifier
Actions actuellement permises : Chiffrer(S) Inverser la capacité de signature
(C) Inverser la capacité de chiffrement
(A) Inverser la capacité d'authentification
(Q) Terminé


Quel est votre choix ? c


Actions possibles pour une clef RSA : Signer Chiffrer Authentifier
Actions actuellement permises :(S) Inverser la capacité de signature
(C) Inverser la capacité de chiffrement
(A) Inverser la capacité d'authentification
(Q) Terminé


Quel est votre choix ? a


Actions possibles pour une clef RSA : Signer Chiffrer Authentifier
Actions actuellement permises : Authentifier(S) Inverser la capacité de signature
(C) Inverser la capacité de chiffrement
(A) Inverser la capacité d'authentification
(Q) Terminé


Quel est votre choix ? q
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 2048
La taille demandée est 2048 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
= la clef expire dans n jours
w = la clef expire dans n semaines
m = la clef expire dans n mois
y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 1y
La clef expire le dim. 22 sept. 2019 21:22:52 UTC
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>
gpg> save

Sauvegarde intermédiaire
$ gpg -a --export-secret-keys 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../mastersubkeys.txt
$ gpg -a --export-secret-subkeys 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../subkeys.txt
$ cp -a $GNUPGHOME $GNUPGHOME-backup-mastersubkeys
Configuration de la YubiKey

Ayant effectué cette opération il y a plusieurs mois, je ne me souviens pas des étapes précises. Néanmoins, le but est de s’assurer que le composant est en mode OTP/CCID ou CCID. Nous pouvons à priori utiliser la commande suivante pour changer de mode :

ykpersonalize -m82

À condition bien sûr d’avoir installé les bons applicatifs. L’idéal étant bien sûr de se référer à la documentation du composant, qui a d’ailleurs l’air de s’être améliorée depuis la date d’achat de ma YubiKey et mes premiers tests. Cette configuration peut être effectuée au préalable sur notre système d’exploitation quotidien.

Configuration de la cible

Les sorties des commandes ont été tronquées. On pensera à changer le code PIN (123456 par défaut) et le code PIN administrateur (12345678 par défaut).

$ gpg --card-edit

gpg/card> admin
gpg/card> passwd
gpg/card> name
gpg/card> lang
gpg/card> url
gpg/card> sex
gpg/card> login
gpg/card> quit
Export des sous-clefs vers la YubiKey

Attention, cette opération est destructrice et supprime les sous-clefs de la machine source

$ gpg --edit-key 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD
La clef secrète est disponible.
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> toggle
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> key 1
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb* rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>
gpg> keytocard
Veuillez sélectionner l'endroit où stocker la clef :
(1) Clef de signature
(3) Clef d'authentification
Quel est votre choix ? 1
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb* rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> key 1
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> key 2
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb* rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> keytocard
Veuillez sélectionner l'endroit où stocker la clef :
(2) Clef de chiffrement
Quel est votre choix ? 2
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb* rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> key 2
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> key 3
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb* rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> keytocard
Veuillez sélectionner l'endroit où stocker la clef :
(3) Clef d'authentification
Quel est votre choix ? 3
sec ed25519/8E7FFBCD155A4DBA
créé : 2018-09-22 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa2048/149E07DF2C6B9D3B
créé : 2018-09-22 expire : 2019-09-22 utilisation : S
ssb rsa2048/8149FA26BD10FFAC
créé : 2018-09-22 expire : 2019-09-22 utilisation : E
ssb* rsa2048/B4F027D4E3BADDC6
créé : 2018-09-22 expire : 2019-09-22 utilisation : A
[ ultime ] (1). R. Daneel Olivaw <r.daneel.olivaw@streeling-universite.org></r.daneel.olivaw@streeling-universite.org>

gpg> save
Dernière sauvegarde
$ gpg -a --export-secret-keys 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../masterstubs.txt
$ gpg -a --export-secret-subkeys 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../subkeysstubs.txt
$ gpg -a --export 45D8E35DFB26C08469A8D89C8F9BBBEF654C1AFD > $GNUPGHOME/../publickey.txt
$ cp -a $GNUPGHOME $GNUPGHOME-backup-masterstubs

Nous pourrons alors transférer le fichier publickey.txt vers notre système quotidien pour réaliser l’import de la clé sur celui-ci :

gpg --import < publickey.txt 
Notes

Quelques opérations qu’il pourrait également être intéressant d’effectuer :

  • Ajout d’une photo (Attention à la taille de l’image et donc au poids du fichier choisi qui aura pour effet d’augmenter le poids de la clé. GnuPG recommande le format 240×288).
  • Ajout d’une identité supplémentaire (une autre adresse mail).

Par ailleurs, au jour d’écriture de cet article, Yubico, société éditrice de la YubiKey, vient d’annoncer une version 5 de sa clé, supportant RSA2048, RSA4096, ECCp265 et ECCp384.

Voilà qui clôt ce long article concernant la génération des clefs et sous-clefs et leur transfert sur YubiKey. À ce stade, le matériel est prêt à être utilisé. Il faut maintenant s’interroger sur l’usage au quotidien et mettre en place les configurations adéquates sur les différentes machines et systèmes d’exploitation susceptible de bénéficier de cette sécurité supplémentaire. Il reste donc à étudier les sujets suivants; en vrac et non exhaustif:

  • Connexion SSH avec la clef d’authentification.
  • Signature de commits, tags Git.
  • Gestionnaire de mot de passe pass.
  • Signature, chiffrement de mail.
  • Et éventuellement, chiffrement de partition, disque chiffré.
Victor

Auteur : Victor

Libriste convaincu, j’administre ce serveur et son domaine et privilégie l'utilisation de logiciels libres au quotidien. Je construis progressivement mon "cloud" personnel service après service pour conserver un certain contrôle sur mes données numériques.

2 réflexions sur « GnuPG, clefs, YubiKey : c’est parti »

  1. C’est un bon début!
    J’utilise une Yubikey 4 depuis presque 2 ans, sur le web en OTA, en mode challenge/response pour l’authentification Linux, avec GPG pour le SSH, le chiffrement et les mails. C’est un outil vraiment indispensable au quotidien. Hâte de lire la suite!

  2. Et c’est avec ça qu’on veut répandre les concepts de chiffrement…et bien il y a encore du boulot…
    autant de manips pour générer une clé…la mère Michu aura du mal ;)
    Les clé yubi c’est un bon concept mais c’est lourdingue à utiliser au quotidien…et je ne vous parle même pas avec un smartphone ;)…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *