GnuPG est un outil pour communiquer de manière sûre. Ce chapitre permet de couvrir l'ensemble des fonctionnalités importantes de GnuPG afin de pouvoir démarrer rapidement. Cela inclut la création, l'échange et la vérification des paires de clés, le chiffrement et le déchiffrement des documents, et pour finir l'authentification avec des signatures numériques. Il ne traite pas en détail des concepts qui sont derrière la cryptographie à clé publique, le chiffrement et les signatures numériques. Ceci est traité au chapitre 2. Il n'explique pas non plus comment utiliser GnuPG de manière avisée. Ceci est traité aux chapitres 3 et 4.
GnuPG utilise la cryptographie à clé publique de façon à ce que les utilisateurs puissent communiquer de manière sûre. Dans un système à clé publique, chaque utilisateur possède une paire de clés constituée d'une clé privée et d'une clé publique. La clé privée de l'utilisateur est gardée secrète, elle ne doit pas être révélée. La clé publique peut être distribuée à toute personne avec qui l'utilisateur souhaite communiquer. GnuPG utilise un système un peu plus sophistiqué dans lequel un utilisateur possède une paire de clés primaire et zéro ou plusieurs paires de clés additionnelles. La clé primaire et les clés additionnelles sont empaquetées pour faciliter la gestion des clés. Un paquet de clés peut être dans la plupart des cas considéré comme une simple paire de clés.
L'option de ligne de commande --gen-key
est utilisée pour créer une nouvelle paire de clés.
alice% gpg --gen-key gpg (GnuPG) 0.9.4; Copyright (C) 1999 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection?GnuPG est capable de créer de nombreux types différents de paires de clés, mais une paire de clés primaire doit être capable de générer des signatures. C'est la raison pour laquelle il n'y a que 3 choix possibles. Le choix numéro 1 crée en fait deux paires de clés. La paire de clés de type DSA est la paire de clés primaire, utilisable seulement pour signer. Une paire de clés additionnelle de type ElGamal est aussi créée pour le chiffrement. Le choix numéro 2 est similaire, à la différence que seule la paire de clés DSA est créée. Le choix numéro 4[1] crée une paire de clés ElGamal utilisable pour générer des signatures, mais aussi pour le chiffrement. Dans tous les cas, il est possible d'ajouter après coup des clés additionnelles pour le chiffrement et les signatures. Pour la plupart des utilisateurs, l'option par défaut est conseillée.
Vous devez aussi choisir une taille pour la clé. La taille d'une clé DSA doit être comprise entre 512 et 1024 bits, et la clé ElGamal peut être d'une taille quelconque. Cependant GnuPG requiert que toutes les clés aient une taille supérieure ou égale à 768 bits. Par conséquent, si vous avez choisi le choix 1 et une taille de clé supérieure à 1024 bits, la clé ElGamal sera de la taille demandée, mais la clé DSA sera de 1024 bits.
About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)Plus la clé est longue, plus elle sera résistante face à une attaque par la force brute, mais pour presque tous les usages, la taille de clé par défaut est adéquate puisqu'il coûterait moins cher de contourner le chiffrement que d'essayer de le casser. De plus, le chiffrement et le déchiffrement seront d'autant plus longs que la taille de la clé augmente, et une clé plus longue peut aussi influer sur la taille de la signature. Une fois choisie, la taille de la clé ne peut être changée.
Enfin, vous devez choisir une date d'expiration. Si le choix 1 est fait, la date d'expiration sera valable pour la paire de clés ElGamal et pour la paire de clés DSA.
Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0)Pour la plupart des utilisateurs se satisferont d'une clé qui n'expire jamais. La date d'expiration doit être choisie avec soin, car, bien qu'il soit possible de la changer après que la clé ait été créée, il est difficile de faire parvenir la clé avec la date mise à jour aux utilisateurs qui possèdent déjà votre clé publique.
Vous devez fournir un identificateur d'utilisateur en plus des paramètres de la clé. Cet identificateur est utilisé pour associer la clé créée avec une personne physique.
You need a User-ID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name:Un seul identificateur d'utilisateur est créé au moment de la création de la clé, mais il est possible d'en créer d'autres. Si vous voulez utiliser la clé dans deux ou plusieurs contextes, par exemple comme un employée au travail et comme un activiste politique à côté. Une identité doit être créée avec soin, car elle ne peut plus être éditée ensuite.
GnuPG a besoin d'un mot de passe étendu[2] pour protéger les parties privées de la clé primaire et les clés additionnelles que vous avez en votre possession.
You need a Passphrase to protect your private key. Enter passphrase:Il n'y a pas de limite sur la taille du mot de passe étendu, et il doit être soigneusement choisi. Dans une perspective de sécurité, le mot de passe utilisé pour déverrouiller la clé privée est l'un des points faibles de GnuPG (ainsi que des autres systèmes de chiffrement à clé publique) car il est la seule protection dont vous disposez si un individu obtient votre clé privée. De manière idéale, le mot de passe étendu ne devrait pas utiliser des mots du dictionnaire, et devrait mélanger la casse des caractères alphabétiques et aussi utiliser des caractères non alphabétiques. Un bon mot de passe est crucial pour une utilisation sûre de GnuPG.
Une fois que votre paire de clés a été créée, vous devez immédiatement créer un certificat de révocation pour la clé principale en utilisant l'option --gen-revoke
.
Si vous oubliez votre mot de passe, ou si votre clé privée est compromise ou perdue, ce certificat de révocation peut être publié pour notifier aux autres que votre clé publique ne doit plus être utilisée.
On peut toujours se servir d'une clé publique révoquée pour vérifier des signatures que vous avez faites par le passé, mais on ne peut s'en servir pour chiffrer de nouveaux messages à votre attention.
Cela n'affecte pas non plus votre capacité à déchiffrer les messages qui vous ont été adressés précédemment, si vous avez toujours accès à votre clé privée.
alice% gpg --output revoke.asc --gen-revoke mykey [...]L'argument mykey doit être un identificateur de clé, soit celui de la clé principale de votre paire de clés, soit une partie d'un identificateur d'utilisateur qui identifie votre clé. Le certificat produit sera enregistré dans le fichier revoke.asc. Si l'option
--output
est omis, le résultat de la commande sera écrit sur la sortie standard.
Comme le certificat est court, vous pouvez souhaiter en imprimer une copie pour la stocker dans un endroit sûr, comme votre coffre à la banque.
Le certificat ne doit pas être stocké dans un endroit où d'autres pourraient accéder, car n'importe qui peut publier le certificat de révocation, rendant inutilisable la clé publique correspondante.[1] | Le choix numéro 3 permet de générer une paire de clés ElGamal, qui n'est utilisable que pour le chiffrement |
[2] | ndt : en anglais pass phrase |