(PGP)
Créateur | Philip Zimmermann |
---|---|
Développé par |
Philip Zimmermann PGP Inc. Network Associates PGP Corporation Symantec |
Première version | 1.0 ([1]) |
Dernière version | 11.2.0 ([2]) |
État du projet | actif |
Écrit en | C |
Système d'exploitation | Multiplateforme |
Environnement | multiplate-forme |
Formats lus | Pretty Good Privacy (PGP) Private/Secret Keyring (d), PGP clear text signed message (d), PGP public key block (d), PGP private key block (d), PGP ASCII-Armor (d), PGP Disk image (d), Pretty Good Privacy (PGP) Public Keyring (d) et PGP signature (d) |
Formats écrits | PGP message (d), Pretty Good Privacy (PGP) Private/Secret Keyring (d), PGP clear text signed message (d), PGP public key block (d), PGP private key block (d), PGP ASCII-Armor (d), PGP Disk image (d), Pretty Good Privacy (PGP) Public Keyring (d) et PGP signature (d) |
Langues | multilingue |
Type | cryptographie |
Politique de distribution |
freeware, freemium, puis commerciale |
Licence | propriétaire |
Site web | openpgp.org |
Pretty Good Privacy (qu'on pourrait traduire en français par "assez bon niveau de confidentialité"), plus connu sous le sigle PGP, est un algorithme cryptographique hybride permettant entre autres de chiffrer et signer des données. Il a été développé et diffusé aux États-Unis par Philip Zimmermann en .
PGP se propose de garantir la confidentialité et l'authentification pour la communication des données. Il est souvent utilisé pour la signature électronique de données, le chiffrement et le déchiffrement de textes, courriels, fichiers, répertoires et partitions de disque entier pour accroître la sécurité des communications. Utilisant la cryptographie asymétrique mais également la cryptographie symétrique, il fait partie des algorithmes de cryptographie hybride.
PGP et les produits similaires suivent le standard OpenPGP (RFC 4880[3]) pour le chiffrement et le déchiffrement de données.
Origine
Philip Zimmermann finalise la version 1.0 de PGP en . Cette version est diffusée sur le territoire nord-américain via les BBS téléphoniques. La version 2.0 de PGP est publiée en en dehors des États-Unis, ce qui contrevient aux restrictions à l'exportation pour les produits cryptographiques. PGP a été très mal accueilli par le gouvernement fédéral, qui a ouvert une enquête en 1993 — abandonnée en 1996, sans donner d'explication[1],[4],[5].
À l'époque où GnuPG, un logiciel libre compatible (car utilisant le même format OpenPGP), n'était pas encore très utilisé, PGP avait la réputation d'être le logiciel gratuit de cryptographie asymétrique le plus sûr au monde. Son code source étant auditable, il avait la confiance d'un grand nombre d'utilisateurs (en particulier envers la présence éventuelle de portes dérobées[5]).
Zimmermann souligne qu'il a développé PGP dans un souci de droit à la vie privée et de progrès démocratique : « PGP donne aux gens le pouvoir de prendre en main leur intimité. Il y a un besoin social croissant pour cela. C'est pourquoi je l'ai créé[6]. »
Il explique aussi que : « si l'intimité est mise hors la loi, seuls les hors-la-loi auront une intimité. Les agences de renseignement ont accès à une bonne technologie cryptographique. De même les trafiquants d'armes et de drogues. Mais les gens ordinaires et les organisations politiques de base n'avaient pour la plupart pas eu accès à ces technologies cryptographiques de "qualité militaire" abordable. Jusqu'à présent[6]. »
Fonctionnement
Avec PGP, il est possible de vérifier si un message provient bien de l'origine (via les signatures cryptographiques), ainsi que de chiffrer des messages afin qu'un seul destinataire puisse les lire. En bref, chaque utilisateur crée une paire de clés de chiffrement asymétriques (une publique, l'autre privée), et distribue la clé publique. Les signatures effectuées avec la clé privée peuvent être vérifiées en utilisant la clé publique correspondante et les messages chiffrés utilisant la clé publique sont déchiffrables en utilisant la clé privée correspondante. Ce fonctionnement a été initialement décrit dans le document RFC 1991[7].
PGP offre des services d'authentification, de confidentialité, de compression et de segmentation, tout en étant compatible avec de nombreux systèmes de messagerie électronique :
- authentification : l'expéditeur crée un condensat de son message (avec par exemple SHA-1), chiffre ce condensat avec sa clé privée et l'ajoute au début du message. Le destinataire déchiffre l'ajout au début du message avec la clé publique de l'émetteur et en extrait le condensat. Il calcule ensuite lui-même un condensat du message en utilisant la même fonction de condensat et le compare à celui qu'il a déchiffré ; même résultat ⇒ expéditeur authentifié et message intègre. Le couple clé publique/clé privée peut être fourni par RSA ou DSA ;
- confidentialité (chiffrer des messages à transmettre ou des fichiers à enregistrer) : génération d'une clé secrète de taille 128 bits par exemple (nommée clé de session, valable pour un seul fichier ou un seul message). Le message ou le fichier est chiffré au moyen de cette clé de session avec un algorithme de cryptographie symétrique. Puis cette clé secrète est chiffrée au moyen de la clé publique RSA ou ElGamal du destinataire et ajoutée au début du message ou du fichier. Le destinataire du message déchiffre l'en-tête du message avec sa clé privée RSA ou ElGamal et en extrait la clé secrète qui lui permet de déchiffrer le message. Pour que la sécurité de l'échange soit plus sûre il ne faut pas utiliser le chiffrement sans authentification. PGP générant des clés très souvent (à chaque fichier ou message), le générateur aléatoire associé à PGP doit être particulièrement efficace afin de ne pas générer des séquences de clés prévisibles ;
- compression : utilisation de ZIP appliqué après la signature mais avant le chiffrement. L'entropie induite par la compression rend plus difficile la cryptanalyse du fichier ou du message ;
- compatibilité : comme certains systèmes de messagerie ne permettent l'utilisation que du format ASCII, PGP contourne cette limitation en convertissant chaque flot binaire de 8 bits en caractères ASCII imprimables (conversion Radix-64 : 3 octets binaires sont convertis en 4 octets ASCII tout en contenant un CRC pour détecter les erreurs de transmission) ; la taille des messages grossit de 33 % mais la compression compense largement ce phénomène. PGP applique une conversion Radix-64 systématiquement, que le message original soit déjà au format ASCII ou pas ;
- segmentation et ré-assemblage : pour outrepasser certaines contraintes (taille maximum des messages), après tous les traitements précédents PGP peut tronçonner le message original en segments de taille fixe. L'en-tête contenant la clé secrète ne sera positionné que dans le premier segment. Le destinataire met en mémoire la clé secrète, récupère tous les segments, en retire les en-têtes inutiles, ré-assemble le message avant de le déchiffrer, le décompresser et vérifier sa signature.
Pourquoi utiliser PGP ?
D'après Philip Zimmermann, extraits de Pourquoi j’ai écrit PGP[6] (1991-1998) :
« Si nous voulons résister à cette tendance perturbante du gouvernement de rendre illégale la cryptographie, une mesure que nous pouvons adopter est d’utiliser la cryptographie autant que nous le pouvons actuellement pendant que c’est encore légal. Quand l’utilisation de cryptographie sûre devient populaire, il est plus difficile pour le gouvernement de la criminaliser. Par conséquent, utiliser PGP est un bon moyen pour préserver la démocratie. »
« Que se passerait-il si tout le monde estimait que les citoyens honnêtes devraient utiliser des cartes postales pour leur courrier ? Si un non-conformiste s’avisait alors d’imposer le respect de son intimité en utilisant une enveloppe, cela attirerait la suspicion. Peut-être que les autorités ouvriraient son courrier pour voir ce que cette personne cache. »
« De la même manière, ce serait excellent si tout le monde utilisait la cryptographie de manière systématique pour tous ses courriels, qu’ils soient innocents ou non, de telle sorte que personne n’attirerait la suspicion en protégeant l’intimité de ses courriels par la cryptographie. Pensez à le faire comme une forme de solidarité. »
Évolutions
En , la société PGP Corporation a été acquise par Symantec[8]. C'est le cinquième propriétaire, après Philip Zimmermann, PGP Inc. (P. Zimmermann était président de cette compagnie) puis Network Associates Inc. et PGP Corp. Symantec n'offre plus de version gratuite du logiciel[8],[9]. Toutefois le téléchargement du code source est permis pour révision par les pairs[8],[10].
Notes et références
- 1 2 « L'histoire de PGP », sur OpenPGP en français, FIL, février 2001 (consulté le 16 mars 2016).
- ↑ (en) « Symantec Endpoint Encryption 11.2 now available », sur Symantec Enterprise Technical Support, avril 2018 (consulté le 18 septembre 2018).
- ↑ (en) PGP Corporation et al., « OpenPGP Message Format », sur tools.ietf.org, IETF, novembre 2007.
- ↑ La réglementation fédérale régissant l'exportation des produits cryptographiques est assouplie en janvier 2000. Entre 1992 et 1999, PGP est exporté soit illégalement, soit en contournant la réglementation (exportation du code source sous forme de texte imprimé). Voir l'article « Crypto Wars » et (en) « Revised U.S. Encryption Export Control Regulations », sur epic.org, EPIC, janvier 2000 (consulté le 18 mars 2016).
- 1 2 (en) Philip Zimmermann, « Frequently Asked Question », sur Phil Zimmermann's Home Page (consulté le 16 mars 2016).
- 1 2 3 Philip R. Zimmerman, « Pourquoi j'ai écrit PGP », sur vadeker.net, août 1998.
- ↑ (en) P. Zimmermann et al., « PGP Message Exchange Formats », sur tools.ietf.org, IETF, août 1996.
- 1 2 3 (en) Philip Zimmermann, « Where to Get PGP », sur Phil Zimmermann's Home Page (consulté le 16 juillet 2013).
- ↑ Il semble que PGP est devenu payant dès 1993, à la suite d'une série de procédures liées à l'utilisation du chiffrement RSA sans l'accord de ses auteurs. Source : « Introduction à PGP », sur Comment ça marche (consulté le 31 octobre 2013).
- ↑ (en) « Symantec PGP Desktop Peer Review Source Code », sur Symantec Connect, février 2011.
Voir aussi
Articles connexes
- Cryptographie asymétrique
- Cryptographie symétrique
- Key signing party
- Cryptologie
- GNU Privacy Guard
- Libertés sur Internet
- OpenPGP
- PGP/MIME
Liens externes
- (mul) Phil Zimmermann's Home Page, page personnelle de Philip Zimmermann
- « J'ai développé PGP et je ne le regrette pas », par Philip Zimmermann
- (en) The International PGP Home Page, site d'intérêt historique
- (en) The OpenPGP Alliance Home Page, site officiel de l'OpenPGP Alliance
- Enfin comprendre PGP et les notions de clés publique et privée , tutoriel par Pragmasoft.