Une faille dans le protocole HTTPS


Élisabeth Busser

Une équipe de chercheurs franco-américaine vient de tricher… mais pour la bonne cause ! Leur but ? Vérifier les mécanismes cryptographiques utilisés pour sécuriser les communications sur Internet.

Leur exploit ? Avoir mis en évidence une faille, qu'ils ont baptisée Logjam, dans le protocole cryptographique TLS, utilisé pour protéger tous les sites Web qui commencent par HTTPS.

Au printemps dernier, une collaboration entre chercheurs de l'Inria Paris-Rocquencourt, CNRS, Microsoft Research et les universités américaines Johns-Hopkins, du Michigan et de Pennsylvanie a permis de mettre en évidence cette faille.

Les échanges de données entre votre machine et un serveur en HTTPS sont chiffrés par le protocole TLS (Transport Layer Security), ce qui se fait souvent à l'aide de l'algorithme de Diffie–Hellman. Dit en peu de mots, la sécurité de cet algorithme tient au fait que retrouver 75 à partir de 16 807 est beaucoup plus compliqué que calculer 75 : c'est le problème du logarithme discret, où il s'agit de retrouver le plus petit entier k tel que ak = b, donc d'inverser l'opération d'exponentiation. L'algorithme repose sur l'utilisation d'un nombre premier p. Plus il est grand, plus sûre est la communication. Or, la législation américaine, jusqu'en 1990, limitait ces nombres à 155 chiffres, ce qui est encore aujourd'hui bien souvent le cas. Le hic est que le problème du logarithme discret peut maintenant être résolu pour cette taille de nombres ! En particulier, l'équipe franco-américaine ci-dessus a su le faire pour un nombre d'environ 300 chiffres… en dix mille fois moins de temps que le précédent record. Comment ont-ils procédé ? C'est là que la « triche » intervient : ils ont utilisé le nombre premier p qui les arrangeait pour accélérer leurs calculs, ni vu ni connu…