La cryptographie à clé publique prête à s’écrouler ?

La cryptographie à clé publique est une technique très courante pour protéger efficacement (?) des informations sensibles ou secrètes en les encodant d’une manière telle que le décodage repose sur des techniques mathématiques très complexes (comme la recherche de facteurs premiers d’un grand nombre entier). Aujourd’hui, c’est sur cela que repose la majeure partie de notre sécurité électronique (y compris les communications sécurisées d’Internet).

Mais le cryptologue allemand, Jean-Pierre Seifert (Universitié de Haïfa et d’Innsbruck) semble bien être sur le point de révéler une ligne d’attaque relativement inhabituelle contre cette technologie critique de notre infrastructure de communication. Il a annoncé que cela serait officiellement présenté à la conférence RSA de début 2007. D’ici là, tout indique qu’il pourrait s’agir d’une véritable catastrophe (naturelle ?) pour Internet comme nous le connaissons actuellement.

Pour l’essentiel, l’attaque repose sur la possibilité d’observer le fonctionnement de la CPU elle-même. Les microprocesseurs d’aujourd’hui utilisent une technique connue comme la prédiction de branchement qui s’efforce de deviner à l’avance le résultat de certaines opérations du microprocesseur. Si la prédiction est bonne, le pari est gagné et le microprocesseur peut accélerer la suite des calculs, sinon le microprocesseur doit reprendre au début un groupe d’opérations plutôt longues. De manière générale, cela sert à accélérer considérablement la plupart des opérations. MAis pour le cryptologue cela veut aussi dire qu’il est relativement facile de deviner ce que fait le microprocesseur (et les résultats de ses calculs) simplement en regardant combien de temps il prend à faire ses calculs. Vous n’avez plus besoin de voir les calculs eux-mêmes (la simple observation du temps pris suffit).

Cela ouvre la porte à une nouvelle génération de logiciels d’espionnage (spyware et compagnie) qui pourraient facilement décoder les clés secrètes de certaines de communicaitons que nous considérons comme les plus secrètes. Pour le moment, la menace n’est pas immédiate (aucun détail précis n’a encore été donné), mais la grande majorité des spécialistes pense qu’il ne s’agit plus maintenant que d’une question de temps avant que cette faille ne soit exploitée (le logiciel ne sera sans doute pas très difficile à concevoir à partir des informations de principe déjà disponibles ; auparavant décoder la clé secrète d’une telle communication pouvait prendre de plusieurs années à des millions de millénaires de calcul, nous ne parlerons bientôt plus que d’une portion de seconde).

Les solutions existent. Dans la plupart des cas, cela signifie qu’il faut modifier le microprocesseur de manière drastique (le chef de la sécurité d’Intel est actuellement indisponible pendant plusieurs semaines et cela ne se présente pas comme une solution facile) ou corriger des milliers d’applications avec des correctifs (patches) qui se partageront entre impact mineur et quasi-impossible à mettre en oeuvre sur un ordinateur de tous les jours (il sera peut-être impossible de créer des patches pour certaines applications parce que le problème provient du niveau le plus bas d’exécution dans le microprocesseur).

Sources : très diverses, y compris PhysOrg.com et Le Monde.

Je prévois que cela sera le centre de discussions animées pour les mois à venir.