• Aucun résultat trouvé

3.3 Attaques profilées

3.3.3 Apprentissage automatisé

Outre tous les types d’attaques que nous venons de mentionner, une nouvelle classe d’attaques a commencé à apparaitre dans la littérature, à partir de 2011. Cette classe d’attaques utilise des techniques d’apprentissage automatisé lors de l’attaque d’appareils cryptographiques. Les premiers travaux présentés sont ceux de Gabriel Hospodar [28] et de Liran Lerman [38] et [40].

vec-teurs de support, nommée LS-SVM6, qu’il utilise afin d’attaquer un appareil cryptographique exécutant une opération d’addRoundKey sur un byte, suivie d’une opération subBytes sur l’output de l’opération précédente. Ensuite, il compare l’effet du changement de certains paramètres du modèle utilisé sur le taux de succès de l’attaque, l’effet sur le taux de succès de la variation du nombre de traces utilisées lors de la phase d’apprentissage, ainsi que l’effet du nombre de points d’intérêts pris dans les traces, afin de réaliser l’attaque à l’aide de techniques de pré-traitement (enlèvement de données aberrantes) et l’utilisation de techniques de sélection de composants (réduction de dimentio-nalité). Ces résultats sont ensuite comparés aux attaques par templates. Il ressort de ce travail que certains paramètres du modèle influent plus que d’autres sur le taux de succès, mais que dans l’ensemble, les attaques ont le même niveau de compétitivité par rapport aux attaques par templates. La va-riation du nombre de traces utilisées pour l’expérience, pour les phases d’ap-prentissage et de validation (répartition 70/30) n’a que peu d’influence sur le taux de succès (une baisse de 10% lorsque le nombre minimum de traces a été utilisé, un comportement identique sinon). Ici aussi, les attaques par templates se montrent compétitives. L’ajout de points d’intérêts rend les attaques via ap-prentissage automatisé moins compétitives que les attaques par templates, sans avancer d’autres explications que le manque d’information ajoutée par les points supplémentaires considérés. Enfin, la suppression de données aber-rantes, ainsi que l’utilisation de techniques de sélection de composants n’ont pas apporté de grandes différences aux taux de succès des attaques. Au final, Gabriel Hospodar avance que le modèle LS-SVM rend les attaques possibles, mais ne présente pas de grands avantages par rapport aux attaques par tem-plates.

Liran Lerman [38] et [40] a adopté une approche différente de celle de Ga-briel Hospodar. Tout d’abord, il a utilisé différents modèles d’apprentissage automatisé comme les Self Organizing Map (SOM) [37] (sorte de réseau de neurones), les SVM, ainsi que les forêts aléatoires. À ces différents modèles, il a, dans certains cas, utilisé des techniques de réduction de dimentionalité comme le ranking, PCA, mRMR et les SOM (qui sont donc utilisés, soit comme modèle d’attaque, soit comme aide à la réduction de dimentionalité). La vali-dation de ses expériences est réalisée à l’aide de la technique du leave-one-out. Son attaque porte sur un byte de clé pour lequel il va attaquer chaque bit sé-parément, aussi bien pour l’algorithme du 3-DES que celui de RSA.

Pour l’algorithme du 3-DES, il teste 10 attaques différentes : 4 attaques avec des SOM sans réduction de dimentionalité, 2 attaques avec SVM, dont une avec l’utilisation du ranking pour la réduction de dimentionalité et l’autre sans

technique de réduction, et enfin 4 attaques avec les forêts aléatoires et l’utilisa-tion des techniques de réducl’utilisa-tion de dimenl’utilisa-tionalité suivantes : ranking, SOM, PCA et sans réduction.

