GNUPG introduction à la cryptographie et utilisation de GnuPG
Utilisation
Qu’est ce que GPG :
GnuPG est une suite cryptographique qui a pour but de remplacer la suite PGP qui n’était pas un projet libre.
Gérer vos clés avec GPG:
C’est parti !
Ouvrez un terminal, c’est à votre tour de travailler :
On commence par savoir ce que gpg peut nous proposer comme commandes :
gpg –help
Pour listez vos clés il y a de nombreuses options:
gpg –list-keys
Liste toutes les clés
gpg –list-public-keys or -k
Liste seulement les clés publiques
Vous pouvez voir « pub » avant la clé ce qui signifie que la clé est bien publique
gpg –list-secret-keys or -K
Liste seulement les clés privées
Vous pouvez voir « sec » avant la clé ce qui signifie que la clé est bien privée
gpg –list-sigs
Liste les clés et signatures
Maintenant on va génerer votre première clé:
gpg –gen-key
|
tiaraport@avalon:~> gpg --gen-key gpg (GnuPG) 2.0.4-svn0; Copyright (C) 2007 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. Sélectionnez le type de clé désiré: (1) DSA et Elgamal (par défaut) (2) DSA (signature seule) (5) RSA (signature seule) Votre choix ? 1 |
Je vous conseille de sélectionner le type de clé par défaut.
Puis sélectionnez 1024 bits (c’est bien assez et bien plus performant que 2048 bits)
|
La paire de clés DSA fera 1024 bits. les clés ELG peuvent faire entre 1024 et 4096 bits de longueur. Quelle taille de clé désirez-vous ? (2048) 1024 |
Maintenant choisissez que la clef n’expire jamais (0) et confirmez
|
Spécifiez combien de temps cette clé devrait être valide. 0 = la clé n'expire pas <n> = la clé expire dans n jours <n>w = la clé expire dans n semaines <n>m = la clé expire dans n mois <n>y = la clé expire dans n années La clé est valide pour ? (0) |
GPG vous demandera quelques informations (nom, adresse, commentaire) puis confirmez (O)
|
Nom réel: tiara Adresse e-mail: tiarablue@gmail.com Commentaire: tiara is a pseudo Vous avez sélectionné ce nom d'utilisateur: "tiara (toto) <tiarablue@gmail.com>" Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? |
Vous devrez ensuite choisir une passphrase , ce qui signifie que même si votre clef privée est interceptée elle restera inutilisable sans cette passphrase.
Choisissez donc quelque chose de compliqué pour qu’aucun dictionnaire ne puisse en venir à bout facilement. Tout en restant facilement mémorisable.
Un algorithme va ensuite travailler à la création de la clé, patientez quelques minutes.
|
gpg: vérifier la base de confiance gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle de confiance PGP gpg: profondeur: 0 valide: 3 signé: 0 confiance: 0-. 0g. 0n. 0m. 0f. 3u pub 1024D/DB306876 2008-03-27 Empreinte de la clé = A7D1 754F E310 56AB 73BC 559D 9F05 B506 DB30 6876 uid tiara (tiara is a pseudo) <tiarablue@gmail.com> sub 1056g/6E384609 2008-03-27 |
Ok, votre clé est générée!
A7D1 754F E310 56AB 73BC 559D 9F05 B506 DB30 6876 est le finger print (l’empreinte).
Mais c’est quoi un finger print ?
C’est juste une petite séquence d’octets utilisés pour identifier rapidement une clé public assez longue. C’est très pratique pour certaines tâches de gestions.
Pub signifie que la clé est publique , 1024 est la longueur de la clé publique ensuite vient la date de création.
uid sont vos informations
sub : est la taille , l’id et la date de création de votre clé privée
La clé publique est publique (tadam..) donc comment on va faire savoir à tout le monde que l’on en possède une ?
gpg –export -a username >> myKeyPub.key
Exporte votre clé dans un fichier, -a vous permet de choisir quelle clé utiliser.
Vous pouvez ensuite envoyez cette clef par email/ ssh/ ftp.
Ou envoyez la clé à un serveur de clef:
gpg --send-keys 'name' --keyserver hkp://subkeys.pgp.net
Si vos amis vous envois leur clé publique, comment pourrez vous les rajouter à votre gestionnaire de clés ?
gpg –import myFriendPub.key
gpg -k
Pour voir les clés de vos amis.
Maintenant on va voir comment on peut utiliser ces clés:
Chiffrer un fichier:
Pour chiffrer un fichier avec la clé publique de votre « ami »:
gpg –recipient " key id " --encrypt myFile.txt
Vous obtiendrez un fichier chiffré: myFile.txt.gpg
Déchiffrer un fichier:
Pour que votre ami puisse déchiffrer et lire le fichier il aura besoin de taper :
gpg –output myFile.txt –decrypt myFile.txt.gpg
Révoquer une clef:
Quelqu’un a volé votre clé. Comment pouvez vous transmettre à tout le monde la situation dramatique qui vous incombe ?
gpg –gen-revoke myKey
Cette clé est signée par votre clef privée, vous devez en posséder une si le problème survient (donc le mieux c’est de le faire à la création de la clé et de la garder au chaud dans un coin en sécurité)
Dans quels cas il est bon de posséder une clef de révocation?
- Si vous perdez votre clé privée
- Si vous oubliez le passphrase
Toutes les personnes connaissant votre clé publique seront en mesure de vérifier la validité de votre clé de révocation et donc de supprimer votre clé publique pour la remplacer par une nouvelle (si vous leur envoyer une nouvelle par la même occasion)
Scénario de révocation:
Vous venez de recevoir le certificat de révocation de la clé d'un de vos amis. Vous voulez donc révoquer la clé puis la supprimer de votre gestionnaires de clés :
Tout d'abord, importer le certificat de révocation dans votre gestionnaire de clés:
gpg --import USerBRevokeKey
Vérifiez:
gpg -k
Ensuite supprimer la clé marquée comme révoquée dans votre gestionnaire de clés:
gpg --delete-key UserBKey
Divers:
Windows version of GPG: GPG4Win