Vous êtes sur la page 1sur 99

Attaques par canaux cachs

contre la cryptographie base de couplage


Nadia El Mrabet
GREYC

LMNOUniversit

de Caen, France

Ecole  Code et Cryptographie , ENSIAS de RabatMAROC,


Semaine du 8 au 14 mars 2010.

1 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
2 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
3 / 57

Suite des festivits


Les couplages dans tout leur tat

Dnition mathmatiques des couplages (Ca c'est fait !)


Exemple et calcul de couplages (Ca c'est fait !)
Optimisation des couplages Mathmatiques et Arithmtique (Ca c'est
presque fait ! )
Attaques par canaux cachs : SPA, attaque par faute, DPA (Ca c'est
fait !)
Application au couplage
Perspective de la recherche base de couplage.

4 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
5 / 57

Outline
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
6 / 57

Qu'est ce qu'un couplage ?


Proprits

Soient G , G et G trois groupes abliens nis. Un couplage est une


application :
1

: (G1 , +) (G2 , +) (G3 , )

7 / 57

Qu'est ce qu'un couplage ?


Proprits

Soient G , G et G trois groupes abliens nis. Un couplage est une


application :
1

: (G1 , +) (G2 , +) (G3 , )

Vriant les proprits :


Non dgnrescence :
Bilinarit :

P , P 0

P G1 6= {0} , Q G2

G1 , Q G2 ,

( +

e P

t.q. e (P , Q ) 6= 1

0
P , Q)

= e (P , Q ).e (P 0 , Q )

7 / 57

Qu'est ce qu'un couplage ?


Proprits

Soient G , G et G trois groupes abliens nis. Un couplage est une


application :
1

: (G1 , +) (G2 , +) (G3 , )

Vriant les proprits :


Non dgnrescence :
Bilinarit :

P , P 0

P G1 6= {0} , Q G2

G1 , Q G2 ,

( +

e P

t.q. e (P , Q ) 6= 1

0
P , Q)

= e (P , Q ).e (P 0 , Q )

Consquences
j Z, e (jP , Q ) = e (P , Q )j = e (P , jQ )

7 / 57

Cryptologie base de couplages


Le problme du logarithme discret

dans G consiste retrouver l'entier a avec la donne de P G et aP .


Soit Q un point de G :
1

, ) = e (P , Q )a .

e aP Q

8 / 57

Cryptologie base de couplages


Le problme du logarithme discret

dans G consiste retrouver l'entier a avec la donne de P G et aP .


Soit Q un point de G :
1

, ) = e (P , Q )a .

e aP Q

Cryptanalyse

La proprit de bilinarit des couplages a permis de transfrer le problme


du logarithme discret depuis une courbe elliptique en un problme de
logarithme discret sur un corps ni. Il s'agit des attaques de MOV 93 et
Frey Rck 94.

8 / 57

Cryptologie base de couplages


Cryptographie

les couplages ont permis la construction de protocoles originaux et la


simplication de protocoles cryptographiques existants.
L'change de Die Hellman trois (Joux 2001)
La cryptographie base sur l'identit (Boneh et Franklin 2001)
Les schmas de signature courte (Boneh, Lynn, Shacham 2001)

9 / 57

Cryptologie base de couplages


Cryptographie

les couplages ont permis la construction de protocoles originaux et la


simplication de protocoles cryptographiques existants.
L'change de Die Hellman trois (Joux 2001)
La cryptographie base sur l'identit (Boneh et Franklin 2001)
Les schmas de signature courte (Boneh, Lynn, Shacham 2001)
Exemple

Construction d'une cl pour un change bas sur l'identit entre Alice et


Bob.

9 / 57

Cryptographie base sur l'identit


Echange de cl scurise entre Alice et Bob

10 / 57

Cryptographie base sur l'identit


Echange de cl scurise entre Alice et Bob

10 / 57

Cryptographie base sur l'identit


Echange de cl scurise entre Alice et Bob

10 / 57

Cryptographie base sur l'identit


Echange de cl scurise entre Alice et Bob

10 / 57

Les couplages utiliss en cryptologie


Le couplage de Weil,
le couplage de Tate,
le couplage ,
le couplage Ate et Twisted Ate.
sont les couplages les plus utiliss en cryptologie.

11 / 57

Les couplages utiliss en cryptologie


