• Aucun résultat trouvé

3.2.1 Attaques temporelles . . . 62 3.2.2 Attaques simples . . . 64 3.2.3 Attaques verticales . . . 67 3.2.4 Attaques horizontales . . . 71 3.2.5 Attaques par profilages . . . 73 3.3 Etat de l’art des attaques par injections de fautes . . . .´ 75 3.3.1 Attaques par fausses erreurs ou Safe-error . . . 76 3.3.2 Attaques par courbes faibles . . . 77 3.3.3 Attaques diff´erentielles . . . 77 3.4 Contremesures face aux attaques physiques . . . 78 3.4.1 Coordonn´ees al´eatoires . . . 79 3.4.2 Isomorphismes al´eatoires . . . 81 3.4.3 Point cach´e . . . 81 3.4.4 Clef cach´ee . . . 82 3.4.5 S´eparation de la clef . . . 82 3.4.6 Registres al´eatoires . . . 83 3.4.7 Multiplication al´eatoire . . . 83 3.4.8 Validation du point . . . 83 3.4.9 Validation de la coh´erence . . . 84 3.5 Synth`ese th´eorique . . . 84

Dans ce chapitre, nous abordons les attaques par canaux auxiliaires dans le cas de la cryptographie sur les courbes elliptiques. Ces attaques sont bas´ees sur les mani- pulations de l’objet physique ex´ecutant un algorithme cryptographique manipulant des donn´ees secr`etes telles qu’une clef priv´ee. Ces mesures physiques peuvent laisser fuir de l’information sur les clefs utilis´ees. Ainsi, un attaquant qui observerait ces canaux auxiliaires serait `a mˆeme de pouvoir retrouver une clef secr`ete sans attaquer la s´ecurit´e math´ematique de l’algorithme cryptographique. Cependant, ce type d’at- taques physiques n’est pas le seul moyen pour arriver `a retrouver une clef secr`ete lors de l’ex´ecution d’un calcul cryptographique. L’injection de fautes lors d’une op´eration de chiffrement peut permettre de retrouver tout ou partie de la clef utilis´ee.

Dans ce chapitre, nous pr´esenterons les principes g´en´eraux relatifs aux attaques physiques. Nous donnerons un ´etat de l’art exhaustif des attaques par canaux auxi- liaires et par fautes sur les impl´ementations cryptographiques bas´ees sur les courbes elliptiques. Nous conclurons ce chapitre par un expos´e des contremesures existantes permettant de se pr´emunir de ce genre d’attaques.

3.1

Les diff´erentes attaques physiques

`

A l’heure du tout connect´e, les circuits int´egr´es sont omnipr´esents. Nous les retrouvons aussi bien dans les appareils communicants basiques tel qu’un badge d’acc`es, que dans les appareils communicants plus complexes tels que les ordinateurs. Quelle que soit leur complexit´e, ces circuits int´egr´es sont bas´es sur la mˆeme brique ´

el´ementaire : le transistor. Ces transistors sont con¸cus en technologie Complementary Metal-Oxide-Semiconductor ou CMOS.

Les transistors CMOS sont associ´es les uns aux autres afin de construire des fonctionnalit´es plus complexes telles que des portes logiques ou des cellules m´emoires permettant de stocker des donn´ees. Ainsi, la charge/d´echarge des transistors dans une porte logique induit un changement d’´etat. Il s’en suit que pour passer d’un bit `

a 0 vers un bit `a 1, une capacit´e est charg´ee. `A l’inverse, le passage de 1 `a 0 est dˆu `

a la d´echarge d’une capacit´e. Par exemple, dans la Figure 3.1, cela revient `a piloter grˆace `a Vin la connexion de la capacit´e Cl `a Vcc ce qui implique une consommation

