Pierre-Alain Fouque, enseignant-chercheur cryptologue, briseur de codes secrets

[Article initialement publié le 10 mars 2013] Aujourd’hui, la cryptographie est partout : dans les ordinateurs connectés ou non à Internet, mais aussi dans les téléphones, les voitures, les avions, les cartes à puce, les téléviseurs, DVD et autres Blu-Ray… Elle est devenue l’une des garanties essentielles des libertés fondamentales sur Internet. Elle repose aujourd'hui sur un petit nombre d'algorithmes de chiffrement, dont la capacité de résistance aux attaques est mise à l'épreuve en permanence, que ce soit par des experts en sécurité informatique, des malfaiteurs ou des agences de renseignement. Parmi ces algorithmes, AES est si répandu que sa résistance constitue aujourd'hui un enjeu stratégique à l'échelle mondiale, pour les autorités comme pour les citoyens.

Shema cryptographie AES
  1. Les motivations d’un briseur de codes
  2. Le maillon faible
  3. Le parcours de Pierre-Alain Fouque
  4. Comment Pierre-Alain Fouque attaque AES

Pierre-Alain Fouque est enseignant-chercheur en informatique à l’UMR IRISA. Sa spécialité ? La cryptologie, ou science des écritures secrètes et des messages chiffrés. La cryptologie comprend deux branches principales : la cryptographie (l’écriture des messages chiffrés) et la cryptanalyse (l’étude et les tentatives de décryptement des premiers). La cryptologie poursuit un triple but :
- l’intégrité des informations transmises (elles doivent rester intactes) ;
- l’authenticité de ces informations (leur origine ou leur auteur doivent être reconnus) ;
- leur confidentialité (elles ne doivent pas être divulguées à des personnes non autorisées).

Les motivations d’un briseur de codes

« La crypto, c’est rigolo » sourit Pierre-Alain Fouque en citant Serge Vaudenay (auteur d’un livre de référence en la matière). Elle permet de travailler à la fois en mathématiques et en informatique, mais aussi de faire quelques excursions en physique et en chimie : pour briser un code informatique, une attaque directe par laser sur le processeur peut se révéler une aide précieuse, comme on va le voir.

Pierre-Alain Fouque s’intéresse plus particulièrement aujourd’hui à la cryptanalyse. Il s’attaque notamment à l’algorithme AES, le protocole mathématico-informatique de chiffrement le plus répandu à l’heure actuelle : il a été adopté comme norme par le NIST américain, qui recommande son usage pour le chiffrement des documents secrets de l'administration fédérale, entre autres.
Nous utilisons AES sans nous en rendre compte dès que nous consultons certains sites bancaires sécurisés, quand nous effectuons des achats sur internet, en utilisant Windows, Mac Os ou Linux. AES est au cœur des outils de sécurité informatique (dont les antivirus), des microprocesseurs…