Le couplage de Weil,
le couplage de Tate,
le couplage ,
le couplage Ate et Twisted Ate.
sont les couplages les plus utiliss en cryptologie.
Les couplages de Weil, de Tate, Ate et Twisted Ate sont construits sur le
mme modle.
Ils partagent la mme tape centrale pour leur calcul.

11 / 57

Outline
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
12 / 57

Construction des couplages


Donnes

An de calculer un couplage, nous avons besoin de :


Soit E une courbe elliptique sur un corps K :

E (K) :=
(x , y ) K K, y = x + ax + b, avec a, b K P .
2

Figure: Courbe elliptique dans le plan rel

La courbe elliptique est munie d'une loi d'addition.

13 / 57

Courbe elliptique
Loi de groupe - Addition

14 / 57

Courbe elliptique
Loi de groupe - Addition

14 / 57

Courbe elliptique
Loi de groupe - Addition

14 / 57

Courbe elliptique
Loi de groupe - Doublement

15 / 57

Courbe elliptique
Loi de groupe - Doublement

15 / 57

Courbe elliptique
Loi de groupe - Doublement

Par convention nous noterons [r ]P = |P + P +{z. . . + P}.


r fois

15 / 57

Construction des couplages


Donnes

An de calculer un couplage, nous avons besoin de :


Soit E une courbe elliptique sur un corps K Fp , a et b Fp :


E (K) :=
(x , y ) K K, y = x + ax + b {P }.
2

16 / 57

Construction des couplages


Donnes

An de calculer un couplage, nous avons besoin de :


Soit E une courbe elliptique sur un corps K Fp , a et b Fp :


E (K) :=
(x , y ) K K, y = x + ax + b {P }.
2

un nombre premier divisant card(E (Fp )),




ainsi que l'ensemble : E [r ] = P E (Fp ), [r ]P = P .

16 / 57

Construction des couplages


Donnes

An de calculer un couplage, nous avons besoin de :


Soit E une courbe elliptique sur un corps K Fp , a et b Fp :


E (K) :=
(x , y ) K K, y = x + ax + b {P }.
2

un nombre premier divisant card(E (Fp )),




ainsi que l'ensemble : E [r ] = P E (Fp ), [r ]P = P .

Le degr de plongement k : le plus petit entier tel que r |(pk 1) ;


Si k > 1 alors E [r ] E (Fpk ).

16 / 57

Construction des couplages


Donnes

An de calculer un couplage, nous avons besoin de :


Soit E une courbe elliptique sur un corps K Fp , a et b Fp :


E (K) :=
(x , y ) K K, y = x + ax + b {P }.
2

un nombre premier divisant card(E (Fp )),




ainsi que l'ensemble : E [r ] = P E (Fp ), [r ]P = P .

Le degr de plongement k : le plus petit entier tel que r |(pk 1) ;


Si k > 1 alors E [r ] E (Fpk ).
La fonction de Miller note fr ,P qui admet :
le point P comme zro d'ordre r
le point [r ]P comme ple.
16 / 57

Construction des couplages


Le couplage de Tate

Soit P E (Fp )[r ], Q E (Fpk )/rE (Fpk ) et k le degr de plongement de la


courbe relativement r .

17 / 57

Construction des couplages


Le couplage de Tate

Soit P E (Fp )[r ], Q E (Fpk )/rE (Fpk ) et k le degr de plongement de la


courbe relativement r .
Le couplage de Tate est l'application :
T :

(Fp )[r ] E (Fpk )/rE (Fpk ) Fpk


pk 1

(P , Q ) fr ,P (Q ) r

17 / 57

Outline
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
18 / 57

L'galit de Miller
La fonction

fr ,P

Le calcul des couplages ncessite la construction d'une fonction rationnelle


fr ,P pour r un entier naturel.
Cette fonction admet le point P comme zro d'ordre r et le point [r ]P
comme ple.
Victor Miller a tabli l'galit :
i +j ,P = fi ,P fj ,P

l[

i ]P ,[j ]P

v[

i + j ]P

Cette galit nous permet de construire une suite de fonction admettant le


point [i ]P comme ple pour i allant de 1 r .

19 / 57

L'galit de Miller
Exemple

Nous voulons calculer f ,P en utilisant sa dcomposition binaire :


5 = (101)
5

et un algorithme de doublement et addition :

20 / 57

L'galit de Miller
Exemple

