Que permet de faire le chiffrement ?

Garantir la confidentialité d'un message

Le message ne doit être pouvoir lu que par le destinataire.

Pour ce faire, il suffit de récupérer la clé publique P du destinataire (sur le serveur de clé http://www.keyserver.net/ par exemple) puis de crypter le message avec cette clé publique et d'envoyer le résultat au destinataire.

Le destinataire n'a lui, qu'à décoder le message à l'aide de sa clé privée S. Seule la clé privée S correspondant à la clé publique P peut décoder un message encrypté avec cette clé publique P. Comme le destinataire est seul à posséder cette clé privée (secrète), on est sûr de la confidentialité du message.

La figure suivante illustre le principe de confidentialité :

Figure 23.2. Confidentialité

Confidentialité

Authentifier l'émetteur d'un message

le chiffrement asymétrique permet de garantir que l'émetteur d'un message est bien celui que l'on croit. 

L'émetteur va encrypter le message avec sa clé privée. Le destinataire pourra alors vérifier l'identité de l'émetteur en décryptant le message avec la clé publique de l'émetteur. Comme seul le détenteur de la clé privée est capable de crypter un message déchiffrable par la clé publique, on est sûr de l'identité de l'émetteur.

La figure suivante illustre le principe d'authentification :

Figure 23.3. Authentification

Authentification

En pratique, on évite de crypter tout le message. On crypte une forme abrégée du message. Cette forme est obtenue à l'aide d'une fonction mathématique complexe appelée fonction de hachage à sens unique.

C'est ce que l'on apelle la signature électronique.

La signature électronique

La signature électronique permet non seulement d'authentifier l'emetteur d'un message mais aussi de vérifier l'intégrité de ce dernier (c'est à dire qu'il n'a pas été modifié).

Techniquement, la signature électronique correspond au chiffrement de l'empreinte d'un document via la clé privée du signataire.

Selon le glossaire du CNRS (Centre National de la Recherche Scientifique) http://www.dr15.cnrs.fr/Delegation/STI/Signature/glo-empreinte.html : "L'empreinte électronique est à un document ce que l'empreinte digitale ou génétique est à un individu. L'empreinte d'un document a des propriétés très intéressantes :

  • si on change, ne serait-ce qu'une virgule, dans un document, son empreinte change ;

  • la probabilité que deux documents aient la même empreinte est à peu près nulle ;

  • il n'est pas possible de refabriquer le document à partir de son empreinte.

Techniquement, l'empreinte d'un document est le résultat d'un calcul effectué à l'aide d'un algorithme de hachage approprié (SHA (Secure Hash Algorithm) ou MD5 (Message Digest) sont les plus courants). Il génère pour chaque document un nombre de 128 ou 168 bits, que les anglo-saxons appellent "digest" et qu'en français, on appelle parfois résumé..."

Le schéma suivant illustre le mécanisme de la signature électronique.

Figure 23.4. Signature électronique

Signature électronique

Si les deux opérations donnent le même résultat, alors on est sûr de l'identité du signataire et on est sûr que le document n'a pas été modifié depuis que l'émetteur l'a signé.

Bien entendu, l'ensemble de ces vérifications se font à l'aide de logiciels dédiés qui effectuent ces opérations très rapidement et de façon très assistée.

Mise en oeuvre

La mise en oeuvre de ces principes dans le cadre d'une messagerie électronique.

Voici des adresses de site sur lequel vous trouverez des documentations complètes très pédagogiques sur l'utilisation du célèbre logiciel PGP et de son pendant libre openpgp (ou GnuGP) ; logiciel très utilisé pour le chiffrement et l'établissement de signature numérique lors d'envoi de mèl. :

  • Il vous suffit ensuite de chercher dans un moteur de recherche une documentation permettant de gérer pgp ou gpg à partir de votre logiciel de courrier électronique (kmail, thundebird, etc...).

Vous avez tous l'adresse électronique de votre professeur qui a déposé sa clé publique relative à cette adresse sur un serveur de clés (par exemple http://www.keyserver.net/) ou qui vous a fourni sa clé publique par un autre moyen.

Vous devez la récupérer et envoyer à votre professeur un... gentil... message chiffré et signé par votre propre clé privée ; signature que votre professeur doit pouvoir vérifier...

Votre professeur vous répondra à tous un message chiffré et signé...

Mais un autre problème peut se poser : tout est basé sur la confiance que l'on accorde à la clé publique or comment contrôler que la clé publique appartient bien à celui qui le prétend ?

C'est le rôle des certificats.