HowtoGPG : Utilisation de sous-clef
This commit is contained in:
parent
40934adc61
commit
8f5f5a085d
66
HowtoGPG.md
66
HowtoGPG.md
|
@ -10,14 +10,12 @@ GnuPG permet le chiffrement et la signature de vos données ainsi que de vos com
|
|||
|
||||
## Installation
|
||||
|
||||
GnuPG 1 et 2 sont disponibles dans Debian, il faut utiliser la version 2 :
|
||||
GnuPG 2 est maintenant la version par défaut dans Debian :
|
||||
|
||||
~~~
|
||||
# apt install gnupg2
|
||||
# apt install gnupg
|
||||
~~~
|
||||
|
||||
> *Note* : c'est la version par défaut à partir de Debian 9 (Stretch)
|
||||
|
||||
|
||||
## Générer une clé GPG
|
||||
|
||||
|
@ -33,14 +31,14 @@ Une autre astuce est de disposer d'une clé matériel RNG.
|
|||
On génère par la suite notre clef, on conseille la plus longue possible (4096) :
|
||||
|
||||
~~~
|
||||
$ gpg2 --gen-key
|
||||
$ gpg2 --full-generate-key # Pour pouvoir choisir, notamment, la taille de la clé.
|
||||
$ gpg --gen-key
|
||||
$ gpg --full-generate-key # Pour pouvoir choisir, notamment, la taille de la clé.
|
||||
~~~
|
||||
|
||||
Une fois que vous avez créé votre clef, vous pouvez afficher son fingerprint :
|
||||
|
||||
~~~
|
||||
$ gpg2 --list-secret-keys
|
||||
$ gpg --list-secret-keys
|
||||
|
||||
> Key fingerprint = 677F 54F1 FA86 81AD 8EC0 BCE6 7AEA C4EC 6AAA 0A97
|
||||
~~~
|
||||
|
@ -66,6 +64,46 @@ $ gpg --output doc.sig --clearsign doc
|
|||
|
||||
L'option `--clearsign` permet de ne pas compresser le fichier et de conserver le format initial, pratique pour du texte.
|
||||
|
||||
## Créer une sous-clef pour signer
|
||||
|
||||
Il est conseillé de ne pas garder la clef principale sur la machine. Avoir une sous-clef accessible pour l’usage régulier est cependant pratique.
|
||||
|
||||
~~~
|
||||
$ gpg --edit-key $identifiant_long_de_la_clef
|
||||
[…]
|
||||
gpg> addkey
|
||||
Please select what kind of key you want:
|
||||
(3) DSA (sign only)
|
||||
(4) RSA (sign only)
|
||||
(5) Elgamal (encrypt only)
|
||||
(6) RSA (encrypt only)
|
||||
(14) Existing key from card
|
||||
Your selection? 4
|
||||
RSA keys may be between 1024 and 4096 bits long.
|
||||
What keysize do you want? (3072) 4096
|
||||
[…]
|
||||
gpg> save
|
||||
~~~
|
||||
|
||||
La sous-clef de signature peut maintenant être exportée pour être utilisée sur une autre machine connectée à Internet.
|
||||
|
||||
~~~
|
||||
gpg --armor --export-secret-subkeys $identifiant_long_de_la_clef > Psubkey.asc
|
||||
~~~
|
||||
|
||||
La clef primaire peut aussi être exportée pour être stockée en lieu sûr.
|
||||
|
||||
~~~
|
||||
gpg --armor --export-secret-keys $identifiant_long_de_la_clef > PMkey.asc
|
||||
~~~
|
||||
|
||||
La clef primaire, maintenant stockée en lieu sûr, peut être supprimée du trousseau local, puis la sous-clef privée importée de nouveau.
|
||||
|
||||
~~~
|
||||
gpg --delete-secret-key $identifiant_long_de_la_clef
|
||||
gpg --import Psubkey.asc
|
||||
~~~
|
||||
|
||||
## Configuration
|
||||
|
||||
### Agent GPG
|
||||
|
@ -104,7 +142,7 @@ GPG et l'agent GPG peuvent être utilisés via des cartes a puces (smartcard) ce
|
|||
La carte à puce (ou le token USB) est ensuite accessible via la commande suivante :
|
||||
|
||||
~~~
|
||||
$ gpg2 --card-edit
|
||||
$ gpg --card-edit
|
||||
~~~
|
||||
|
||||
#### Quel choix de smartcard ?
|
||||
|
@ -146,15 +184,23 @@ StreamLocalBindUnlink yes
|
|||
Pour pouvoir utiliser gpg sur l’hôte distant sans clef privée, il faut tout de même que la clef publique soit présente dans le trousseau.
|
||||
|
||||
Sur la machine locale, exporter la clef publique.
|
||||
|
||||
~~~
|
||||
$ gpg --armor --export <identifiant_long_de_la_clef> > clef.asc
|
||||
$ gpg --armor --export $identifiant_long_de_la_clef > clef.asc
|
||||
$ rsync -avP clef.asc tunnel-gpg:.
|
||||
~~~
|
||||
|
||||
Sur la machine distante, importer la clef publique.
|
||||
Sur la machine distante, importer la clef publique et augmenter son niveau de confiance.
|
||||
|
||||
~~~
|
||||
$ gpg --import clef.asc
|
||||
$ gpg --edit-key $identifiant_long_de_la_clef
|
||||
gpg> trust
|
||||
[…]
|
||||
Your decision? 5
|
||||
Do you really want to set this key to ultimate trust? (y/N) y
|
||||
[…]
|
||||
gpg> save
|
||||
~~~
|
||||
|
||||
Une fois connecté à l’hôte, l’utilisation de gpg sur l’hôte distant va maintenant s’appuyer sur le l’agent GPG de la machine locale : si la phrase secrète n’est pas déjà en cache, ou si son utilisation nécessite une carte à puce, elle sera demandée.
|
||||
|
|
Loading…
Reference in a new issue