le chiffrement asymétrique


Vocabulaire

Je chiffre un texte clair vers sa version chiffrée.

Je déchiffre un message chiffré vers sa version en clair.

Je décrypte un message chiffré en cassant l’algorithme ou la clef de chiffrement.

Mise en situation

Je vous présente Alice.

Alice désire envoyer un message secret à son ami, Bob.

Mais elle sait qu’un espion peut se brancher sur le réseau et écouter tout ce qu’elle dit, et notamment son secret.

Alice a donc l’idée de chiffrer son message. Ainsi, l’espion Fred ne pourra plus lire le message secret d’Alice !

Quelles sont les méthodes pour qu’Alice chiffre son message ?

Le chiffrement asymétrique

Cette méthode a été imaginée pour (entre autres) pallier l’inconvénient du chiffrement symétrique, qui est la transmission de la clef secrète.

Cette fois, Alice et Bob disposent de nouveaux équipements :

  1. chacun des deux dispose de 2 clefs : une « clef publique » et une « clef privée« 
  2. on a créé une boîte fermée par une serrure : quand la boîte est verrouillée par une clef, seule l’autre clef de la même paire peut ouvrir la boîte.

La clef publique est librement distribuable à quiconque la désire : elle est « publique ».

La clef privée, elle, doit absolument rester en possession de son propriétaire : elle est « privée ».

Chiffrement et déchiffrement

Le principe de la boîte sécurisée fonctionne ainsi :

  1. Alice dépose son message dans une boîte.
  2. Alice récupère une copie de la clef publique de Bob.
  3. Alice ferme la boîte avec la clef publique de Bob.
  4. Elle envoie cette boîte à Bob. Le messager voit la boîte avec le cadenas, mais il ne peut pas l’ouvrir. On note au passage qu’Alice non plus ne peut pas rouvrir la boîte une fois qu’elle l’a fermée.
  5. Bob récupère la boîte, qui a été fermée avec sa clef publique. Il possède la clef privée, c’est sa clef à lui. Il ouvre donc la serrure.
  6. Il ouvre la boîte et récupère le message d’Alice.

Signature

Le chiffrement asymétrique introduit une fonctionnalité supplémentaire : la signature. Cette signature sert à prouver au destinataire que le message a bien été envoyé par le bon émetteur, et non pas un espion qui se serait fait passer pour l’émetteur. Il s’agit juste d’une signature, pas d’un chiffrement.

Lorsqu’Alice veut signer un message, voici ce qu’elle fait :

  1. Elle prend une photo de son propre message.
  2. Elle met cette photo dans la boîte spéciale, qu’elle ferme à l’aide de sa propre clef privée.
  3. Elle envoie son message ainsi que la boîte.

Bob, lorsqu’il reçoit le message, effectue les opérations suivantes :

  1. Il récupère le message d’Alice.
  2. Il prend une photo de ce message.
  3. Il récupère une copie de la clef publique d’Alice.
  4. Vu qu’Alice a fermé la boîte avec sa clef privée à elle, seule sa clef publique permet d’ouvrir la boîte.
  5. Il ouvre la boîte avec la clef publique d’Alice. Puisque la boîte s’ouvre, alors Bob est assuré que c’est forcément Alice qui l’a fermée.
  6. Il compare la photo qu’il vient de prendre, avec la photo qui est dans la boîte. Si les 2 photos sont identiques, alors c’est que le message provient bien d’Alice, et que personne ne l’a modifié au passage.

On note que n’importe qui est capable d’ouvrir la boîte d’Alice, puisque la clef qui permet de l’ouvrir est la clef publique d’Alice. Le contenu de la boîte n’est pas secret. Il est juste protégé, afin de vérifier que c’est Alice qui a bien généré ce message.

Fred, entre autres, peut lire le message. Il peut également ouvrir la boîte. Toutefois, s’il le fait, vu qu’il ne possède pas la clef privée d’Alice, il ne pourra pas refermer la boîte. Selon ce que Fred va en faire, Bob pourra se retrouver dans deux cas :

  1. soit il reçoit  un message sans la boîte et ne pourra pas vérifier qu’il provient bien d’Alice
  2. soit il reçoit un message avec une boîte, mais ne pourra pas ouvrir la boîte avec la clef publique d’Alice puisque Fred n’aura pas pu refermer la boîte avec la clef privée d’Alice.

Donc Bob saura qu’il y a un problème avec le message.

Chiffrement et signature

On va simplement combiner les deux méthodes décrites ci-avant. Le principe est de signer le message, puis de chiffrer l’ensemble.

  1. Alice prend une photo de son message.
  2. Elle met la photo dans une petite boîte, qu’elle ferme avec sa propre clef privée.
  3. Elle récupère une copie de la clef publique de Bob.
  4. Elle met cette boîte ainsi que le message dans une autre boîte.
  5. Elle ferme cette seconde grosse boîte avec la clef publique de Bob.
  6. Elle envoie la grosse boîte à Bob.
  7. À la réception, Bob ouvre la grosse boîte avec sa propre clef privée.
  8. Il prend une photo du message d’Alice.
  9. Il récupère une copie de la clef publique d’Alice.
  10. Il ouvre la petite boîte avec cette clef-là.
  11. Il compare sa photo avec celle qu’il a trouvée dans la boîte.

De cette manière, le message a été transmis de manière chiffrée, personne n’a pu le lire durant le transport. Et le message est vérifié à l’arrivée comme provenant bien de la personne qui l’a émis.

[orbit_alert style= »warning » closeable= »false »]Alice et Bob, pour diffuser leurs clefs publiques, doivent utiliser un tiers de confiance. C’est une sorte de notaire, dont le rôle est de conserver les clefs publiques de tout le monde et d’en réaliser des doubles quand quelqu’un le lui demande.

Si le notaire fait mal son travail, Fred pourra intercepter la demande de Bob de déposer sa clef publique, et se faire passer pour Bob auprès du notaire. Lorsqu’Alice va demander la clef de Bob, le notaire va lui donner en toute bonne foi celle de Fred. Il suffira à Fred d’intercepter le message d’Alice, le lire, voire le modifier. Puis il lui suffit de chiffrer de nouveau le message avec la vraie clef publique de Bob et de lui transmettre.[/orbit_alert]

Le commentaire technique

Les opérations de chiffrement et de déchiffrement à l’aide de clefs asymétriques sont plutôt lentes.

Les algorithmes les plus connus et manipulés sont :

  • RSA
  • DSA
  • ElGamal

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *