Publications

Publications

< retour aux publications

Attaque par analyse de la puissance consommée contre un crypto-processeur basé sur les courbes Jacobi quartiques

Auteur(s) : S. Pontié

Doc. Source: Journées Codage et Cryptographie 2015

L’opération kP sur les courbes elliptiques est critique du point de vue de la sécurité car il s’agit d’une opération entre un entier secret (k) et un point d’une courbe elliptique (P). Cette opération est présente dans tous les protocoles ECC (Elliptic curve cryptography). Les attaques dites « par canaux cachés » ou « par canaux auxiliaires » peuvent permettre à un attaquant de deviner des valeurs secrètes utilisées dans les opérations cryptographiques par espionnage de caractéristiques physiques. Nous nous intéresserons ici plus particulièrement aux attaques par analyse de la puissance consommée. Ce type d’attaque nécessite un accès physique au crypto-processeur. L’attaque par « Simple Power Analysis » (SPA) consiste à identifier l’ordre d’enchainement de deux motifs dans la trace de consommation d’un calcul de kP. Ceci permet d’identifier l’ordre d’exécution des opérations de base sur les points : les additions et les doublages de points. Si l’algorithme « Double-And-Add » est implémenté pour calculer kP alors l’attaquant peut retrouver la valeur secrète de l’entier k en espionnant une seule exécution. Cette attaque est possible car les systèmes de coordonnées classiques distinguent l’addition générale de la multiplication scalaire et donc l’addition de points ne peut pas être utilisée pour réaliser une opération de doublage de point. Pour se protéger contre ce type d’attaque il est possible d’unifier les opérations sur les points. Un des moyens les plus efficaces pour pouvoir utiliser des opérations unifiées est d’utiliser des courbes Jacobi quartiques au lieu de courbes de Weierstrass. Ces courbes ont été proposées comme une contre mesure aux attaques par canaux cachés en 2001 par Pierre-Yvan Liardet et Nigel Smart. Nous démontrons une nouvelle attaque par analyse de la puissance consommée qui consiste à détecter la réutilisation de points dans les opérations d’addition pour les différentier des opérations de doublage. Cette technique est efficace même si les additions et les doublages sont implémentés avec la même opération. Nous présenterons des résultats expérimentaux de cette attaque contre un crypto-processeur, basé sur les courbes Jacobi quartiques, implémenté sur cible FPGA. L’espionnage de 50 calculs de kP utilisant le même entier k permet de retrouver la valeur de celui-ci.