Geek/Memo_GPG

Cryptage de mail

Pour crypter on utilise deux types de clés: la clé publique pour encrypter et la clée privée pour décrypter. Exemple: Bob encrypte son message (=ferme, le rends illisible) avec la clé publique de Alice et ainsi seule Alice pourra décrypter le message (=ouvrir, rends lisible) avec sa clé privée. De la même manière, Bob grâce à sa clé privée peux signer son message pour prouver qu'il en est bien l'auteur et ainsi avec sa clef publique on peux vérifier qu'il est bien de Bob. Le fingerprint est une série de caractères lisible et courte pour communiquer à nos amis et qu'ils puissent vérifier avec que la clef publique correspondant à nous est bien la nôtre. Pour une confiance et une sécurité maximale le mieux c'est de se donner les fingerprint en "vrai" dans la vraie vie... (voir aussi cet article )

Pour encrypter on peux utiliser GnuPG (GNU Privacy Guard). On peux également utiliser du cryptage GPG pour la communication avec Jabber.

Pour créer sa clef privée et publique il faut utiliser gpg --gen-key et en suivant les instructions (conseil: mettre la clé n'expire pas, en cas de piratage de la clé privée on pourra l'invalider).

Autres commandes GPG:

  • Afficher les clés de son porte-clé: gpg --list-keys
  • Encrypter un fichier: gpg --encrypt -r destinataire fichier (crée un fichier.gpg contenant le fichier encrypté)
  • Encrypter un fichier en mode ASCII (=lisible, pour les mails par exemple): gpg --encrypt -r destinataire -a fichier (crée un fichier.asc contenant le fichier encrypté)
  • Signer un fichier: gpg --sign fichier
  • Signer un fichier en mode ASCII: gpg --sign -a fichier
  • Signer et encrypter un fichier: gpg -es -r destinataire fichier
  • Afficher le fingerprint de quelqu'un: gpg --fingerprint nom
  • Afficher son propre fingerprint: gpg --fingerprint
  • Chercher une clé sur un serveur: gpg --keyserver serveur --search nom (remplacer serveur par une adresse de serveur de clés: exemple pgp.mit.edu)
  • Récupérer la clé publique de quelqu'un à partir de son ID: gpg --keyserver serveur --get ID
  • Changer la confiance d'une clé: gpgp --edit-key destinataire (puis: ] trust (niveau de confiance: 0 = pas confiance, 5 = très confiance (fingerprint contrôlé + confiance que le proprio contrôle aussi), puis "sûr? oui", puis quitter -] "q")
  • Signer une clé: gpg --edit-key destinataire (puis: sign, 0 = pas contrôlée (pas confiance), 3 = bien contrôlée (confiance))
  • Envoyer la clé signée par soi-même sur le serveur: gpg --keyserver serveur --send-keys destinataire

Plus d'infos ici: http://www.vilya.org/gpg/gpg-intro.html ou man gpg.