PGP - Pretty Good Privacy

Décembre 2016

Introduction à PGP

PGP (Pretty Good Privacy) est un cryptosystème (système de chiffrement) inventé par Philip Zimmermann, un analyste informaticien. Philip Zimmermann a travaillé de 1984 à 1991 sur un programme permettant de faire fonctionner RSA sur des ordinateurs personnels (PGP).

Cependant, étant donné que celui-ci utilisait RSA sans l'accord de ses auteurs, cela lui a valu des procès pendant 3 ans, il est donc vendu environ 150$ depuis 1993.

Il est très rapide et sûr ce qui le rend quasiment impossible à cryptanalyser.

Le principe de PGP

PGP est un système de cryptographie hybride, utilisant une combinaison des fonctionnalités de la cryptographie à clé publique et de la cryptographie symétrique.

Lorsqu'un utilisateur chiffre un texte avec PGP, les données sont d’abord compressées. Cette compression des données permet de réduire le temps de transmission par tout moyen de communication, d'économiser l'espace disque et, surtout, de renforcer la sécurité cryptographique.

La plupart des cryptanalystes exploitent les modèles trouvés dans le texte en clair pour casser le chiffrement. La compression réduit ces modèles dans le texte en clair, améliorant par conséquent considérablement la résistance à la cryptanalyse.

Ensuite, l'opération de chiffrement se fait principalement en deux étapes :

  • PGP crée une clé secrète IDEA de manière aléatoire, et chiffre les données avec cette clé
  • PGP crypte la clé secrète IDEA et la transmet au moyen de la clé RSA publique du destinataire.
L'opération de décryptage se fait également en deux étapes :
  • PGP déchiffre la clé secrète IDEA au moyen de la clé RSA privée.
  • PGP déchiffre les données avec la clé secrète IDEA précédemment obtenue.

Cette méthode de chiffrement associe la facilité d'utilisation du cryptage de clef publique à la vitesse du cryptage conventionnel. Le chiffrement conventionnel est environ 1000 fois plus rapide que les algorithmes de chiffrement à clé publique. Le chiffrement à clé publique résoud le problème de la distribution des clé. Utilisées conjointement, ces deux méthodes améliorent la performance et la gestion des clefs, sans pour autant compromettre la sécurité.

Les fonctionnalités de PGP

PGP offre les fonctionnalités suivantes :

  • Signature électronique et vérification d'intégrité de messages : fonction basée sur l'emploi simultané d'une fonction de hachage (MD5) et du système RSA. MD5 hache le message et fournit un résultat de 128 bits qui est ensuite chiffré, grâce à RSA, par la clef privée de l'expéditeur.
  • Chiffrement des fichiers locaux : fonction utilisant IDEA.
  • Génération de clefs publiques et privées : chaque utilisateur chiffre ses messages à l'aide de clefs privées IDEA. Le transfert de clefs électroniques IDEA utilise le système RSA; PGP offre donc des mécanismes de génération de clefs adaptés à ce système. La taille des clefs RSA est proposée suivant plusieurs niveaux de sécurité : 512, 768, 1024 ou 1280 bits.
  • Gestion des clefs : fonction s'assurant de distribuer la clef publique de l'utilisateur aux correspondants qui souhaiteraient lui envoyer des messages chiffrés.
  • Certification de clefs : cette fonction permet d'ajouter un sceau numérique garantissant l'authenticité des clefs publiques. Il s'agit d'une originalité de PGP, qui base sa confiance sur une notion de proximité sociale plutôt que sur celle d'autorité centrale de certification.
  • Révocation, désactivation, enregistrement de clefs : fonction qui permet de produire des certificats de révocation.

Le format des certificats PGP

Un certificat PGP comprend, entre autres, les informations suivantes :

  • Le numéro de version de PGP : identifie la version de PGP utilisée pour créer la clef associée au certificat.
  • La clef publique du détenteur du certificat : partie publique de votre paire de clefs associée à l'algorithme de la clef, qu'il soit RSA, DH (Diffie-Hellman) ou DSA (Algorithme de signature numérique).
  • Les informations du détenteur du certificat : il s'agit des informations portant sur l'« identité » de l'utilisateur, telles que son nom, son ID utilisateur, sa photographie, etc.
  • La signature numérique du détenteur du certificat : également appelée autosignature, il s'agit de la signature effectuée avec la clef privée correspondant à la clef publique associée au certificat.
  • La période de validité du certificat : dates/ heures de début et d'expiration du certificat. Indique la date d'expiration du certificat.
  • L'algorithme de chiffrement symétrique préféré pour la clef : indique l'algorithme de chiffrement que le détenteur du certificat préfère appliquer au cryptage des informations. Les algorithmes pris en charge sont CAST, IDEA ou DES triple

