Sections

Internet : des clés plus fragiles qu’il n’y paraît

Internet : des clés plus fragiles qu’il n’y paraît

23.11.2016, par
Des chercheurs ont démontré qu’il serait aisé de compromettre la sécurité des communications sur Internet en utilisant des nombres «truqués».

Internet est-il sûr ? Plus précisément, les protocoles qui permettent à deux ordinateurs distants de communiquer sont-ils immunisés contre le piratage ? La question est d’importance tant ces protocoles font partie de notre quotidien numérique. Une connexion sur le site de votre banque ? Celle-ci commence par la mise en place d’un canal sécurisé. Un achat en ligne ? Idem. Le paiement dématérialisé de vos impôts ? Rebelote. Or une équipe franco-américaine impliquant des chercheurs du Laboratoire lorrain de recherche en informatique et ses applications1 (Loria), vient de démontrer qu’il est possible de compromettre une clé de chiffrement pour la rendre quasi inopérante… sans que personne ne s’en aperçoive.

Partager ses clés sans les compromettre

Pour le comprendre, il faut revenir à la base de la sécurité sur Internet. À savoir, l’échange d’une série de chiffres – la clé – entre deux ordinateurs, grâce à laquelle sont ensuite chiffrées les informations ou authentifiées les connexions. Le principe ? Camoufler cette clé par de complexes opérations mathématiques qui sont à la fois faciles à calculer dans un sens, mais difficiles à craquer par un tiers malveillant qui tenterait d’utiliser le résultat de ces opérations pour retrouver la clé.Concrètement, les échanges de clés sur Internet sont fondés sur l’algorithme de Diffie-Hellman, du nom de ses inventeurs en 1976. Explications : imaginons qu’à chaque extrémité d’une ligne de communication, Alice et Bob se mettent d’accord sur un nombre premier – c’est-à-dire qui ne soit divisible que par lui-même et par un – choisi parmi une liste standard préétablie.

Certains nombres premiers génèrent des clés totalement perméables aux algorithmes casseurs de clés.
Certains nombres premiers génèrent des clés totalement perméables aux algorithmes casseurs de clés.

Alice et Bob choisissent ensuite chacun de leur côté un nombre secret qui, combiné avec le nombre premier précédent selon l’algorithme Diffie-Hellman, permet à chacun de calculer un troisième nombre qu’ils vont pouvoir échanger en ligne. À ce stade, la magie de l’algorithme permet à Alice et Bob de calculer un ultime nombre commun (la clé) calculé à partir du nombre reçu de l’autre et de leur propre nombre secret – nombre qui, lui, n’a jamais été échangé.

Gare aux nombres premiers piégés

Ainsi, n’ayant pas la possibilité d’accéder à ces nombres secrets, un pirate, même s’il a intercepté les nombres échangés, sera dans l’incapacité de retrouver la clé. Du moins en théorie… En effet, un pirate ayant eu connaissance du nombre premier échangé au départ et disposant d’une puissance de calcul suffisante pourrait « craquer » cette clé. Un écueil dont on peut se prémunir en utilisant des nombres premiers suffisamment grands, de telle sorte que le nombre d’opérations mathématiques à réaliser pour déterminer la clé soit hors de portée d’un malfaiteur commun.
 

Personne ne sait très bien comment ces listes de nombres premiers ont été établies.

De nos jours, une clé construite à partir d’un nombre premier de 768 bits n’offre plus qu’une protection illusoire. En effet, en juin, une équipe de l’université de Leipzig et de l’École polytechnique fédérale de Lausanne est parvenue à casser une telle clé. Il est vrai qu’en pratique, les nombres utilisés sont de 1 024 bits, soit environ 300 chiffres.
Mais là où le bât blesse, c’est que certains nombres premiers génèrent des clés totalement perméables aux algorithmes casseurs de clés.

La chose est évidemment technique, mais grosso modo si ce nombre est la valeur d’une certaine fonction – d’un polynôme – en un point, et que le pirate le sait, les clés associées sont compromises. Cette faille vient d’être démontrée par les informaticiens du Loria qui ont craqué une clé fondée sur un nombre premier de 1024 bits savamment choisi. « Nous y sommes parvenus 10 000 fois plus rapidement que le temps nécessaire pour une « vraie » clé, et ce avec 10 fois moins de puissance de calcul que celle utilisée par nos collègues de Leipzig et de Lausanne dans le cas à 768 bits », précise Emmanuel Thomé, du Loria.

Des listes de nombres à surveiller

Pour que cette faille soit exploitée, il faut donc que les listes standard, qui recensent les nombres utilisés en cryptographie, aient été préalablement truquées par ceux-là même qui veulent se livrer à des activités d’espionnage. Or, souligne le cryptologue, « personne ne sait très bien comment ces nombres ont été sélectionnés ». On note toutefois qu’une des listes couramment utilisées a été établie par un sous-traitant de la NSA. Et que le scientifique à l’origine de la méthode utilisée par le groupe franco-américain, Daniel Gordon, travaille également pour une entreprise proche de cette même agence. Si l’on ajoute à cela que les documents rendus publics par le lanceur d’alerte Edward Snowden montrent que la NSA a essayé d’influencer les standards et les spécifications pour les techniques commerciales de clés publiques, tous les ingrédients sont réunis pour un roman d’espionnage moderne à succès.

« Notre objectif n’est pas d’alimenter la théorie du complot, prévient Emmanuel Thomé. Mais de montrer que la sécurité d’Internet est très largement perfectible. » Comment ? En commençant par piocher des nombres premiers dans des listes labellisées, en augmentant la taille des clés ou bien encore en affinant les algorithmes de cryptographie. Histoire que l’ombre de « big brother » ne plane pas au-dessus de votre prochain achat sur Internet !

 

Notes
  • 1. Unité CNRS/Univ. de Lorraine/Inria.