Support logiciel robuste aux attaques passives et actives pour l'arithmétique de la cryptographie asymétrique sur des (très) petits coeurs de calcul (Robust software support against passive and active attacks for the arithmetic of asymmetriccryptography on (very) small computing cores) Lucas, Audrey - (2019-12-19) / Universite de Rennes 1 - Support logiciel robuste aux attaques passives et actives pour l'arithmétique de la cryptographie asymétrique sur des (très) petits coeurs de calcul
| |||
Langue : Français Directeur(s) de thèse: Tisserand, Arnaud Discipline : Informatique Laboratoire : IRISA Ecole Doctorale : MATHSTIC Classification : Informatique Mots-clés : Cryptographie basée sur les courbes elliptiques, attaque par observation, attaque par perturbation, protections
| |||
Résumé : Cette thèse porte sur le développement et l'évaluation de protections contrant simultanément des attaques par perturbation (FA) et des attaques par observation (SCA) dans le contexte de la cryptographie basée sur les courbes elliptiques (ECC). Deux protections ont été proposées pour la multiplication scalaire (SM), l'opération principale d'ECC. La première, nommée vérification de point (PV), permet une uniformisation de la SM grâce à une vérification de l'appartenance du point courant à la courbe. La SM ainsi obtenue est uniforme et donc résistante aux SPA mais aussi résistante à certaines FA. La seconde, nommée compteur d'itérations (IC), protège le scalaire contre certaines FA, tout en ayant un comportement uniforme et avec un très faible surcoût. Ces deux protections ont été implantées sur un microcontrôleur Cortex M0 pour les courbes de Weierstrass et de Montgomery, et ce pour différents types de coordonnées. Le surcoût de ces méthodes varie entre 48 % et 62 % dans le pire des cas (lorsque la PV est réalisée à chaque itération de la SM). Cela est moindre que celui des protections de bases habituelles contre les SCA. Un simulateur d'activité théorique au niveau arithmétique est également proposé. Il reproduit l'architecture d'un microcontrôleur 32 bits très simple. L'activité théorique est modélisée grâce à la variation du poids de Hamming des données manipulées lors de l'exécution. Grâce à ce simulateur, l'impact des opérandes sur l'activité des unités arithmétiques a pu être illustré. De plus, des attaques SPA et DPA furent réalisées pour évaluer les protections précédentes. Nos protections montrent une amélioration de la sécurité. Abstract : This thesis deals with protection development and evaluation against fault attacks (FA) and side channel attacks (SCA) simultaneously. These protections have been developed for elliptic curves cryptography (ECC) and its main operation, the scalar multiplication (MS). Two protections have been proposed. The first is point verification (PV) checking that the current point is effectively on the curve, with a uniformization behavior. Thus, this new SM with PV is robust against some FAs and also SPA, since it is uniform. The second one is called counter iteration (IC). ICC protects the scalar against major FAs with a uniform behavior. Its overhead is very small. Our protections have been implemented on Cortex M0 microcontroller for Weiertrass and Montgomery curves and for different types of coordinates. The overhead is between 48 % and 62 %, in the worst case (when the PV is made at each SM iteration). This overhead is smaller than overhead of usual basic protections against SPA. A theorical activity simulator has also been developed. It reproduces the architecture of a simple 32-bit microcontroller. Theoric activity is modeled by the Hamming weigh variations of manipulated data during execution. Thanks to the simulator, the impact of operands is illustrated for arithmetic units. Moreover, SPA and DPA attacks were made for evaluating our protections. Our protections show some security improvements. |