Nous voulons calculer f ,P en utilisant sa dcomposition binaire :


5 = (101)
5

et un algorithme de doublement et addition :


Nous partons de i = 1,
Le deuxime bit de 5 est 0 :
i := 2 i

i = 2

20 / 57

L'galit de Miller
Exemple

Nous voulons calculer f ,P en utilisant sa dcomposition binaire :


5 = (101)
5

et un algorithme de doublement et addition :


Nous partons de i = 1,
Le deuxime bit de 5 est 0 :
i := 2 i

i = 2
Le troisime bit de 5 est 1 :
i := 2 i

i = 4
i := i + 1

i = 5
Sur ce modle, nous allons calculer f ,P en utilisant l'galit de Miller et la
dcomposition binaire de 5.
5

20 / 57

L'galit de Miller
Exemple

Soit f ,P qui vaut 1 par construction des fonctions fi ,P et i = 1.


1

:= 2i (i = 2)

lP ,P
P f1,P v[2]P

f2,

P =

f2,

lP ,P
P = v[2]P

f1,

21 / 57

L'galit de Miller
Exemple

Soit f ,P qui vaut 1 par construction des fonctions fi ,P et i = 1.


i := 2i (i = 4)
i := 2i (i = 2)
1

f2,
f2,

P ,P
P = f1,P f1,P v[2]P

lP ,P
P = v[2]P

l[2]P ,[2]P
P f2,P v[4]P
l
2
f4,P = f
[2v]P ,[2]P
2,P
[4]P
f4,

P =

f2,

:= i + 1 (i = 5)

f5,

P =

f4,

l[4]P ,P
P v[5]P

21 / 57

L'galit de Miller
Exemple

Soit f ,P qui vaut 1 par construction des fonctions fi ,P et i = 1.


i := 2i (i = 4)
i := 2i (i = 2)
1

f2,
f2,

l[2]P ,[2]P
P f2,P v[4]P
l
2
f4,P = f
[2v]P ,[2]P
2,P
[4]P

P ,P
P = f1,P f1,P v[2]P

f4,

lP ,P
P = v[2]P

f5,

P =

P ,P

v[2]

2

l[2]

P ,[2]P

v[4]

f2,

:= i + 1 (i = 5)

f5,

P =

P =

f4,

l[4]P ,P
P v[5]P

l[4]

P ,P

v[5]

21 / 57

Calcul des couplages


L'algorithme de Miller renvoie

Data:

r
P

Result:
T

= (rN . . . r0 )2 ,
G1 E (Fp )[r ]
[r ]P

P
i = N 1
T [2]T

for

if

i =
T

end
end
return

fr ,P (Q )

to 0 do

1 then

T +P

= [r ]P
22 / 57

Calcul des couplages


L'algorithme de Miller renvoie

Data:

= (rN . . . r0 )2 ,
P G1 E (Fp )[r ] et
Q G2 E (Fp k )[r ]
Result: fr ,P (Q ) G3 Fpk
T P , f1 1, f2 1
for i = N 1 to 0 do
T [2]T

if

fr ,P (Q )

i =
T

1 then

T +P

end
end
return ff12
23 / 57

Calcul des couplages


Data:

L'algorithme de Miller renvoie

= (rN . . . r0 )2 ,
P G1 E (Fp )[r ] et
Q G2 E (Fp k )[r ]
Result: fr ,P (Q ) G3 Fpk
T P , f1 1, f2 1
for i = N 1 to 0 do
T [2]T
2
f1 f1 ld (Q )
2
f2 f2 vd (Q )
if ri = 1 then
T T + P

fr ,P (Q )

end
end
return ff12
23 / 57

Calcul des couplages


Data:

L'algorithme de Miller renvoie

= (rN . . . r0 )2 ,
P G1 E (Fp )[r ] et
Q G2 E (Fp k )[r ]
Result: fr ,P (Q ) G3 Fpk
T P , f1 1, f2 1
for i = N 1 to 0 do
T [2]T
2
f1 f1 ld (Q )
2
f2 f2 vd (Q )
if ri = 1 then
T T + P
f1 f1 la (Q )
f2 f2 va (Q )

fr ,P (Q )

end
end
return ff12

23 / 57

Calcul des couplages


Data:

L'algorithme de Miller renvoie