Et vous, utilisez-vous AES en ligne ?
Pour vérifier si vous utilisez AES en naviguant sur internet, il suffit de vous connecter à un site sécurisé. Avant même d'entrer un mot de passe, un petit cadenas fermé doit s'afficher dans votre navigateur (souvent dans la barre d'adresse). Cliquer sur ce cadenas ouvre une fenêtre qui vous donne des informations sur la sécurisation de votre connexion au site internet.
En affichant les informations détaillées de connexion, vous devriez trouver le nom de l'algorithme (en général AES ou RC4) qui crypte vos échanges avec le serveur que vous consultez.

Attaquer pour renforcer la sécurité
Si l’on parvient à casser ce chiffrement AES si largement répandu, il sera fondamental de changer de méthode de cryptographie, car tout ce que l’on protège avec lui sera exposé. Attaquer l’algorithme revient donc à renforcer la sécurité qu’il procure : tant qu’il résiste, on peut lui accorder confiance et estimer que ce qu'il protège reste protégé.

Deux voies d’attaque
Pierre-Alain Fouque explore deux manières d’attaquer AES. L’une, théorique et purement mathématique (dite « rencontre au milieu »), montre que dans certaines conditions on peut dégrader la sécurité de l’algorithme ; pour autant, cette attaque n'est pas assez puissante pour briser AES en pratique. La seconde voie d’attaque (« par canaux auxiliaires ») manipule physiquement le matériel où se déroule le chiffrement pour le perturber. La dégradation de sécurité qui s’ensuit est telle qu’elle rend envisageable une défaite d'AES en conditions réelles.

Vérifier vos informations de livraison

Le maillon faible

Il devient donc plausible que le chiffrement AES soit brisé un jour, au moins par la seconde méthode, ce qui met en lumière la vraie faiblesse des outils de cryptographie : elle réside moins dans les mathématiques utilisées que dans leur mise en œuvre au sein de programmes, de matériels, d’ordinateurs et de réseaux qui présentent des failles et fragilisent de ce fait tout le système… sans compter les erreurs de l'utilisateur final, conscient du problème mais confronté à des outils et à des règles complexes et contraignantes.

Confidentialité des données personnelles
Edward Snowden, le lanceur d’alerte qui a révélé l’étendue des capacités d’espionnage de la NSA américaine et du GCHQ britannique à l’échelle mondiale, écrit ceci :
« La cryptographie fonctionne. Un système de chiffrement fort et correctement mis en œuvre reste l’un des rares moyens fiables [de se prémunir contre l'espionnage de la NSA, N.d.T.]. Malheureusement, la sécurité côté utilisateur est si incroyablement faible que la NSA parvient souvent à la contourner. »

Le parcours de Pierre-Alain Fouque

Pierre-Alain Fouque a trouvé sa vocation en 1998, lors de la libéralisation par le gouvernement français des outils de cryptologie (auparavant considérés comme des armes de guerre de 2e catégorie). En 2001, il rédige et soutient sa thèse sous la direction du grand mathématicien et informaticien Jacques Stern, cryptologue français de renommée internationale, médaille d’or du CNRS en 2006.
Fin 2012, Pierre-Alain Fouque quitte Paris et l’École Normale supérieure de la rue d’Ulm pour rejoindre l’IRISA de Rennes, avec l’ambition d’y développer une activité de cryptologie en créant une équipe de recherche, objectif soutenu par sa nomination en tant que membre IUF en 2013. Aujourd’hui il encadre deux doctorants à Rennes, trois à Paris tandis que cinq autres ont déjà soutenu leur thèse sous sa direction. Au-delà de l’IRISA sur le campus de Beaulieu, il travaille avec les chercheurs mathématiciens de l’IRMAR.

Comment Pierre-Alain Fouque attaque AES

1. le fonctionnement d'AES

AES est un standard de protocole de chiffrement basé sur l’algorithme Rijndael, développé par deux chercheurs belges, Vincent Rijmen et Joan Daemen.
Pour crypter un message, la fonction AES utilise une clé formée d’une chaîne de caractères (par exemple : " 770A8A65DA156D24EE2A093277530142 " ) dont la fonction va se servir pour mélanger et remplacer les caractères du message initial, soit par exemple :
“Université de Rennes 1”
AES applique un ensemble de cinq modifications au message “en clair”, et brouille le résultat avec une version étendue de la clé de chiffrement originale. La fonction répète ensuite un cycle de quatre modifications, obtenant à chaque fois un message de plus en plus éloigné de son état initial. À chacune de ces répétitions, AES calcule une clé intermédiaire, qu’elle utilise pour renforcer le cryptage du message.
Pour une clé de chiffrement longue de 32 caractères (128 bits), AES effectue 10 cycles de cryptage sur le message initial. On obtient alors un résultat final crypté, en l’occurrence :
ZytEUpOTk5NFKPKoJQgKOHD118JKbBEGwX0S/0favw==
Pour déchiffrer le message, AES utilisera la clé initiale de chiffrement et l’appliquera en sens inverse, dix fois de suite, jusqu’à retrouver le texte de départ. Comme la même clé est utilisée pour crypter et décrypter, on dit qu’AES est un algorithme de chiffrement symétrique.

Comment Pierre-Alain Fouque attaque AES

Clé secrète
La clé utilisée pour le chiffrement doit donc rester secrète pour que la confidentialité, l’authenticité et l’intégrité du message soient assurées. À l’heure actuelle, il semble que personne ne soit parvenu à déchiffrer un message crypté dans les règles de l’art par le protocole AES, c’est-à-dire à retrouver l’information initiale en clair, accompagnée de la clé qui avait servi à la chiffrer.
La principale résistance qu’AES offre à la cryptanalyse est le nombre de clés possibles pour chiffrer un message : 2^128 au minimum (2x2x2x2… répété 128 fois, ce qui donne un nombre de 38 chiffres). Tester toutes ces combinaisons sur les plus rapides supercalculateurs au monde nécessiterait plusieurs centaines de millions de milliards d’années avant d’aboutir, soit une durée bien plus longue que l’âge estimé de l’Univers.
Pierre-Alain Fouque développe deux types d’attaque sur le protocole AES, toutes deux visant à réduire le nombre de calculs à effectuer pour retrouver la bonne clé.
Elles utilisent une faiblesse du protocole AES. En effet, ce n’est pas un hasard si le protocole effectue dix cycles de chiffrement du message initial. Un nombre inférieur de transformations laisserait subsister suffisamment d’indices pour dispenser l’attaquant d’en passer par les 2^128 combinaisons de clé possibles. Autrement dit, en dessous de 10 itérations, la fonction AES est faible.

2. L’attaque par « rencontre au millieu » [ Meet in the middle ]

La première attaque consiste donc à décomposer le processus de cryptage AES en deux étapes, en étudiant les données calculées à mi-parcours, au bout de 5 itérations. On relève la clé obtenue (appellons-la K5, d'après le schéma ci-dessus), puis on note également la clé calculée à la 10e itération (K10). Avec K5 et K10, on dispose de deux sous-clés dérivées de la clé initiale K0. Pierre-Alain Fouque a montré que pour retrouver chacune de ces sous-clés, il « suffisait » d’essayer 2^100 combinaisons. Au total, le nombre de clés possibles est ramené de 2^128 à (2^100 + 2^100 = 2^101) combinaisons. C’est mieux, mais tout aussi impraticable.
En effet, le nombre maximal de combinaisons que l’on a réellement pu explorer à ce jour est de l’ordre de 2^64 : pour cela il a fallu faire travailler ensemble, au début des années 2000, 40 000 machines pendant 2 ans. En admettant que certains États disposent de moyens surpuissants, peut-être sont-ils capables de tester 2^80 combinaisons dans un délai raisonnable, avance Pierre-Alain Fouque. Mais, même si le problème du temps se trouvait un jour résolu, on serait encore bien loin de parvenir à tester l’ensemble des 2^100 combinaisons, à cause d’un second problème : les exigences en mémoire vive de ces énormes calculs.
Quand bien même la vitesse des ordinateurs augmenterait vertigineusement dans les prochaines années (avec l’avènement d’hypothétiques machines quantiques par exemple), il paraît improbable qu’un attaquant puisse réunir l’espace mémoire nécessaire à la défaite d’AES par la méthode présentée. En 2013, un disque dur de capacité standard offre 1 téraoctet d’espace de stockage. Or, en imaginant qu’un seul octet suffise à noter le résultat d’un test de clé AES, même dans les conditions dégradées obtenues par l’attaque de Pierre-Alain Fouque, ce sont quelques 2^60 disques durs standards (un nombre à 18 chiffres) dont on devrait équiper les ordinateurs chargés d’effectuer ces calculs…
Il faut donc réduire encore le nombre de clés à tester, et pour cela Pierre-Alain Fouque travaille sur une approche très prometteuse : l’attaque du matériel de chiffrement lui-même.

3. L’attaque par canaux auxiliaires

Le protocole AES peut être utilisé par un logiciel, mais également au sein de circuits électroniques spécialement conçus pour cela. Par exemple, les microprocesseurs récents développés par Intel, AMD et IBM intègrent des instructions dédiées à l’accélération des opérations de chiffrement et déchiffrement AES.
Pour affaiblir AES par canal auxiliaire, Pierre-Alain Fouque utilise un laser pour bombarder un transistor spécifique à l’intérieur d’un processeur en cours de chiffrement. Ceci provoque une erreur dans le résultat mathématique calculé par le circuit. L’analyse de cette erreur permet de remonter à la clé de chiffrement en 2^32 opérations au maximum, pour un coût de 2^20 en mémoire vive. L’attaque devient praticable, à condition bien entendu d’avoir pu accéder matériellement au processeur utilisé pour le chiffrement. D’autres canaux peuvent être utilisés, voire combinés : le rayonnement électromagnétique émis par le circuit, ou encore sa consommation d’énergie qui varie au fil du temps selon les calculs effectués.