URL: https://linuxfr.org/news/gpg-les-concepts-en-clair-et-pedagogiquement Title: GPG - les concepts en clair et pédagogiquement Authors: Collectif Benoît Sibaud Date: 2011年04月18日T03:12:16+02:00 License: CC By-SA Tags: gpg, chiffrement, cryptographie et sécurité Score: 52 **NdM.:** cette dépêche a été réécrite en avril 2021 suite à la suppression du compte de son auteur principal. Le logiciel libre GPG (« Gnu Privacy Guard ») permet la _transmission de messages électroniques signés et chiffrés, garantissant ainsi leurs authenticité, intégrité et confidentialité_ ([Wikipédia](https://fr.wikipedia.org/wiki/GNU_Privacy_Guard)). Il permet donc de sécuriser un contenu numérique lorsqu'il est stocké ou échangé. Détaillons les éléments de la sécurisation des communications numériques : - **le contrôle d'intégrité** : vérification de l'absence d'altération du contenu (conforme à l'original) ; - **l'authentification** : s'assurer de l'identité de l'auteur ; - **le chiffrement** : le message est illisible pour des yeux indiscrets. GPG est la version libre (au sens de logiciel libre) du logiciel PGP (« Pretty Good Privacy »). ---- [Page GPG de Wikipédia](http://fr.wikipedia.org/wiki/GNU_Privacy_Guard) [La cryptographie asymétrique](http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique) [Sécuriser ses conversations avec OpenPGP](http://free.korben.info/index.php/S%C3%A9curiser_ses_conversations#Cl.C3.A9s_OpenPGP) [Installation et configuration de GPG pour Ubuntu](http://doc.ubuntu-fr.org/gnupg#installation) [GPA : l'interface graphique de GPG](http://www.gnupg.org/related_software/gpa/) [Key Signing Party](http://fr.wikipedia.org/wiki/Key_signing_party) [La Key Signing Party des RMLL 2010](http://2010.rmll.info/Echange-de-cles-key-signing-party.html) [Authentification sur Internet avec GpgAuth](http://free.korben.info/index.php/GpgAuth) [GpgAuth : à quoi ça sert et comment ça marche ?](http://anthony.desvernois.fr/divers/gpgauth-a-quoi-ca-sert-comment-ca-marche/) [GPG Howto (journal LinuxFr)](https://linuxfr.org/users/cho7/journaux/gpg-howto) [Protocoles d'authentification sur Wikipédia](http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Protocole_d%27authentification) ---- ## Un outil de base : le chiffrement asymétrique Le chiffrement asymétrique permet de réaliser les fonctions d'authentification et de chiffrement. L'authentification nécessite d'utiliser le chiffrement, même si le but n'est pas de brouiller le contenu numérique lui-même. Le nom _asymétrique_ vient du fait qu'il ne s'agit pas d'une unique clé secrète qui aurait été définie lors d'une rencontre physique entre l'émetteur et le destinataire, mais une paire de clés. Il y a donc une clé privée et une clé publique, associées. La paire est créée par chaque utilisateur qui veut communiquer un contenu numérique. La clé privée doit rester secrète et la clé publique peut être librement communiquée. ## Chiffrement asymétrique : avec quelle clé chiffre-t-on ? **a)** Un contenu peut être chiffré par une clé privée. Il peut alors être déchiffré par la clé publique associée (qui est potentiellement accessible à tous). Ainsi on vérifie que c'est le détenteur de la clé privée qui a chiffré le contenu. Ce principe permet l'authentification. Le fait qu'un algorithme de chiffrement asymétrique soit consommateur de ressource machine qu'un algorithme de chiffrement symétrique conduit à ne l'utiliser que sur une _empreinte_ du contenu. Ce cas permet donc au destinataire d'authentifier l'émetteur d'un contenu numérique. **b)** Un contenu peut être chiffré par une clé publique. Il peut alors être déchiffré par la clé privée associée (tout le monde peut utiliser la clé publique pour chiffrer et seul le détenteur de la clé privée pourra déchiffrer). Ce principe mert d'échanger un contenu chiffré : l'émetteur chiffre avec la clé publique du destinataire, le destinataire déchiffre avec sa clé privée, et réciproquement. Pour des raisons de consommation de ressources, le contenu est chiffré avec un algorithme de chiffrement symétrique (comme AES par exemple) et la clé de chiffrement symétrique est transmise via l'algorithme de chiffrement asymétrique, avec la clé publique du destinataire. Ce cas permet donc à l'émetteur de chiffrer un contenu à destination du destinataire. ## La confiance, ou comment faire le lien entre une clé publique librement accessible et l'identité du détenteur de la clé privée correspondante Dans les deux cas précédents, il faut s'assurer que la clé publique utilisée est bien celle du correspondant souhaité. Il faut soit que les deux interlocuteurs se sont déjà rencontrés physiquement et aient échangé leurs clés publiques, soit qu'ils se fassent indirectement confiance (via un ou plusieurs intermédiaires à travers chaine de confiance). Voir le lien sur les « [Key signing party](http://fr.wikipedia.org/wiki/Key_signing_party) ». ## Le contrôle d'intégrité Le contrôle d'intégrité repose sur l'« empreinte » du contenu (une version réduite de ce contenu). Le destinataire va pourquoi calculer lui aussi de son côté l'empreinte et comparer. Le processus est fiable si et seulement si : - l'algorithme de génération de l'empreinte est solide, donc qu'il y a peu de chances d'avoir une même empreinte, une collision ; - le destinataire a l'assurance que l'empreinte reçue n'a pas été altérée pendant la communication. ## L'authentification Pour réaliser l'authentification, une empreinte du contenu est produite et chiffrée avec la clé privée de l'émetteur. Authentification et contrôle d'intégrité sont réalisés dans un même processus. On parle de signature cryptographique ou d'empreinte signée numériquement (chiffrée par une clé privée). Note : un auteur (ou un collectif d'auteurs) peut produire et diffuser des contenus « authentifiés » en restant dans l'anonymat, en utilisant toujours la même clé privée. Les destinataires n'auront qu'une seule assurance : c'est toujours le même auteur ou collectif.