= (rN . . . r0 )2 ,
P G1 E (Fp )[r ] et
Q G2 E (Fp k )[r ]
Result: fr ,P (Q ) G3 Fpk
T P , f1 1, f2 1
for i = N 1 to 0 do
T [2]T
2
f1 f1 ld (Q )
2
f2 f2 vd (Q )
if ri = 1 then
T T + P
f1 f1 la (Q )
f2 f2 va (Q )

fr ,P (Q )

end
end
return ff12

23 / 57

Outline
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
24 / 57

La scurit des couplages

Niveau de scurit en bits


80
128 192
256
Nombre minimal de bits de r 160 256 384
512
k
Nombre minimal de bits de p 1 024 3 072 7 680 15 360
Table: Niveau de scurit

25 / 57

Implantation des couplages sur courbes elliptiques


Soit Mp le cot d'une multiplication dans Fp , Spk celui d'un carr et Mpk
celui d'une multiplication dans Fpk .
L'algorithme de Miller ncessite

itrations
la complexit de l'tape de doublement est
8Sp + (12 + 4k )Mp + 2Spk + 2Mpk
la complexit de l'tape d'addition est
6Sp + (20 + 3k )Mp + 2Spk + 2Mpk
N

= [log2 (r )] + 1

26 / 57

Implantation des couplages sur courbes elliptiques


Soit Mp le cot d'une multiplication dans Fp , Spk celui d'un carr et Mpk
celui d'une multiplication dans Fpk .
L'algorithme de Miller ncessite

itrations
la complexit de l'tape de doublement est
8Sp + (12 + 4k )Mp + 2Spk + 2Mpk
la complexit de l'tape d'addition est
6Sp + (20 + 3k )Mp + 2Spk + 2Mpk
N

= [log2 (r )] + 1

An d'amliorer l'ecacit du calcul du couplage, nous pouvons :


rduire le nombre d'additions et de multiplications dans Fpk .
amliorer l'arithmtique dans Fpk .
26 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
27 / 57

Calcul d'un couplage dans IBC


Les donnes

On considre :
q nombre premier ou puissance d'un nombre premier
E courbe elliptique d'quation : y = x + ax + b , a et b Fq
P E (Fq ) l'entre secrte lors des calculs : P est priv.
Q E (Fq k ) l'entre connue lors des calculs : Q est public.
2

28 / 57

Coordones anes
L'quation et la cible

L'quation de ld en coordonnes anes est :


d (xQ , yQ ) = yQ (xQ xT ) yT

L'attaque porte sur la dirence (xQ xT ) la premire itration de


l'algorithme de Miller.
Avec :
T = P = (xP , yP ) que l'on cherche.
Q public que l'on fait varier volont.
Illustration
Qi
xP

...

(xQi xP )

?
?

0 1 0
1 0 1
1 0 1
29 / 57

Coordonnes anes
Schma d'attaque

point Qi G ( E (Fqk )) sont choisis (500 < m < 10000 )


Les j 1 bits de poids faibles de xP sont connus
m

1
2

Rcuprer les courbes Ci pour i = 0 . . . m


Supposer (xP )j = 1
I Si
I Si

3
4

(xQ xP )j = 0
(xQ xP )j = 1
i

mettre
mettre

Ci
Ci

dans
dans

S0
S1

Calculer les moyennes C et C des paquets S et S


Calculer la dirence = C C
0

I Si la courbe

prsente un ou des pics de consommation, alors

(xP )j = 1
(xP )j = 0

I Sinon

on obtient ainsi le j e`me bit de xP .


30 / 57

Coordonnes anes
Schma d'attaque

d (xQ , yQ ) = yQ (xQ xT ) yT

Une fois obtenue la valeur de xP , on utilise l'quation de la courbe


pour trouver yP .
L'quation de la courbe donne au plus deux valeurs de yP .
y

= x 3 + ax + b

En essayant les deux valeurs lors d'une excution de l'algorithme de


Miller, on peut dterminer la bonne.

31 / 57

Coordonnes projectives
L'quation et les cibles

L'quation de ld est :
l

d (xQ , yQ ) =

2
2
Q (3X + aZ )(xQ Z X ) YZ

L'attaque porte en premier lieu sur le produit xQ Z , puis sur la dirence


toujours sur la premire itration o :
T = P = (XP , YP , ZP ) en coordonnes projectives
Q = (xQ , yQ ) en coordonnes anes

(xQ Z X ),

Rappel
T

= (XT , YT , ZT )

est quivalent T

= ( XZTT , YZTT , 1)

pour ZT

6= 0

32 / 57

Coordonnes projectives
Schma d'attaque

point Qi G ( E (Fqk )) sont choisis


Les j 1 bits de poids faibles de ZP sont connus
m

1
2

Rcuprer les courbes Ci pour i = 0 . . . m


Supposer (ZP )j = 1
I Si
I Si

3
4

(ZP xQ )j = 0
(ZP xQ )j = 1
i

mettre
mettre

Ci
Ci

dans
dans

S0
S1

Calculer les moyennes C et C des paquets S et S


Calculer la dirence = C C
0

I Si la courbe

prsente un ou des pics de consommation, alors

(ZP )j = 1
(ZP )j = 0
obtient ainsi le j e`me