de courant (passage de 0 `a 1) tandis que connecter cette mˆeme capacit´e `a la masse la d´echarge et n’induit pas de consommation de courant (passage de 1 `a 0). Le passage d’un ´etat 1-1 ou 0-0 n’engendre aucun changement d’´etat de la capacit´e, il en r´esulte aucune consommation ni d´echarge de la capacit´e.

Plusieurs moyens sont alors disponibles pour extraire de l’information bas´ee sur l’´etat des transistors.

• Attaques invasives : ce type d’attaques consiste `a analyser et modifier phy- siquement un circuit int´egr´e [AK97]. Ces attaques permettent, par exemple, de reproduire la fonctionnalit´e de tout ou partie du circuit int´egr´e. Pour ce faire, il faut retrouver chaque ´el´ement qui compose le circuit (CPU, m´emoires, lignes de bus etc.) ce qui n´ecessite tr`es souvent de retirer chimiquement ou par plasma toutes les couches du circuit `a l’aide d’´equipements sp´ecifiques d’ima- gerie, il est alors possible d’identifier les diff´erents blocs voire de reconstituer le layout du circuit.

• Attaques passives : `a l’inverse des attaques invasives, ces attaques ne n´eces- sitent pas une destruction du circuit, elles exploitent les diff´erences observ´ees

Vcc

Vin Vout

Cl

Figure 3.1 – Inverseur CMOS

lors des mesures de caract´eristiques physiques. Ces mesures peuvent ˆetre la consommation de courant [KJJ99], le rayonnement ´electromagn´etique [QS01], le temps de calcul [Koc96] ou tout autre param`etre ´evoluant en fonction du changement d’´etat des transistors. Nous pouvons par ce biais l`a effectuer une analyse de r´etro-ing´enierie logicielle afin de retrouver, par exemple, des tables de substitutions d’algorithme cryptographique [Nov03, Cla04].

Dans la suite de cette th`ese, nous nous concentrerons sur les attaques passives, aussi appel´ees attaques par canaux auxiliaires, en vue d’extraire des clefs se- cr`etes dans des applications cryptographiques, sur courbes elliptiques.

• Attaques semi-invasives : ce troisi`eme type d’attaques appel´ees injections de fautes consiste `a modifier le comportement d’un composant sans pour au- tant d´etruire ce dernier. Ainsi, en modifiant le comportement d’un composant nous pouvons obtenir de l’information sur le secret manipul´e. Ce type d’at- taques contre des impl´ementations cryptographiques a ´et´e introduit par Boneh et al. [BDL01], l’attaque pr´esent´ee ciblait une impl´ementation de RSA. Nous pouvons g´en´erer une faute de diff´erentes mani`eres : par rayonnements ´electro- magn´etiques [GMO01], par lumi`ere [SA03], par perturbation de l’horloge ou de la tension [AK97]. Dans cette th`ese, nous ne traiterons que de l’aspect th´eo- rique de l’influence de ces attaques sur la cryptographie bas´ee sur les courbes elliptiques.

Classification des attaques : Afin de faire un ´etat de l’art exhaustif des attaques physiques contre les impl´ementations cryptographiques sur les courbes elliptiques, nous pouvons nous r´ef´erer `a plusieurs publications [FGM+10, FV12, DGH+13, Mur14,

ACL19] qui synth´etisent toutes les attaques existantes. Nous nous conformerons `a la classification suivante :

• Attaques par observations : aussi appel´ee Side Channel Analysis (SCA), exploite une mesure physique telle que la consommation de courant, le rayon- nement ´electromagn´etique ou le temps de calcul, via une analyse statistique qui d´epend de l’attaque men´ee et de l’impl´ementation vis´ee.

— Attaques temporelles : cette sous-cat´egorie d’attaques consiste en l’ex- ploitation d’un temps de calcul des op´erations cryptographiques qui d´e- pendrait de la clef secr`ete.

— Attaques simples : cet ensemble d’attaques tente de mettre en avant des faiblesses simples et imm´ediates dans les calculs sur les ECC.

— Attaques verticales : cette sous-famille va utiliser plusieurs traces d’une mesure physique afin de mettre en ´evidence soit des collisions entre les calculs, soit des corr´elations au sein du calcul.

— Attaques horizontales : tout comme pour les attaques verticales, celles- ci s’appuient des collisions ou des corr´elations au sein d’une seule et mˆeme trace d’une mesure physique.

— Attaques par profilage : les attaques par profilage regroupent toutes les attaques ´elabor´ees en deux phases : une premi`ere d’apprentissage es- sayant de caract´eriser des fuites `a partir d’un ensemble de traces et une seconde d’attaque `a proprement dite qui consiste en l’application de l’ap- prentissage (ou Template) `a des traces dont la clef utilis´ee est inconnue. • Attaques par injections de fautes : Cette famille d’attaques actives consiste

en l’injection d’une ou plusieurs fautes lors d’un calcul cryptographique afin d’op´erer par suite `a une analyse math´ematique sur le r´esultat final du calcul. — Attaques par fausses erreurs : l’objectif de ces attaques est de pro- voquer des fautes qui n’auront aucune influence sur le r´esultat final afin d’identifier des op´erations inutiles dans le calcul d´ependant de la clef. — Attaques par courbe faibles : ces attaques vont exploiter une faiblesse

math´ematique en injectant une faute qui va affaiblir les param`etres cryp- tographiques permettant ainsi d’effectuer une attaque math´ematique. — Attaques diff´erentielles : `a l’image des attaques verticales, ces attaques

vont exploiter une multitude de fautes inject´ees `a diff´erents instants lors de l’ex´ecution de plusieurs calculs utilisant chacun les mˆemes donn´ees en entr´ee.