Le chiffrement dans le passé

La genèse du chiffrement est attribuée à César, qui s'en servait pour ses correspondances. Sa méthode était très élémentaire ; elle consistait à décaler les lettres de l’alphabet d’un nombre fixe (ici on décale de 3, B devient E, C devient F, etc.). Il y a, en tout dans ce système, 26 clés possibles.

chiffrement

 

Mais dans ce système de chiffrement, nous pouvons percevoir des problèmes auxquels nous faisons encore face aujourd'hui :

  • Le code peut être brisé par force brute ;
  • Il faut pouvoir échanger la clé avec son destinataire sans que celle-ci ne soit interceptée.

Dans l’Histoire, l'évolution du code a suivi une certaine maxime : rendre les clés de plus en plus complexes et augmenter le nombre de possibilités. L'un des codes les plus évolués est celui de la machine Enigma, utilisée par l'Allemagne durant la Seconde Guerre Mondiale. C'était également une machine de Turing “bruteforcable”.

enigma

Ce code contient... 158 962 555 217 826 360 000 clés. Malgré sa grande complexité, il souffre des mêmes problèmes que ses prédécesseurs : comment échanger la clé entre les interlocuteurs de manière sécurisée ?

Pour ce faire, la configuration de la machine changeait chaque matin : en se basant sur une fiche qui donnait pour chaque date la configuration dédiée. Les Nazis devaient impérativement brûler ces fiches s’il y avait un risque qu’elles tombent entre les mains des Alliés.

A l’ère de l’informatique

Après la Seconde Guerre Mondiale l’informatique se développe fortement, suivie de sa cousine Internet quelques décennies plus tard. Se pose alors très vite un problème avec le chiffrement. Comment échanger une clé avec quelqu’un qui peut se trouver n’importe où dans le monde ?

Si l'on envoyait cette clé directement sur Internet, elle pourrait être interceptée. On utilise alors le chiffrement dit “asymétrique” ; la clé utilisée pour chiffrer sera différente de celle pour déchiffrer. Autrement dit, la clé qui chiffre est incapable de faire le processus inverse.

clé privé

L'une de ces clés est dite “privée” et doit être uniquement connue par son possesseur. L’autre est “publique” et accessible à tous. Si quelqu’un souhaite nous envoyer un message, il doit récupérer la clé publique, chiffrer le message avec et nous l’envoyer. A la réception, nous utiliserons notre clé privée pour déchiffrer le message.

Puisque l'on évite de transférer la clé, on résout partiellement les problèmes des systèmes “symétriques” ; la clé privée peut toujours être volée ou fuiter... (cf Heartbleed). De plus, ces méthodes restent toujours sensibles au bruteforce.

Alors... Quel futur ?

On peut continuer à faire ce que l’ont fait depuis plusieurs décennies, à savoir augmenter la complexité du chiffrement à mesure que la puissance des ordinateurs augmente. Cela permet de garder une longueur d'avance et de prévenir le bruteforce. Cette pratique a au moins une limite théorique : l’ordinateur quantique, qui permettrait de briser très rapidement ce type de chiffrement et le rendrait obsolète.

Il y a toutefois une alternative : le chiffrement quantique. Contrairement à l’ordinateur quantique qui reste pour l’instant très théorique, ce chiffrement a déjà fait ses preuves dans les années 1980.

Le principe du chiffrement quantique est d’utiliser une propriété quantique de la lumière pour échanger des clés aléatoires. Cette méthode garantit la modification irrémédiable du message en cas d'interception par un tiers, l’émetteur et le récepteur légitimes s’en rendent immédiatement compte et peuvent interrompre la communication. Et bien sûr, pour la recommencer dans d’autres conditions.

Les recherches sont en cours, notamment en France, pour rendre le dispositif commercialisable au plus vite.

Pour plus d’infos sur le sujet :

______

Écrit par Benjamin, Lead développeur chez Sooyoos.