Page suivante Page précédente Table des matières

2. Introduction

2.1 À propos de ce document

Ce document ne se veut absolument pas exhaustif. Il est d'ailleurs conseillé de se reporter aux pages de manuel et aux différentes documentations disponibles sur le Web sur les différents logiciels cités. Ce document a pour but d'être une introduction à l'utilisation sous Unix des programmes cryptographiques PGP et GPG.

2.2 Les algorithmes à clefs asymétriques

Le principe des algorithmes cryptographiques à clefs asymétrique repose sur deux clefs. L'une privée (Ks), qui sera l'information secrète. L'autre publique (Kp), que l'on distribue à tout le monde. L'algorithme de cryptage est f(m,K)=m' avec K une clef, m un message et m' le message crypté.

Le couple de clefs est choisi de telle sorte que f(f(.,Ks),Kp)=f(f(.,Kp),Ks)=Id.

2.3 À quoi ça sert?

La propriété de cet algorithme de cryptage permet de réaliser un certain nombre d'opérations.

Échange de messages cryptés

C'est l'utilisation la plus classique. Considérons qu'Alice veuille envoyer un message m à Bob.

  1. Alice crypte m avec la clef publique de Bob,
  2. Alice envoie le message crypté à Bob,
  3. Bob décrypte le message avec sa clef privée.

Authentification

Comment Bob peut-il s'assurer que c'est bien Alice qui lui a écrit?

  1. Alice crypte m avec sa clef privée,
  2. Alice envoie m suivi du message crypté par sa clef privée à Bob,
  3. Bob reçoit le message et s'assure qu'il provient bien d'Alice en décryptant le message attaché avec la clef publique d'Alice et en comparant le message résultant avec le message reçu en clair.

On peut évidemment combiner l'opération d'authentification avec celle du cryptage simple.

Gestion des clefs

Le principe des algorithmes à clef publique repose sur un problème fondamental, celui de la gestion des clefs. Effectivement, faut-il faire confiance à une autorité centrale qui gère les clefs publiques de tout le monde, ou bien peut-on diluer cette confiance en attribuant des degré de confiance aux clefs publiques que l'on trouve? PGP/GPG ont résolu le problème en utilisant la deuxième solution (confiance diluée). Ces logiciels permettent d'ailleurs de gérer efficacement une liste de clefs (ring key) avec leur degré de confiance.

Néammoins, il faut savoir qu'il existe un certain nombre de serveur de clefs publiques sur Internet, la confiance qu'on peut leur accorder est toute relative, mais ils restent cependant utile pour se procurer la clef de quelqu'un ou faciliter la tâche de gens qui cherchent à vous contacter (Par exemple keyserver).

2.4 PGP (Pretty Good Privacy)

PGP est un logiciel de cryptage qui a vu le jour en 1991. Il a été écrit par Phil R. Zimmerman et a été très largement distribué sur Internet, violant ainsi la loi américaine qui interdit l'exportation de logiciels cryptographiques. Son usage s'est très vite imposé parmi les utilisateurs assidus d'Internet et il est devenu un standard de fait.

Ce logiciel est basé sur un cryptage à base de clefs asymétriques de type RSA.

2.5 GPG (GNU Privacy Guard)

GnuPG est une implantation complete et libre de PGP. N'utilisant ni l'IDEA ou le RSA, il peut être utilisé sans aucune restriction d'aucun type. GnuPG est une application RFC2440 (OpenPGP).

La version 1.0.0 est distribuée depuis le 7 septembre 1999 et le projet est soutenu par la gouvernement Allemand (Ministère Fédéral de l'Économie et de la Technologie) et devrait être utilisé par l'administration fédérale allemande d'ici peu.

Il possède les mêmes fonctionnalités que PGP, mais ses auteurs affirment qu'il est plus sûr.

Ce logiciel est entièrement compatible avec PGP. C'est à dire que tous les messages encryptés avec l'un sont décryptables par l'autre et vice-versa De plus, les clefs générés par l'un sont utilisables par l'autre et vice-versa.

Pourquoi utiliser GPG plutôt que PGP

PGP est développé par une entreprise dont les sources de revenus proviennent de la vente de ce logiciel. Les versions librement téléchageables et internationales ont quelques versions de retard par rapport à la version courante (mais sont distribué avec les sources). De plus, la pérénité de ce logiciel dépend fortement de la maison mère. À l'inverse, GPG est totalement libre. Vous pouvez toujours accéder librement à la dernière version et le projet ne dépend pas d'une entreprise ou d'un gouvernement.


Page suivante Page précédente Table des matières