1) Introduction à P.G.P. (Pretty Good Privacy)
PGP est un
cryptosystème 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, les auteurs
de RSA touchant des royalties.
Il est très
rapide et sûr ce qui le rend quasiment impossible à cryptanalyser.
2) Le principe de P.G.P.
PGP est un cryptosystème hybride, c’est-à-dire qu’il
combine des fonctionnalités de la cryptographie de clef publique et de la
cryptographie conventionnelle.
Lorsqu’un utilisateur chiffre du texte en clair avec PGP,
ces données sont tout d’abord compressées à l’aide d’une fonction de hachage,
afin de réduire le temps de transmission par modem, 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 fonction de
hachage réduit ces modèles dans le texte en clair, améliorant par conséquent
considérablement la résistance à la cryptanalyse.
Cette méthode de chiffrement associe la facilité d’utilisation du chiffrement à
clef publique à la vitesse du chiffrement symétrique.
Les cryptosystèmes conventionnels sont environ 1 000 fois plus rapides que les
systèmes de chiffrement à clef publique.
De plus, le chiffrement à clef publique résout non
seulement le problème de la distribution des clés, mais également de la
transmission des données. Utilisées conjointement, ces deux méthodes améliorent
la performance et la distribution des clefs, sans pour autant compromettre la
sécurité.
3)
Les étapes du
chiffrement
L’opération de
chiffrement se fait en deux étapes principales :
PGP crée une clé secrète IDEA de manière aléatoire, et
chiffre les données avec cette clé.
PGP chiffre la clé secrète IDEA précédemment créée au
moyen de la clé RSA publique du destinataire.
De même,
l’opération de déchiffrement se fait elle aussi 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.
C’est la combinaison algorithme symétrique (IDEA pour
crypter les données) / algorithme asymétrique (RSA pour crypter la clé IDEA)
qui confère à PGP sa vitesse et sa grande sécurité.
4)
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.
5) 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 ne 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 (Certification Authority) .
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 et une seule signature numérique pour attester de la validité de la
clé.
|