I Sinon

on

bit de ZP .
33 / 57

Coordonnes projectives
Schma d'attaque

d (xQ , yQ ) =

2
2
Q (3X + aZ )(xQ Z X ) YZ

Une fois obtenue la valeur de ZP , on ritre le procd pour retrouver


la valeur de XP via l'opration (xQ Z X ).
L'quation de la courbe donne au plus deux valeurs de YP .
Y

= X 3 + aXZ 2 + bZ 3

En essayant les deux valeurs lors d'une excution de l'algorithme de


Miller, on peut dterminer la bonne.

34 / 57

Coordonnes jacobiennes
L'quation et les cibles

L'quation de ld est :
d (Q ) =

Z3 Z

2
2
4
2
Q 2Y (3X aZ )(xQ Z X )

L'attaque porte en premier lieu sur le produit xQ Z , puis :


soit sur la dirence (xQ Z X )
soit sur le calcul de Z Z yQ = 2YZ Z yQ
sachant que :
T = P = (XP , YP , ZP ) en coordonnes jacobiennes, et Z
Q = (xQ , yQ ) en coordonnes anes
2

= 2YT ZT

Rappel
T

= (XT , YT , ZT )

est quivalent T

= ( XZT2 , YZT3 , 1)
T

pour ZT

6= 0
35 / 57

Coordonnes jacobiennes
Schma d'attaque

Le schma est le mme qu'en coordonnes projectives :


d (Q ) =

Z3 Z

2
2
4
2
Q 2Y (3X aZ )(xQ Z X )

Il s'agit d'abord de retrouver ZP , ce qui nous donne deux possiblits


pour ZP .
Ensuite, avec ces deux possiblits on ritre le procd pour trouver
les deux valeurs de YP associes.
Enn, pour trouver XP , on se sert de l'quation de la courbe :
2




= X 3 + aXZ 3 + Z 6

Ou alors avec ZP on retrouve XP via la dirence (xQ Z


Puis retrouver YP l'aide de l'quation de la courbe.
2

X)

36 / 57

Coordonnes jacobiennes
Schma d'attaque

Le schma est le mme qu'en coordonnes projectives :


d (Q ) =

Z3 Z

2
2
4
2
Q 2Y (3X aZ )(xQ Z X )

Il s'agit d'abord de retrouver ZP , ce qui nous donne deux possiblits


pour ZP .
Ensuite, avec ces deux possiblits on ritre le procd pour trouver
les deux valeurs de YP associes.
Enn, pour trouver XP , on se sert de l'quation de la courbe :
2




= X 3 + aXZ 3 + Z 6

Ou alors avec ZP on retrouve XP via la dirence (xQ Z


Puis retrouver YP l'aide de l'quation de la courbe.
2

X)

37 / 57

Implmentation
Nous avons utilis un environnement de simulation pour mettre en place
l'attaque DPA. Cet environnement a t propos par Di Natale, Flottes et
Rouzeire, il simule la consommation lectrique d'un circuit en synthtisant
les transistors et transition lies l'excution de l'algorithme.
L'environnement excute aussi l'attaque DPA. Nous avons obtenu par
exemple les courbes suivantes :

38 / 57

Conclusion
L'algorithme de Miller est vulnrable l'attaque DPA
Vulnrabilit des couplages bass sur l'algorithme de Miller

Nous venons de voir que quelque soit le positionnement du secret lors d'un
calcul de couplage nous pouvons le retrouver.
La consquence directe est que tous les couplages : le couplage de Weil, de
Tate, Ate et Twisted Ate sont vulnrables l'attaque DPA.

