PROJET AUTOBLOG


NeoSting.net

source: NeoSting.net

⇐ retour index

Créer et utiliser des clés GPG, OpenPGP sous Linux #astuce

samedi 22 juin 2013 à 11:00

GPG pour Gnu Privacy Guard est un projet Libre initié en 1990 par Werner Koch, qui permet de chiffrer ses communications. Chaque personne qui chiffre ses communications via une clé GPG, OpenPGP incite les autres à le faire. En ce sens, chiffrer ses communications amène plus de bruit dans le réseau, et contribue donc à protéger les autres et à ralentir (un peu) les systèmes de surveillance. L’intérêt de chiffrer ses communications ? Permettre aux sources sensibles comme celles des journalistes de rester anonymes plus longtemps, ou encore éviter à des entreprises privées de lire en clair vos communications. En France, il faut savoir qu'un juge a le droit de vous obliger à donner vos mots de passe, sous peine sinon, d'une très grosse amende et de quelques années de prison.

Avant-Gardes

Il faut comprendre que GPG (le manuel en français) est une bonne solution très intéressante, mais pas une solution ultime non plus. La puissance de calcul des ordinateurs fait qu'il devient tous les 10 ou 15 ans "facile" de déchiffrer des communications GPG sans la clé privée. Il faut donc noter également que pratiquer du chiffrement sans le faire anonymement n'est pas le plus sûr, car tôt ou tard, les communications chiffrées seront déchiffrées et sans un anonymat dans une optique de premier plan, les auteurs des communications chiffrées se retrouveront un jour, démasquées. À noter également que les métadonnées des emails (tous les enetes) ne sont jamais chiffrés. Seuls les contenus et les pièces-jointes le sont. Cela ne veut pas dire qu'il ne faut pas l'utiliser, bien au contraire. C'est juste avant-tout une mise en garde sur le fait que la sécurité en informatique n'existe pas, et n'existera jamais (quoique truecrypt fait fort). En passant, pour communiquer de façon relativement plus simple et anonyme (avec TOR, c'est encore mieux), je vous avais présenté Bitmessage qui fonctionne sur un principe "similaire" mais décentralisé.

Principe de base pour comprendre

Alors comment fonctionne une paire de clés GPG (publique et privée) ? Pour que deux personnes communiquent de manière chiffrée, il faut avant tout qu'elles s'échangent leurs clés publiques par tout moyen de confiance à leur convenance. De manière générale, le titulaire d'une clé GPG, l'expéditeur (Mr Kevin) va pouvoir chiffrer son message, qu'en utilisant la clé publique "M1" de (Mme Michu) sa destinataire. Mme Michu utilisera alors sa clé privée "M2" pour déchiffrer son message. Pour répondre de manière chiffrée, Mme Michu devra faire de même avec la clé publique "K1" de Mr Kevin, qui utilisera sa clé privée "K2" pour lire son message.

Générer une paire de clés GPG

Il y a plusieurs moyens de générer des clés GPG. Avec Linux, on peut lancer le logiciel graphique Seahorse installé par défaut dans Ubuntu. Thunderbird, le client mail de Mozilla, avec le plugin Enigmail, est tout aussi capable de le faire.

J'aborde ici la création, la signature, l'import et l'export de clés dans un terminal avec quelques explications, mais on peut bien sûr tout faire, comme chiffrer et déchiffrer des documents. Pour créer une clé GPG...

gpg --gen-key

L'exportation de sa clé publique

Il faut maintenant générer sa clé publique à donner aux amis. Voici comment l'exporter au format .asc (le plus sûr, en ASCII avec l'option -a)

cd Documents/
gpg --export -a monid@mondomaine.ext > nomdemaclepgp.asc

Vous pouvez maintenant l'exporter dans des annuaires publiques pour la faire connaître de votre communauté, comme https://keyserver.pgp.com/. Un serveur personnel fait aussi bien l'affaire. À savoir que propager sa clé publique à la vue de tout le monde peut aussi donner des indices aux surveillants. Celle-ci peut contenir des métadonnées sur son "réseau social", car chacun des correspondants est amené à certifier une clé (avec les métadonnées de la sienne) pour permettre aux autres de vérifier que la clé en question appartient bien à la bonne personne. L'idéal reste de s'échanger ses clés publiques de mains à mains mais sans être trop paranoïaque, un mail peut suffire si, il est couplé avec un système de communication en temps réel comme un appel téléphonique. Attention, une adresse email, ça se spoofe.

Donc, en l'exportant, par exemple sur keyserver.pgp.com, il vous sera demandé de valider votre clé par retour de mail (logique) afin d'assurer que vous en êtes bien le propriétaire. Vous pouvez aussi signer votre clé avec celle du serveur de clés qui les stocke, mais c'est optionnel. La procédure est donc générique et fonctionne de la même manière que ce soit avec celle du serveur de clés ou avec celle de vos amis. C'est ce que l'on appelle de la propagation de confiance.

Il est temps d'importer les clés des copains

Pour cela, toujours dans un terminal, on importe la clé de son ami, et on la signe de cette manière...

cd Téléchargements/
gpg --import lenomdesaclé.asc

Il reste à la certifier en la signant

Une fois importée, vous trouverez affiché dans votre terminal son identifiant, soit les 8 derniers caractères de son empreinte. Il faut se servir de cette empreinte pour éditer la clé afin de pouvoir enfin la signer.

gpg --edit-key 12345678

Vous entrez ici dans le langage GPG. Je ne peux que vous inciter à lire le manuel de gpg (ou "man gpg" dans un terminal). Vous voyez différentes identifications avec des chiffres [n]. Par défaut, elles sont toutes sélectionnées, et il ne vous reste plus qu'à les signer. Vous pouvez aussi choisir de ne signer qu'une seule identification, au besoin.

# Pour sélectionner une seule identification [n]
uid [n]
# Pour signer l'identification sélectionnée, ou toutes par défaut
sign
# Pour quitter le mode GPG
quit

Le certificat de revoke quoi ?

20130621-01:43:27-563x239-1C'est bien sympathique et assez simple tout ça, mais il faut savoir qu'une clé GPG peut être corrompue (pour plein de raisons, comme l'oubli de sa phrase de passe). Seulement, si la clé publique a été divulguée de façon publique, comme sur des serveurs de clés, il faut pouvoir prévenir ses amis de ne plus l'utiliser (en l'envoyant aux autres et aux serveurs publics). C'est là qu'intervient donc le certificat de de révocation. Il faut le faire le plus tôt possible après la création de sa clé, et pas quand il est trop tard. Pour créer un certificat de révocation, on utilise cette commande (toujours dans un terminal)

gpg --output revokemacle5678.asc --gen-revoke 12345678

Cette nouvelle clé de révocation doit impérativement être mise dans un endroit secret et totalement privé - le mieux étant de l'avoir sur deux disques chiffrés et pourquoi pas, placés dans un coffre-fort dans une banque... Sachez qu'il s'agit d'un fichier texte et vous pouvez copier son contenu dans un fichier sécurisé créé par exemple par Keepass. Sinon, n'importe qui peut l'utiliser pour annuler votre clé à votre place vous empêchant de l'utiliser pour chiffrer vos messages, ni même déchiffrer les nouveaux.


Créer et utiliser des clés GPG, OpenPGP sous Linux est une publication originale sur le blog NeoSting.net
Article sous licence Creative Commons CC-By

flattr this!