Il ressort de ces attaques que les bits de poids fort du byte attaqué sont plus facilement attaquables que ceux de poids faibles pour lesquels le résultat ob-tenu revient presque à utiliser le modèle aléatoire (soit un taux de succès très proche des 50 % pour un bit et de 0,4 % pour un byte). En combinant les taux de succès de chaque bit, les taux de succès atteints par certains mo-dèles d’apprentissage automatisé atteignent 15,33 % de taux de succès pour un byte (RF/PCA). La meilleure combinaison pour le TA (TA/mRMR) n’atteint que 5,8 % pour un byte. Le même genre de résultat est obtenu lors de l’at-taque d’un byte de clé de RSA : RF/mRMR (2,79 %) et TA/mRMR (2,14 %). Liran Lerman conclut que les techniques d’apprentissage automatisé peuvent être plus compétitives que les attaques par template. La différence entre les deux articles s’explique en grande partie par le rapport nombre de données (traces) / dimensions des données (points utilisés pour l’attaque). Pour Hos-podar, au minimum 500 traces réduites à 2 points sont utilisées, ce qui est suffisant pour permettre aux TA de bien se comporter, alors que pour Lerman, 256 traces seulement étaient disponibles pour un nombre de points considérés allant de 14 à 9399 selon les cas pour 3-DES par exemple.

Contre-Mesures

4.1 Introduction

Comme nous l’avons vu dans le chapitre précédent, les attaques par canaux auxiliaires utilisent le lien qui existe entre la consommation d’énergie instanta-née et les doninstanta-nées manipulées. Pour protéger un appareil cryptographique de telles attaques, il faut casser les relations entre la consommation d’énergie et le temps (consommation d’énergie à un instant donné) et entre la consomma-tion d’énergie et les données sensibles manipulées. Deux grandes familles de mesures existent contre les attaques par canaux auxiliaires : les contre-mesures de type hiding et celles de type masking.

Les contre-mesures de type hiding (cacher ou camoufler en français) s’inté-ressent principalement au caractère temporel du lien entre consommation et données manipulées. Afin de compliquer le travail d’un attaquant, elles pro-posent de modifier l’instant du leakage correspondant à une donnée et/ou de modifier l’intensité du leakage. En modifiant l’instant du leakage, l’objectif désiré est de causer un désalignement des traces, rendant la tâche de l’atta-quant plus difficile : celui-ci devant, a priori, dans un premier temps procéder à un alignement des traces. Le désalignement des traces peut s’obtenir de dif-férentes façons : utiliser des horloges de fréquences difdif-férentes, utiliser des interruptions aléatoires lors de l’exécution du programme, changer l’ordre des instructions... La modification de l’intensité du leakage s’obtient en modifiant le rapport du signal au bruit. Pour cela, il est possible d’utiliser, entre autres, des noise engines (composants à bruit) qui fonctionnent parallèlement à l’exé-cution de l’algorithme, afin d’ajouter du bruit à la mesure de la consommation d’énergie : celle-ci ne dépendant plus seulement que de l’exécution de l’al-gorithme, mais aussi de la consommation des noise engines, elle est alors la somme des deux. Notons enfin que le hiding ne modifie pas le déroulement de l’algorithme, c’est-à-dire que les valeurs intermédiaires manipulées sont les

mêmes entre une version protégée ou une version non protégée, tout au plus l’instant où ces valeurs sont manipulées est-il modifié.

Les contre-mesures de type masking (masquer en français) s’intéressent, elles, au lien entre consommation d’énergie et données manipulées, indépendam-ment de l’instant de la consommation. Pour compliquer la tâche de l’attaquant, les contre-mesures de type masking vont essayer de décorréler la relation entre consommation et données manipulées en modifiant les données manipulées par l’ajout de valeurs aléatoires appelées masques. Ainsi, en ce qui concerne les données sensibles, la consommation d’énergie mesurée ne sera plus unique-ment liée à la donnée manipulée, mais à la manipulation de la combinaison de cette donnée et d’une valeur aléatoire, a priori1, non connue de l’attaquant. À l’inverse des contre-mesures hiding, les contre-mesures masking modifient l’algorithme exécuté, car il faut tenir compte des valeurs masquées2 : les va-leurs intermédiaires n’étant plus les mêmes entre version protégée et version non protégée de l’algorithme.