Quand l'implémentation trahit le secret

L'idée : la fuite physique

Un algorithme de chiffrement peut être mathématiquement solide — RSA, AES, tout ce que nous avons vu — et pourtant se faire casser sans qu'on touche aux mathématiques. Le maillon faible n'est pas la théorie : c'est la machine physique qui exécute le code.

Le canal principal et les canaux auxiliaires

Quand un processeur chiffre un message, il reçoit une entrée (le texte clair, la clé) et produit une sortie (le texte chiffré). C'est le canal principal, celui que l'attaquant est censé observer.

Mais l'exécution physique produit aussi des effets secondaires, involontaires : elle prend du temps, consomme du courant, chauffe, émet des ondes, fait du bruit. Ces effets forment autant de canaux auxiliaires (en anglais side-channels).

                 +-----------------------------+
   texte clair ->|      BOÎTE CRYPTO           |-> texte chiffré
        clé  --->|   (mathématiquement sûre)   |   (canal principal)
                 +-----------------------------+
                    |      |       |      |
                    v      v       v      v
                 temps  courant   EM    bruit / chaleur
                 \____________ FUITES ____________/
                        (canaux auxiliaires)

Le principe de l'attaque est le suivant : ces fuites dépendent des données traitées, donc de la clé secrète. En les mesurant finement, l'attaquant reconstruit le secret sans jamais résoudre le problème mathématique.

L'attaquant n'attaque pas les maths

C'est le renversement de perspective à retenir. La cryptanalyse classique s'attaque à l'algorithme : factoriser n, casser une permutation. Une attaque par canal auxiliaire ignore tout cela et vise l'implémentation.

  • La factorisation de RSA reste hors de portée ? Peu importe : on mesure le temps de calcul du déchiffrement.
  • AES est prouvé résistant à la cryptanalyse ? Peu importe : on écoute la consommation de la carte à puce.

Un catalogue de fuites

Les canaux exploités sont variés :

Canal Ce qu'on mesure Cible typique
Temporel durée de calcul serveurs, TLS
Consommation courant électrique cartes à puce
Électromagnétique ondes émises objets connectés
Acoustique bruit du composant processeurs
Cache CPU temps d'accès mémoire machines partagées

Pourquoi c'est une menace sérieuse

Ces attaques sont passives : bien souvent, l'attaquant se contente d'observer, sans modifier le système, donc sans laisser de trace. Elles touchent des objets du quotidien — cartes bancaires, passeports biométriques, clés de voiture, cœurs de serveurs — partout où un secret est manipulé par du matériel accessible.

La leçon de fond : la sécurité ne se joue pas seulement dans la preuve mathématique, mais dans la manière dont le calcul est réalisé. Un bon algorithme mal implémenté est un mauvais système.

En résumé

Un chiffrement sûr sur le papier peut fuir de l'information par des canaux auxiliaires — temps, courant, ondes, bruit, cache — qui dépendent du secret. L'attaquant ne casse pas les mathématiques : il observe l'exécution physique de l'implémentation, souvent de façon passive et indétectable.