Le fait qu'un seul certificat puisse contenir plusieurs signatures est l'un des aspects uniques du format du certificat PGP. Plusieurs personnes peuvent signer la paire de clefs/ d'identification pour attester en toute certitude de l'appartenance de la clef publique au détenteur spécifié. Certains certificats PGP sont composés d'une clef publique avec plusieurs libellés, chacun offrant un mode d'identification du détenteur de la clef différent (par exemple, le nom et le compte de messagerie d'entreprise du détenteur, l'alias et le compte de messagerie personnel du détenteur, sa photographie, et ce, dans un seul certificat).
Dans un certificat, une personne doit affirmer qu'une clef publique et le nom du détenteur de la clef sont associés. Quiconque peut valider les certificats PGP. Les certificats X. 509 doivent toujours être validés par une autorité de certification ou une personne désignée par la CA. Les certificats PGP prennent également en charge une structure hiérarchique à l'aide d'une CA pour la validation des certificats.

Plusieurs différences existent entre un certificat X. 509 et un certificat PGP. Les plus importantes sont indiquées ci-dessous :
Pour créer votre propre certificat PGP, vous devez demander l'émission d'un certificat X. 509 auprès d'une autorité de certification et l'obtenir ;

  • Les certificats X. 509 prennent en charge un seul nom pour le détenteur de la clef ;
  • Les certificats X. 509 prennent en charge une seule signature numérique pour attester de la validité de la clef ;

Les modèles de fiabilité de PGP

En règle générale, la CA (Certification authority - autorité de certification) inspire une confiance totale pour établir la validité des certificats et effectuer tout le processus de validation manuelle. Mais, il est difficile d'établir une ligne de confiance avec les personnes n'ayant pas été explicitement considérées comme fiables par votre CA.
Dans un environnement PGP, tout utilisateur peut agir en tant qu'autorité de certification. Il peut donc valider le certificat de clef publique d'un autre utilisateur PGP. Cependant, un tel certificat peut être considéré comme valide par un autre utilisateur uniquement si un tiers reconnaît celui qui a validé ce certificat comme un correspondant fiable. C'est-à-dire, si l'on respecte par exemple mon opinion selon laquelle les clefs des autres sont correctes uniquement si je suis considéré comme un correspondant fiable. Dans le cas contraire, mon opinion sur la validité d'autres clefs est controversée.

Supposons, par exemple, que votre trousseau de clefs contient la clef d'Alice. Vous l'avez validée et, pour l'indiquer, vous la signez. En outre, vous savez qu'Alice est très pointilleuse en ce qui concerne la validation des clefs d'autres utilisateurs. Par conséquent, vous affectez une fiabilité complète à sa clef. Alice devient ainsi une autorité de certification. Si elle signe la clef d'un autre utilisateur, cette clef apparaît comme valide sur votre trousseau de clefs.

La révocation d'un certificat PGP

Seul le détenteur du certificat (le détenteur de sa clef privée correspondante) ou un autre utilisateur, désigné comme autorité de révocation par le détenteur du certificat, a la possibilité de révoquer un certificat PGP. La désignation d'une autorité de révocation est utile, car la révocation, par un utilisateur PGP, de son certificat est souvent due à la perte du mot de passe complexe de la clef privée correspondante. Or, cette procédure peut uniquement être effectuée s'il est possible d'accéder à la clef privée. Un certificat X. 509 peut uniquement être révoqué par son émetteur.

Lorsqu'un certificat est révoqué, il est important d'en avertir ses utilisateurs potentiels. Pour informer de la révocation des certificats PGP, la méthode habituelle consiste à placer cette information sur un serveur de certificats. Ainsi, les utilisateurs souhaitant communiquer avec vous sont avertis de ne pas utiliser cette clef publique.

Article écrit par Sylvain Lorin
Source : http://www.pgpi.org/doc/pgpintro/, une très bonne référence


A voir également :


PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
PGP - Pretty Good Privacy
Ce document intitulé «  PGP - Pretty Good Privacy  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.