39 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
40 / 57

Outline
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
41 / 57

Attaques par canaux caches


Lors d'un protocole bas sur l'identit l'attaquant connait :
l'algorithme de couplage utilis,
le nombre d'itrations (N = [log (r )] + 1).
2

Le secret est l'un des arguments du couplage.


Le secret n'inuence ni le temps d'excution ni le nombre d'itrations
de l'algorithme.

42 / 57

Attaques par canaux cachs


Les attaques par canaux cachs utilisent les failles matrielles de
l'implantation pour rcuprer des informations sur le secret utilis.
Les attaques par injection de fautes consistent perturber l'excution
d'un algorithme par exemple par des missions lasers.

43 / 57

Attaques par canaux cachs


Les attaques par canaux cachs utilisent les failles matrielles de
l'implantation pour rcuprer des informations sur le secret utilis.
Les attaques par injection de fautes consistent perturber l'excution
d'un algorithme par exemple par des missions lasers.
La premire attaque par injection de fautes contre un cryptosystme
base de couplage t introduite en 2006 par Page et Vercauteren
contre l'algorithme de Duursma et Lee.

43 / 57

Attaques par canaux cachs


Les attaques par canaux cachs utilisent les failles matrielles de
l'implantation pour rcuprer des informations sur le secret utilis.
Les attaques par injection de fautes consistent perturber l'excution
d'un algorithme par exemple par des missions lasers.
La premire attaque par injection de fautes contre un cryptosystme
base de couplage t introduite en 2006 par Page et Vercauteren
contre l'algorithme de Duursma et Lee.
Nous tudions la vulnrabilit de l'algorithme de Miller confront
une attaque par injection de fautes.

43 / 57

Description de l'attaque par injection de fautes


Nous supposons que le couplage est utilis lors d'un protocole de
cryptographie base sur l'identit.
Le secret est le point P , premier argument lors du calcul du couplage
e (P , Q ).
Le second paramtre du couplage Q est connu et maitris par
l'attaquant.

44 / 57

Description de l'attaque par injection de fautes


Nous supposons que le couplage est utilis lors d'un protocole de
cryptographie base sur l'identit.
Le secret est le point P , premier argument lors du calcul du couplage
e (P , Q ).
Le second paramtre du couplage Q est connu et maitris par
l'attaquant.
Objectif de l'attaque par injection de fautes

L'attaque consiste faire varier le nombre d'itrations durant l'excution de


l'algorithme de Miller, ceci an d'obtenir les rsultats de deux excutions
dont le nombre d'itrations soient conscutifs : et + 1 itrations pour
{1, . . . , N }.
Nous notons F,P (Q ) et F + ,P (Q ) les deux rsultats de ces itrations.
1

44 / 57

Description de l'attaque par injection de fautes


Cible de l'attaque

Nous modions le registre mmoire contenant l'entier N dterminant le


nombre d'itrations excutes par l'algorithme de Miller l'aide d'mission
laser.

45 / 57

Description de l'attaque par injection de fautes


Cible de l'attaque

Nous modions le registre mmoire contenant l'entier N dterminant le


nombre d'itrations excutes par l'algorithme de Miller l'aide d'mission
laser.
Principe de l'attaque

Nous procdons plusieurs excutions de l'algorithme de Miller en


modiant alatoirement chaque excution ce registre.

45 / 57

Description de l'attaque par injection de fautes


Cible de l'attaque

Nous modions le registre mmoire contenant l'entier N dterminant le


nombre d'itrations excutes par l'algorithme de Miller l'aide d'mission
laser.
Principe de l'attaque

Nous procdons plusieurs excutions de l'algorithme de Miller en


modiant alatoirement chaque excution ce registre.
Ce bombardement laser modie le nombre d'excutions eectues ; en
dnombrant les cycles d'horloge nous pouvons retrouver le nombre
d'itrations faites.
Nous recommenons l'opration jusqu' obtenir deux nombre
d'itrations conscutifs nots et + 1.
45 / 57

Description de l'attaque par injection de fautes


Probabilit de russite

Nous cherchons tirer deux entiers conscutifs pris alatoirement parmi N .

46 / 57

Description de l'attaque par injection de fautes


Probabilit de russite

Nous cherchons tirer deux entiers conscutifs pris alatoirement parmi N .


Ce problme est similaire au paradoxe des anniversaires.
Nous pouvons calculer la probabilit de russite de cet vnement.
Exemple

Pour un nombre r de taille 256 bits,


il sut de 15 tirages pour obtenir deux nombres conscutifs pris parmi 256
entiers avec une probabilit suprieure 0, 5 ;
et de 26 pour obtenir une probabilit suprieure 0, 9.

46 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Nous notons F,P (Q ) le rsultat de la -ime itration et F + ,P (Q ) celui


de la + 1-ime.
1

47 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Nous notons F,P (Q ) le rsultat de la -ime itration et F + ,P (Q ) celui


de la + 1-ime.
Le rapport R = FF,+P1,(PQ(Q)2) permet de retrouver des informations sur le
secret utilis.
1

47 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Nous notons F,P (Q ) le rsultat de la -ime itration et F + ,P (Q ) celui


de la + 1-ime.
Le rapport R = FF,+P1,(PQ(Q)2) permet de retrouver des informations sur le
secret utilis.
A la -ime tape, T = [j ]P dans l'algorithme de Miller
Nous notons [j ]P = (Xj , Yj , Zj ) le point secret et Q = (xQ , yQ )
l'entre connue lors du calcul de e (P , Q ).
1

47 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Nous notons F,P (Q ) le rsultat de la -ime itration et F + ,P (Q ) celui


de la + 1-ime.
Le rapport R = FF,+P1,(PQ(Q)2) permet de retrouver des informations sur le
secret utilis.
A la -ime tape, T = [j ]P dans l'algorithme de Miller
Nous notons [j ]P = (Xj , Yj , Zj ) le point secret et Q = (xQ , yQ )
l'entre connue lors du calcul de e (P , Q ).
En crivant les quations nous obtenons l'expression de R suivante :
1

j j

Z2 Z

2
2
4
2
Q 2Yj (3Xj aZj )(xQ Zj Xj ).

La connaissance du dveloppement formel de R et de sa valeur, nous


permet de construire un systme en les coordonnes de [j ]P .
47 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Le systme est :
3

j j
2
2
4
Z (X Z )
j
j
j
2
4
3Xj (Xj Zj ) + 2Yj2
Y Z

= 2
= 1
= 0 .

o nous connaissons les valeurs de , et dans Fp .


0

48 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Le systme est :
3

j j
2
2
4
Z (X Z )
j
j
j
2
4
3Xj (Xj Zj ) + 2Yj2
Y Z

= 2
= 1
= 0 .

o nous connaissons les valeurs de , et dans Fp .


0

La rsolution de ce systme nous permet d'exprimer les inconnues Xj et Yj


en fonction de Zj .
Cela nous permet de construire une quation de degr 12 admettant Zj
comme solution.

48 / 57

Le rapport R = FF P (PQ(Q) )
+1,
,

Le systme est :
3

j j
2
2
4
Z (X Z )
j
j
j
2
4
3Xj (Xj Zj ) + 2Yj2
Y Z

= 2
= 1
= 0 .

o nous connaissons les valeurs de , et dans Fp .


0

La rsolution de ce systme nous permet d'exprimer les inconnues Xj et Yj


en fonction de Zj .
Cela nous permet de construire une quation de degr 12 admettant Zj
comme solution.
(20 921 )Z 12 (40 22 + 931 )Z 6 + 441 0

mod p

48 / 57

