Combined Fault and Side-Channel Attack on protected implementations of AES

Publié le 10 Novembre 2011 Mis à jour le 10 Novembre 2011

Auteurs : Thomas Roche, Victor Lomné et Karim Khalfallah (ANSSI)
Conférence : CARDIS 2011, 14-16 septembre, Leuven (Belgique)

Les calculs cryptographiques effectués sur des systèmes embarqués sont particulièrement sujets à deux types d'attaques :

  • les attaques par canaux auxiliaires, une classe d'attaques consistant à extraire les secrets cryptographiques du système en analysant sa consommation électrique ou ses émissions électromagnétiques ;
  • les attaques par fautes, qui consistent à effectuer 2 fois le même calcul cryptographique, une première fois en le laissant se dérouler normalement, puis une deuxième fois en perturbant le système sur lequel le calcul est effectué afin d'obtenir un résultat erroné. Ensuite, des techniques mathématiques permettent de retrouver le secret à partir des deux résultats (correct et erroné).

Les contre-mesures qu'il est possible de mettre en place sont généralement efficaces contre l'un ou l'autre de ces types d'attaques, mais pas les deux. Il est donc nécessaire de mettre en place plusieurs contre-mesures pour prendre en compte à la fois les attaques par canaux auxiliaires et les attaques par faute. Lorsque ces contre-mesures sont simplement juxtaposées, elles ne permettent toutefois pas de contrer certaines attaques combinées utilisant à la fois les deux techniques d'analyse.

Cet article présente le principe d'une telle attaque combinée sur des implémentations protégées d'AES et décrit une méthode permettant de s'en protéger.