Conclusion
[ISA'09]

L'algorithme de Miller est vulnrable une attaque par injection de fautes.


Vulnrabilit des couplages bass sur l'algorithme de Miller

Le couplage de Weil est directement sensible cette attaque.


Les couplages de Tate et Ate sont construits sur le mme modle :
pk 1
eT (P , Q ) = (fr ,P (Q )) r
.
Cette exponentiation pourrait tre une contre mesure l'attaque par
faute,
mais il est existe des mthodes comme les attaques par scan qui
peuvent rendre possible l'attaque par injection de fautes contre ces
couplages.
49 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
50 / 57

Quelles contremesures peut on proposer ?

51 / 57

Quelles contremesures peut on proposer ?


Attaque DPA : souvent des techniques de masquages

Utiliser les coordonnes Jacobiennes ou projective et tirer partie de


l'homognt.

N? (X : Y : Z ) (2 X : 3 Y : Z )

Utiliser la bilinarit des couplages

N? : e (P , Q ) = e ([]P , [ 1 ]Q )
1

N? : e (P , Q ) = e ([]P , Q )

51 / 57

Quelles contremesures peut on proposer ?

Attaque par faute

Les mmes que pour l'attaque DPA

52 / 57

Quelles contremesures peut on proposer ?

Attaque par faute

Les mmes que pour l'attaque DPA


Utilisation d'une horloge asynchrone

52 / 57

Plan de la prsentation
1

Rsum des pisodes prcdents


Cryptologie base de couplage
Dnition et proprits des couplages
Construction et exemple de couplages
Calcul des couplages
Aspect arithmtique de la cryptographie base de couplages
Attaque DPA
Attaque par faute
Dnition d'une attaque par injection de fautes

Contremesure

Conclusion et perspectives
53 / 57

Conclusion

Nous venons de dcouvrir les deux axes des travaux eectus durant cette
thse :
performance de l'arithmtique des couplages,
tude de la scurit des protocoles base de couplage.

54 / 57

Contribution de la thse
Plan du mmoire

2
3

4
5

Arithmtique des couplages


Bases adaptes aux couplages [ACISP'09 avec C. Ngre]
Cas spcique des courbes de degr de plongement k = 15
Attaques par canaux cachs
Attaque direntielle par consommation de courant
Attaque par injection de fautes [ISA'09]
55 / 57

Contribution de la thse
Plan du mmoire

2
3

4
5

Arithmtique des couplages


Bases adaptes aux couplages [ACISP'09 avec C. Ngre]
Cas spcique des courbes de degr de plongement k = 15
Attaques par canaux cachs
Attaque direntielle par consommation de courant
Attaque par injection de fautes [ISA'09]
55 / 57

Contribution de la thse
Plan du mmoire

2
3

4
5

Arithmtique des couplages


Comparaison des complexits des couplages de Weil et de Tate
[SPIE'07 avec J.C. Bajard]
Bases adaptes aux couplages [ACISP'09 avec C. Ngre]
Cas spcique des courbes de degr de plongement k = 15
Attaques par canaux cachs
Attaque direntielle par consommation de courant
Attaque par injection de fautes [ISA'09]
55 / 57

Contribution de la thse
Plan du mmoire

2
3

4
5

Arithmtique des couplages


Comparaison des complexits des couplages de Weil et de Tate
[SPIE'07 avec J.C. Bajard]
Bases adaptes aux couplages [ACISP'09 avec C. Ngre]
Cas spcique des courbes de degr de plongement k = 15
tude complte du calcul d'un couplage sur cette famille de courbe
[En cours avec S.Ionica et N. Guillermin]
Attaques par canaux cachs
Attaque direntielle par consommation de courant
Attaque par injection de fautes [ISA'09]
55 / 57

Contribution de la thse
Plan du mmoire

2
3

4
5

Arithmtique des couplages


Comparaison des complexits des couplages de Weil et de Tate
[SPIE'07 avec J.C. Bajard]
Bases adaptes aux couplages [ACISP'09 avec C. Ngre]
Cas spcique des courbes de degr de plongement k = 15
tude complte du calcul d'un couplage sur cette famille de courbe
[En cours avec S.Ionica et N. Guillermin]
Attaques par canaux cachs
Attaque direntielle par consommation de courant
Attaque DPA contre l'algorithme de Miller [PRIME'09 avec
G.DiNatale et M.L. Flottes]
Attaque par injection de fautes [ISA'09]
55 / 57

Perspectives
Arithmtique des couplages

Recherche de courbes elliptiques adquates.


Optimisation de l'arithmtique des corps nis.
Implmentation ecace de l'arithmtique des corps nis.
Implantation de couplages ecace en software et hardware.

56 / 57

Perspectives
Arithmtique des couplages

Recherche de courbes elliptiques adquates.


Optimisation de l'arithmtique des corps nis.
Implmentation ecace de l'arithmtique des corps nis.
Implantation de couplages ecace en software et hardware.

Scurit des couplage

Implantation de l'attaque par fautes.


Implantation des contre mesures proposes aux attaques par canaux
caches.
Attaque d'implantation protge par les contre mesures de Coron.
Voir si les couplages sont vulnrables d'autres attaques.
56 / 57

MERCI POUR VOTRE


ATTENTION
ET SURTOUT VOTRE ACCUEIL ! !

57 / 57